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

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