终于解读了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 |
胜负信息有误,还是应该倒序算补码