Python游戏开发,pygame模块,Python实现接水

「本文已参与好文召集令活动,点击查看:后端、大前端双赛道投稿,2万元奖池等你挑战!

往期回顾

Python实现“小兔子和Bun”游戏

Python实现八音符小游戏

Python实现拼图小游戏

Python实现滑雪小游戏

Python实现经典90坦克大战

Python实现FlappyBird小游戏

Python实现恐龙跳一跳小游戏

Python实现塔防小游戏

前言

利用python制作一个接水果和金币的小游戏,整体比较简单,算了,我还是说实话吧,我就是想分享一下最近喜欢上的Das Beste这首歌的。
让我们愉快地开始吧~

效果图

image.png

开发工具

Python版本:3.6.4

相关模块:

pygame模块;

以及一些Python自带的模块。

环境搭建

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

原理简介

游戏规则简介:

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

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

逐步实现:

Step1:定义精灵类

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

image.png

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

然后就是水果/金币类:

image.png

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

Step2:实现游戏主循环

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

image.png

然后就是进入主循环:

image.png

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

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

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

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

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

Step3:制作游戏结束界面

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

image.png

文章到这里就结束了,感谢你的观看,Python24个小游戏系列,下篇文章分享飞机大战小游戏

为了感谢读者们,我想把我最近收藏的一些编程干货分享给大家,回馈每一个读者,希望能帮到你们。

干货主要有:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

⑥ 两天的Python爬虫训练营直播权限

image.png

All done~点赞支持下~详见个人简介或者私信获取完整源代码。。