一个围棋程序,实现了人人对战、自动提子、判定胜负等功能。
主要功能
- 落子后自动提去对方无气之子。
- 基于中国规则数子法的半自动胜负判断:
- 需要在下完单官之后点击“确认终局”按钮
- 程序会自动提去一部分死子,接着需要手动点击去除死子(无论如何落子也无法形成双眼的棋子)
- 手动提死子时,可以一键提掉与相关死子,一般来说点击2-4次即可提取完成。
- 点击"提完了"按钮,自动数子计算胜负,包括赢多少子。
- 使用包干用时制规则的自动棋钟。
快速开始
- 准备 python 环境,3.10 是我使用的 python 版本,其他 python3 版本应该也可以运行。
- 将 main.py/GoCore.py/GoBoard.py 文件置于同一目录下,运行 main.py 即可。
- 黑白轮流落子。
- 在走完所有单官后,点击“确认终局”,按提示提掉死子,再点击“提完了”,会自动计算胜负,以及赢得子数
注意:按照中国规则,需要在终局前把单官走完、终局后把死子提尽。也就是说,数子时,任意空交叉点组成的块都只与一种颜色的棋子相邻(都指在上下左右的意义上),否则报错。
详细规则
本程序使用的规则主体为中国规则,计时棋钟使用包干用时制。
详见详细规则
具体实现
本程序对于规则的具体实现方法。
详见具体实现
from https://github.com/yy4382/StupidGo
No comments:
Post a Comment