简单的Python小游戏制作
Posted 编程老袁
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单的Python小游戏制作相关的知识,希望对你有一定的参考价值。
今天呢,给大家展示一下Python有趣的小地方,展示给大家看看,我做的小游戏,是否有大家小时候的回忆呢。下面就废话不多说了,给大家展示一遍!感兴趣的小伙伴不懂也没事,可以下载一个PyCharm,跟着我的图片代码一起敲呀!
首先呢我们选择好开发工具 Python版本:3.6.4,相关的模板选择pygame模板,以及一些Python自带的模块。环境搭建也很简单,只需要安装Python并添加到环境变量,pip安装需要的相关模板即可。
逐步实现:
Step1:定义游戏精灵类
由于游戏涉及到碰撞测试,所以我们先来定义一些游戏精灵类,包括推箱子的人、箱子、墙和目标位置指示标记。
首先我们来定义一下推箱子的人这个精灵类:
他需要拥有可以移动的能力,这里设置了一个模拟移动的选择,是为了通过模拟移动判断它是否可以上、下、左、右移动。因为地图上的其他东西性质类型,所以我们把它们定义成同一个精灵类(其实性质都类似,但是感觉还是有必要区分一下人和物的):
其中箱子有用可以移动的能力,其它则不能移动。模拟移动选择的功能与之前类似。
Step2:定义游戏地图类
这里我们定义用一个游戏地图类,目的是用该类来创建任意的游戏地图。因此,该类应当可以增加并保存游戏元素(人、墙、箱子等),并在屏幕上把地图画出来。同时也应自带一个方法来判断此地图上的箱子是否已经送到了指定位置(这样子方便换关卡):
Step3:定义游戏界面类
游戏界面类负责解析levels文件夹下的游戏各关卡的地图文件,并利用游戏地图类创建并显示游戏地图:
同时因为游戏地图面积>游戏窗口界面,所以该类需要增加根据人物位置滚动游戏地图的功能:
Step4:定义某关的游戏主循环
主循环主要负责实例化游戏界面类,并根据按键检测的结果对游戏界面类进行一些操作:
其中人物移动的逻辑为:人物移动的目标为空白格,则人移动;若撞到箱子,箱子可以和人方向一样移动一格,则人和箱子均移动;其他情况人和箱子均无法移动。
Step5:定义游戏开始、切换和结束界面
做的比较简陋,直接拿源代码吧。
开始界面:
切换界面:
结束界面:
Step6:实现游戏主函数
把所有界面串起来就好了:
最后随手加了个背景音乐,应该问题不大。看懂的同学们就试着做做,没看懂的同学们可以直接照着代码敲就完了,运行之后就如图所示:
没人看懂的话欢迎大家评论去留言呀!或者私信我都可以,评论必回,私信必看,不错过任何一个认真学习的同学!!!
以上是关于简单的Python小游戏制作的主要内容,如果未能解决你的问题,请参考以下文章