下载此beplayapp体育下载

贪吃蛇实践报告.doc


beplayapp体育下载分类:bepaly下载苹果 | 页数:约11页 举报非法beplayapp体育下载有奖
1 / 11
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该beplayapp体育下载所得收入归上传者、原创者。
  • 3.下载的beplayapp体育下载,不会出现我们的网址水印。
1 / 11 下载此beplayapp体育下载
beplayapp体育下载列表 beplayapp体育下载介绍
贪吃蛇实践报告.doc问题描述贪食蛇游戏是一个深受人们喜爱的游戏:一条蛇在密闭的用墙内,在围墙内出现食物,通过按键控制蛇向上下左右四个方向移动,蛇撞到食物,则食物被吃掉,蛇的身体增加一节。如果蛇在移动的过程屮,撞到墙壁或身体的交叉(蛇头撞到白己的身体)游戏结束。。功能要求如下:基本功能提供一个图形模式下的界面。开始游戏:空格键或回车键;退出游戏:Esc键。支持用键盘的方向键来控制蛇的移动,蛇可以向上、下、左、右四个方向移动。当蛇头碰到食物时,食物被吃掉,蛇的身体增长一节。初始场景内随即出现1个食物,当食物被吃掉时,再随机出现一个食物。要有记分机制,没吃掉一个食物,增加相应的分数。蛇碰到墙壁或是自己身体的一部分则游戏结束。高级功能暂停功能:能随时通过按键来暂停游戏,再按一次则继续游戏。速度调节功能:当分数达到某个值后,对蛇的移动速度进行一定的提升,但会有一个速度上限。奖励机制:增加另一种的奖励食物,蛇吃到该种食物示蛇的身体减少一节(最短不能少于2节),但不增加分数。该种食物的颜色要区别与普通食物的颜色。奖励食物有时间限制,在一定时间内没有吃掉则会消失。音效功能:在游戏开始、吃掉食物、撞墙、撞到白己时提供不同的音效。设计及实现要点基本思路:首先设计主界面,主界瓯是一个密封的围墙,并在屏幕最右面留一部分用来显示分数、计时等其他信息。囤墙肓接呦一个矩形来表示,四面围成密闭的矩形来作为围墙。接着是初始化蛇与食物的位置并将他们用图形表示出来。然示进行一个循环,将蛇按当前的方向移动,并处理键盘的方向按键信息,调報蛇的移动方向。蛇头如果碰到食物,则食物消失,蛇身增长一节,更新分数,并在另外的地方又随机出现食物;如果碰到围墙或是白己的身体,则游戏结束,关闭图形系统。难点分析表示蛇的图形及蛇的移动方向。用一个小矩形块表示蛇的一节身体,身体每长一节,增加一个矩形块。移动时必须从蛇头开始,所以蛇不能向相反的方向移动。如果不安任何键,蛇白行在当前方向上移动,当游戏者按了有效的方向键后,先确定蛇头的位置,然后蛇身体随肴蛇头移动。在图形的实现上,从蛇头的新位置开始画出蛇。这时,由于没有清屏的原因,原来蛇的位置和新蛇的位置差一个单位,将蛇的最后一节用背景色覆盖。检测蛇有无撞到食物、围墙或是1'1己的身体。当蛇开始移动之示,需要判断蛇头要移动到的新的位置的情况,然后根据新位置是空白、食物、围墙还是蛇的身体来做出相应的操作。可以用一个二维数组来表示整个场景,以不同的值来表示每个位置的情况。事物的随机产生。当食物被吃掉示,要在场景屮重新随机产生。利用C语言提供的随机函数rand()产生随机数并将该随机数缩小到符合场景大小的范围屮来,以此作为食物位置的横纵坐标。蛇的移动速度调节。在高级功能屮,当分数达到一定的值后,移动速度将进行一定的提升。主要利用蛇的两次移动之间的时间间隔来实现,也就是调整两次循环之间的停顿时间,可以使用TuborC函数库屮的delay()函数来实现。奖励事物的定时机制。解决这个问题要用到时钟屮断。。截获正常的时钟屮断后,先处理完正常的时钟屮断,,每秒钟计时变量约增加18。需要控制时间的时候,只要看这个计时变量就行了。截获时钟屮断要用到函数getvect()和setvect()。文件名函数原型函数功能处理描述voidInit(void)初始化图形模式调用initgraph()切换到图形模式draw,cvoidDraw(void)初始化贪吃蛇界面调用rectangle()画围墙voidClose(void)关闭图形调用closegraph()关闭图形指向原来的时钟voidinterrupt(^oldtimer)屮断处理过程入(void)口中的中断处理函数指针(句柄)timer,cvoidinterruptnewtimer(void)新的时钟屮断处理过程调用(*oldtimer)()函数句柄,计时器H动加1voidSetTimer(voidinterrupt(^IntProc)(void))设置新的时钟屮断处理过程调用setvect()设置新的时钟屮断处理过程voidKillTimer()恢复原有的时钟屮断处理过程调用setvect()恢复原有的时钟小断处理过程如何画出蛇蛇如何移voidGamePlay(void)游戏实现的过程动蛇的身体怎样增加怎样吃食物怎样控制奖励play,cvoidGameOver(void)游戏结束后退出游戏如果蛇死,则退出游戏voidPrScore(void)打印出游戏得分在游戏界面的适肖位置打印出游戏得分voidIsBonus(void)判断是否产生奖励游戏的分数每增加100分,产生一个奖励voidEatfood(void)判断是否吃食物voidEatbo

贪吃蛇实践报告 来自beplayapp体育下载www.apt-nc.com转载请标明出处.

相关beplayapp体育下载 更多>>
非法内容举报中心
beplayapp体育下载信息
  • 页数11
  • 收藏数0收藏
  • 顶次数0
  • 上传人sssmppp
  • 文件大小120 KB
  • 时间2020-08-12