Silverlight+WCF 实战-网络象棋

Silverlight+WCF 实战-网络象棋文章系列教程由路过秋天完成并发布

Silverlight+WCF 网络象棋 基础篇 棋手颜色(二十九)

在上一节 Silverlight+WCF 网络象棋 基础篇 该谁下棋-A下B停(二十八),我们在最后聊天对话中看到,双方棋手用的竟然都是红色,这个...... 这节,我们来让双方使用不同的颜色下棋:   我们通过什么来决定棋手的颜色?其实,Player玩家属性里,不就有一个ColorValue么,有了这个,一切就好办了。 我们回到Chess象棋类里,增加一个属性,玩家颜色,同时,

Silverlight+WCF 网络象棋 基础篇 该谁下棋-A下B停(二十八)

上一节,我们实现了“开始”游戏,并互相通知可以开始游戏了;可是我们并没有对棋子进行限制,双方都可以随时的下; 所以,接下来我们要实现对棋子的限制,A下B停,B下A停,同时,要传递棋步,对方收到棋步,要反转棋步坐标,还得自动移动棋子。 说了这么多,我们从哪里开始下手呢?其实我也想了很久...... 让我们回到Chess象棋类,于是添加一个属性IsCanMove //象棋类 

Silverlight+WCF 网络象棋 基础篇 主界面-事件区-游戏开始(二十七)

一开始,还是截张小图过来吧,每次截图都要花很多时间上传的。 好了,我们现在知道,事件区其实就是几个按钮了,本节实现第一个按钮,“开始”游戏。别看就一个按钮,要做的事情可不少: 先总体说说这按钮要做什么事情: 1。双方进入座位时,要提示我可以点“开始”游戏; 2。我点开始“开始”,要WCF通讯,提示对方。 3。对方收到“开始游戏请求”,回复“同意/拒绝”; 4。我根据对方的回复,初

Silverlight+WCF 网络象棋 基础篇 主界面-控件消息传递(二十六)

这节我们实现上节没实现的纠结的进出房间的消息提示 我们清楚的知道,我们每个区都是一个用户控件,我们的在线用户进出时,得到聊天区域显示信息,这就涉及到用户控件之间的消息传递了: 在线用户区说:反正我是没权直接去实时聊天区写东西,没办法,找中介委托设置一下了。 那谁是中介呢?委托谁呢?当然是衣食父母Index.xaml了,是它撑着整个家庭的。 好了,知道中介了,那我就签个委托书了: 回到

Silverlight+WCF 网络象棋 基础篇 主界面-实时聊天区(二十五)

这节我们实现“实时聊天区”: 这节内容几乎和上节一个样的逻辑 1:新建一个用户控件:就叫:Chat.xaml,用来在线聊天 2: 界面拖一个Border到Index.xaml,现在界面上有三个Border了,第三个chatBoard就是新添加进去的了。宽和高设置为230*280了 <Grid x:Name="LayoutRoot" Background=

Silverlight+WCF 网络象棋 基础篇 主界面-在线用户区(二十四)

这节我们来实现在线用户区的显示,把上两节介绍那张图再弄来,看在线用户区是哪块:   一眼扫过看到了,是第四区,现在开始了,还是上次下棋区域一样的逻辑,往Index.xaml里拉一个Board控件,然后后台写两行代码代码一下。 当然了,得新建一个用户控件:就叫:OnlineUser.xaml,好,空白的在线用户建完了,下面还是两步实现加载: 1:界面拖一个Board到Index

Silverlight+WCF 网络象棋 基础篇 介绍III(二十三)

虽然有在线演示,不过还是要写一个介绍,因为并没有实时更新到在线演示 说是介绍,其实就是阶段进度报告,现在看一下最近的更新吧: 先来总体截一下图看看变化吧: 1.登陆: 增加了初始作者文字显示[没用户时默认文字],和在当前线用户数显示。 我开了三个浏览器窗口才截到这图。 2:房间: 这里从QQ象棋里弄了两张背景图过来,换了一下之前的房间背景,如果是游戏对战中,桌面背景就变成了:

Silverlight+WCF 网络象棋 基础篇 主界面-棋盘区(二十二)

这节我们要布局Index.xaml界面。 首先,我们定义一下全局的宽和高:1000*620[数字差不多就行了] 一堆代码,都是自动生成的,只是改了两个数字,不说大伙也知道改啥数字了。 <UserControl x:Class="NewChessProject.Index"    xmlns="http://schemas.mi

Silverlight+WCF 网络象棋 基础篇 获取房间状态列表更新(二十一)

上节是当有用户进入某个房间时,我的某个房间状态被通知,并被通知更新。 这节说说首次进入房间大厅时,我们自己创建了N个房间,默认都是初始状态的,这时我们需要获取服务端的所有已更新的房间状态, 下到本地之后,进行批量更新状态。   于是开始了,首先从服务端开始,我们要获取所有已更新的房间,于是到WCF服务端添加一个方法: 到IService.cs添加方法接口 [Operati

Silverlight+WCF 网络象棋 基础篇 房间状态更新(二十)

这节开始,标题里就去掉"回归WCF通讯应用"几字了。   上节我们成功实现了进入房间,服务端也收到用户进入房间的请求了。 这节,我们服务端收到进入房间请求后,通知在房间大门外的人更新房间状态。 我们要增加一个回调方法,ICallBack接口那,忘记的人回去看看WCF通讯那几篇(十四到十七节)。 方法如下,以前说过了,回调的方法是给客户端实现的,服务端只管调就行了: using System.ServiceModel;namespace GameService{    interface ICallBack    {        [OperationContract(IsOne