[問題] 黑白棋BUG

作者: winsoy (小昌)   2013-06-21 04:19:38
黑白棋遇到連下的時候會有的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...

Links booklink

Contact Us: admin [ a t ] ucptt.com