和一学妹下了盘让子棋,让2子,结果却全盘无活棋。下完之后想将棋谱交给她,于是用wgs2sgf转换,转换完成,打开一看,发现黑白颠倒了,原来wgs2sgf处理棋谱的方式是奇黑偶白,而让子棋正好反过来,奇白偶黑,盘上预先放黑子。
看来wgs2sgf得大改了。凭空又多出一件事来。写程序要考虑的周到真是一件麻烦的事。
用UltraEdit分析这盘让子棋,却找错了位置,找到 70h,8和70h,9去了。ED 00,相对2来说是很大的一个数字,看不出和让2子有啥区别。于是又去认输了几盘让3,5,9子的棋,恩,这下数字小了,让9子的是 04 00,可是,一点规律也没有。待我认真看过之前分析记录,才发现,这里保存的是手数信息...难怪让9子的这么小,因为我下了2手就认输了...
继续苦逼的毫无头绪的解读,根据已解读的信息,估计在50h或者60h行。最终,在60h,4发现了规律,这里就是让子数!继续努力,发现60h,7和60h,8疑似贴目。看来我需要更多的棋谱来好好分析,解读不完全总会有些信息不好处理,目前处理贴目的方法是定死了7.5目,现在才想到,9路棋不是贴7.5目!
曾经想过前面部分应该和自动命名的信息相吻合,QQ围棋棋谱自动命名的格式是 日期-时间 黑棋昵称段位[QQ号] 胜负 白棋昵称段位[QQ号],可是,00h,0到00h,3怎么看都不像是日期。20h和50h两行保存的貌似是相同类型的数据,可是,目前还看不出是什么数据,只知道a列大概是段位信息。
下表列出已经解读的和未解读的信息:
起始 | 结束 | 数据 | 字节数 | 备注 |
---|---|---|---|---|
00h,0 | 00h,3 | 未知 | 4 | |
00h,4 | 00h,9 | 黑棋QQ号 | 6 | |
00h,a | 10h,f | 黑棋昵称 | 22 | |
20h,0 | 20h,9 | 未知 | 10 | |
20h,a | 20h,a | 黑棋段位 | 1 | |
20h,b | 20h,f | 未知 | 5 | |
30h,0 | 30h,3 | 未知 | 4 | |
30h,4 | 30h,9 | 白棋QQ号 | 6 | |
30h,a | 40h,f | 白棋昵称 | 22 | |
50h,0 | 50h,9 | 未知 | 10 | |
50h,a | 50h,a | 白棋段位 | 1 | |
50h,b | 50h,f | 未知 | 5 | |
60h,0 | 60h,3 | 未知 | 4 | |
60h,4 | 60h,4 | 让子数 | 1 | |
60h,5 | 60h,5 | 棋盘大小 | 1 | |
60h,6 | 60h,6 | 未知 | 1 | |
60h,7 | 60h,8 | 贴目 | 2 | 待验证 |
60h,9 | 60h,9 | 和胜负有关 | 1 | 待验证(09表示中盘结束,08表示超时结束,0A点目结束,00对局中尚无胜负,) |
60h,a | 60h,a | 胜负,00黑负,01黑胜 | 1 | 待验证 |
60h,b | 60h,f | 未知 | 5 | 或许有点目结果数据 |
70h,0 | 70h,7 | 未知 | 8 | |
70h,8 | 70h,9 | 总手数 | 2 | |
70h,a | 结束 | 对局 | 总字节-122 |
发表回复