点我下载代码
2.5.2 显示蛇的行动
通过自定义MoveSnake()显示贪吃蛇的行动。
(1)是否撞墙
在显示贪吃蛇的行动之前,首先要判断贪吃蛇是否撞到了墙上。通过自定义函数IsKnockWall()函数判断是否撞到墙上。在IsKnockWall()函数中,通过“2.3.2 ShowSnake()函数”中提到的全局变量,snake结构的指针head来判断是否撞到墙上。
if (head->x == 0 || head->x == 56 || head->y == 0 || head->y == 26)
{
return true;
}
return false;
因为head表示贪吃蛇的头部,当头部超过地图的范围时,MoveSnake()函数返回true,表示撞到了墙上,否则返回false,表示没有撞到墙。
(2)结束游戏
当贪吃蛇撞到墙之后,应该结束游戏,显示游戏结束的原因以及最终的分数。在IsKnockWall()函数的if语句中,判断了贪吃蛇撞到墙之后,有如下代码