小哥讲解吃豆人游戏
相关模块:
Pygame模块;
以及Python自带的一些模块。
安装Python并添加到环境变量中,pip就可以安装需要的相关模块了。
贪吃蛇游戏的规则不用我介绍,T _ T,写一个贪吃蛇游戏其实很简单。首先,让我们初始化游戏:
然后定义一条蛇:
其中head_coord用于记录蛇头的位置,tail _ coords是一个二维数组,用于记录所有蛇身的位置。起初,这条蛇的长度是3,它的位置是随机生成的。用户通过按键控制蛇的动作:
需要注意的是,蛇不能转180大弯,只能转90度。例如,一条正在向左移动的蛇不能立即向右移动。具体来说,代码实现如下:
然后,我们需要随机生成一个食物,我们需要保证食物的位置和蛇的位置不一样:
在更新贪吃蛇时,如果它吃了食物,蛇的长度就增加一,否则它只是在给定的方向上动作,不改变蛇的长度:
同时,当蛇吃掉食物时,它需要再生一种新的食物:
最后,当贪吃的蛇碰到墙或者蛇头碰到蛇身,游戏就结束了:
并展示游戏结束界面:
玩家通过按键控制游戏主角吃豆人吃掉所有藏在迷宫里的豆子,并且不能被鬼抓住。
如果你能顺利吃完迷宫里的所有豆子,不被鬼抓住,游戏就赢了,否则游戏失败。
逐渐意识到:
步骤1:定义游戏向导类
首先,我们先明确一下游戏需要哪些游戏精灵。
①墙壁等级
②食物(如豌豆)
③角色类
角色类包括吃豆人和幽灵。幽灵由电脑控制,吃豆人由玩家控制。
显然,它必须具有更新角色位置和改变角色运动方向的能力。其源代码如下:
第二步:设计游戏地图
使用Step1中定义的游戏向导类,我们可以开始设计游戏地图了。由于时间有限,我只写了一个关卡的游戏地图,有兴趣的朋友可以在此基础上进行扩展(在我源码的基础上进行扩展非常方便~)。游戏地图的设计包括以下四个方面:
①创建一面墙
(2)创建一个门(最初用于关闭幽灵)
image.gif
③创建角色
④创造食物
因为食物不能和墙、门、人物的位置重叠,所以为了方便游戏地图的设计,需要在创建食物之前先创建墙、门、人物:
第三步:设计游戏的主循环
接下来,开始设计游戏的主循环。首先是初始化:
然后定义主函数:
startLevelGame函数用于启动一个游戏,其源代码如下:
ShowText功能用于在游戏结束或切换关卡时,在游戏界面显示提示性文字。其源代码如下: