python讨论qq群:996113038


导语

这几天一直写爬虫,感觉写累了。本来准备写一个画画的程序的,但是想来想去没有想到合适的程序。后来想到好久没有给大家推送过游戏了。上次推送游戏还是两个星期以前(如果我没记错的话)。而且那些游戏都比较简单,全是方块组成的飞机大战,贪吃蛇啥的。

今天就来一个稍微复杂点的“植物大战僵尸”。

当然了,大家别想错了,这个植物大战僵尸没有真正的植物大战僵尸那么复杂。那啥的倭瓜土豆玉米加农炮,西瓜荷叶豌豆大嘴花.......

我们没有三百多种植物。只有豌豆射手和向日葵。当然了,我们的敌人也很简单,只有最简单的僵尸。

当然了,其他的规则都和原来一样。鼠标左键代表种向日葵,右键代表种豌豆。


代码及相关资源获取

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

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


开发工具

python3.6.4

相关第三方库:

pygame

random


效果演示


基本原理

我们把需要的素材全部放到img文件夹里面呢,然后全部载入到程序里面。

1:首先设置好这个地图:

#3 创建地图类
class Map():#3 存储两张不同颜色的图片名称map_names_list = [IMAGE_PATH + 'map1.png', IMAGE_PATH + 'map2.png']#3 初始化地图def __init__(self, x, y, img_index):self.image = pygame.image.load(Map.map_names_list[img_index])self.position = (x, y)# 是否能够种植self.can_grow = True#3 加载地图def load_map(self):MainGame.window.blit(self.image,self.position)

创建好这个地图,img里面存储了两张地图,分为两个难度级别。地图类需要的参数是地图点的位置,这个点是否能够种植,要知道,一个地点只能种一个植物。

2:此外,我们还要建立植物类,向日葵类,豌豆射手类。其中,向日葵类,豌豆射手类应该继承向日葵类的所有属性。代码如下

class PeaShooter(Plant):

向日葵类要加一个生产阳光的功能,豌豆射手类应该加一个射击子弹的功能。里面要加上子弹与僵尸的碰撞检测,如果子弹与僵尸碰到了,需要让子弹消失在屏幕上,减少僵尸的生命值。

3:我们还需要加上僵尸类。

class Zombie(pygame.sprite.Sprite):

僵尸类应该继承游戏精灵类。还需要加上移动的功能。这个功能是僵尸类的私有功能,只有实例化的僵尸才能调用。


部分代码

下面是部分主函数:

#1 主程序
class MainGame():#2 创建关数,得分,剩余分数,钱数shaoguan = 1score = 0remnant_score = 100money = 200#3 存储所有地图坐标点map_points_list = []#3 存储所有的地图块map_list = []#4 存储所有植物的列表plants_list = []#7 存储所有豌豆子弹的列表peabullet_list = []#9 新增存储所有僵尸的列表zombie_list = []count_zombie = 0produce_zombie = 100#1 加载游戏窗口

              感谢大家观看,有钱的老板可以打赏一下小编哦!

扫描下方二维码,关注公众号

参考资料:

参考来源:https://github.com/371854496/pygame

封面来源:http://y2.ifengimg.com/dbcc8e45854c158f/2012/0930/rdn_5067a4f0ead51.jpg

python小游戏“植物大战僵尸”相关推荐

  1. Pygame小游戏:植物大战僵尸游戏真的有“毒”?戒不掉啊~

    前言 哈喽,小可爱们,我是喜欢编程爱游戏爱生活的栗子

  2. 分享30个有趣的 Python小游戏,我能玩一天

    大家好,今天给大家带来30个 Python 小游戏,喜欢记得点赞.一定要收藏,完整版代码,文末获取 文章目录 有手就行 1.吃金币 2.打乒乓 3.滑雪 4.并夕夕版飞机大战 5.打地鼠 简简单单 6 ...

  3. 分享30个有趣的 Python小游戏,我能玩一天(附源码)

    大家好,今天给大家带来30个 Python 小游戏,喜欢记得点赞.一定要收藏! 文章目录 有手就行 1.吃金币 2.打乒乓 3.滑雪 4.并夕夕版飞机大战 5.打地鼠 简简单单 6.小恐龙 7.消消乐 ...

  4. 30个Python小游戏,小白练手,我都能玩一天

    大家好,我是雨雨~ 今天给大家带来30个py小游戏,一定要收藏! 全部源码都整理好了 小游戏源码腾讯文档-在线文档https://docs.qq.com/doc/DRnZDTnFGVUFMc3FL 有 ...

  5. 经典而又耐玩的游戏——植物大战僵尸 绿色中文版(免安装)

    经典而又耐玩的游戏--植物大战僵尸 绿色中文版(免安装) 今天Yongd推荐大家一款超经典而又耐玩的游戏--植物大战僵,网络上对这个游戏的介绍和玩法早已是铺天盖地,而偶写这边文章的目的是把这款游戏介绍 ...

  6. python编的俄罗斯方块游戏_手把手制作Python小游戏:俄罗斯方块(一)

    手把手制作Python小游戏:俄罗斯方块1 大家好,新手第一次写文章,请多多指教 A.准备工作: 这里我们运用的是Pygame库,因为Python没有内置,所以需要下载 如果没有pygame,可以到官 ...

  7. python简单小游戏代码_一个简单的python小游戏---七彩同心圆

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理 用pygame做一个简单的python小游戏-七彩同心圆 玩法:每次点击鼠标时,会以鼠标为圆心,不断 ...

  8. python图形小游戏代码_手把手制作Python小游戏:俄罗斯方块(一)

    手把手制作Python小游戏:俄罗斯方块1 大家好,新手第一次写文章,请多多指教 A.准备工作: 这里我们运用的是Pygame库,因为Python没有内置,所以需要下载 如果没有pygame,可以到官 ...

  9. python小游戏之三

    猜拳游戏 Python代码实现猜拳小游戏 Python代码实现猜拳小游戏_zhangtongyuan0909的博客-CSDN博客_python猜拳游戏代码 用python中类与对象写一个猜拳游戏 用p ...

  10. python小游戏-16行代码实现3D撞球小游戏!-源码下载

    python小游戏-16行代码实现3D撞球小游戏!-源码下载 所属网站分类: 资源下载 > python小游戏 作者:搞笑 链接: http://www.pythonheidong.com/bl ...

最新文章

  1. mysql修改时间精度_Mysql时间精度丢失问题
  2. 这么详细的Python matplotlib 绘制图形 还不赶紧收藏
  3. 【CVPR2022】语言引导与基于视觉的深度度量学习的集成
  4. 斯坦福抢开“元宇宙”第一课,上起来还真不便宜
  5. 产品复盘 | 字节跳动-飞书团队工作1年收获
  6. 王道计算机考研 数据结构 (查找-上)
  7. boost::hana::just用法的测试程序
  8. 云笔记项目-补充JS面向对象编程基础知识
  9. spring webscoket服务端使用记录
  10. 量子是什么?为什么可以用来给通信加密?
  11. rsyslog数据流分析
  12. 将String数组转换到Double数组
  13. 案例学习BlazeDS+Spring之十一:Simple Data Push
  14. hadoop集群的搭建与配置(2)
  15. Angr安装与使用之使用篇(十八)
  16. C语言回溯算法求幂集,回溯法与树的遍历 - 求幂集
  17. 2019新版《龙果学院Elasticsearch顶尖高手系列(高手进阶篇教程)》
  18. win10任务栏透明_5 款 Windows 任务栏增强工具推荐
  19. DCGAN生成动漫人物头像---pytroch版
  20. Linux内核信号杀死内核线程,linux内核线程对信号的处理过程.

热门文章

  1. Downie 4 for Mac(最好用的视频下载软件)v4.3.5直装版
  2. UTF8文件带BOM引起的问题——iOS端竟然加载出了html代码
  3. 优秀网站分享(关键是免费)
  4. Java设计模式之模板方法设计模式(银行计息案例)
  5. 通通WPF随笔(4)——通通手写输入法(基于Tablet pc实现)
  6. 服务器点对点直连,pp_link_cli
  7. 计算机毕设(附源码)JAVA-SSM基于java旅游信息分享网站
  8. Webstorm安装Markdown插件不识别md文件的问题
  9. 哈工大2012年接收外校推荐免试硕士研究生工作办法
  10. R语言基础——日期数据