栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

贪吃蛇(2).2

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

贪吃蛇(2).2

在updateWithInput() 函数中按a、s、d、w键改变moveDirection

判断游戏结束的条件

#include
#include
#include
#include 


#define High 20         //游戏画面尺寸 
#define Width 30


// 全局变量	
int moveDirection;       //小蛇移动的方向,上下左右分别用1234表示
int canvas[High][Width]={0};     //二位数组存储游戏画布中对应的元素 
     //0为空格,-1为边框#,1为蛇头@,大于1的正数为蛇身* 

void gotoxy(int x,int y)
{
	HANDLE handle =GetStdHandle(STD_OUTPUT_HANDLE);  //handle把手 
	COORD pos;
	pos.X=x;
	pos.Y=y;
	SetConsoleCursorPosition(handle,pos);  //pos销售点 
}

//移动小车

//第一部扫描数组canvas的所有元素,找到正数元素都加1
//找到最大元素(即蛇尾巴),把其变为0
//找到等于2的元素(即蛇头),根据输出的上下左右方向把对应的另一个像素值
//   设为1(新蛇头)	

void moveSnakeByDirection()
{
	int i,j;
	for(i=1;i0)
			   canvas[i][j]++;
			   
	int oldTail_i,oldTail_j,oldHead_i,oldHead_j;
	int max=0;
	
	for(i=1;i0)
			{
				if(max0||canvas[newHead_i][newHead_j]==1) 
	{
		printf("游戏失败!n");
		exit(0);
	}	
	else
		canvas[newHead_i][newHead_j]=1; 
 } 
 
 
 void startup()    //数据初始化  startup启动 
{
	int i,j;
	
	//初始化边框 
	for(i=0;i1)
				printf("*");      //输出蛇身 
		}
		printf("n");
	}
	Sleep(100);    //system(“cls”)是将控制台清屏。
       //sleep(100)是指,“休息”100毫秒之后接着运行下面的东西
}
void updateWithoutInput()      //与用户输入无光的更新 
{
	moveSnakeByDirection();	
}

void updateWithInput()       //与用户输入有关的更新 
{
	char input;
	if(kbhit())           //判断是否有输入 
	{
		input=getch();       //根据用户的不同输入来移动 
		if(input=='a')       //不需要输入回车 
		{
		moveDirection=3;    //位置左移 
		moveSnakeByDirection();
	    }
		else if(input=='d')
		{
			moveDirection=4;    //位置右移 
			moveSnakeByDirection();
		}
		else if(input=='w')
		{
			moveDirection=1;     //位置上移 
			moveSnakeByDirection();
		}
			else if(input=='s')
		{
			moveDirection=2;     //位置下移 
			moveSnakeByDirection();
		}

	}

}
	
int main()
{
	startup();
	while(1)
	{
		show();      //显示画面 
		updateWithoutInput();    //与用户数输入无关的更新 
		updateWithInput();      //与用户输入有关的更新 
		
		
	}
	return 0;
}

运行结果

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/784768.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号