logo

您所在位置网站首页 > 海量文档  > 企划文宣(应用文书) > 商业策划书

贪食蛇计算机实习报告.doc 11页

本文档一共被下载: ,您可全文免费在线阅读后下载本文档。

  • 支付并下载
  • 收藏该文档
  • 百度一下本文档
  • 修改文档简介
全屏预览

下载提示

1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
特别说明: 下载前务必先预览,自己验证一下是不是你要下载的文档。
  • 上传作者 2017meng(上传创作收益人)
  • 发布时间:2018-06-14
  • 需要金币200(10金币=人民币1元)
  • 浏览人气
  • 下载次数
  • 收藏次数
  • 文件大小:189.5 KB
下载过该文档的会员
你可能关注的文档:
计算机实习报告 姓名: 班级: 学号: 小班序号: 指导老师:夏海轮 题目:贪吃蛇游戏 邮箱: 贪吃蛇游戏实验报告 一.功能说明 1.1总体功能说明 贪吃蛇游戏主要实现的功能是蛇的移动,转向。产生水果,吃水果增加蛇身的长度。撞到自己,墙壁,障碍死亡,另外还有暂停,音乐和排除错误按键干扰等功能。 1.2用户界面 一、游戏的主界面: 进入游戏首先进入游戏的主界面。上面有游戏说明,然后会有1,2,3三个选项。分别用于选择游戏的难度。按其他键默认选择容易级别。 二、游戏界面: 游戏界面下方会及时显示游戏难度、得分和吃水果数。 三、死亡界面: 此界面给出重新玩游戏或者结束游戏的选择。 1.3使用方法 控制游戏的按键为: 上:↑ 下:↓ 左:← 右:→ 按空格键暂停,然后按空格键开始。 在游戏过程中按其他键无效。 游戏有三种等级可以选。易,中,难。区别是蛇的移动速度的不同。 二.程序设计说明 2.1 总体设计框架 2.2 关键算法描述 算法:算法输入参数和输出参数,算法功能,使用什么存储结构,在主程序中起什么作用,可以使用框图或伪代码表示。 算法1:if(ch1==224)//按了方向键 { int ch2=_getch();//从缓冲区再获得一个字符 if (ch2==72)//向上 { if(coordinate[(hx-2)/2][hy]==2)//不能反向地走,忽略,继续自动走 { Automatic( );//使用自动移动的函数 } else{ coordinate[(hx-2)/2][hy]=1;//留下移动方向的标记,让身体能够跟上蛇头的轨迹 hy=hy-1;//蛇头高度减一 //判断有没有撞墙 if(coordinate[(hx-2)/2][hy]>0)// 撞到了自身或者栅栏 { textout(handle,35,17,head,1, " Game Over!");//输出 break; } else if(coordinate[(hx-2)/2][hy]<0)//吃到水果 { marks=marks+600/speed;//加分 fs=0;//标志重置 tailFlag = false;/***/ coordinate[(hx-2)/2][hy]=1;//留下标记 textout(handle,hx,hy,head,1, "■");//输出 fruiteat(handle);//使用吃到水果后的函数 }else if(coordinate[(hx-2)/2][hy]==0)//走到空地上 { coordinate[(hx-2)/2][hy]=1;//留下标记 textout(handle,hx,hy,head,1, "■");//输出 } } } 实现的是按键之后的变化。每一个上,下,左,右键都对应着遇上空地,遇上蛇身与栅栏,遇上果子三种情况,以上代码段仅列举了按上键之后的所有情况。若遇上空地,则使该坐标显示值为1,使得以后的身子也能向上行走;若遇上蛇身或者栅栏则游戏结束;若遇上果子则吃掉果子,并使用吃了果子之后的函数。 算法2:if (tailFlag) { //尾部的处理 //以下只对向上走的部分做详细解释,向其他三个方向走的部分类似 if (coordinate[(tx-2)/2][ty]==1)//向上走 {coordinate[(tx-2)/2][ty]=0;//将方格的标志置零,方便下次调用 textout(handle,tx,ty,tail,1, " ");//将方格变回空白 ty=ty-1;//尾部向上移动} 实现的是尾部的处理。前文提到每走一步就会增加一节身体,同时运行这段代码剪掉尾部,而如果满足吃了果子就不会运行这段代码,此时则蛇身增长一块。 算法3:void fruiteat(HANDLE handle) { while(0) { if(fs==0)//水果已被吃 { while(!fs)//一直循环到水果已放置 { fx=rand()%36+1;//让水果随机出现 fy=rand()%36+1; ea

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片

“原创力文档”前称为“文档投稿赚钱网”,本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有【成交的100%(原创)】。原创力文档是网络服务平台方,若您的权利被侵害,侵权客服QQ:3005833200 电话:19940600175 欢迎举报,上传者QQ群:784321556