c贪食蛇代码游戏c代码

君,已阅读到文档的结尾了呢~~
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
C语言版贪吃蛇代码
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口C语言经典范例之贪吃蛇游戏源码Demo - C技巧 - 大学IT网
当前位置: >
> C语言经典范例之贪吃蛇游戏源码Demo
关键词:&&阅读(1317) 赞(54)
[摘要]本文是对C语言经典范例之贪吃蛇游戏源码Demo的讲解,附上c语言源代码,源码可直接使用,大学IT网整理,与大家分享!
下面是关于贪吃蛇游戏的详细代码,由最懂大学生的IT学习网站-大学IT网()整理分享!
/* 代码由大学IT网()整理 */
#include &graphics.h&
#include &stdlib.h&
#include &dos.h&
#include&conio.h&
#define LEFT 0x4b00
#define RIGHT 0x4d00
#define DOWN 0x5000
#define UP 0x4800
#define ESC 0x011b
#define N 100/*贪吃蛇的最大长度*/
/*游戏速度*/
struct FOOD
/*食物的横坐标*/
/*食物的纵坐标*/
/*标志是否要出现食物*/
struct Snake
/*蛇的节数*/
/*蛇移动方向*/
/*标志是死是活*/
void GameOver();/*结束游戏*/
void Play();/*玩游戏过程*/
void dwall();/*画墙*/
void wall(int x,int y);/*画组成墙的砖*/
int Speed();/*选择贪吃蛇的速度*/
int gdriver=DETECT,
initgraph(&gdriver,&gmode,"");
speed=Speed();/*将函数返回值赋给speed*/
cleardevice();/*清屏*/
dwall();/*开始画墙*/
Play();/*开始完游戏*/
closegraph();/*退出图形界面*/
void wall(int x,int y)
int sizx=9;
int sizy=9;
setcolor(15);/*白色画砖的上边和左边*/
line(x,y,x+sizx,y);
line(x,y+1,x+sizx-1,y+1);
line(x,y,x,y+sizy);
line(x+1,y,x+1,y+sizy-1);
setcolor(4);/*红色画砖的右面和下面*/
line(x+1,y+sizy,x+sizx,y+sizy);
line(x+2,y+sizy-1,x+sizx,y+sizy-1);
line(x+sizx-1,y+2,x+sizx-1,y+sizy-1);
line(x+sizx,y+1,x+sizx,y+sizy);
setfillstyle(1,12);/*用淡红色填充砖的中间部分*/
bar(x+2,y+2,x+sizx-2,y+sizy-2);
void dwall()/*用前面画好的砖来画墙*/
for(j=50;j&=600;j+=10)
wall(j,40);/*画上面墙*/
wall(j,451);/*画下面墙*/
for(j=40;j&=450;j+=10)
wall(50,j);/*画左面墙*/
wall(601,j);/*画右面墙*/
int Speed()/*选择贪吃蛇运行的速度*/
gotoxy(20,10);
printf("level1\n");
gotoxy(20,12);
printf("level2\n");
gotoxy(20,14);
printf("level3\n\t\tplease choose:");
scanf("%d",&m);
case 1:return 60000;
case 2:return 40000;
case 3:return 20000;
cleardevice();
void Play(void)/*游戏实现过程*/
srand((unsigned long)time(0));
food.flag=1;/*1表示需出现新食物,0表示食物已存在*/
snake.life=0;/*标志贪吃蛇活着*/
snake.dir=1;/*方向向右*/
snake.x[0]=300;snake.y[0]=240;/*定位蛇头初始位置*/
snake.x[1]=300;snake.y[1]=240;
snake.node=2;/*贪食蛇节数*/
while(!kbhit())/*在没有按键的情况下,蛇自己移动身体*/
if(food.flag==1)/*需要出现新食物*/
food.x=rand()%520+60;
food.y=rand()%370+60;
food.flag=0;/*标志已有食物*/
}while(food.x%10!=0||food.y%10!=0);
if(food.flag==0)/*画出食物*/
setcolor(GREEN);
setlinestyle(3,0,3);
rectangle(food.x,food.y,food.x+10,food.y+10);
for(i=snake.node-1;i&0;i--)/*实现蛇向前移动*/
snake.x[i]=snake.x[i-1];
snake.y[i]=snake.y[i-1];
switch(snake.dir)
case 1:snake.x[0]+=10;/*向右移*/
case 2: snake.x[0]-=10;/*向左移*/
case 3: snake.y[0]-=10;/*向上移*/
case 4: snake.y[0]+=10;/*向下移*/
for(i=3;i&snake.i++)
if(snake.x[i]==snake.x[0]&&snake.y[i]==snake.y[0])/*判断蛇是否吃到自己*/
GameOver();/*游戏结束*/
snake.life=1;/*蛇死*/
if(snake.x[0]&60||snake.x[0]&590||snake.y[0]&50||
snake.y[0]&440)/*蛇是否撞到墙壁*/
GameOver();/*游戏结束*/
snake.life=1; /*蛇死*/
if(snake.x[0]==food.x&&snake.y[0]==food.y)/*判断是否吃到食物*/
setcolor(0);/*用背景色遮盖调食物*/
rectangle(food.x,food.y,food.x+10,food.y+10);
snake.node++;/*蛇的身体长一节*/
food.flag=1;/*需要出现新的食物*/
setcolor(4);/*画蛇*/
for(i=0;i&snake.i++)
setlinestyle(0,0,1);
rectangle(snake.x[i],snake.y[i],snake.x[i]+10,
snake.y[i]+10);
delay(speed);
setcolor(0);/*用背景色遮盖蛇的的最后一节*/
rectangle(snake.x[snake.node-1],snake.y[snake.node-1],
snake.x[snake.node-1]+10,snake.y[snake.node-1]+10);
/*endwhile(!kbhit)*/
if(snake.life==1)/*如果蛇死就跳出循环*/
key=bioskey(0);/*接收按键*/
if(key==UP&&snake.dir!=4)/*判断是否往相反的方向移动*/
snake.dir=3;
if(key==DOWN&&snake.dir!=3)/*判断是否往相反的方向移动*/
snake.dir=4;
if(key==RIGHT&&snake.dir!=2)/*判断是否往相反的方向移动*/
snake.dir=1;
if(key==LEFT&&snake.dir!=1)/*判断是否往相反的方向移动*/
snake.dir=2;
}while(key!=ESC);/*ESC键退出游戏*/
void GameOver(void)
cleardevice();
setcolor(RED);
settextstyle(0,0,4);
outtextxy(50,200,"GAME OVER,BYE BYE!");
好啦,看完这个由c语言技术实现贪吃蛇游戏功能的源代码后是否对实现相关功能更加明白了呢?如果还有不懂的地方可以加我的QQ()联系我哦^_^!
本文由最懂大学生的IT学习网站-整理,转载请注明出处!
相关C技巧推荐人人网 - 抱歉
哦,抱歉,好像看不到了
现在你可以:
看看其它好友写了什么
北京千橡网景科技发展有限公司:
文网文[号··京公网安备号·甲测资字
文化部监督电子邮箱:wlwh@··
文明办网文明上网举报电话: 举报邮箱:&&&&&&&&&&&&C语言如何做游戏排行榜要求可以保存,用到了文件。求点拨啊!!
[问题点数:30分,结帖人huiguimoyu]
C语言如何做游戏排行榜要求可以保存,用到了文件。求点拨啊!!
[问题点数:30分,结帖人huiguimoyu]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2013年3月 C/C++大版内专家分月排行榜第三
2013年6月 Linux/Unix社区大版内专家分月排行榜第二2013年5月 Linux/Unix社区大版内专家分月排行榜第二2013年3月 Linux/Unix社区大版内专家分月排行榜第二2013年1月 Linux/Unix社区大版内专家分月排行榜第二2012年12月 Linux/Unix社区大版内专家分月排行榜第二2012年8月 Linux/Unix社区大版内专家分月排行榜第二2011年12月 Linux/Unix社区大版内专家分月排行榜第二2011年10月 C/C++大版内专家分月排行榜第二2011年10月 Linux/Unix社区大版内专家分月排行榜第二
2012年6月 C/C++大版内专家分月排行榜第三2012年6月 PHP大版内专家分月排行榜第三2012年5月 C/C++大版内专家分月排行榜第三2012年3月 Linux/Unix社区大版内专家分月排行榜第三2012年2月 Linux/Unix社区大版内专家分月排行榜第三2011年11月 C/C++大版内专家分月排行榜第三
2015年11月 扩充话题大版内专家分月排行榜第一2015年7月 扩充话题大版内专家分月排行榜第一2015年1月 扩充话题大版内专家分月排行榜第一2014年9月 扩充话题大版内专家分月排行榜第一(补)2013年9月 扩充话题大版内专家分月排行榜第一2013年8月 扩充话题大版内专家分月排行榜第一2013年7月 扩充话题大版内专家分月排行榜第一
2016年3月 扩充话题大版内专家分月排行榜第二2015年12月 扩充话题大版内专家分月排行榜第二2015年6月 扩充话题大版内专家分月排行榜第二2015年2月 扩充话题大版内专家分月排行榜第二2014年10月 扩充话题大版内专家分月排行榜第二2014年8月 扩充话题大版内专家分月排行榜第二
本帖子已过去太久远了,不再提供回复功能。您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
基于VC++贪食蛇游戏的设计与实现课程设计报告.doc49页
本文档一共被下载:
次 ,您可免费全文在线阅读后下载本文档
文档加载中...广告还剩秒
需要金币:200 &&
你可能关注的文档:
··········
··········
广东技术师范学院天河学院
面向对象程序设计 c++/vc++
课程设计报告
目:基于VC++贪食蛇游戏的设计与实现
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得
及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
签 名:    
期:       
指导教师签名:       
日  期:       
使用授权说明
本人完全了解
大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:    
期:       
学位论文原创性声明
本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。
作者签名:
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留
正在加载中,请稍后...

我要回帖

更多关于 贪食蛇游戏 的文章

 

随机推荐