一起谈.NET技术,Silverlight+WCF 新手实例 象棋 主界面-棋谱-回放-结局(四十)
2011-08-29 19:26
441 查看
查看本系列其他相关文章请点击:Silverlight+WCF 新手实例象棋专题索引
在线演示地址:Silverlight+WCF 新手实例 象棋 在线演示
在Silverlight+WCF 新手实例 象棋 主界面-棋谱-回放(三十九)中,我们实现了用户的棋谱回放,在文章的下面,我们曾留下了两个问题:
下棋者在下棋过程,要不要开放“回放”功能,如果开放,需要注意什么?
观众在回放过程中,突然又传来一个棋步,需要注意什么?
在解答这两个问题之前,我们先来解答上一篇的截图中发现的问题:
不知有没有人发现?图中有三个“炮”或三个”马“,出现这个事故的原因,
是由于在每次重置chess.Reset的时候,我们没有清除棋子列表,造成了有重复的棋子。找到了原因,解决的方法就相当的简单了,
只要在chess象棋类里的确Reset方法里,添加一行棋子列表.clear方法清除下就行了,增加的只有第一行:
void timer_Tick(object sender, EventArgs e)
{
//...省略N行代码...
if (moveStepIndex == App.stepList.Count)//判断棋步结束没有
{
moveStepIndex = 0;//重置索引
timer.Stop();//停止timer
App.chessManualPlaying = false;
App.chess.IsCanMove = tempIsCanMove;//增加的一行
}
}
OK,至此,我们用了同样的方法,解决了上节的两个问题,接下来又到F5的showtime时间:
正常,上图,这下棋步回放是正常的了:
1:棋手正下棋不久:
![](http://images.cnblogs.com/cnblogs_com/cyq1162/201008/40-1.jpg)
2:观众进来了,播放了棋步,定位到实时状态:
![](http://images.cnblogs.com/cnblogs_com/cyq1162/201008/40-2.jpg)
3:观众想看下棋过程,开始“回放”棋步:
![](http://images.cnblogs.com/cnblogs_com/cyq1162/201008/40-3.jpg)
4:“回放”到第三步棋中:
![](http://images.cnblogs.com/cnblogs_com/cyq1162/201008/40-4.jpg)
5:回放到第五步棋中:
![](http://images.cnblogs.com/cnblogs_com/cyq1162/201008/40-5.jpg)
OK,截图到就到此了,本系列文章,一不小心就写了40节了,在这系列的40节里,所有功能已完全的开放源码并讲解完了!
有兴趣的读者欢迎关注本系列文章,明天公司又要搬家了,本系列有没有后续文章,目前情况不明......
顺路更新下索引:Silverlight+WCF 新手实例 象棋 专题索引
相关文章推荐
- Silverlight+WCF 新手实例 象棋 主界面-棋谱-回放-结局(四十)
- Silverlight+WCF 新手实例 象棋 主界面-棋谱-回放-结局(四十)
- Silverlight+WCF 新手实例 象棋 主界面-棋谱-回放-结局(四十)
- Silverlight+WCF 新手实例 象棋 主界面-棋谱-回放-结局(四十)
- Silverlight+WCF 新手实例 象棋 主界面-棋谱-回放(三十九)
- Silverlight+WCF 新手实例 象棋 主界面-棋谱-回放(三十九)
- Silverlight+WCF 新手实例 象棋 主界面-棋谱-回放(三十九)
- Silverlight+WCF 新手实例 象棋 主界面-棋谱-回放(三十九)
- Silverlight+WCF 新手实例 象棋 主界面-棋谱-获取列表(三十八)
- Silverlight+WCF 新手实例 象棋 主界面-棋谱-获取列表(三十八)
- Silverlight+WCF 新手实例 象棋 主界面-棋谱-布局写谱(三十六)
- Silverlight+WCF 新手实例 象棋 主界面-棋谱-布局写谱(三十六)
- Silverlight+WCF 新手实例 象棋 主界面-棋谱-布局写谱(三十六)
- Silverlight+WCF 新手实例 象棋 主界面-棋谱-获取列表(三十八)
- Silverlight+WCF 新手实例 象棋 主界面-棋谱-布局写谱(三十六)
- Silverlight+WCF 新手实例 象棋 主界面-棋谱-获取列表(三十八)
- Silverlight+WCF 新手实例 象棋 主界面-实时聊天区(二十五)
- Silverlight+WCF 新手实例 象棋 主界面-事件区-返回退出(三十三)
- Silverlight+WCF 新手实例 象棋 主界面-在线用户区(二十四)
- Silverlight+WCF 新手实例 象棋 主界面-实时聊天区(二十五)