#include#include#include#include#include#define MAXLEN 100//定以蛇的长度#define MAXFOD 6#define eror 1#define ok 0#pragma comment ( lib, "Winmm.lib" )enum direction{ left,up,right,down};int pos[MAXLEN][2];int food[MAXFOD][2];int LENFOD=0;int LENGTH=0;int MARK=0;int HIGHESTM=0;direction DIT;int snake();int drawLine();int init();int controlfood();int saveMark();boolean isdead();boolean iswin();int countmark();void main(){ int i=0,count=1; srand((unsigned)time(0)); initgraph(600,660);//设置窗口的总大小 setcolor(YELLOW);//设置字体颜色 setfont( 30, 0,"隶书");//设置字体大小和类型 mciSendString( "open D:\\KuGou\\Adele - Someone Like You.mp3 Name alias skycity", 0, 0, 0 ); mciSendString( "play skycity repeat ", 0, 0, 0 ); char a;//按回车键开始 char numbe[10]; sprintf(numbe, "%d", HIGHESTM); outtextxy(100,300,"PRESS ENTER TO START \n"); a=getchar(); if(a!='\n') { exit(0); } start: cleardevice(); init(); /*or(i=0;i0;i--) { pos[0]=pos[i-1][0]; pos[1]=pos[i-1][1]; } closegraph(); for(i=0;i0;i--) { pos[0]=pos[i-1][0]; pos[1]=pos[i-1][1]; } pos[0][1] -= 1; } break; case 80: case 's': case 'S': if(DIT!=up) { DIT=down; for(i=LENGTH-1;i>0;i--) { pos[0]=pos[i-1][0]; pos[1]=pos[i-1][1]; } pos[0][1] += 1; } break; case 75: case 'a': case 'A': if(DIT!=right) { DIT=left; for(i=LENGTH-1;i>0;i--) { pos[0]=pos[i-1][0]; pos[1]=pos[i-1][1]; } pos[0][0] -= 1; } break; case 77: case 'd': case 'D': if(DIT!=left) { DIT=right; for(i=LENGTH-1;i>0;i--) { pos[0]=pos[i-1][0]; pos[1]=pos[i-1][1]; } pos[0][0] += 1; } break; } cleardevice(); controlfood(); drawLine(); countmark(); snake(); count=1; FlushBatchDraw(); } if(LENGTH0;i--) { pos[0]=pos[i-1][0]; pos[1]=pos[i-1][1]; } switch(DIT) { case up: pos[0][1] -= 1; break; case down: pos[0][1] += 1; break; case left: pos[0][0] -= 1; break; case right: pos[0][0] += 1; break; } cleardevice(); controlfood(); drawLine(); countmark(); snake(); FlushBatchDraw(); } if(isdead()) { mciSendString( "play Lose ", 0, 0, 0 ); outtextxy(240,275,"失败!"); FlushBatchDraw(); while(true) { if(kbhit()) { switch(getch()) { case 13: mciSendString( "close Lose ", 0, 0, 0 ); mciSendString( "close win ", 0, 0, 0 ); goto start; case 27: mciSendString( "close skycity ", 0, 0, 0 ); closegraph(); exit(ok); } } } } if(iswin()) { mciSendString( "play win ", 0, 0, 0 ); outtextxy(240,275,"WINNING!"); FlushBatchDraw(); while(true) { if(kbhit()) { switch(getch()) { case 13: mciSendString( "close Lose ", 0, 0, 0 ); mciSendString( "close win ", 0, 0, 0 ); goto start; case 27: mciSendString( "close skycity ", 0, 0, 0 ); closegraph(); exit(ok); } } } } count++; Sleep(20);}}int snake(){ int i=0,j=0; setfillcolor(YELLOW);//设置蛇的颜色 for(i=0;i |