vc俄罗斯方块课程设计报告(含源代码)

课程设计报告文档题目:俄罗斯方块一.引言1、编写目的:通过本课程设计,使学生巩固面向对象程序设计的基本概念、原理和技术,学会使用VisualC++开发工具进行简单面向对象程序的开发,将理论与实际相结合,完成一个小型面向对象程序的设计与实现,并在此基础上强化学生的实践意识,提高其实际动手能力和创新能力。2、.定义:无3、参考资料:郑莉.C++语言程序设计.北京:清华大学出版社,2003罗建军.大学VisualC++程序设计案例教程.北京:高等教育出版社,2004刘路放.VisualC++与面向对象程序设计教程.北京:高等教育出版社,2000DavidJ.VisualC++技术内幕.潘爱民印译.北京:清华大学出版社,1999侯俊杰.深入浅出MFC.武汉:华中科技大学出版社,2001二.任务的描述:1.目标:编写基于VC++开发工具并能通过键盘和鼠标进行人机交流俄罗斯方块游戏,界面友好,容易操作的游戏。2.功能描述:通过控制键盘可以进行游戏的开始、暂停、结束;能够控制方块的移动、变形;具有进行经典的俄罗斯方块游戏的一般功能。3.性能描述(1)数据精确度:无(2)时间特性:无4.运行环境:windows98以上操作系统5.条件与限制:硬件:装有Windows操作系统的计算机软件:MicrosoftVisualStudio6.0、MicrosoftVisualStudio2005三.任务设计1、程序的整个流程图开始NNY2、键盘响应函数流程图是否到达底部消行操作生成新的“下一个下坠物”将新生的下坠物代替旧的“下一个下坠物”将旧的下一个下坠物用作当前下坠物到达底部消行操作到达底部游戏结束游戏结束处理结束下降下一个单位开始NYNNYYYN\NYNYNYNY3、等级管理模块流程图是否按左方向键能否左移左移是否按右方向键能否右移右移是否按下方向键能否下移下移N是否按上方向键是否变形变形开始NY4、主界面显示模块流程图响应菜单等级设置函数初始化等级对话框判断是否升级等级加一更新速度存入等级结束开始画封面NYY(1)类1:CAboutDlg()类是建立MFC程序时自动生成的类,俄罗斯方块游戏基本上用不到这个类,故不做解释。(2)类2:CMainFrame()框架类主要是对游戏的框架进行设计。数据成员:CStatusBarm_wndStatusBar;工具栏CToolBarm_wndToolBar;状态栏成员函数:1、CMainFrame()构造函数:初始化游戏;2、~CMainFrame()析构函数:删除游戏数据;3、OnCreate():工具栏的实现;4、PreCreateWindow()游戏窗口的规格实现;(3)类3:COptionDlg()游戏状态显示类:主要实现对游戏在进行中的开始游戏画背景画方块和分数调用时间函数是否暂停是否结束游戏终止时间函数结束一些状态显示比如:级别、下一个方块。数据成员:intm_oldArea;区域大小intm_oldLevel;等级intm_oldBlockSytle;背景风格BOOLm_oldDrawGrid;成员函数:1、COptionDlg()初始化界面:用户选择的区域大小代码,及级别代码,方块样式2、DoDataExchange()数据类型的转换:由键盘消息转换成函数响应消息3、Onok()当用户按OK按钮(ID是IDOK)时调用。覆盖该函数执行OK按钮动作。对话框包括自动数据检验和交换,缺省方式是对应用的某些变量进行数据的检验和更新。(4)CSkyblue_RectApp()程序自动生成。(5)CSkyblue_RectView()视图类:这是本游戏主要编写的地方:实现方块的随机生成、方块的移动、变形。游戏的消行、升级、速度的提升以及游戏的开始和结束。数据成员:intm_nWidth;子窗口的宽度intm_nHeight;子窗口的高度intm_iCol;intm_iRow;列与行的数量intm_iLarge;(小方块的大小,它会随着行与列的不同而不同,具体为:12行10列,30个象素的正方形18行15列,2024行20列,1530行25列,12)intm_iLevel;当前的级别,换算成速度的算法为:1500-m_iLevel*200intm_iBlockSytle;当前选择的方块显示样式intm_iStartX;intm_iStartY;游戏区域左上角的坐标BOOLIsLeftLimit();坠物件是否可向左移动BOOLIsRightLitmit();intInterFace[74][4];接触面二维数组,记录1~7种下坠物的1~4种形态的接触面信息,把该下坠物的某种形态种的4个方块,有接触面则记录方位,无则为-1标识。intm_currentRect;当前的方块形状CStringm_strArea;CStringm_strLevel;当前的样式,下一个将会出现的样式intm_icurren...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

确认删除?