贪吃蛇游戏

目录

概要

UML

吃苹果

 蛇头移动

 蛇身移动

 蛇身移动的原理

 咬自身

 避免相反反向即可咬到自身的方法

撞出边界

重新生成

小结


概要

贪吃蛇游戏是一种经典的游戏,玩家控制一条蛇在一个有障碍物的区域内移动,通过吃食物来增长蛇的长度,同时避免蛇撞到墙壁或者自己的身体。在C语言中实现贪吃蛇游戏通常需要以下功能和逻辑:

  1. 游戏初始化:设置游戏窗口大小、蛇的初始位置、食物的位置等。

  2. 蛇的移动:根据玩家输入控制蛇的移动方向,蛇需要沿着当前方向移动一个单位长度。

  3. 检测碰撞:在蛇移动后需要检测是否与墙壁或者自身的身体碰撞,若碰撞则游戏结束。

  4. 食物生成:食物在地图上随机生成,蛇吃到食物后长度增加,分数增加。

  5. 游戏循环:不断更新游戏画面,包括蛇的移动、食物的生成、碰撞检测等,直到游戏结束。

通过以上功能的实现,可以完成一个简单的贪吃蛇游戏。可以使用C语言的控制台输出来实现游戏界面的显示,以及键盘输入来控制蛇的移动方向。

UML

UML(统一建模语言)是一种用于软件开发的标准化建模语言。它提供了一套符号和规则,用于描述软件系统的结构、行为和交互。通过使用UML,软件开发人员可以使用统一的视觉表示方法来设计和分析系统,从而更好地理解系统的结构和功能。

UML包含多种图形符号,如用例图、类图、时序图、活动图和状态图等,每种图形符号代表系统中的不同方面或过程。通过使用这些图形符号,开发人员可以更容易地沟通、协作和理解软件系统的需求和设计。

总的来说,UML是一种通用的建模语言,它不仅可以用于软件开发,还可以用于其他领域的系统建模和设计。它帮助开发人员更好地理解和描述系统,从而提高软件开发的效率和质量。

贪吃书用例图

贪吃蛇活动图

吃苹果

吃苹果产生了蛇的长度边长、出现新的苹果

if (snakeLie[0] == appleLie && snakeHang[0] == appleHang /*todo:能 吃苹果*/)
{
	/*todo:变长*/
	snakeLen++;
	/*todo:出 新苹果*/
	appleLie = rand() % 14 + 3;
	appleHang = rand() % 14 + 3;
}

 蛇头移动

//头爬
switch (fangXiang)
{
case 0:
	snakeLie[0]++;
	break;
case 1:
	snakeHang[0]--;
	break;
case 2:
	snakeLie[0]--;
	break;
case 3:
	snakeHang[0]++;
	break;
}

 蛇身移动

//蛇 身
for (int j = snakeLen-1; j >= 1; j--)
{
	snakeLie[j] = snakeLie[j - 1];
	snakeHang[j] = snakeHang[j - 1];

}

 蛇身移动的原理

 咬自身

//1假设不能
int neng = 0;
for (int j=1;j<snakeLen;j++)
{
	if (snakeHang[0] == snakeHang[j] && snakeLie[0] == snakeLie[j])
	{
		//推翻假设
		neng = 1;
		break;
	}
}
if (neng /*todo:能 咬到自己 */)
{
	/*todo:gameover*/
	stop = 1;
}

 避免相反反向即可咬到自身的方法

若要往相反方向转变的情况下,不能改变相反方向

void gameKeypress(int key)
{
	switch (key)
	{
	case VK_LEFT:
		if (fangXiang!=0)
		{
			fangXiang = 2;
		}
		break;
	case VK_RIGHT:
		if (fangXiang != 2)
		{
			fangXiang = 0;
		}
		break;
	case VK_UP:
		if (fangXiang != 3)
		{
			fangXiang = 1;
		}
		break;
	case VK_DOWN:
		if (fangXiang != 1)
		{
			fangXiang = 3;
		}
		break;
	}
}

撞出边界

撞出边界即退出游戏 

if (snakeHang[0]==0||snakeHang[0]==19||snakeLie[0]==0||snakeLie[0]==19/*todo:能 出界*/)
{
	/*todo:gameover*/
	stop = 1;
}

重新生成

素材放在可执行文件的旁边,点击exe文件就可以玩了。

小结

贪吃蛇游戏是经典的街机游戏之一,玩家通过控制一条蛇在屏幕内移动,不断吃食物并增加身体长度,同时要避免撞到墙壁或自己的身体。随着蛇的长度增加,游戏难度逐渐加大,要求玩家灵活应对,具备较强的反应能力和操作技巧。游戏的乐趣在于挑战自己的极限,争取创造更高的得分,同时也可以训练注意力和手眼协调能力。总的来说,贪吃蛇游戏简单易上手,但又充满挑战性,是一款经典而又耐玩的游戏。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小辉同志

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值