ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:77.28KB ,
资源ID:13314028      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/13314028.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《贪吃蛇游戏课程设计》报告Word下载.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《贪吃蛇游戏课程设计》报告Word下载.docx

1、#define M 200#includegraphics.h#includestdio.hstring.hiostream.hdos.hconio.h#include #define LEFT 97/A#define RIGHT 100/D#define DOWN 115/S#define UP 119/W#define Esc 0x011bint i,key;int score=0;int gamespeed=250;/游戏速度可根据实际情况自行调整struct Food int x;/食物的横坐标 int y;/食物的纵坐标 int yes;/判断是否要出现食物的变量food;/食物的结

2、构体struct Snake int xM; int yM; int node;/蛇的节数 int direction;/蛇的移动方向 int life;/蛇的生命,0表示活着,1表示死亡snake;void Init();/图形驱动void Close();/图形结束void DrawK();/开始画面void GamePlay();/玩游戏的具体过程void GameOver();/游戏结束void PrScore();/输出成绩(2)主函数main( )主函数是程序的主流程,首先定义使用到的常数、全局变量及函数原型说明,然后初始化图形系统,调用函数DrawK()画出开始画面,调用函数Ga

3、mePlay(),即玩游戏的具体过程,游戏结束后调用Close()关闭图形系统,结束程序void main()/主函数 Init();DrawK();GamePlay();Close();void Init()/图形驱动int gd=DETECT,gm;initgraph(&gd,&gm, );/*此处为turboc的路径,读者可以根据自己的电脑而改*/cleardevice();(3) 画界面函数DrawK( ) 主界面是一个封闭的围墙,用两个循环语句分别在水平和垂直方向输出连续的宽度和高度均的矩形方块,表示围墙,为了醒目,设置为白色。void DrawK()/开始画面,左上角坐标为(50,

4、40),右下角坐标为(610,460)的围墙 setbkcolor(GREEN); setcolor(LIGHTRED); setlinestyle(0,0,5);/设置线型 for(i=50;i0;i-)/蛇的每个环节往前移动,也就是贪吃蛇的关键算法 snake.xi=snake.xi-1; snake.yi=snake.yi-1; switch(snake.direction)/1,2,3,4表示上下左右四个方向,通过这个判断来移动蛇头 case 1: snake.x0+=10;break; case 2: snake.x0-=10; case 3: snake.y0-=10; case

5、4: snake.y0+=10; for(i=3;snake.node;i+)/从蛇的第四节开始判断是否撞到自己了,因为蛇头为两节,第三节不可能拐过来 if(snake.xi=snake.x0&snake.yi=snake.y0) GameOver();/显示失败 snake.life=1; break; if(snake.x0595|snake.y0455)/蛇是否撞到墙壁 GameOver();/本次游戏结束 snake.life=1;/蛇死 if(snake.life=1)/以上两种判断以后,如果蛇死就跳出内循环,重新开始 break; if(snake.x0=food.x&snake.

6、y0=food.y)/吃到食物以后 setcolor(0);/把画面上的食物去掉 snake.xsnake.node=-20; snake.ysnake.node=-20;/新的一节先放在看不见得位置,下次循环就取前一节的位置 snake.node+;/蛇的身体长一节 food.yes=1; score+=10; PrScore();/输出新的得分 setcolor(WHITE);/画出蛇 for(i=0;i+) rectangle(snake.xi,snake.yi,snake.xi+10,snake.yi-10); Sleep(gamespeed); setcolor(0);/用黑色去除蛇

7、的最后一节 rectangle(snake.xsnake.node-1,snake.ysnake.node-1,snake.xsnake.node-1+10,snake.ysnake.node-1-10); if(snake.life=1)/如果蛇死就跳出循环 break; key=getchar();/接受案件 if(key=Esc)/按ESC键退出 else if(key=UP&snake.direction!=4) snake.direction=3; else if(key=RIGHT&=2) snake.direction=1; else if(key=LEFT&=1) snake.direction=2; else if(key=DOWN&=3) snake.direction=4; /endwhile(1)(5)游戏结束函数GameOver( ) 游戏结束,清除屏幕,输出分数,显示游戏结束信息。void GameOver()/游戏结束 cleardevice(); setcolor(RED); outtextxy(100,100,我会回来的! getch();void PrScore()/输出成绩 char str10; setfillstyle(SOLID_FILL,YELLOW);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1