资源描述:
《贪吃蛇代码-c语言-vc6.0》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、/*这是一个贪吃蛇代码,运行环境VC++6.0(亲测完美运行)*//*该程序在dos系统下运行,不需要graphics.h头文件*//*该程序由C语言小方贡献,谢谢您的支持*/#include#include#include#include#include#include#defineN21intapple[3];charscore[3];chartail[3];voidgotoxy
2、(intx,inty)//输出坐标{COORDpos;pos.X=x;pos.Y=y;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);}voidcolor(intb)//颜色函数{HANDLEhConsole=GetStdHandle((STD_OUTPUT_HANDLE));SetConsoleTextAttribute(hConsole,b);}intBlock(charhead[2])//判断出界{if((head
3、[0]<1)
4、
5、(head[0]>N)
6、
7、(head[1]<1)
8、
9、(head[1]>N))return1;return0;}intEat(charsnake[2])//吃了苹果{if((snake[0]==apple[0])&&(snake[1]==apple[1])){apple[0]=apple[1]=apple[2]=0;gotoxy(N+44,10);color(13);printf("%d",score[0]*10);color(11);return1;}return0;}voidD
10、raw(char**snake,intlen)//蛇移动{if(apple[2]){gotoxy(apple[1]*2,apple[0]);color(12);printf("●");color(11);}gotoxy(tail[1]*2,tail[0]);if(tail[2]){color(14);printf("★");color(11);}elseprintf("■");gotoxy(snake[0][1]*2,snake[0][0]);color(14);printf("★");colo
11、r(11);putchar('');}char**Move(char**snake,chardirx,int*len)//控制方向{inti,full=Eat(snake[0]);memcpy(tail,snake[(*len)-1],2);for(i=(*len)-1;i>0;--i)memcpy(snake[i],snake[i-1],2);switch(dirx){case'w':case'W':--snake[0][0];break;case's':case'S':++snake[0
12、][0];break;case'a':case'A':--snake[0][1];break;case'd':case'D':++snake[0][1];break;default:;}if(full){snake=(char**)realloc(snake,sizeof(char*)*((*len)+1));snake[(*len)]=(char*)malloc(sizeof(char)*2);memcpy(snake[(*len)],tail,2);++(*len);++score[0];i
13、f(score[3]<16)++score[3];tail[2]=1;}elsetail[2]=0;returnsnake;}voidinit(charplate[N+2][N+2],char***snake_x,int*len)//初始化{inti,j;char**snake=NULL;*len=3;score[0]=score[3]=3;snake=(char**)realloc(snake,sizeof(char*)*(*len));for(i=0;i<*len;++i)snake[i]=
14、(char*)malloc(sizeof(char)*2);for(i=0;i<3;++i){snake[i][0]=N/2+1;snake[i][1]=N/2+1+i;}for(i=1;i<=N;++i)for(j=1;j<=N;++j)plate[i][j]=1;apple[0]=rand()%N+1;apple[1]=rand()%N+1;apple[2]=1;for(i=0;i