黑白棋遇到连下的时候会有的bug
影响的范围有棋谱纪录以及下的时候观棋者的显示
应该是因为读谱的问题
经自己测试过后遇到连下的情况后 对弈者两边纪录的棋谱会不同
==黑方==
[49]○ ==> H2 [50]● ==> H1
[51]○ ==> pass [52]● ==> G2
[53]○ ==> pass [54]● ==> D1
[55]○ ==> pass [56]● ==> B8
[57]○ ==> B7 [58]● ==> A8
==白方==
[49]○ ==> H2 [50]● ==> H1
[51]● ==> G2 [52]● ==> D1
[53]● ==> B8 [54]○ ==> B7
[55]● ==> A8 [56]○ ==> A7
这时候按z进入打谱模式后到连下的地方就会出错
去看过该程式码 http://goo.gl/824NK
439行的地方有误 直接判断 i==0 就是黑否则即是白
就上面棋谱来看 白方到51步后颜色就会错乱就会错误~
黑方pass则会因为在 i=0 的时候将 step.type 设为 CHESS_STEP_SPECIAL
i=1 的时候step.type还是维持CHESS_STEP_SPECIAL 导致棋盘最后会出现空洞
如果以不更动记录棋谱的code前提下 读谱加上判断颜色以及step.type的bug修正
这样应该旧棋谱也可以正常的显示了 观棋应该也会正常(不确定 XD)
站方若有时间也可以统一纪录的棋谱 一下有pass一下又没pass...