纯C语言写的贪吃蛇源码

浏览:
字体:
发布时间:2013-12-15 22:18:50
来源:
#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;i0;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;k0 && 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

>更多相关文章
24小时热门资讯
24小时回复排行
资讯 | QQ | 安全 | 编程 | 数据库 | 系统 | 网络 | 考试 | 站长 | 关于东联 | 安全雇佣 | 搞笑视频大全 | 微信学院 | 视频课程 |
关于我们 | 联系我们 | 广告服务 | 免责申明 | 作品发布 | 网站地图 | 官方微博 | 技术培训
Copyright © 2007 - 2024 Vm888.Com. All Rights Reserved
粤公网安备 44060402001498号 粤ICP备19097316号 请遵循相关法律法规
');})();