python进阶版《植物大战僵尸》

欢迎加入我们卧虎藏龙的python讨论qq群:996113038

还记得公众号之前推过的简单版植物大战僵尸吗

戳我回顾

那个时候啊

我们只有豌豆和向日葵

连僵尸都只有最简单的僵尸

就像是没充钱的玩家

十分寒碜

今天 我们升级成人民币玩家啦

进阶版植物大战僵尸来袭

这效果前后差的可不是一点点

什么?你想看看?

快往下滑吧

1:关注“python趣味爱好者”公众号,回复“ game43”获取源代码

2:加入群聊:996113038。在群文件中下载源代码以及相关资料。

当年入门时写的的《大富翁》

python小游戏“植物大战僵尸”

python3.6.4

第三方库:pygame,os,json,

对于植物大战僵尸的规则,相信大家都很熟悉。相对于之前讲过的游戏,植物大战僵尸在操作上最大的特点在于,用鼠标点击的操作更多。所以,我们先讲一讲如何获取鼠标操作相关的知识。如下图:

我们用一个def获取和出现所有的键盘点击以及鼠标动作。从代码中我们可以看出,for event in pygame.event.get()这个循环,可以获取所有和鼠标键盘的操作,这是pygame中很灵活的一个功能。

在获取到鼠标的点击以后,我们就需要得到鼠标点击的位置。

 self.mouse_click[0], _, self.mouse_click[1] = pg.mouse.get_pressed()

这句话的意思就是获取鼠标点击的横坐标和纵坐标。这样,我们就知道了,这一次鼠标点击的位置在哪里。

当然,这个event包含的其实是一个完整的事件,鼠标的动作(左键,右键),鼠标点击的位置都在里面。

另外:我们来简单看一看《植物大战僵尸》的原理。

里面有不同的僵尸,不同的植物,甚至不同的地图。

比如说,在植物里面就有很多种:最基本的向日葵,豌豆射手,坚果。这些都是最常规的装备,此外,还得有一些大规模杀伤性武器,比如机枪射手,食尸花之类的。

因为不同的植物有不同的属性,我们就需要用不同的类来表示植物。

当然,对于僵尸,我们也要定义这样的类来表示不同的僵尸。因为和植物一样,僵尸的种类也是多种多样的。

这个游戏是《植物大战僵尸》进阶版,不像原来的那个只有单一的僵尸。

还有一个变化就是僵尸移动的操作是连帧的。而不是像原来那个完全是平移的。这样一来,我们就需要了解动画连帧操作。

大家可以看这一组图片。

咋一看,这就是一组普通的僵尸,每个图片都是一样的,其实仔细看的时候就会发现,每个图片僵尸的动作都是有细微差别的。在僵尸行走的过程中,我们实际上是在不断地切换着一组图片。这样下来,我们看到的僵尸的动作就是连贯的。


从小玩到大的植物大战僵尸竟然也可以用python做出来

除了生孩子什么都能干果然名不虚传

用PY做的和网站上的玩起来感觉不一样呢

不信?你试试咯

本期分享到此结束

很高兴你能看到最后

作者|齐

编辑|潇洒哥

感谢大家观看

有钱的老板可打赏一下小编哦

https://github.com/marblexu/PythonPlantsVsZombies

作者:

marble_xu

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值