扫雷游戏程序设计课程设计报告

扫雷游戏程序设计课程设计报告

ID:11093067

大小:729.50 KB

页数:24页

时间:2018-07-10

扫雷游戏程序设计课程设计报告_第1页
扫雷游戏程序设计课程设计报告_第2页
扫雷游戏程序设计课程设计报告_第3页
扫雷游戏程序设计课程设计报告_第4页
扫雷游戏程序设计课程设计报告_第5页
资源描述:

《扫雷游戏程序设计课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、课程设计设计题目扫雷游戏程序设计学生姓名学号专业班级指导教师2013年11月5日设计题目扫雷游戏程序设计成绩课程设计主要内容扫雷游戏是Windows操作系统自带的一款小游戏,在过去的几年里Windows操作系统历经数次换代更新,变得越来越庞大、复杂,功能也越来越强大,但是这款小游戏依然保持原来的容貌,可见这款小游戏受到越来越多人的喜爱。参考系统自带的扫雷程序,自行开发设计一款扫雷游戏。要求:(1)鼠标左击排雷,右击插小旗,打问号;(2)方格里面的数字表示方格周围的雷数;(3)能够显示未标记雷数和游戏用时;(4)雷区上面的小脸可以变化,显示微笑

2、,惊讶,痛苦,胜利。在任何情况下单击小脸可以重新开始游戏;(5)可进行游戏难度的设定:包括预定义的难度级别(雷区行数,列数和雷数),和自行定义雷区行数,列数和雷数的功能;(6)排行榜功能,扫雷成功时候,根据游戏用时更新排行榜。指导教师评语建议:从学生的工作态度、工作量、设计(论文)的创造性、学术性、实用性及书面表达能力等方面给出评价。签名:200年月日合肥工业大学课程设计任务书一.设计任务(1)鼠标左击排雷,右击插小旗,打问号;(2)方格里面的数字表示方格周围的雷数;(3)能够显示未标记雷数和游戏用时;(4)雷区上面的小脸可以变化,显示微笑,

3、惊讶,痛苦,胜利。在任何情况下单击小脸可以重新开始游戏;(5)可进行游戏难度的设定:包括预定义的难度级别(雷区行数,列数和雷数),和自行定义雷区行数,列数和雷数的功能;(6)排行榜功能,扫雷成功时候,根据游戏用时更新排行榜。二.具体设计(一)、设计思路扫雷游戏是很经典也很有趣的一款游戏,这次的游戏程序设计要求设计出功能与原游戏相近的一款游戏,首先定义变量和类要画出游戏方格以及位图,设计游戏等级,等级越高方格越多雷数也越多;然后设置随机布雷以保证每次重新开始游戏都有不同的雷区地图;另外定义鼠标左击扫雷,左击标记周围埋雷情况,右击奇数次排雷偶数次

4、取消上次排雷,以及扫雷第一次左击不能扫到雷。类名成员类别类型成员名描述CMyView属性intleftnum剩下雷数intleinum雷数intn定义格数intjieshu结束intrealnum真实雷数intsecondstart开始计时intm_RowCount行intm_ColCount列shortsecond计时CBitmapm_Bitmap[12]位图数组CBitmapm_anniu[4]按钮数组Leilei[50][50]最大雷区方法afx_msgvoidOnTimer(UINTnIDEvent)计时器函数afx_msgvoidO

5、nLButtonDown(UINT,CPoint)左键按下消息afx_msgvoidOnStart()开始函数afx_msgvoidOnLButtonUp(UINT,CPoint)左键抬起消息afx_msgvoidOnRButtonDown(UINT,CPoint)右键按下消息afx_msgvoidOnEasy()简单模式函数afx_msgvoidOnMiddle()中等模式函数afx_msgvoidOnHard()困难模式函数afx_msgintOnCreate(LPCREATESTRUCT)创建窗口函数Lei属性intweitu标志位图i

6、ntshumu标志状态(二)、设计表示:(三)、实现功能1、鼠标左击排雷,右击插小旗,打问号;2、方格里面的数字表示方格周围的雷数;3、能够显示未标记雷数和游戏用时;4、雷区上面的小脸可以变化,显示微笑,惊讶,痛苦,胜利。在任何情况下单击小脸可以重新开始游戏;5、可进行游戏难度的设定:包括预定义的难度级别(雷区行数,列数和雷数);6、任何时候开始游戏第一次点击不会扫到雷。由于时间等原因未完成功能:排行榜和自行定义雷区行数,列数和雷数功能。(四)、详细设计1、添加位图前十二幅是在雷区的,后四幅是按钮。为了便于加载,必须各自保证其连续性。分别表示

7、游戏进行的状态、结果胜利或触雷。2、预设等级方格数雷数变化voidCMywqq20112074View::OnEasy()/////////////////////////////初级{m_RowCount=10;//行数10m_ColCount=10;//列数10leinum=10;realnum=leinum;SetTimer(1,50,NULL);//TODO:Addyourcommandhandlercodeheresecond=0;//计时secondstart=0;//1时开始计时//num=0;leftnum=leinum;//

8、剩余雷数jieshu=0;//jieshu=1时停止intaa=0;//初始化0for(inti=0;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。