终于解读了wgs中的胜负信息,基本只差对局时间信息了。
0000000: 02 00 00 00 01 2c 75 1b 00 00 fd 91 00 00 00 00 .....,u......... 0000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0000020: 10 00 00 00 7b ff ff ff 4d 00 00 00 00 00 00 00 ....{...M....... 0000030: 00 00 00 00 6c 86 0b 56 00 00 77 67 73 32 73 67 ....l..V..wgs2sg 0000040: 66 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f............... 0000050: 10 00 00 00 a6 ff ff ff 4d 00 00 00 00 00 00 00 ........M....... 0000060: 00 00 00 00 00 13 00 07 05 0a 01 00 09 00 00 00 ................ 0000070: 00 00 00 00 00 00 00 00 f2 00 ..........
胜负信息在60h行,9到d列。期中 9标识的是棋局结束方式,通过UltraEdit修改该字节内容,得下表(PS.又多了一种分析棋谱的方法):
60h,9 | 意义 |
---|---|
00 | 对局中未分出胜负 |
01 | 步数超出上限未分出胜负 |
02 | 和棋 |
03 | 出错 |
04 | 结束 |
05 | 游戏被解散未分出胜负 |
06 | 逃跑 |
07 | 在对方同意下退出未分出胜负 |
08 | 超时 |
09 | 认输中盘结束 |
0a | 点目结束 |
a列标识的是胜负,01黑胜,00白胜。
c、d标识点目结果,如下表所示规律:
c | d | 结果 | 胜方 | 十进制c | 十进制d | abs(c-d) | abs(c-d)/2和结果的关系 | 备注 |
---|---|---|---|---|---|---|---|---|
e2 | ff | 15.25 | 白 | 226 | 255 | 29 | 14.5+0.75 | |
e4 | ff | 14.25 | 白 | 228 | 255 | 27 | 13.5+0.75 | |
e1 | ff | 15.75 | 白 | 225 | 255 | 30 | 15+0.75 | |
1c | 00 | 13.75 | 黑 | 28 | 0 | 28 | 14-0.25 | |
ec | ff | 10.25 | 白 | 236 | 255 | 19 | 9.5+0.75 | |
14 | 00 | 9.75 | 黑 | 20 | 0 | 20 | 10-0.25 | 9路 |
ec | ff | 10.25 | 白 | |||||
a0 | ff | 48.25 | 白 | 160 | 255 | 95 | 47.5+0.75 | |
1c | 00 | 13.75 | 黑 | |||||
a6 | ff | 45.25 | 白 | |||||
f4 | ff | 6.25 | 白 | |||||
fc | ff | 2.25 | 白 | |||||
09 | 00 | 4.25 | 黑 | 9 | 0 | 9 | 4.5-0.25 |
胜负信息有误,还是应该倒序算补码