vc可视化课程设计mfc贪吃蛇.docVIP

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

PAGE 3 课程名称 可视化编程(VC) 学 院 计算机科学与技术学院 专 业 软件工程专业 班 级 姓 名 指导教师 2012——2013学年 第2学期 PAGE PAGE 24 PAGE \* MERGEFORMAT PAGE \* MERGEFORMAT 1 目录 课程设计要求 2 系统功能实现与操作 2 系统设计概述 2 3.1添加结构体说明 2 3.2模块说明 3 3.3主要功能函数代码及注释 3 4、调试过程11 4.1添加功能说明 11 4.2错误及解决方案 11 程序运行结果 12 附:主要类Cview的成员函数代码15 1、课程设计要求 题目:基于MFC的贪吃蛇游戏设计与实现。 要求:1.游戏界面设计 2.食物的初始化 3.游戏开始以及具体实现 2、系统功能实现与操作 本系统运用API函数的相关功能进行界面设计和功能实现。通过Rectangle()函数绘制操作区域及障碍物。通过连续的小矩形实现蛇身的绘制。通过srand()函数和 rand()函数生成随机数,完成生成食物功能的实现。综合运用多种if条件判断和for循环的嵌套使用的算法完成各种条件判断。 该系统功能简单,操作简易。打开程序后,点击菜单栏的游戏按钮,点击开始游戏,系统弹出对话框,提示还有3秒开始。游戏开始后,贪吃蛇开始移动,通过操作键盘上的上下左右方向键控制蛇的移动,躲避障碍物并吃掉食物。当吃掉的食物累计到达一定数量后,蛇行速度加快。直至撞到边界或障碍物或撞到自身,游戏结束。此时弹出对话框,提示所得分数。游戏中途可通过暂停和继续按钮执行相应操作。 系统设计概述 3.1 添加结构体说明 struct Snake { int x,y; int len; int direct; }Snake[50]; struct Food { int x; int y; int food; }Food; Snake结构体数组用于存放贪吃蛇的相关数据,其中x,y存放当前节点矩形左上角的坐标,(Snake[0]为蛇头),len存放当前蛇身的长度,direct存放蛇的行进方向,可在1~4取值。 Food结构体用于存放食物的位置信息。其中x,y存放食物小矩形左上角左标,food存放食物存在的布尔判断值。 3.2 模块说明 系统代码部分主要分为三个模块,界面控制模块、初始化模块和功能模块。 界面控制模块包括函数:OnStart(),OnPause(),OnContinue(),OnExit() 初始化模块包括函数:OnInitialUpdate(),OnDraw(),oninit() 功能模块包括函数:OnKeyDown(),OnTimer() 3.3 主要功能函数代码及注释 ①OnStart() void CSnakeView::OnStart() { // TODO: Add your command handler code here SetTimer(1,3000,NULL); AfxMessageBox(还有3秒开始~~!); } 点击开始游戏触发,设置定时器控制三秒后开始游戏。 ②OnPause() void CSnakeView::OnPause() { // TODO: Add your command handler code here KillTimer(1); AfxMessageBox(不要让人家等太久); } 关闭定时器,暂停游戏 ③OnContinue() void CSnakeView::OnContinue() { // TODO: Add your command handler code here SetTimer(1,10,NULL); } 重启定时器,恢复游戏 ④OnExit() void CSnakeView::OnExit() { // TODO: Add your command handler code here AfxMessageBox(欢迎下次再来!); exit(0); } 弹出对话框提示退出。 ⑤OnInitialUpdate() void CSnakeView::OnInitialUpdate() { CView::OnInitialUpdate(); // TODO: Add your specialized code here and/or call the base class Snake[0].x=10; Snake[0].y=10; Snake[1].x=10; Snake[1].y=10; Snake[2].x=10; Snake[2].y=

文档评论(0)

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

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

1亿VIP精品文档

相关文档