python植物大战僵尸辅助器手机版_GitHub又放大招,Python版本的植物大战僵尸还能作弊玩!...
《植物大战僵尸》游戏它是一款极富策略性的小游戏,集成了即时战略、塔防御战和卡片收集等要素,玩家控制植物抵御僵尸的进攻,保护这片植物园。记得小编刚工作的时候抱着IPAD经常玩到深夜。
最近在逛 Github 发现了一个用纯 Python 打造的《植物大战僵尸》,用鼠标收集阳光,选择植物卡片并播种植物,原汁原味,满满的回忆,目前该项目仅仅支持冒险模式。
01
安装并运行
1).下载项目代码
git clone git@github.com:marblexu/PythonPlantsVsZombies.git
2).切换到python3环境,官方建议使用 python3.7 ,安装 pygame
pip install pygame==1.9.6
3).切换到项目目录,运行项目代码
python main.py
安装成功项目效果如下所示:
02
如何玩
使用鼠标收集阳光,收集植物卡片和植物的种子,只需要鼠标点点点操作
可以通过更改 的数值来更改起始关卡
1).START_LEVEL_NUM 为1 和 2时表示起始为白昼模式,如下图:
2).START_LEVEL_NUM 为 3 时表示起始为夜晚模式,如下图:
3).START_LEVEL_NUM 为 4 时表示起始为传送带模式,如下图:
4).START_LEVEL_NUM 为 5 时表示起始为坚果保龄球模式模式,非常好玩,简单粗暴!如下图:
03
项目代码一览
项目代码主要分为这几个大的模块
它是用一个 event_loop 方法,透过 for event in pg.event.get() 这个循环,可以获取所有鼠标和键盘操作,这是 pygame 中很灵活的一个功能,得到鼠标点击动作之后,我们就需要得到鼠标点击的位置。上面箭头指的代码是获取鼠标点击的横纵坐标的值,这样就知道了一次鼠标点击的位置了。
植物大战僵尸里面有不同的僵尸,不同的植物,甚至不同的地图。比如说,在植物里面就有很多种:最基本的向日葵,豌豆射手,坚果。因为不同的植物有不同的属性,我们就需要用不同的类来表示植物。
它是用一个 event_loop 方法,透过 for event in pg.event.get() 这个循环,可以获取所有鼠标和键盘操作,这是 pygame 中很灵活的一个功能,得到鼠标点击动作之后,我们就需要得到鼠标点击的位置。上面箭头指的代码是获取鼠标点击的横纵坐标的值,这样就知道了一次鼠标点击的位置了。
植物大战僵尸里面有不同的僵尸,不同的植物,甚至不同的地图。比如说,在植物里面就有很多种:最基本的向日葵,豌豆射手,坚果。因为不同的植物有不同的属性,我们就需要用不同的类来表示植物。
根据上面代码可知,会先写一个 Plant 基类,然后其他植物的类会继承这个 Plant 基类
在这个游戏中,僵尸移动的操作是连帧的。而不是完全是平移的。可以看下作者是如何处理动画连帧操作的。如下图:
这就是一组普通的僵尸,不仔细看的话以为每个图片都是一样的,其实仔细看的时候就会发现,每个图片僵尸的动作都是有细微差别的。在僵尸行走的过程中,实际上是在不断地切换着一组图片。这样下来,我们看到的僵尸的动作就是连贯的。
04
如何作弊
通过上面介绍得知,该项目使用 json 文件存储关卡数据(例如僵尸的位置和时间,背景信息),我们可以通过修改 json 文件内容来修改游戏参数,比如把调一下初始阳光的数量,调整僵尸出现的位置。例如,如果source/constants.py 中的 START_LEVEL_NUM 值为 3 ,要对应的修改 source/data/map/level_3.json
init_sun_value 对应的是初始化阳光的数值,time 是僵尸出现的时间,单位是毫秒,map_y 是僵尸出现的位置,地图上从上向下开始数,初始位置为0 。
有兴趣的小伙伴可以下载一下这个库,拿它来学习 Python 练手是一个不错的选择。
链接:
往期热门系列文章:
Python心得和技巧:
数据分析和爬虫:
更多原创的精彩干货可以去公众号【菜鸟学Python】找我们。目前原创近400个趣味原创案例(Python入门,进阶,经验技巧,爬虫,数据分析,机器学习,面试经验等),欢迎来公众号找我们交流!
python植物大战僵尸辅助器手机版_GitHub又放大招,Python版本的植物大战僵尸还能作弊玩!...相关推荐
- python自动回复机器人手机版_GitHub - HZQHZA/wxpy: Python 写 微信聊天 根据 自动回复 接入机器人 等等.......
wxpy Python 写 微信聊天 根据 自动回复 接入机器人 等等.... wxpy: 用 Python 玩微信 #项目介绍 wxpy登录就给好友发消息 发图片 自动回复信息 添加好友自动 ...
- 在python官网如何下载手机版_如何下载各种版本Python?
1.目的 本文目的在于,对于不熟悉Python的人,教你: 1. 从哪里找到可以下载到各种版本的,包括Python 2.x和Python 3.x的最新版本的Python. 2.以及解释一下,如何选择合 ...
- python单机小游戏大全手机版宫殿_用Python实现童年小游戏俄罗斯方块!别说还挺好玩!...
存储图书的相关信息,包括书名,作者,类型,数量.主码是name和author. 2.2 borrow表 借书单,存储借书人ID,书名,作者,借书时间.主码是name和author. 2.3 user表 ...
- 头条视频 消重 滤镜 视频md5修改器手机版
头条视频 消重 滤镜 视频md5修改器手机版 直播打赏:很多男性角色依靠直播及带领粉丝玩游戏获取收益.,如今,短视频内容已成为继纯文字内容.图文内容之后的第三次大众 ...
- 手游无限多开器安卓版_手游多开器安卓版-手游多开器手机版 _5577安卓网
手游多开器手机版下载,本站为大家带来的是一款能够帮助大家多开手游的应用app,有需要的亲们就来下载可以同时登陆多个账号,满足大家在游戏中的相关需求,喜欢的亲们就不要错过啦! [温馨提示] 目前提供的是 ...
- android 取色器_音乐剪辑器手机版下载-音乐剪辑器app下载v9.10.15 安卓免费版
音乐剪辑器app是非常棒的剪辑软件,大家可以使用它对各种彩铃铃声,原版音乐进行剪辑编辑处理,功能强大完全免费,而且操作非常简单,有需要的朋友赶快下载试试吧! 音乐剪辑器手机版介绍 有时候想把多首歌曲合 ...
- android在线播放儿歌源码,亲宝儿歌播放器手机版
亲宝儿歌播放器手机版是一款移动端的儿歌播放器app,由亲亲宝宝网官方打造.软件独创"睡眠模式"和"收藏"两大功能,让宝宝们能在睡眠后,播放器自动停止,非常智能化 ...
- mt管理器java版下载_mt管理器手机版
详情 mt管理器手机版是一款优秀的文件管理的手机app,在mt管理器无广告版中,可以管理你的手机文件,还可以利用手机修改apk,功能强大.mt管理器手机版,保留了原来的双窗口操作方式,新增了许多功能. ...
- fifa14 android 补丁 修改器,FIFA14修改器手机版
FIFA14修改器手机版这是一款非常好玩的足球游戏,玩家在这款游戏中有着多重身份,每一种游戏模式都是一重身份,玩家可以是一名非常优秀的足球运动员,你也可以是一名足球俱乐部的经理,你需要具有独特的眼光, ...
最新文章
- 关于《重启人工智能》11条建议的思考
- 逃离湾区,下一站是哪里?西雅图 PK 奥斯汀
- jmeter之图片上传
- MySQL in语句排序
- jdbc 生成建表语句_JDBC数据库连接怎么操作?
- python3 爬虫例子_如何让你写的爬虫速度像坐火箭一样快【并发请求】
- linux下zabbix安装
- plsql查询乱码问题解决
- tina中信号带宽_如何评测示波器带宽
- SAP License:SAP标准教材的编号原则
- mysql timestamp 当前_技术分享 | MySQL 复制那点事 - Seconds_behind_Master 参数调查笔记
- java:linux上找出最耗资源的线程方法
- 终于理解你的软件 搞那么多年了 (通用权限管理系统组件源码完善了7-8年)
- 【剖析 | SOFARPC 框架】之SOFARPC 线程模型剖析
- spring--bean后置处理器(BeanPostProcessor)原理解析
- 初学Android,图形图像之使用Canvas,Paint绘图(二十五)
- (一)微信小程序云开发之上传图片(全流程讲解)
- ViewPager+Fragment实现页卡切换
- Cmake管理统一版本的SLAM第三方库
- Linux 使用 fish shell