- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
贪吃蛇VC
1.需求分析
1.1题目介绍
1.1.1选题背景
贪吃蛇是家喻户晓的益智类小游戏,选择这个题目是为了将自己的所学知识加以运用。我们希望通过自己的所学知识把它剖析开来,真真正正的了解它的本质和精髓。贪吃蛇之所以取这样的名字用意很明显贪吃蛇其实并不贪它是人不断向前追求的象征就像现代的人只有不断努力向前才能得到自己想要的而食物也是随机出现的就像现在社会存在的机会而我们只有找好自己的目标才能CG的知识和相关的算法实现游戏的全过程。
1.2设计目的
1.2.1游戏实现的功能
利用Microsoft Visual C++制作一个贪吃蛇的小游戏,实现:
应用MFC单文档制作;
能够记录游戏时间,游戏成绩;
可暂停/继续并在玩家不愿游戏时停止游戏。
1.2.2该游戏的意义
游戏在设计方面应该本着方便、实用及娱乐性高的宗旨,在对界面进行设计的过程中,应始终坚持清晰明了,在性能方面应能够实现效率高,不易出错等优点。游戏主界面应该力求美观,赏心悦目。游戏控制模块应做到易懂、易操作,而且准确率高,不易出错。
1.3关于编译软件
本程序采用Microsoft Visual C++6.0的英文版本进行编译。VisualC++6.0是Microsoft公司推出的基于Windows操作系统的可视化C++编程工具,尽管Microsoft公司推出了.NET平台的集成开发环境,但由于其良好的界面和可操作性,加上支持标准C/C++规范,但仍有相当多的编程人员使用VisualC++6.0进行应用系统的开发。
图2-1 贪吃蛇结构图
2.2程序设计流程
根据贪吃蛇程序结构,分析后设计出相应的贪吃蛇程序流程,如图2-2所示。贪吃蛇的内容主要包括: 游戏开始,随机出现食物;按下ToolBar中的“”或键盘上的F1键可以实现游戏开始功能;按下ToolBar中的 “ ” 或键盘上的Space键可以实现游戏暂停功能;按下ToolBar中的“”或键盘上的F5键可获得游戏帮助说明。
图2-2 贪吃蛇流程图
3.详细设计
3.1变量函数及资源的声明
根据程序的结构,将贪吃蛇需要实现的功能细化成为相应的函数。
3.1.1函数声明
void CSnakeView::OnDraw(CDC* pDC)
//在OnDraw函数中绘制游戏背景,显示游戏界面
void CSnakeView::IniAim ()
//随机产生一个供蛇吃的目标,如果该目标恰巧与蛇身重合,则重新产生一个
void CSnakeView::IniGame()
//对游戏初始化,定义游戏的初始状态
void CSnakeView::ReDisplay(CPoint pPoint)
//刷新游戏区域中pPoint处的一个小方格
void CSnakeView::OnGameStart()
//开始游戏(菜单响应消息)
void CSnakeView::OnGamePause()
//暂停游戏(菜单响应消息)
void CSnakeView::OnGameEnd()
//结束游戏(菜单响应消息)
void CSnakeView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
//根据按下的方向键设置代表不同方向的值
void CSnakeView::OnTimer(UINT nIDEvent)
//定时器
void CHelpDlg::OnGameHelp()
//游戏帮助
void CSnakeApp::OnAppAbout()
//关于游戏
3.1.2变量声明
CArrayCPoint,CPoint m_aBody; //定义点数组作为蛇的身体
CPoint m_pAim; //食物出现的点
int m_nTime; //显示时间
int m_nTime1; //满10则进一位使时间增加1秒
int m_nDirect; //方向控制变量
int m_nGameStatus; //游戏状态:0-未开始,1-开始
int m_nCount; //玩家成绩变量
bool m_bGamePause; //暂停控制变量
bool m_bGameEnd; //结束控制变量
CBrush m_bru
您可能关注的文档
- 双人翘翘板项目商业计划书(2013年融资成功案例范文)-协助企业融资-投资专家免费咨询.pdf
- 吹气环保气枕项目融资商业计划书-专家免费咨询.pdf
- 九年级综合性学习练习.doc
- 化学气相沉积硒化锌晶体项目资金申请报告编制指南(政府资金申请专用)-专家免费咨询.pdf
- cisco 3750堆叠技术文档.doc
- 采暖水专用缓蚀阻垢剂项目融资商业计划书-专家免费咨询.pdf
- 地矿探测仪器项目融资商业计划书-专家免费咨询.pdf
- 人教版新课标数学六年级上册《圆的面积.ppt
- 如何编制发改委立项用(甲级)野外用应急光缆项目可行性研究报告(可研报告+甲级+立项+贷款).pdf.pdf
- 上海大火赔偿清单大调查.doc
最近下载
- 21CS03-3:一体化预制泵站选用与安装(三).docx VIP
- 2025届高考物理考点一轮复习:功能关系 能量守恒定律(解析版).pdf VIP
- 二年级上册语文教案 第七单元.docx VIP
- 快递业务操作规范与流程.pdf VIP
- 用在线乳化技术实现柴油机低温燃烧的研究 the experimental study of online emulsification technology in realizing diesel low- temperature combustion.pdf VIP
- 课桌椅项目实施方案-(范文模板).docx VIP
- 快递服务行业业务查询处理规范.doc VIP
- PDCA循环工作方法培训.pptx VIP
- 快递业务操作规范及投诉处理.doc VIP
- 充电桩采购安装项目售后服务承诺.docx VIP
文档评论(0)