admin 管理员组文章数量: 887019
2024年1月5日发(作者:名词解释jsp)
C语言课程设计贪吃蛇源代码
c语言程序贪吃蛇代码
#include#include#include#include#include#definen21file*fp;ints;
voidboundary(void);//已经开始界面voidend(void);//完结
voidgotoxy(intx,inty)//位置函数{coordpos;pos.x=x;pos.y=y;setconsolecursorposition(getstdhandle(std_output_handle),pos);}
voidcolor(inta)//颜色函数{setconsoletextattribute(getstdhandle(std_output_handle),a);}
voidinit(intfood[2])//初始化函数(初始化围墙、显示信息、苹果){system(inti,j;//初始化围墙intwall[n+2][n+2]={{0}};//初始化围墙的二维数组
for(i=1;i<=n;i++){for(j=1;j<=n;j++)wall[i][j]=1;}
color(10);
for(i=0;iprintf(}gotoxy(n+3,3);//显示信息color(14);printf(按a,b,c,d改变方向ngotoxy(n+3,1);color(14);printf(按任意键暂停,按1回到,按2选择退出ngotoxy(n+5,3);color(14);printf(food[0]=rand()%n+1;//随机发生食物}food[1]=rand()%n+1;gotoxy(food[0],food[1]);color(12);printf(voidplay()//具体内容玩玩的过程{system(inti,j;int**snake=null;//定义蛇的二维指针intfood[2];//食物的数组,food[0]代表横坐标,food[1]代表纵坐标intscore=0;//为罚球inttail[2];//此数组为了记录蛇的头的座标intnode=3;//蛇的节数charch='p';srand((unsigned)time(null));//随机数发生器的初始化函数init(food);snake=(int**)realloc(snake,sizeof(int*)*node);//发生改变snake所指内存区域的大小为node长度for(i=0;igotoxy(snake[i][0],snake[i][1]);color(14);printf(}while(1)//步入消息循环{gotoxy(5,0);color(10);printf(gotoxy(0,5);color(10);printf(gotoxy(0,7);color(10);printf(gotoxy(0,9);color(10);printf(tail[0]=snake[node-1][0];//将蛇的后一节座标参数值tail数组tail[1]=snake[node-1][1];gotoxy(tail[0],tail[1]);color(0);printf(for(i=node-1;i>0;i--)//蛇想前移动的关键算法,后一节的占有前一节的地址座标{snake[i][0]=snake[i-1][0];snake[i][1]=snake[i-1][1];gotoxy(snake[i][0],snake[i][1]);color(14);printf(}if(kbhit())//抓取输出信息{gotoxy(0,n+2);ch=getche();}switch(ch){case'w':snake[0][1]--
;break;case's':snake[0][1]++;break;case'a':snake[0][0]--;break;case'd':snake[0][0]++;break;case'1':boundary();break;case'2':end();break;default:break;}gotoxy(snake[0][0],snake[0][1]);color(14);printf(sleep(abs(200-0.5*score));//并使随着分数的快速增长蛇的移动速度越来越快if(snake[0][0]==food[0]&&snake[0][1]==food[1])//吞下食物后蛇分数提1,蛇长提1{score++;//分数减少s=score;node++;//节数减少snake=(int**)realloc(snake,sizeof(int*)*node);snake[node-1]=(int*)malloc(sizeof(int)*2);food[0]=rand()%n+1;//产生随机数且要在围墙内部
版权声明:本文标题:C语言课程设计贪吃蛇源代码 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1704432426h459646.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论