C语言最简洁的贪吃蛇源代码_第1页
C语言最简洁的贪吃蛇源代码_第2页
C语言最简洁的贪吃蛇源代码_第3页
C语言最简洁的贪吃蛇源代码_第4页
C语言最简洁的贪吃蛇源代码_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C语言最简洁的贪吃蛇源代码.txt每天早上起床都要看一遍“福布斯”富翁排行榜,如果上面没有我的名字,我就去上班。谈钱不伤感情,谈感情最他妈伤钱。我诅咒你一辈子买方便面没有调料包。#include<graphics.h>#include<conio.h>#include<dos.h>#include<bios.h>#include<stdlib.h>#defineSTATIC0#defineTRUE1#defineFALSE0#defineUP1#defineRIGHT2#defineDOWN3#defineLEFT4#defineVK

2、_LEFT0x4b00/*上下左右键的值*/#defineVK_RIGHT0x4d00#defineVK_DOWN0x5000#defineVK_UP0x4800#defineVK_ESC0x011bintboard2222;intsnakelength=0;structsnakepublic:intx=0;inty=0;intdirection;body20;snakefood;voidmakefood();/*产生一个食物*/inteatfood();/*蛇吃掉食物*/voidright();/*上下左右的函数了*/voiddown();voidleft();voidup();voidge

3、tdirection();/*判断蛇的方向*/move(snake*body)/*让蛇动起来*/intx=body0.x,y=body0.y;if(body->direction=RIGHT&&boardyx+1!=1)right();elseif(body->direction=DOWN&&boardy+1x!=1)down();elseif(body->direction=LEFT&&boardyx-1!=1)left();elseif(body->direction=UP&&boardy-1x!=1)

4、up();return0;voidprint()/*在屏幕上显示蛇*/inti,j,x=0,y=0;for(i=1;i<21;i+)for(j=1;j<21;j+)boardij=0;for(i=0;i<20;i+)x=bodyi.x;y=bodyi.y;boardyx=1;boardfood.yfood.x=2;for(i=1;i<21;i+)for(j=1;j<21;j+)if(boardij=1)setfillstyle(SOLID_FILL,WHITE);bar(j*15,i*15,j*15+13,i*15+13);if(boardij=0)setfill

5、style(SOLID_FILL,BLACK);bar(j*15,i*15,j*15+13,i*15+13);if(boardij=2)setfillstyle(SOLID_FILL,RED);bar(j*15,i*15,j*15+13,i*15+13);main(intsecond=0)intgdriver=CGAC0,gmode;initgraph(&gdriver,&gmode,"c:tcbgi");/*BGI文件夹的路径,我的是c:tcbgi,这里得自己改下*/randomize();inti,j;intflag;longtime=100000;fo

6、r(i=0;i<21;i+)for(j=0;j<21;j+)boardij=0;for(i=0;i<22;i+)board0i=1;board21i=1;boardi0=1;boardi21=1;snakelength=3;body0.x=3,body0.y=2,body0.direction=RIGHT;body1.x=2,body1.y=2;body2.x=1,body2.y=2;makefood();print();getch();for(i=0;i<30000;i+)move(&body0);getdirection();flag=eatfood();i

7、f(flag=TRUE)print();makefood();print();for(j=0;j<second;j+)delay(200);line(0,0,400,400);getch();voidright()inti;for(i=snakelength-1;i>0;i-)bodyi.x=bodyi-1.x;bodyi.y=bodyi-1.y;body0.x+;voiddown()inti;for(i=snakelength-1;i>0;i-)bodyi.x=bodyi-1.x;bodyi.y=bodyi-1.y;body0.y+;voidleft()inti;for(i

8、=snakelength-1;i>0;i-)bodyi.x=bodyi-1.x;bodyi.y=bodyi-1.y;body0.x-;voidup()inti;for(i=snakelength-1;i>0;i-)bodyi.x=bodyi-1.x;bodyi.y=bodyi-1.y;body0.y-;voidgetdirection()intkey=0;if(bioskey(1)!=0)key=bioskey(0);switch(key)caseVK_UP:if(body0.direction!=DOWN)body0.direction=UP;break;caseVK_RIGHT

9、:if(body0.direction!=LEFT)body0.direction=RIGHT;break;caseVK_DOWN:if(body0.direction!=UP)body0.direction=DOWN;break;caseVK_LEFT:if(body0.direction!=RIGHT)body0.direction=LEFT;break;caseVK_ESC:exit(0);voidmakefood()inti,j;food.x=0;food.y=0;print();food.x=random(20);food.y=random(20);for(;)if(boardfoo

10、d.yfood.x!=0)food.x=random(20);food.y=random(20);elsebreak;food.direction=body0.direction;boardfood.yfood.x=2;inteatfood()inti=FALSE;intx=body0.x,y=body0.y;if(body0.direction=UP&&boardy-1x=2)snakelength+;for(i=snakelength-1;i>0;i-)bodyi.x=bodyi-1.x;bodyi.y=bodyi-1.y;body0.x=food.x;body0.y

11、=food.y;food.x=0;food.y=0;i=TRUE;if(body0.direction=DOWN&&boardy+1x=2)snakelength+;for(i=snakelength-1;i>0;i-)bodyi.x=bodyi-1.x;bodyi.y=bodyi-1.y;body0.x=food.x;body0.y=food.y;food.x=0;food.y=0;i=TRUE;if(body0.direction=LEFT&&boardyx-1=2)snakelength+;for(i=snakelength-1;i>0;i-)bodyi.x=bodyi-1.x;bodyi.y=bodyi-1.y;body0.x=food.x;body0.y=food.y;food.x=0;food.y=0;i=TRUE;if(body0.direction=RIGHT&&boardyx+1=2)snakelength+;for(i=snakelength-1;i>0;i-)bodyi.x=bodyi-1.x;bodyi.y=bodyi-1.y;body0.x=food.x;body0.y=food.y;food.x=0;food.y=0;i=TRUE;returni;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论