Gobang Bridge软件使用说明
Linux平台请执行sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-3.0 gir1.2-webkit2-4.1安装依赖项。
一、界面介绍

-
顶端
-
Home:首页 Black IO:黑色方程序文件的输入输出-
White IO:白色方程序文件的输入输出 -
界面
-
Move Record:移动过程记录 -
棋盘:四周为坐标,中间为棋盘,存在人类玩家的情况下,鼠标点击可以为该方落子。 -
Control Panel:-
禁手规则:可选择是否使用禁手规则。 -
State:显示当前对局状态,获胜(退出)原因。 -
Info:显示当前黑白方状态,包含人和机器两种模式,选择机器人对局点击Choose File选择编译好的C程序文件;选择人类玩家则点击Switch Manual,默认为人类玩家。人类玩家有直接鼠标点击落子和输入坐标落子两种方式,下为坐标输入格式:
-
1 | |
1 2 3 4 5 | |
二、如何使用
- 下载
Gobang_Bridge.exe,根据操作系统选择对应的Linux或Windows版本(暂不支持macOS系统)。 - 对于linux系统:需要安装一些依赖包,执行命令即可
sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-3.0 gir1.2-webkit2-4.1 - 双击打开。
- 设定禁手规则,黑方玩家和白方玩家。
- 进行对局。
- (可选)重新开始。
- (可选)导出棋谱。
- (可选)查看
IO。
三、输入输出规范
此程序对黑方白方的程序输入输出作了如下规范:
- 启动检测:
在输入黑方白方的函数(如用于输入黑方白方的scanf函数前),前的两条语句应该为:
1 2 | |
程序片段示例
1 2 3 4 5 6 | |
- 输入及输出规范
程序应当输出该步骤的落子,并接受对方的下一落子
对于棋子坐标的传输,规范统一采用下列格式化字符串形式:
1 2 3 4 5 6 | |
1 | |
通过Gobang_Bridge.exe程序,白方机器获取到黑方机器的输出,然后给出白方机器的落子,输出字符串
1 | |
且对于输出同学们编写的C语言程序中的用于输出落子信息用的函数:
1 | |
其输出格式规定为
1 2 3 4 | |
且其下一条语句必须为
1 | |
原理部分(省流可跳过):
fflush(stdout)的作用本质为清空标准输出stdout的缓冲区,本程序采用标准输入输出实现白方与黑方的交互,需保证每次传入的格式为"MOVE(%d,%d)\n"
下为一段示例程序,输入输出规范可参考此程序:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | |
四、棋谱日志介绍
-
forbidden:禁手规则 -
0:无禁手
-
1:有禁手
-
WinPlayer:获胜方 -
true:黑方 -
false:白方 -
Wincode:对局状态(胜利状态) -
Still-Playing:仍在进行 Five in a row:五个连成一串Non-empt position:重复落子(即落子到了已经有棋子的位置)Draw:平局-
Timeout:超时(未采用) -
Black&While: -
PID:进程号 CmdLine:文件路径-
ExitCode:终止码 -
Movelog -
true:黑方 false:白方rol,col行与列
五、附加调试
可以使用PID号进行附加调试,感兴趣的同学可以使用
六、命令行参数
本程序也可以使用命令行参数运行。
本程序命令行参数表如下:
-b:黑方玩家(不填默认为人类玩家)(填写文件路径)
1 2 | |
-w:白方玩家(不填默认为人类玩家)(填写文件路径)
1 2 | |
1 2 | |
-l:日志导出(log):后面跟存储路径。
日志写入模式为附加,不是覆盖。
1 | |
-f:禁手规则制定:
1 2 | |