龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

又一个贪吃蛇

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
有可能delay()函数里的数字大家要自己调整下.基本的结构因为完善了. #include "graphics.h" #include "stdlib.h" #define LEFT 0x4b00 #define RIGHT 0x4d00 #define DOWN 0x5000 #define UP 0x4800 #define ESC 0x011b int lose=

有可能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();

  }

  

>(出处:清风软件下载学院)

  

精彩图集

赞助商链接