小哥讲解吃豆人游戏

Python版本:3.6.4

相关模块:

Pygame模块;

以及Python自带的一些模块。

安装Python并添加到环境变量中,pip就可以安装需要的相关模块了。

贪吃蛇游戏的规则不用我介绍,T _ T,写一个贪吃蛇游戏其实很简单。首先,让我们初始化游戏:

然后定义一条蛇:

其中head_coord用于记录蛇头的位置,tail _ coords是一个二维数组,用于记录所有蛇身的位置。起初,这条蛇的长度是3,它的位置是随机生成的。用户通过按键控制蛇的动作:

需要注意的是,蛇不能转180大弯,只能转90度。例如,一条正在向左移动的蛇不能立即向右移动。具体来说,代码实现如下:

然后,我们需要随机生成一个食物,我们需要保证食物的位置和蛇的位置不一样:

在更新贪吃蛇时,如果它吃了食物,蛇的长度就增加一,否则它只是在给定的方向上动作,不改变蛇的长度:

同时,当蛇吃掉食物时,它需要再生一种新的食物:

最后,当贪吃的蛇碰到墙或者蛇头碰到蛇身,游戏就结束了:

并展示游戏结束界面:

玩家通过按键控制游戏主角吃豆人吃掉所有藏在迷宫里的豆子,并且不能被鬼抓住。

如果你能顺利吃完迷宫里的所有豆子,不被鬼抓住,游戏就赢了,否则游戏失败。

逐渐意识到:

步骤1:定义游戏向导类

首先,我们先明确一下游戏需要哪些游戏精灵。

①墙壁等级

②食物(如豌豆)

③角色类

角色类包括吃豆人和幽灵。幽灵由电脑控制,吃豆人由玩家控制。

显然,它必须具有更新角色位置和改变角色运动方向的能力。其源代码如下:

第二步:设计游戏地图

使用Step1中定义的游戏向导类,我们可以开始设计游戏地图了。由于时间有限,我只写了一个关卡的游戏地图,有兴趣的朋友可以在此基础上进行扩展(在我源码的基础上进行扩展非常方便~)。游戏地图的设计包括以下四个方面:

①创建一面墙

(2)创建一个门(最初用于关闭幽灵)

image.gif

③创建角色

④创造食物

因为食物不能和墙、门、人物的位置重叠,所以为了方便游戏地图的设计,需要在创建食物之前先创建墙、门、人物:

第三步:设计游戏的主循环

接下来,开始设计游戏的主循环。首先是初始化:

然后定义主函数:

startLevelGame函数用于启动一个游戏,其源代码如下:

ShowText功能用于在游戏结束或切换关卡时,在游戏界面显示提示性文字。其源代码如下: