Skip to content

Repository files navigation

🎲 和平岛

一款源于作者高中时期同学共同发明的骰子回合制策略小游戏。最初的决胜机制是"石头剪刀布",考虑到电脑上操作效率较低,改为掷骰子决定胜负,节奏更流畅。

纯 Python 实现(pygame-ce),支持本地双人与局域网联机对战。

玩法简介

  • 掷骰决胜:每轮双方各掷一枚骰子,点数大者获得本回合行动权。
  • 屯与兵种:掷骰连胜会积累"屯",可放置小兵、胖子、球哥、法师、轻炮;连续屯 2 解锁房屋,连续屯 3 解锁核弹;对手赢得骰子时你的屯归零。
  • 岛屿战争:在岛屿上出兵、架桥、瞄准攻击,房屋每回合免费出小兵,核弹可清空目标岛屿。
  • 特色机制:嘲讽、轻炮溅射、分页选择攻击目标、骰胜次数累计显示。

快速开始

直接游玩(免安装)

运行 dist/和平岛.exe,无需安装 Python。与朋友局域网对战:

  1. 房主选择"创建房间",设置 10/15/20/30 秒行动时间,点击"复制 IP"发给朋友;
  2. 加入者选择"加入房间",输入房主的 IPv4(端口固定 27015);
  3. 首次运行允许 Windows 防火墙访问"专用网络"。

从源码运行

pip install -r python_game/requirements.txt
python python_game/app.py

打包为 EXE

.\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 消息往返。

文档

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages