|
查看本系列其他相關文章請點擊:Silverlight+WCF 新手實例象棋專題索引
在線演示地址:Silverlight+WCF 新手實例 象棋 在線演示
在Silverlight+WCF 新手實例 象棋 主界面-棋譜-回放(三十九)中,我們實現了用戶的棋譜回放,在文章的下面,我們曾留下了兩個問題:
- 下棋者在下棋過程,要不要開放“回放”功能,如果開放,需要注意什么?
- 觀眾在回放過程中,突然又傳來一個棋步,需要注意什么?
在解答這兩個問題之前,我們先來解答上一篇的截圖中發現的問題:
不知有沒有人發現?圖中有三個“炮”或三個”馬“,出現這個事故的原因,
是由于在每次重置chess.Reset的時候,我們沒有清除棋子列表,造成了有重復的棋子。找到了原因,解決的方法就相當的簡單了,
只要在chess象棋類里的確Reset方法里,添加一行棋子列表.clear方法清除下就行了,增加的只有第一行:

{
ChessmanList.Clear();//增加棋子列表清除
container.Children.Clear();//棋盤和棋子一并清掉了
InitBoard();//只好重新初始棋盤了
InitChessman();//只好重新初始棋子了
IsCanMove = false;//設置狀態不能移動了
IsGaming = false;//這個差點忘了
}
NET技術:Silverlight+WCF 新手實例 象棋 主界面-棋譜-回放-結局(四十),轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。