pypvz/README.md
星外之神 8aaf265aa0 计划
2022-04-04 21:09:46 +08:00

69 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## Python版植物大战僵尸
植物大战僵尸游戏的Python实现
`仅供个人学习和非商业用途。如果这个游戏侵犯了版权,请告诉我`
* 已有的植物:向日葵,豌豆射手,坚果墙,寒冰射手,樱桃炸弹,三线射手,大嘴花,小喷菇,土豆雷,地刺,胆小菇,倭瓜,火爆辣椒,阳光菇,寒冰菇,魅惑菇
* 已有的僵尸:普通僵尸,旗帜僵尸,路障僵尸,铁桶僵尸,读报僵尸
* 使用 JSON 格式的文件存储进度数据 (例如僵尸出现的位置和时间,背景信息)
* 支持选择植物卡片
* 支持白昼模式,夜晚模式,传送带模式和坚果保龄球模式
## 环境要求
* Python >= 3.7
* Python-Pygame >= 1.9
## 开始游戏
### 使用仓库源代码
```shell
python main.py
```
## 方法
* 使用鼠标收集阳光,种植植物。
* 你可以通过更改 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**
在仓库所在文件夹执行:
``` shell
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
```
可执行文件生成路径为`./out/main.exe`
## 截屏
![截屏1](/demo/demo1.webp)
![截屏2](/demo/demo2.webp)
![截屏3](/demo/demo3.webp)