1、 课 程 设 计 扫雷游戏程序设计 2013 年 11 月 5 日 设计题目 学 号 专业班级 学生姓名 指导教师 课程设计任务书 设计设计 题目题目 扫雷游戏程序设计扫雷游戏程序设计 成绩成绩 课课 程程 设设 计计 主主 要要 内内 容容 扫雷游戏是 Windows 操作系统自带的一款小游戏,在过去的几年里 Windows 操作系统历经数次换代更新,变得越来越庞大、复杂,功能也越来越 强大,但是这款小游戏依然保持原来的容貌,可见这款小游戏受到越来越多 人的喜爱。 参考系统自带的扫雷程序,自行开发设计一款扫雷游戏。 要求: (1)鼠标左击排雷,右击插小旗,打问号; (2)方格里面的数字表示方
2、格周围的雷数; (3)能够显示未标记雷数和游戏用时; (4)雷区上面的小脸可以变化,显示微笑,惊讶,痛苦,胜利。在任何情况 下单击小脸可以重新开始游戏; (5)可进行游戏难度的设定:包括预定义的难度级别(雷区行数,列数和雷 数),和自行定义雷区行数,列数和雷数的功能; (6)排行榜功能,扫雷成功时候,根据游戏用时更新排行榜。 指指 导导 教教 师师 评评 语语 建议:从学生的工作态度、工作量、设计(论文)的创造性、学术性、实用性及书面表达能力等方面给出评价。建议:从学生的工作态度、工作量、设计(论文)的创造性、学术性、实用性及书面表达能力等方面给出评价。 签签名:名: 200 200 年年 月
3、月 日日 一一. . 设计任务设计任务 (1)鼠标左击排雷,右击插小旗,打问号; (2)方格里面的数字表示方格周围的雷数; (3)能够显示未标记雷数和游戏用时; (4)雷区上面的小脸可以变化,显示微笑,惊讶,痛苦,胜利。在任何情况下单击小脸 可以重新开始游戏; (5)可进行游戏难度的设定:包括预定义的难度级别(雷区行数,列数和雷数),和自 行定义雷区行数,列数和雷数的功能; (6)排行榜功能,扫雷成功时候,根据游戏用时更新排行榜。 二二. . 具体设计具体设计 (一)、设计思路(一)、设计思路 扫雷游戏是很经典也很有趣的一款游戏,这次的游戏程序设计要求设计出功能与原游 戏相近的一款游戏,首先定
4、义变量和类要画出游戏方格以及位图,设计游戏等级,等级越 高方格越多雷数也越多;然后设置随机布雷以保证每次重新开始游戏都有不同的雷区地 图;另外定义鼠标左击扫雷,左击标记周围埋雷情况,右击奇数次排雷偶数次取消上次排 雷,以及扫雷第一次左击不能扫到雷。 (二) 、设计表示:(二) 、设计表示: ( (三三) )、实现功能、实现功能 1、鼠标左击排雷,右击插小旗,打问号; 2、方格里面的数字表示方格周围的雷数; 3、能够显示未标记雷数和游戏用时; 4、雷区上面的小脸可以变化,显示微笑,惊讶,痛苦,胜利。在任何情况下单击小 脸可以重新开始游戏; 5、可进行游戏难度的设定:包括预定义的难度级别(雷区行数
5、,列数和雷数); 6、任何时候开始游戏第一次点击不会扫到雷。 由于时间等原因未完成功能: 排行榜和自行定义雷区行数,列数和雷数功能。 (四)、详细设计(四)、详细设计 1 1、添加位图、添加位图 前十二幅是在雷区的,后四幅是按钮。为了便于加载,必须各自保证其连续性。 分别表示游戏进行的状态、结果胜利或触雷。 类名类名 成员类别成员类别 类型类型 成员名成员名 描述描述 CMyView 属性 int leftnum 剩下雷数 int leinum 雷数 int n 定义格数 int jieshu 结束 int realnum 真实雷数 int secondstart 开始计时 int m_Row
6、Count 行 int m_ColCount 列 short second 计时 CBitmap m_Bitmap12 位图数组 CBitmap m_anniu4 按钮数组 Lei lei5050 最大雷区 方法 afx_msg void OnTimer(UINT nIDEvent) 计时器函数 afx_msg void OnLButtonDown(UINT, CPoint) 左键按下消息 afx_msg void OnStart() 开始函数 afx_msg void OnLButtonUp(UINT, CPoint ) 左键抬起消息 afx_msg void OnRButtonDown(UINT, CPoint) 右键按下消息 afx_msg void OnEasy() 简单模式函数 afx_msg void OnMiddle() 中等模式函数 afx_msg void OnHard() 困难模式函数 afx_msg int OnCreate(L