纯C语言写的贪吃蛇源码
#include#include #include #include #include #define N 225struct Food{ int x; int y; int yes;//1表示需要出现新食物,0表示已有食物。}food;struct Snake{ struct Food body[N]; int life;//1表示蛇死啦,0表示蛇活着。 int node;//蛇的节数。 char direction;//蛇自动运动的方向。}snake;int score=0;int main(){ FILE *p; int i,j,k,b; char map[16][16],c; p=fopen("E://file.txt","r"); if(p==NULL) { printf("error"); exit(1); } for(i=0;i<16;i++) { for(j=0;j<16;j++) { map[i][j]=fgetc(p); } fgetc(p); } snake.body[0].x=8;//蛇头。 snake.body[0].y=8; snake.body[1].x=8; snake.body[1].y=7; snake.body[2].x=8; snake.body[2].y=6; snake.node=3;//蛇的节数。 food.yes=1; srand(time(NULL)); snake.direction='d';//一开始蛇自动往右跑。 while(1) { if(kbhit()) { c=getch(); if(snake.life==1) break; if(c=='w' && snake.direction!='s') snake.direction='w'; else if(c=='a' && snake.direction!='d') snake.direction='a'; else if(c=='s' && snake.direction!='w') snake.direction='s'; else if(c=='d' && snake.direction!='a') snake.direction='d'; } if(food.yes==1)//需要随机出现新的食物。 { food.x=1+rand()%14; food.y=1+rand()%14; for(i=0;i 0;i--)//蛇往前移动。 { snake.body[i].x=snake.body[i-1].x; snake.body[i].y=snake.body[i-1].y; } switch(snake.direction)//蛇头方向。 { case'a': snake.body[0].y-=1; break; case'w': snake.body[0].x-=1; break; case'd': snake.body[0].y+=1; break; case's': snake.body[0].x+=1; break; } if(food.yes==0)//显示蛇,食物和围墙。 { system("cls"); for(i=0;i<16;i++) { for(j=0;j<16;j++) { b = 1; for(k=0;k 0 && j<15 && j>0)//食物。 printf("★"); else if(map[i][j]=='1') printf("■"); else printf(" "); } } putchar('/n'); } Sleep(250);//休眠函数。 } for(i=3;i =15 || snake.body[0].x<=0 || snake.body[0].y>=15 || snake.body[0].y<=0) { printf("蛇撞墙死了!/n"); printf("共得分:%d/n",score); snake.life=1; break; } } fclose(p); return 0;}
下面是file.txt:
1111111111111111100000000000000110000000000000011000000000000001100000000000000110000000000000011000000000000001100000000000000110000000000000011000000000000001100000000000000110000000000000011000000000000001100000000000000110000000000000011111111111111111
>更多相关文章
- 09-29如何通过wrap malloc定位C/C++程序的内存泄漏
- 02-25打车软件大战升级,补贴还能维持多久?
- 12-23BMP文件右旋90度[c语言]
- 12-23寻找直方图中面积最大的矩形(C语言版)
- 12-23[ndk,2]ndk开发案例和错误处理
- 12-23[ndk,1]ndk开发,C语言入门讲解
- 12-23C语言连续存储实现队列机制
- 12-23Objective-c 数据类型
首页推荐
佛山市东联科技有限公司一直秉承“一切以用户价值为依归
- 01-11全球最受赞誉公司揭晓:苹果连续九年第一
- 12-09罗伯特·莫里斯:让黑客真正变黑
- 12-09谁闯入了中国网络?揭秘美国绝密黑客小组TA
- 12-09警示:iOS6 惊现“闪退”BUG
- 11-18LG新能源宣布与Bear Robotics达成合作,成为
- 11-18机构:三季度全球个人智能音频设备市场强势
- 11-18闲鱼:注册用户过6亿 AI技术已应用于闲置交
- 11-18美柚、宝宝树回应“涉黄短信骚扰”:未发现
- 11-01京东七鲜与前置仓完成融合
相关文章
24小时热门资讯
24小时回复排行
热门推荐
最新资讯
操作系统
黑客防御