资源描述:
《俄罗斯方块游戏--mfc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、俄罗斯方块3.0版本一、采用的技术方法(1)编程方法采用的MFC;(2)运用编程技术:Windows图形编程技术(基本的绘图CDC/HDC,GDI对象(笔、刷子、字体)、图形(线、矩形、圆形);(2)菜单、工具条设计与使用;(3)对话框设计与使用;(4)系统通用对话框的使用;(6)基本控件(按钮、静态文本框、文本编辑框、下拉框、列表框等);(7)实现系统数据的可持久化:要求使用数据库或文件或MFC文档串行化技术实现这一点;二、达到目标在我的俄罗斯方块2.0版本基础上,完善游戏功能(如背景音乐和游戏音效的播放,游戏结束,排行榜等),完善游戏的运行规则(确
2、定输赢的准则,积分的获得方式等)。三、主要步骤1、添加游戏背景音乐,音效资源;2、添加两个对话框类即排行榜对话框类和打破记录者更改的对话框类;3、添加响应排行榜对话框IDD_DIALOG_NEWRECORD和IDD_DIALOG_PH;4、添加结束菜单ID_VIEW_END和排行榜菜单ID_VIEW_PHB;5、主要代码说明;mciSendString("playmusic\4.mp3repeat",NULL,0,NULL);//背景音乐是mp3格式循环播放mciSendString("stopmusic\4.mp3",NULL,0,NULL);/
3、/停止播放背景音乐caseVK_LEFT://左移russia.Move(1);PlaySound("music\btn.wav",NULL,SND_FILENAME
4、SND_ASYNC);//播放左移音效break;caseVK_RIGHT://右移russia.Move(2);PlaySound("music\btn.wav",NULL,SND_FILENAME
5、SND_ASYNC);//播放右移音效break;caseVK_DOWN://下移russia.Move(3);PlaySound("music\btn.wav",NULL,SND_
6、FILENAME
7、SND_ASYNC);//播放下移音效break;caseVK_UP://变换russia.Move(4);PlaySound("music\transform.wav",NULL,SND_FILENAME
8、SND_ASYNC);//播放变换方块音效PlaySound("music\fadelayer.wav",NULL,SND_FILENAME
9、SND_ASYNC);//消方块时的音效PlaySound("music\lost.wav",NULL,SND_FILENAME
10、SND_ASYNC);//游戏结束时的音效响应结束菜单
11、函数voidCMBlockView::OnViewEnd(){if(AfxMessageBox("是否结束游戏?",MB_OKCANCEL)==IDOK){russia.end=true;//将结束标志设为真IfGoon=false;//将继续游戏标志为假mciSendString("closemusic\4.mp3",NULL,0,NULL);//关闭背景音乐KillTimer(1);//移除定时器1}NewRecord();//是否破纪录函数}开始响应结束游戏菜单消息是否结束游戏?继续游戏设结束标志为真,关闭背景音乐,移除定时器结束响应结束菜单流
12、程图排行榜功能实现函数//...........显示排行榜对话框................voidCMBlockView::OnViewPhb(){LoadConfig();//装载配置CPaihangph;//排行榜对话框ph.SetBRecord(m_uPrimary);//显示冠军分数ph.SetBHolder(m_szPrimary);//显示冠军姓名ph.DoModal();//为模态对话框SaveConfig();//保存ini信息}/............载入配置...............voidCMBlockView::Lo
13、adConfig(){//----------获取本地目录-------------*/charexeFullPath[MAX_PATH];//MAX_PATH在API中有定义,为128CStringstrPath;//存储执行程序路径GetModuleFileName(NULL,exeFullPath,MAX_PATH);//应用程序全路径存放地址strPath=CString(exeFullPath);strPath=strPath.Left(strPath.ReverseFind('\'));//------------------------
14、-----------*/strPath+="\config.ini";//配置文件名cha