前言

利用python制作一个接水果和金币的小游戏,让我们愉快地开始吧~

效果图

python问题国王遗产 python国王金币_Python

开发工具

Python版本:3.6.4

相关模块:

pygame模块;

以及一些Python自带的模块。

环境搭建

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

原理简介

游戏规则简介:

玩家通过"wasd"或者"↑↓←→"键控制农民移动,使得农民可以接到所有上空掉落的水果和金币。

当水果遗失(即未接到)的次数过多时,游戏结束。

逐步实现:

Step1:定义精灵类

显然,要判断农民是否接到了水果/金币,肯定要用到碰撞检测,所以我们先来定义农民和水果/金币这两个精灵类。首先是农民类:

python问题国王遗产 python国王金币_小游戏_02

这里唯一的技术点就是需要不断更换农民的状态图来实现农民的行走特效。

然后就是水果/金币类:

python问题国王遗产 python国王金币_python问题国王遗产_03

这里没有技术点,让水果/金币能掉的下来就行了。

Step2:实现游戏主循环

定义完上面两个精灵类,就可以开始实现游戏主循环了。首先是初始化:

python问题国王遗产 python国王金币_pygame_04

然后就是进入主循环:

python问题国王遗产 python国王金币_python_05

主循环主要干了下面几件事:

利用按键检测控制农民行动;

不断产生水果/金币并使其掉落;

利用碰撞检测判断农民是否接到了水果/金币;

实时显示当前的分数和生命值。

Step3:制作游戏结束界面

Game Over之后,进入游戏结束界面并显示当前分数和历史最高分:

python问题国王遗产 python国王金币_python问题国王遗产_06