2.8 KiB
2.8 KiB
Python版植物大战僵尸
植物大战僵尸游戏的Python实现
仅供个人学习和非商业用途。如果这个游戏侵犯了版权,请告诉我
- 已有的植物:向日葵,豌豆射手,坚果墙,寒冰射手,樱桃炸弹,三线射手,大嘴花,小喷菇,土豆雷,地刺,胆小菇,倭瓜,火爆辣椒,阳光菇,寒冰菇,魅惑菇
- 已有的僵尸:普通僵尸,旗帜僵尸,路障僵尸,铁桶僵尸,读报僵尸
- 使用 JSON 格式的文件存储进度数据 (例如僵尸出现的位置和时间,背景信息)
- 支持选择植物卡片
- 支持白昼模式,夜晚模式,传送带模式和坚果保龄球模式
- 支持背景音乐播放
- 支持全屏模式
- 按
F键进入全屏模式,按U键恢复至窗口模式
- 按
环境要求
- Python >= 3.7
- Python-Pygame >= 1.9
开始游戏
使用仓库源代码
python main.py
使用Windows可执行文件
在本仓库的Release页面中下载pypvz.exe文件,双击运行即可
方法
- 使用鼠标收集阳光,种植植物
- 你可以通过更改 source/constants.py 中的 START_LEVEL_NUM 的数值来更改起始关卡:
- 冒险模式:
- 1 和 2:白昼模式
- 3:夜晚模式
- 小游戏模式:
- 1:传送带模式
- 2:坚果保龄球模式
- 冒险模式:
- 注意:目前单文件发布版本不支持自定义调整关卡
- 未来计划(可能):
- 增加保存数据文件以存储用户进度的功能
- 更改僵尸生成方式
- 将僵尸生成更随机化
- 增加更多植物、僵尸类型与游戏功能、模式,尽量符合原版基本设计
Windows单文件封装
编译依赖:
- Python >= 3.7
- Python-Pygame >= 1.9
- Nuitka
- MinGW-w64或其他C编译器
- ccache
- depends
- python-zstandard(可选)
在编译环境安装不全时,Nuitka可以自动安装MinGW-w64、ccache和depends
在仓库所在文件夹执行:
nuitka --mingw --standalone --onefile --show-progress --show-memory --windows-disable-console --output-dir=out --windows-icon-from-ico=pypvz.ico --include-data-dir=resources=resources main.py
加了背景音乐播放功能之后需要执行:
nuitka --mingw --standalone --onefile --show-progress --show-memory --windows-disable-console --output-dir=out --windows-icon-from-ico=pypvz.ico --include-data-dir=resources=resources --include-data-file=C:\Users\17265\AppData\Local\Programs\Python\Python310\Lib\site-packages\pygame\libvorbisfile-3.dll=libvorbisfile-3.dll main.py
其中,C:\Users\17265\AppData\Local\Programs\Python\Python310\Lib\site-packages\pygame\libvorbisfile-3.dll应当替换为libvorbisfile-3.dll实际所在路径
可执行文件生成路径为./out/main.exe


