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 |
|