又一个贪吃蛇
有可能delay()函数里的数字大家要自己调整下.基本的结构因为完善了.
#include "graphics.h"
#include "stdlib.h"
#define LEFT 0x4b00
#define RIGHT 0x4d00
#define DOWN 0x5000
#define UP 0x4800
#define ESC 0x011b
int lose=0,i,j;
int gd=DETECT,gr,x[200]=,y[200]=;
int key,t=1,n=4,s=0,xx,yy,yes=1;
int score[8]=;
begain()/*开始画面*/
for(i=40;i<=450;i+=10)
}
over()/*结束的话*/
win()/*胜利*/
doscore()/*处理分数*/
}
printscore(int n)/*输出成绩*/
}
}
main()
yes=0;
}
if(yes==0)/*画要吃的东西*/
for(i=n-1;i>0;i--)/*每个往前移动*/
if(t==1)/*right*/
x[0]+=10;
else if(t==2)/*left*/
x[0]-=10;
else if(t==3)/*up*/
y[0]-=10;
else if(t==4)/*down*/
y[0]+=10;
for(i=3;i if(x[i]==x[0]&&y[i]==y[0])/*蛇的身体是否自己接触*/ if(x[0]<55x[0]>595y[0]<55y[0]>455)/*失败条件*/ if(lose) break; if(x[0]==xx&&y[0]==yy&&n<200)/*长身体*/ else if(t==2) else if(t==3) else if(t==4) yes=1; } if(n==199) setcolor(4);/*画出来*/ for(i=0;i rectangle(x[i],y[i],x[i]+10,y[i]-10); delay(5000); setcolor(0); for(i=0;i rectangle(x[i],y[i],x[i]+10,y[i]-10); } if(lose) break; key=bioskey(0);/*按键的影响*/ if(key==ESC) break; else if(key==UP&&t!=4) t=3; else if(key==RIGHT&&t!=2) t=1; else if(key==LEFT&&t!=1) t=2; else if(key==DOWN&&t!=3) t=4; } getch(); closegraph(); } >(出处:清风软件下载学院)





