贪吃蛇VC++.docVIP

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 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

文档评论(0)

asd522513656 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档