python入门小项目 | 用Python复刻了植物大战僵尸

python入门小项目 | 用Python复刻了植物大战僵尸,第1张

目录

开发工具

讲解部分

一、前言

二、资源准备

三、代码文件

四、整体思路

五、尾声


开发工具

python3.6.4

第三方库:pygame,json

讲解部分

一、前言

之前发过一些比较复杂的游戏代码,是一个塔防游戏,比较粗糙。之前本来是想以后慢慢补充的。结果后来没人提醒我,挖的这个坑直接忘记了,再重新看这个代码的时候,已经过了蛮久了。啥都不记得了,更别提修改了。不过想起了之前发的一个植物大战僵尸,这个代码更加复杂,可能会多准备几期做植物大战僵尸的代码讲解,让大家更好的理解比较复杂的游戏。

二、资源准备

植物大战僵尸和以前的小游戏不一样,这是需要很多图片的,由于图片太多了且种类丰富,我们专门建立一个文件夹,讲这些图片分门别类的存放好,文件夹的名称就是resources,其中有一个文件夹graphics

这里面有子d,卡片,植物,僵尸,地图等种种图片,我们点开植物Plants看一看。

这里面是各种植物的图片,如果想要增加新的图片种类,可以在这里添加即可。

当然,并不是所有的植物都是一个文件夹,然后文件夹里面所有的图片都一样,有些时候,一个植物完成一次攻击可以分成几个动作,比如说“倭瓜”,这样就需要好几个不同动作的图片。程序运行的时候将这几个图片依次放出来,这样就形成了一次完整的攻击动作。

同理,一个僵尸的行走动作也可以分成很多步骤,程序运行的时候,这些动作依次展示出来即可。

三、代码文件

这个游戏很复杂,需要很多个py文件,于是我们建立了一个
source文件夹,专门用于存储这些py文件。这个文件夹下由一个main.py文件,一个constants.py文件,里面存储的是一些比较重要的常量,以及一个tool文件,是用来控制程序运行的。之后的推送里,我们会依次介绍这些文件的作用。

在其它的文件中,也放了一些py文件。比如在component文件中,放置了植物的类,僵尸的类,以及地图的类。

四、整体思路

其实所有的游戏在游戏思路上都差不多,核心是一个while true循环,保证游戏可以一直玩下去,然后中间有一些跳出循环的代码块,比如说,如果所有的僵尸都被打死了,那么跳出循环,游戏结束。或者说,僵尸进入了你的房间,这种情况下也是游戏结束。在循环中,通过设置游戏屏幕帧率变化,可以让静态的图片变成动态的视频画面。也就是,每一次循环中,各种游戏元素按照各自的特点移动,僵尸肯定是按照各自的速度向左前进,一个僵尸的行走动作可以拆分为好几个图片,然后依次放出这些图片。这就构成了僵尸的移动。

同理,植物发起攻击的过程中,也会发射子d,子d也要按照各自的速度移动,有一些攻击方式比较复杂的植物,比如地刺,倭瓜,也要拆分为个攻击步骤。

而这些,需要通过设置不同的植物和僵尸类来表示,之后我们会一节节讲出来。

五、尾声

感兴趣的朋友可以先点个收藏+关注,之后有代码的部分也可以分享给大家,我这里也整理了一套Python学习路线跟资料,比较适合新手,戳下面名片找小助理领取

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/868598.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存