网站大量收购独家精品文档,联系QQ:2885784924

贪吃蛇程序设计【荐】.docVIP

  1. 1、本文档共23页,可阅读全部内容。
  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文档。上传文档
查看更多
课程设计(论文)任务书 学 院 理学院 专 业 光信息科学与技术 学 生 姓 名 陈亮 学 号 1109020218 课程设计 (论文)题目 小游戏贪吃蛇 设计要求:理解并掌握分析问题、选择算法、绘制流程图、编写源代码、调试并测试程序,直到取得正确结果这样一个完整的过程。其中绘制流程图能使程序员在编程时思路清晰,减少编程错误。利用流程图来分析、查找、解决程序设计中的问进度安排: 一.功能描述 4 二.基本原理 4 三、设计的具体实现 5 (1)函数定义 5 (2)主函数main( ) 6 (3) 画界面函数DrawK( ) 7 (4)游戏具体过程函数GamePlay( ) 7 (5)游戏结束函数GameOver( ) 10 四、调试及解决方法 12 五、测试结果 12 六、设计心得体会 14 七、参考文献 14 八、源代码 15 一.功能描述 基本功能:开始蛇向右方移动。按键盘上定义的上下左右键,蛇改变游动的方向,可以上下左右游动。蛇不能碰到图中的灰色栅栏,如碰到游戏结束。若蛇碰到图中一粒豆子,则豆子被蛇吃掉,图中的豆子消失,蛇身变长。 最终所有的豆子都被吃掉,游戏结束。 增强要求: 必须改进游戏的界面,增加显示相关的统计信息。左边的显示区保持不变,右边动态显示积分和总时间统计信息,其中积分栏目显示当前已经吃下的豆子数目,总时间显示本局游戏从开始到现在经过的时间。 优化主程序,注意CPU和内存的使用效率。 考虑一个合理的得分算法,得分值应该取决于吃下去的豆子和游戏持续的时间。 得分可以在发光二极管上显示出来。 二.基本原理 游戏开始后进入游戏界面.首先初始化蛇的坐标,食物的坐标.线程基本流程:判断是否是暂停阶段,是否有有退出按键,游戏是否有结束,如果都没有就执行, 如果游戏结束了就重新游戏或者退出能通过方向键来控制蛇的移动方向; 蛇吃到食物后能够更新和显示分数; 个食物后,游戏能够,并能通过增加蛇的移动速度来增加游戏的难度#define N 200 #define M 200 #includegra phics.h #includestdlib.h #includestdio.h #includestring.h #includeiostream.h #includedos.h #includeconio.h #include windows.h #define LEFT 97//A #define RIGHT 100//D #define DOWN 115//S #define UP 119//W #define Esc 0x011b int i,key; int score=0; int gamespeed=250;//游戏速度可根据实际情况自行调整 struct Food { int x;//食物的横坐标 int y;//食物的纵坐标 int yes;//判断是否要出现食物的变量 }food;//食物的结构体 struct Snake { int x[M]; int y[M]; int node;//蛇的节数 int direction;//蛇的移动方向 int life;//蛇的生命,0表示活着,1表示死亡 }snake; void Init();//图形驱动 void Close();//图形结束 void DrawK();//开始画面 void GamePlay();//玩游戏的具体过程 void GameOver();//游戏结束 void PrScore();//输出成绩 (2)主函数main( ) 主函数是程序的主流程,首先定义使用到的常数、全局变量及函数原型说明,然后初始化图形系统,调用函数DrawK()画出开始画面,调用函数GamePlay(),即玩游戏的具体过程,游戏结束后调用Close()关闭图形系统,结束程序{ Init();//图形驱动 DrawK();//开始画面 GamePlay();//玩游戏的具体过程 Close();//图形结束 } void Init()//图形驱动 { int gd=DETECT,gm; initgraph(gd,gm, );/*此处为turboc的路径,读者可以根据自己的电脑而改*/ cleardevice(); } (3) 画界面函数DrawK( ) 主界面是一个封闭的围墙,用两个循环语句分别在水平和垂直方向输出连续的宽度和高度均的矩形方块,表示围墙,为了醒目,设置为色。{ setbkcolor(GREEN); setcolor(LIGHTRED); setlinestyle(0,0,5);//设置线型 for(i=50;i=600;i+=10)//画围墙 { rectangle(i,40,i+10

文档评论(0)

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

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

1亿VIP精品文档

相关文档