07 2010 档案
Silverlight+WCF 新手实例 象棋 该谁下棋-B下A停(三十)
摘要:在线演示地址:Silverlight+WCF 新手实例 象棋 在线演示上上一节,就是二十八节:Silverlight+WCF 新手实例 象棋 该谁下棋-A下B停(二十八)我们实现了“开始”游戏后,对棋子的限制,A下B停这节,我们要实现:B下A停,[同时,传递棋步,对方收到棋步,要反转棋步坐标,自动移动棋子]所以呢,这节我们要实现的东西是比上上一节相对多一点。少废话,开始了:...
阅读全文
Silverlight+WCF 新手实例 象棋 棋手颜色(二十九)
摘要:在线演示地址:Silverlight+WCF 新手实例 象棋 在线演示在上一节Silverlight+WCF 新手实例 象棋 该谁下棋-A下B停(二十八),我们在最后聊天对话中看到,双方棋手用的竟然都是红色,这个......这节,我们来让双方使用不同的颜色下棋:我们通过什么来决定棋手的颜色?其实,Player玩家属性里,不就有一个ColorValue么,有了这个,一切就好办了。我们回到Chess象...
阅读全文
Silverlight+WCF 新手实例 象棋 该谁下棋-A下B停(二十八)
摘要:在线演示地址:Silverlight+WCF 新手实例 象棋 在线演示 上一节,我们实现了“开始”游戏,并互相通知可以开始游戏了;可是我们并没有对棋子进行限制,双方都可以随时的下;所以,接下来我们要实现对棋子的限制,A下B停,B下A停,同时,要传递棋步,对方收到棋步,要反转棋步坐标,还得自动移动棋子。说了这么多,我们从哪里开始下手呢?其实我也想了很久......让我们回到C...
阅读全文
Silverlight+WCF 新手实例 象棋 主界面-事件区-游戏开始(二十七)
摘要:在线演示地址:Silverlight+WCF 新手实例 象棋 在线演示一开始,还是截张小图过来吧,每次截图都要花很多时间上传的。 好了,我们现在知道,事件区其实就是几个按钮了,本节实现第一个按钮,“开始”游戏。别看就一个按钮,要做的事情可不少:先总体说说这按钮要做什么事情:1。双方进入座位时,要提示我可以点“开始”游戏;2。我点开始“开始...
阅读全文
Silverlight+WCF 新手实例 象棋 专题索引[四十篇后续章已出]
摘要:本文为当年闲时折腾Silverlight时所写,前后历时数月,仅供学习。
阅读全文
Silverlight+WCF 新手实例 象棋 主界面-控件消息传递(二十六)
摘要:赶紧接着上一节:Silverlight+WCF 新手实例 象棋 主界面-实时聊天区(二十五)这节我们实现上节没实现的纠结的进出房间的消息提示我们清楚的知道,我们每个区都是一个用户控件,我们的在线用户进出时,得到聊天区域显示信息,这就涉及到用户控件之间的消息传递了。在线用户区说:反正我是没权直接去实时聊天区写东西,没办法,找中介委托设置一下了。那谁是中介呢?委托谁呢?当然是衣食父母Index.xam...
阅读全文
Silverlight+WCF 新手实例 象棋 主界面-实时聊天区(二十五)
摘要:在线演示地址:Silverlight+WCF 新手实例 象棋 在线演示 演示已更新到此节介绍:Silverlight+WCF 新手实例 象棋 介绍III(二十三) 本节连着Silverlight+WCF 新手实例 象棋 主界面-在线用户区(二十四) 发,主界面就不截图了,这节我们实现“实时聊天区”:这节内容几乎和上节一个样的逻辑1:新建一个用户控件:就叫:Chat.xaml...
阅读全文
Silverlight+WCF 新手实例 象棋 主界面-在线用户区(二十四)
摘要:在线演示地址:Silverlight+WCF 新手实例 象棋 在线演示 演示已更新到此节介绍:Silverlight+WCF 新手实例 象棋 介绍III(二十三) 这节我们来实现在线用户区的显示,把上两节介绍那张图再弄来,看在线用户区是哪块:一眼扫过看到了,是第四区,现在开始了,还是上次下棋区域一样的逻辑,往Index.xaml里拉一个Board控件,然后后台写两行代码代码一下。当然了,得新建一个...
阅读全文
Silverlight+WCF 新手实例 象棋 介绍III(二十三)
摘要:在线演示地址:Silverlight+WCF 新手实例 象棋 在线演示 虽然有在线演示,不过还是要写一个介绍,因为并没有实时更新到在线演示说是介绍,其实就是阶段进度报告,现在看一下最近的更新吧:先来总体截一下图看看变化吧:1.登陆:增加了初始作者文字显示[没用户时默认文字],和在当前线用户数显示。我开了三个浏览器窗口才截到这图。2:房间:这里从QQ象棋里弄了两张背景图过来,换了一下之前的房间背景,...
阅读全文
Silverlight+WCF 新手实例 象棋 主界面-棋盘区(二十二)
摘要:在线演示地址:Silverlight+WCF 新手实例 象棋 在线演示 这节我们要布局Index.xaml界面。首先,我们定义一下全局的宽和高:1000*620[数字差不多就行了]一堆代码,都是自动生成的,只是改了两个数字,不说大伙也知道改啥数字了。 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www...
阅读全文
Silverlight+WCF 新手实例 象棋 获取房间状态列表更新(二十一)
摘要:在线演示地址:Silverlight+WCF 新手实例 象棋 在线演示 上节是当有用户进入某个房间时,我的某个房间状态被通知,并被通知更新。这节说说首次进入房间大厅时,我们自己创建了N个房间,默认都是初始状态的,这时我们需要获取服务端的所有已更新的房间状态,下到本地之后,进行批量更新状态。于是开始了,首先从服务端开始,我们要获取所有已更新的房间,于是到WCF服务端添加一个方法:到IService....
阅读全文
Silverlight4 Framework 之困局
摘要:不知怎么的,我遇到的问题大伙都路过还是没经历过呢本人机子装了VS2005+VS2010,所以framework是2.0;3.0;3.5;4.0都有了。当我在新建Silverlight应用程序的时候,当然上面会有Framework版本选择,我默认的都选4.0版本的。可是神奇的是,新建后的Silverlight版本引用的类库都是2.0版本的,引发的问题当然很严重了:2.0的组件库里是没有NetTcpB...
阅读全文
WCF .net Tcp 错误异常
摘要:错误一:套接字连接已中止。这可能是由于处理消息时出错或远程主机超过接收超时或者潜在的网络资源问题导致的。本地套接字超时是“00:00:59.9062500”。private string FormatWhere(object beFormatWhere) { string where = Convert.ToString(beFormatWhere).ToLower(); ...
阅读全文
Silverlight4 ListBox bug
摘要:在Silverlight4里,添加一个ListBox,在不断Add了Item之后,超出高的时候,会出现滚动条。为了让滚动条一直显示在下面。每Add一条Item,都设置了lbMsg.SelectedIndex = lbMsg.Items.Count - 1;每次都把索引定位到最后一条,可是奇怪的结果是,每次只定位到倒数第二条,最后一条看不见同理问题二:看到图片,发现单选模式下多个被选中了:来张图引证...
阅读全文
Silverlight+WCF 新手实例 象棋 房间状态更新(二十)
摘要:在线演示地址:Silverlight+WCF 新手实例 象棋 在线演示 这节开始,标题里就去掉"回归WCF通讯应用"几字了。上节我们成功实现了进入房间,服务端也收到用户进入房间的请求了,这节,我们服务端收到进入房间请求后,通知在房间大门外的人更新房间状态。我们要增加一个回调方法,ICallBack接口那,忘记的人回去看看WCF通讯那几篇(十四到十七节)。方法如下,以前说过了,回调的方法是给客户端实...
阅读全文
Silverlight+WCF 新手实例 象棋 回归WCF通讯应用-进入房间(十九)
摘要:上一节我们讲到登陆时通过WCF,把用户信息传递到远程服务器,并用一个全局泛型字典变量来保存用户列表。登陆后我们转向了房间页面。这节,我们要通过点击房间上的座位进入主页面(Index.xaml)。既然要点击房间座位才能进入,我们就得为那房间的座位添加鼠标点击事件了。我们回到GameRoom.cs找到创建房间的代码,找到Draw函数里,创建红蓝黑三个房间座位的代码,其实就是那三个矩形框Rectangl...
阅读全文
Silverlight+WCF 简单部署问题集
摘要:昨天,为了把Silverlight+WCF 新手实例 象棋 在线演示集成到博客园里,费了我不少劲。博客园虽然支持Silverlight,但是没法安置WCF服务。于是,为了安置WCF服务,我挑上了一台正在试点的联通服务器,于是费劲的登陆上远程服务器平台。那个登陆很费劲,一个劲的掉线。电信和联通就是这么排斥。我想到服务器上安装4.0 framework,直接传几十M都没法传便直接到服务器下载,速度1....
阅读全文
Silverlight+WCF 新手实例 象棋 在线演示
摘要:Silverlight+WCF 新手实例 象棋 在线演示: 说明:目前WCF服务器已失踪,网络版无法使用,请使用单机版。目前正在寻找另外安置WCF服务的空间。在使用过程中有什么bug,欢迎大伙留言...
阅读全文
Silverlight+WCF 新手实例 象棋 回归WCF通讯应用-登陆(十八)
摘要:前四节,我们讲了通讯基础,从这节起,我们回归到项目中来,要将前面的WCF通讯知识应用进来。之前的项目大伙没丢把,重新发下载地址:之前第3阶段代码:点此下载我们为Chess项目的解决方案里,再添加WCF应用服务程序由于Silverlight+WCF 新手实例 象棋 WCF通讯跨域(十五)已截图,所以这里不截图了。步骤:1。对着解决方案-》右键-》添加新建项目-》选择WCF应用服务程序-》输入:Gam...
阅读全文
Silverlight+WCF 新手实例 象棋 WCF通讯轮询(十七)
摘要:上节说到:关于双向通讯,官方提供了N种可以双向的,不过今天要用到的,是pollingDuplexHttpBinding,一个扩展的轮询机制的双向通讯,当你也可以尝试用上面的通讯方式去试一试。既然是扩展,就说明默认没有,那我们首先就要添加扩展了,用的是默认官方是提供的DLL,就在我们安装的Silverlight4的目录里:正常路径为:C:\Program Files\Microsoft SDKs\S...
阅读全文
Silverlight+WCF 新手实例 象棋 WCF通讯方式(十六)
摘要:本节小讲通讯方式,上两节的我们讲的BasicHttpBinding,是其中的一种基础的通讯方式,还有一种双向通讯的,专业词汇叫“双工通讯”,不过双工通讯一听起来太以理解,就好像那个特性“契约”,一听就感觉像卖身契一样让人觉得匪夷所思。下面全用双向代替双工说话了。说双向通讯好理解了吧,再简单说就是:客户端可以调用服务端的方法;服务端也可以调用客户端的方...
阅读全文
Silverlight+WCF 新手实例 象棋 WCF通讯跨域(十五)
摘要:这节我们把WCF独立一个服务出来,不寄放在Web应用程序中。我们再开一个项目来讲解,上节名称叫Hellow,这节名称起World:文件—》新建->项目-》Silverlight应用程序-》起名叫:World确定后还是:World和World.web应用程序,两个项目我们对着解决方案右键,添加新建项目:建立WCF 服务应用程序->输入名称为:WorldService:接着我们...
阅读全文
Silverlight+WCF 新手实例 象棋 WCF通讯基础(十四)
摘要:从此节开始,我们要开始WCF通讯了。本游戏的只是基于WCF最基础的应用,没有WCF深奥的知识,相关的深奥知识请关注专业的WCF系列文章。我们先来实现一个Silverlight里调用Hellow的尝试:我们新建一个新的Silverlight应用程序:文件->新建->项目->Silverlight应用程序->Hellow建立后就一个Hellow应用程序和一个Helow.web的...
阅读全文
Silverlight+WCF 新手实例 象棋 游戏房间列表(十三)
摘要:热到飚血了。。。上次创建了一房间了,现在要创建多个房间了。我们像添加一个Chess类来创建很多棋子一样,现在创建一个Game类来创建很多房间:Code文件夹右键,添加新建项->类->Game.cs,同样的,名称空间去掉[.Code][代码]先上一个房间列表的属性:[代码]接下来就是一个创建房间的方法了: Code highlighting produced by Actipro Cod...
阅读全文
Silverlight+WCF 新手实例 象棋 游戏房间(十二)
摘要:加快手步,写多一篇,这节来创建游戏房间:先上一张以前的房间图:构成啊,就是上面文字,下面三个矩形框:昨天调整了一下样式,看下新的房间图:哪个好看点这个很难说的清了,不过新的图应用了新的brush画刷填充,当然了,你也可以用图片填充,后面可以教你怎么用图片,当然了,为了好看,用图片也不为过的,去QQ游戏大厅截两张小图就搞定了,不过这步就留给大伙自己去截了。现在开始代码了:我们要创建游戏房间类了,不过...
阅读全文
Silverlight+WCF 新手实例 象棋 登陆与转向(十一)
摘要:好了,从这节起,我们可能要暂时远离我们的象棋库了,因为我们要开始进入一些周边的事情了。像登陆啊,登陆后创建房间大厅啊,进入后除了象棋还有用户列表,聊天窗口等等,中间少不了WCF通讯。好了,开始登陆小节,先上一张小图:看,多简洁,一个ID一个昵称一个登陆就完了。虽然简洁,可是也会有很多想法的。不过想法待会再说,新建页面先:对着Silverlight应用程序右键-》添加新建项-》Silverlight...
阅读全文
Silverlight+WCF 新手实例 象棋 棋子移动-规则[附加上半盘限制](十)
摘要:上上一节,我们对棋子的下半盘棋子做了所有的规则限制,因为我们下棋的总是用下半盘的棋子来下,总没人用上半盘棋来下那么高境界的吧。不过这节简单追加点代码,让那些企图高境界的人士可以临时性的自己和自己下。好了,要为上半盘棋子也做限制,所以我们要知道棋子是归属于上半盘还是下半盘的,这里,我们为棋子类Chessman增加一个属性,IsUp,是否上半盘棋,反之就下半盘了。初始为该属性赋值也相当的简单: Cod...
阅读全文
Silverlight+WCF 新手实例 象棋 介绍II(九)
摘要:继上次介绍发图以来,除了一边写文章介绍以外,还进一步不断的完善,并增加了新的功能,现在进一步上图,对目前情况的进展做一下简单介绍:一:登陆界面,没变:二:进入后是房间大厅,没变:进房间来一张后期总体图:从这张总体图上可以看出,新增加了下面的内容:1。按钮事件”求和、认输、返回大厅、退出系统“2。棋谱及棋谱回放,能过该回放能定义棋子自动回放,并可定义棋子每步的间隔时间。3。在...
阅读全文
Silverlight+WCF 新手实例 象棋 棋子移动-规则[将、马、士、相、炮](八)
摘要:这节来完成剩下五个种子的规则。先来将吧将:只能走一步,而且只能在九宫内行走看代码,还是和兵的一个样。[代码]下面限制九宫内判断:[代码]完了,将的验证太简单了,句合起来就是:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--caseChessType.J...
阅读全文
Silverlight+WCF 新手实例 象棋 棋子移动-规则[兵、车](七)
摘要:上两节实现了棋子的两种走法,吃子和没移动到线交叉点。不过我们都是没有规则的走,这节为棋子的走法增加规则,棋的规则我就不多说了,基本要找个不会下象棋的很难,就是找到的估计也不会看这文章。当我们移动棋子的时候,总是要判断一下移动是不是合规则的,合规则的才让下,不合规则的就不能下了,什么马象田马日车炮跑,将军卫士陷九宫,[本人涅造句子]之类的。好了,原始冲动,新建棋子规则类,也是本棋子裤的最后一个类了:...
阅读全文
Silverlight+WCF 新手实例 象棋 棋子移动-线交叉点(六)
摘要:上一节,我们给棋子赋于了鼠标点击事件,并通过故事板Storyboard 来移动棋子,同时实现了吃棋子。现在我们在实现鼠标在棋盘上点击,然后棋子就移动到那去。好了,鼠标在棋盘上点击,这里要为点击的棋盘,其实就是最外面那个Panel容器啦,还是加上一个MouseLeftButtonDown事件。我们回到Chess类,因为这里是第一手Canvas传进来的地方,我们在Chess的构造函数里,为Panel添...
阅读全文
Silverlight+WCF 新手实例 象棋 棋子移动-吃子(五)
摘要:上一节,我们的棋子就是一个Canvas,里面add进了一个Ellipse圆圈和TextBlock字想想我们是怎么下棋的,要先选中棋子吧,选中后,随便找个地方点,棋就会自动移过去。所以,这里就产生了两件事,一是选中,二是移动。要选中,其实就是选中棋子,选中棋子就是选中Canvas了。于是,我们为Canvas增加一个鼠标点击事件。让我们回到棋子类Chessman的Draw方法里,为chessman添加...
阅读全文
Silverlight+WCF 新手实例 象棋 棋子定位与象棋类(四)
摘要:上节创建显示了一颗棋子,由于没有margin属性,所以只能靠边站。现在,我们创建一个象棋类,让它包括棋盘和棋子,同时附加几个常用函数。还是对着Silverlight类库项目右键添加类:Chess.cs[代码]既然要包括象棋当然是要包括棋盘和棋子了,于是我们为之加两个属性,棋子有很多颗,所以用List列表。Code highlighting produced by Actipro CodeHighl...
阅读全文
Silverlight+WCF 新手实例 象棋 棋子(三)
摘要:棋盘上有棋子,棋子应该还有一些属性,按原始冲动新建一个棋子类。上google翻译下棋子E文叫什么,查到了叫Chessman,于是对着项目右键添加一个Chessman.cs[代码] ///http://cyq1162.cnblogs.com////</summary>publicclassChessman{}乱七八糟:想了想,要画棋子还是找图片好,图片也不是不好找,网上一搜还是有的,只是...
阅读全文
Silverlight+WCF 新手实例 象棋 棋盘(二)
摘要:1.先新建一个和棋子相关的类库打开VS2010后->新建->项目->Silverlight类库,名称就定为"ChessLib"新建一个类名为Board.cs,棋盘类棋盘类 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--usingSy...
阅读全文
Silverlight+WCF 新手实例 象棋 介绍(一)
摘要:先发一下目前实例情况的截图:1.登陆界面:2.进入房间大厅三种颜色,红色为红色玩家,黑色为黑色玩家,蓝色为主旁观者。点击就进去。3.点击红色进入主界面目前缺少系统消息文字输出,棋谱信息,棋谱回放,聊天窗口。及后期加入单机对战。4.另一浏览器窗口黑色玩家登陆。5.黑色玩家进入游戏大厅此时红色进入的位置已变成蓝色,点击的后会提示该位置已有玩家。6.黑色玩点黑色块进去7。此时红色家收到提示,并可以开始游...
阅读全文