【vc++精品源码栏目提醒】:网学会员--在 vc++精品源码编辑为广大网友搜集整理了:VC++俄罗斯方块课程设计报告(含源代码) - 毕业设计绩等信息,祝愿广大网友取得需要的信息,参考学习。
课程设计报告文档 题目: 俄罗斯方块游戏一.引言 1、编写目的: 通过本课程设计,使学生巩固面向对象程序设计的基本概念、原理和技术,学会使用 Visual C开发工具进行简单面向对象程序的开发,将理论与实际相结合,完成一个小型面向对象程序,并在此基础上强化学生的实践意识,提高其实际动手能力和创新能力。
2、.定义:无 3、参考资料: 郑莉.C语言程序设计.北京:清华大学出版社2003 罗建军.大学 Visual C程序设计案例教程.北京:高等教育出版社2004 刘路放.Visual C与面向对象程序设计教程.北京:高等教育出版社2000 David J.Visual C技术内幕.潘爱民印译.北京:清华大学出版社1999 侯俊杰.深入浅出 MFC.武汉:华中科技大学出版社2001二.任务的描述: 1.目标:编写基于 VC开发工具并能通过键盘和鼠标进行人机交流俄罗斯方块游戏,界面友好,容易操作的游戏。
2.功能描述:通过控制键盘可以进行游戏的开始、暂停、结束;能够控制方块的移动、变形;具有进行经典的俄罗斯方块游戏的一般功能。
3.性能描述 (1)数据精确度:无 (2)时间特性:无 4.运行环境:windows98 以上操作系统 5.条件与限制: 硬件:装有 Windows 操作系统的计算机 软件:Microsoft Visual Studio 6.0、Microsoft Visual Studio 2005三.任务设计1、程序的整个流程图 开始 是否到达底部 N 消行操作 生成新的“下一个下坠物” 下降下一个单位 将新生的下坠物代替旧的“下一个下坠物” 将旧的下一个下坠物用作当前下坠物 N 到达底部 Y 消行操作 到达底部游戏结束 游戏结束处理 结束2、键盘响应函数流程图 开始 N 是否按左方向键 Y 能否左移 N N Y 左移 Y 能否右移 是否按右方向键 Y N 右移 N N Y 是否按下方向键 能否下移 N Y 下移 是否按上方向键 N Y N 是否变形 Y 变形3、等级管理模块流程图 开始 响应菜单等级设置函 N 数 判断是否升 级 初始化等级对话框 Y 等级加一 更新速度 存入等级 结束4、主界面显示模块流程图 开始 画封面 开始游戏 画背景 画方块和分数 调用时间函数 是否暂停 终止时间函数 N Y 是否结束游戏 Y 结束 (1)类 1:CAboutDlg()类是建立 MFC 程序时自动生成的类,俄罗斯方块游戏基本上用不到这个类,故不做解释。
(2)类 2:CMainFrame框架类主要是对游戏的框架进行设计。
数据成员: CStatusBar m_wndStatusBar 工具栏 CToolBar m_wndToolBar状态栏成员函数:1、CMainFrame构造函数:初始化游戏; 2、CMainFrame析构函数:删除游戏数据; 3、OnCreate:工具栏的实现 ; 4、PreCreateWindow()游戏窗口的规格实现; (3)类 3:COptionDlg()游戏状态显示类:主要实现对游戏在进行中的 一些状态显示比如:级别、下一个方块。
数据成员: int m_oldArea 区域大小 int m_o ldLevel等级 int m_oldBlockSytle背景风格 BOOL m_oldDrawGrid成员函数:1、COptionDlg()初始化界面:用户选择的区域大小代码,及级别代码方块样式2、DoDataExchange()数据类型的转换:由键盘消息转换成函数响应消息3、Onok()当用户按 OK 按钮(ID 是 IDOK)时调用。
覆盖该函数执行 OK 按钮动作。
对话框包括自动数据检验和交换,缺省方式是对应用的某些变量进行数据的检验和更新。
(4)CSkyblue_RectApp()程序自动生成。
(5)CSkyblue_RectView()视图类:这是本游戏主要编写的地方:实现方块的随机生成、方块的移动、变形。
游戏的消行、升级、速度的提升以及游戏的开始和结束。
数据成员: int m_nWidth 子窗口的宽度 int m_nHeight 子窗口的高度 int m_iCol int m_iRow 列与行的数量 int m_iLarge(小方块的大小它会随着行与列的不同而不同,具体为: 12 行 10 列,30 个象素的正方形 18 行 15 列,20 24 行 20 列,15 30 行 25 列,12) int m_iLevel当前的级别,换算成速度的算法为:1500 - m_iLevel200 int m_iBlockSytle当前选择的方块显