已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序设计基础项目报告项 目 名 称贪吃蛇1 项目功能简要说明:贪吃蛇游戏,该有游戏主要指通过控制小蛇的移动方向,来吃掉随机 生成的食物,从而使小蛇达到一个成长的效果。小蛇每吃掉一次食物都会加相应得分数。当小蛇碰到自身或者碰到墙就会结束游戏。2 程序基本算法的文字描述(500字)(一)函数头必不可少要包含TC里面的图形库()、()里面定义了五种类型、一些宏和通用工具函数、()这是一个头文件,里面包含了很多BIOS和DOS调用函数。首先要定义四个方向键和一个退出键的扫描码;(二)分别定义食物和小蛇的结构体;(三)声明调用的函数;(四)主函数(图形驱动、开始画面、玩游戏具体过程、图形结束;)(五)图形驱动:初始化图形系统;(六)开始画面,左上角坐标为(50,40),右下角坐标为(610,460)的围墙。设置颜色、设置线型、用两个for循环分别画出上下、左右围墙;(七)玩游戏具体过程:随机发生器控制食物出现位置,1表示需要出现新食物,0表示已经存在食物,在没有按键的情况下,蛇自己移动身体,当遇见食物之后会吃掉食物起身增长,然后食物还要随机生成,每吃一次食物分数就会长十,但分数为偶数的时候小蛇是一种颜色,否则为另外一种颜色,当分数是五十的整数倍时会出现good!的提示,此时小蛇为绿色,当分数是五十的整数倍时食物为黄色,否则为另一种颜色。当分数为100的倍数后小蛇的速度就会增长。当吃到食物之后小蛇会自动长一截,而在没吃到食物的时候,小蛇向前走,最后一节会被磨掉,吃到食物就不摸了,当小蛇遇到自己或者墙都会死亡也就是结束游戏;(八)图形结束,输出成绩。3. 该项目用到的知识的总结(200字)调用函数,for循环,while循环,if else 语句,随机函数,控制坐标,输出图形,背景颜色,控制形状颜色线性,等等4. 关键步骤的流程图(三个流程图以上)开始定义食物的结构体struct Foodint x;-食物的横坐标int y;-食物的纵坐标int yes;-判断是否要出现食物的变量food;-食物的结构体定义小蛇的结构体被调用函数void Init(void);-图形驱动void Close(void);-图形结束void DrawK(void);-开始画面void GameOver(void);-结束游戏void GamePlay(void);-玩游戏具体过程void PrScore(void);-输出成绩void main(void)Init();/*图形驱动*/DrawK();/*开始画面*/GamePlay();/*玩游戏具体过程*/Close();/*图形结束*/struct Snakeint xN;int yN;int node;/*蛇的节数*/int direction;/*蛇移动方向*/int life;/* 蛇的生命,0活着,1死亡*/snake;结束整个游戏大体制作过程开始setcolor(9);setlinestyle(SOLID_LINE,0,THICK_WIDTH);/*设置线型*/for(i=50;i=600;i+=10)/*画围墙*/rectangle(i,40,i+10,49); /*上边*/rectangle(i,451,i+10,460);/*下边*/for(i=40;i0snake.direction1snake.x0+=10;break;2snake.x0-=10;break;3snake.y0-=10;break;4snake.y0+=10;break;11i=3snake.xi=snake.x0&snake.yi=snake.y0是GameOver();/*显示失败*/snake.life=1;break;否snake.x0595|snake.y0455是GameOver();/*本次游戏结束*/snake.life=1; /*蛇死*/否/*蛇是否撞到墙壁*/breaksnake.life=1是否*以上两种判断以后,如果蛇死就跳出内循环,重新开始*/snake.x0=food.x&snake.y0=food.ysetcolor(0);/*把画面上的食物东西去掉*/rectangle(food.x,food.y,food.x+10,food.y-10);snake.xsnake.node=-20;snake.ysnake.node=-20;/*新的一节先放在看不见的位置,下次循环就取前一节的位置*/snake.node+;/*蛇的身体长一节*/food.yes=1;/*画面上需要出现新的食物*/score+=10;PrScore();/*输出新得分是否/*吃到食物以后*/2是否2if(score%20=0) setcolor(MAGENTA); /*画出蛇*/else setcolor(LIGHTRED); if(score%50=0&score!=0) setcolor(GREEN); settextstyle(0,0,3); outtextxy(80,16,good!);for(i=0;i0;i-)/*蛇的每个环节往前移动,也就是贪吃蛇的关键算法*/snake.xi=snake.xi-1;snake.yi=snake.yi-1; 6. 项目特色(延伸功能、附加功能)分数为偶数的时候小蛇是一种颜色,否则为另外一种颜色,当分数是五十的整数倍时会出现good!的提示,此时小蛇为绿色,当分数是五十的整数倍时食物为黄色,否则为另一种颜色。当分数为100的倍数后小蛇的速度就会增长。7. 收获与心得体会通过亲自动手动脑完成这个小游戏,不仅复习了一下自己学过的很多知
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2022茶艺师(中级)考试题库及在线模拟考试 -2
- 2025~2025银行岗位考试题库及答案参考48
- -化工石油专业继续教育考题答案95分
- 2025年江西公务员考试申论真题及答案
- 安全员试题及答案(面试专用)
- 3月计算机二级考试公共基础知识选择题及答案
- 2025年一级建造师考试试题含完整答案详解【必刷】
- 2025年安全员B证考试题库及参考答案(新)
- 2025年安全员B证考试试卷(a卷)附答案详解
- 《土木工程材料》复习思考题和答案
- 企业咨询报告范文模板
- 《聪明的牧羊人》导读
- 大学物理曲线运动
- 旅行社经营管理第七章课件
- GB/T 6003.1-2022试验筛技术要求和检验第1部分:金属丝编织网试验筛
- YS/T 514.6-2009高钛渣、金红石化学分析方法第6部分:一氧化锰量的测定火焰原子吸收光谱法
- GB/T 8433-1998纺织品色牢度试验耐氯化水色牢度(游泳池水)
- GB/T 27476.1-2014检测实验室安全第1部分:总则
- 机器视觉课件
- 四级英语考试(CET4)答题纸word模板
- 微波治疗简介培训课件
评论
0/150
提交评论