一款源于作者高中时期同学共同发明的骰子回合制策略小游戏。最初的决胜机制是"石头剪刀布",考虑到电脑上操作效率较低,改为掷骰子决定胜负,节奏更流畅。
纯 Python 实现(pygame-ce),支持本地双人与局域网联机对战。
- 掷骰决胜:每轮双方各掷一枚骰子,点数大者获得本回合行动权。
- 屯与兵种:掷骰连胜会积累"屯",可放置小兵、胖子、球哥、法师、轻炮;连续屯
2解锁房屋,连续屯3解锁核弹;对手赢得骰子时你的屯归零。 - 岛屿战争:在岛屿上出兵、架桥、瞄准攻击,房屋每回合免费出小兵,核弹可清空目标岛屿。
- 特色机制:嘲讽、轻炮溅射、分页选择攻击目标、骰胜次数累计显示。
运行 dist/和平岛.exe,无需安装 Python。与朋友局域网对战:
- 房主选择"创建房间",设置
10/15/20/30秒行动时间,点击"复制 IP"发给朋友; - 加入者选择"加入房间",输入房主的 IPv4(端口固定
27015); - 首次运行允许 Windows 防火墙访问"专用网络"。
pip install -r python_game/requirements.txt
python python_game/app.py.\build_python_exe.ps1├── python_game/ # 引擎 / 网络 / pygame 界面 / 测试 / 素材
│ ├── app.py # 主程序(pygame 状态机)
│ ├── engine.py # 玩法规则引擎
│ ├── network_peer.py # 联机(TCP 27015,协议 v4)
│ └── assets/ # 图片与音效素材
├── docs/ # 玩家指南、技术架构、性能分析、开发记录
├── build_python_exe.ps1 # PyInstaller 打包脚本
└── 联机说明.md
python -m pytest -q python_game
python -m ruff check python_game
python python_game/benchmark.py测试覆盖双方准备屏障、权威骰子、回合计时、行动时间线、动态单位、兵种放置、桥梁、嘲讽、核打击、状态序列化和真实 localhost TCP 消息往返。