Python游戏编程之旅(5):嗷大喵爱吃鱼小游戏开发实例

本系列博客介绍以python+pygame库进行小游戏的开发。有写的不对之处还望各位海涵。

我们一同在前几期的博客中已经学到了很多pygame的基本知识了,现在该做个小游戏实战一下了。

前几期博客链接:

第一篇:初识pygame

第二篇:pygame中的IO、数据

第三篇:pygame事件与设备轮询

第四篇:pygame中加载位图及些常用的数学函数

本次我们要做一个很简单的小游戏:从天上会随机的掉下鱼,你需要使用鼠标操纵猫去接住鱼,丢失一条鱼损失一条命,一共有10条命,同时还要避免接到炸弹。接住鱼会有积分。

游戏效果图如下:

游戏下载地址:http://pan.baidu.com/s/1qWA4xZ2

源代码下载地址:http://pan.baidu.com/s/1i3is15j

还是先上一下完整的源代码吧:

关于位图的加载,设备轮询等等的内容我们就不在这里赘述了,不熟悉的可以查看前几期的博客。

为了让游戏更有趣味性,我们设置一下鱼的速度是可以变的。当得到的分数在不同区间的时候,会有不同的速度。(速度会越来快。)详见代码83-107行。

为了判断玩家是否错过鱼或者接到鱼,我们还需要写一个简单的碰撞检测函数:

同理炸弹的检测和这个是类似的。

为了控制猫的坐标不超出屏幕范围,我们加入了如下的代码:

猫在接到炸弹。或者生命值小于5的时候,会变成哭脸,因此我们还需要加载一张哭脸的位图,然后在程序中添加一些相应的逻辑代码:

最后我们可以使用py2exe将其打包成exe并发布。py2exe打包流程请看这里:http://www.cnblogs.com/msxh/p/4886628.html

通过这个十分简陋的游戏,我们大概回顾了一下之前学到的知识。(游戏相当的简陋了,连声音都没有。。。)

下个博客我们将深入学习pygame中的Sprite(精灵)模块,并且了解如何加载动画和Sprite中的碰撞检测函数

1 1 收藏 评论

相关文章

可能感兴趣的话题



直接登录
跳到底部
返回顶部