- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
南京理工大学VC++课程设计报告
PAGE
PAGE 3
南京理工大学VC++课程设计报告
课 程:
VC++课程设计
系 别:
计算机科学与工程学院
班 级:
91210xx
学 号:
91210xx
姓 名:
xxx
选题1名称:
俄罗斯方块(MFC版)
选题1难易级别:
选题2名称:
选题2难易级别:
自报成绩:
A
起止时间:
9月3—9月22
指导教师:
严悍
2013年 9 月
目 录
1 课题目标
利用c++和mfc编写一个俄罗斯方块游戏,实现游戏在一个游戏窗口中显示,实现游戏等级的设定、背景音乐的播放、烟花效果、快捷键的使用和玩家对方块的各种操作等功能。
2 程序具体实现原理
2.1 总体方案
首先应用mfc来绘制游戏的界面,然后把游戏的核心函数和代码封装在一个类中。在这个类中实现方块的绘制,方块的移动、翻转、消行等功能。用不同的消息响应函数来响应玩家的各种输入。为不同的资源定义不同的类来管理。最后在主对话框类中调用相应的函数,来实现游戏在对话框界面内的运行。
2.1.1开发平台
Windows 7、VC++ 6.0、Photoshop cs6
2.1.2基本原理
首先,打开游戏,进行游戏初始化。显示游戏的开始动画,播放背景音乐,背景音乐一直播放到窗口关闭。然后进入游戏的开始菜单界面,界面中有三个按钮,玩家可以根据自己的意愿选择按下按钮。当按下操作按钮时,显示操作说明。当按下设置按钮时,显示设置对话框,玩家可以选择游戏难度和是否显示烟花效果。当按下开始按钮,绘制游戏背景,边框以及随机产生方块。然后判断方块是否可以下落,若不可以则继续判断:是否可以消行,若是则消行加分,然后判断加分多少,并据此确定是否显示烟花;接着判断总分的多少,确定是否分数足够升级。若不能消行,则显示“Game over”。若可以下落,则扫描玩家的按键,根据不同的按键执行不同的操作:当玩家按Esc键时,退出游戏,返回开始菜单界面。当玩家按向上键时,首先判断是否可以变形,若可以则方块在下落的同时顺时针旋转;若不可以则方块继续下落而不旋转。当玩家按向下键时,则方块直接下落到碰到底端或其他的方块。当玩家按向左向右键时,首先判断是否可以移位,若可以则方块在下落的同时向左移或向右移;若不可以则继续垂直下落。按键操作实现后,然后返回到判断是否可以下落处重复操作。在游戏的同时可以判断玩家是否按下快捷键:F2、F3、F4显示不同程度的烟花效果;F12则使方块下落速度加快,9级未满级。
流程图如下 :
俄罗斯方块MFC版流程图
能否移位
能否移位
Esc
左
右
下
上
左右移位
加速下落
能否变形
变形
俄罗斯方块
进入菜单,进行选择
操作
设置
显示操作
显示设置
开始
刷新界面,随机产生方块
方块下落,扫描按键
扫描按键
是否可下落
是否按下按键
是否可以消行
消行,计分
游戏结束
是
是
否
是
否
是 是
2.2 程序各个功能说明
2.2.1 程序结构
由于我的程序是使用mfc写的,并且是基于对话框的应用程序,所以会自动生成CAboutDlg类,CSquareM1Dlg类以及CSquareM1App类。然后我又为游戏添加了两个对话框,分别是操作说明对话框和设置对话框,并且分别将它们与CDlgHelp类以及CDlgSet类相关联。然后我设计了GAMEBOX类,用来包含游戏中具体操作的函数,例如:变换,移动,产生方块,判断是否能移动等操作。我又添加了MYBITMAP类、MYBUTTON类来管理游戏中的位图,按钮以及对他们的操作。并且设置了MYCLOCK类,来实现游戏中的时钟处理。
GAMEBOX类:
类中函数有:
public:
GAMEBOX();
~GAMEBOX();
void Show(); //显示图片
int Check(); //时钟处理
void MouseMove(int x,int y); //鼠标移动处理
int LButtonUp(in
文档评论(0)