#include#include#include#include#include//定位函数voidGotoXY(shorty,shortx){HANDLEapp=GetStdHandle(STD_OUTPUT_HANDLE);COORDt;t.Y=y;t.X=x*2;SetConsoleCursorPosition(app,t);}#defineCHANG30#defineKUAN30#defineLONG100//蛇的最大长度intY=(CHANG+2)/2;intX=(KUAN+8)/2;//头的初始坐标intY1=(CHANG+2)/2-1;intX1=(KUAN+8)/2-4;//头在数组中的初始位置intmain(){inti,j,k=0,n=0;intjudge=1;//judge--判断是否可执行 del,0 可,1 不可intscore=0;//score--分数intrandjudge=0;//食物置放条件的判断intrulejudge=0;charc=0,c1;intyouxi[CHANG][KUAN]={0};//外围边框初始化intdel[2]={Y,X};//定位到删除的位置charsnlong[LONG]二{0};//snacklong 简写,蛇的长度,记录消除坐标clock_ttime;inttimedif;intspeed=500;intspeedjudge;printf("\t\t\t\t 贪吃蛇\n");//外围框架for(i=0;i=LONG-1)break;//方向输入time=clock();timedif=1;while(timedif){if(kbhit())c=getch();if(clock()-time>=speed)timedif=0;}//变速区if(c!='4'&&c!='7')c1=c;switch(c){case'7':speed-=speed>100?100:0;c=c1;break;case'4':speed+=speed<1000?100:0;c=c1;break;}}system("cls");if(rulejudge==1)printf("你输了,分数是:%d",score);elseprintf("游戏结束,你的分数是:%d",score);printf("\n 请按任意键退出");getch();}