当前位置: 首页 > news >正文

香港做网站什么费用/网络开发

香港做网站什么费用,网络开发,电脑商城网站源码,食品包装设计用什么软件2019独角兽企业重金招聘Python工程师标准>>> 在线演示地址:SilverlightWCF 新手实例 象棋 在线演示 上一系列四十篇索引:SilverlightWCF 新手实例 象棋 专题索引 佛靠金装,人要衣裳,房间也要加金砖。本篇我们来把房间…

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

在线演示地址:Silverlight+WCF 新手实例 象棋 在线演示

上一系列四十篇索引:Silverlight+WCF 新手实例 象棋 专题索引

 

佛靠金装,人要衣裳,房间也要加金砖。本篇我们来把房间装修下,让它看起来专业一点!

 

一:效果预览,先上图

 

这是之前的房间图片:

今天我们要装修成的房间图片:

再上一张游戏中的效果图:

 

二:实现说明

 

1:新增加图片

为了实现装修,我这里新增加了3张图片:
1:房间图片
2:房间游戏中状态的图片
3:QQ用户头像
图片是从QQ象棋游戏的安装程序中Copy过来的,由于Silverlight只支持png等个别种类图片,所以用ps把图片另存为png格式了。

 

这是图片的存放文件夹格式:

 

2:装修房间需要增加的元素

增加的元素有:

1:用户头像[字段][显示QQ头像在房间坐位上]
2:房间游戏状态[字段][显示切换房间背景图]
3:房间坐位的用户[字段][QQ头像上下位置要显示用户名]
为了这些增加的元素,需要改动的代码,那还真不少,大伙要积极点了。

 

三:代码实现[WCF端]

 

1:WCF端代码:实体修改

WCF端:Player玩家实体

05233822_HsIc.gif
     ///   <summary>
    
///  游戏玩家 by 路过秋天
    
///   </summary>
    [DataContract]
    
public   class  Player
    {

        
// ...省略以前N个实体...
        [DataMember]
        
public   string  Head
        {
            
get ;
            
set ;
        }     
    }

 

WCF端:Room房间实体

05233822_HsIc.gif
    [DataContract]
    
public   class  Room
    {
        
///   ...省略了N行代码...
         /// //  <summary>
        
/// // 红色座位是否有人
        
/// //  </summary>
         // [DataMember]
        
// public bool RedInChair
        
// {
        
//     get;
        
//     set;
        
// }
         /// //  <summary>
        
/// // 黑色座位是否有人
        
/// //  </summary>
         // [DataMember]
        
// public bool BlackInChair
        
// {
        
//     get;
        
//     set;
        
// }
         #region  装饰房间增加的字段
        [DataMember]
        
public  Player RedPlayer
        {
            
get ;
            
set ;
        }
        [DataMember]
        
public  Player BlackPlayer
        {
            
get ;
            
set ;
        }
        [DataMember]
        
public   bool  IsGaming
        {
            
get ;
            
set ;
        }
        
#endregion
    }

 

说明:

房间增加了两个玩家,和一个游戏状态,以前的坐位是否有人字段[RedInChair/BlackInChair],删了[于是引发了N行要修改的代码]。

 

OK,字段是简单改完了,编绎一下,发现近N个的报错了吧,只能一个一个修改了。

 

2:WCF端:Service.cs代码修改[被注释的是原来的代码,未注释的是修改的代码]

方法:EnterRoom

05233822_HsIc.gif
            // if (!room.RedInChair) // 房间的红色座位有没有人
            
// {
            
//     room.RedInChair = player.ColorValue == 1;
            
// }
            
// if (!room.BlackInChair) // 房间的黑色座位有没有人
            
// {
            
//     room.BlackInChair = player.ColorValue == 2;
            
// }
             if  (room.RedPlayer  ==   null   &&  player.ColorValue  ==   1 )
            {
                room.RedPlayer 
=  player;
            }
            
else   if  (room.BlackPlayer  ==   null   &&  player.ColorValue  ==   2 )
            {
                room.BlackPlayer 
=  player;
            }

 

方法:OutRoom

05233822_HsIc.gif
               if  (player.ColorValue  ==   1 ) // 如果退出玩家是红色座位
                {
                    
// room.RedInChair = false;
                    room.RedPlayer  =   null ;
                }
                
if  (player.ColorValue  ==   2 ) // 如果退出玩家是红色黑色座位
                {
                    
// room.BlackInChair = false;
                    room.BlackPlayer  =   null ;
                }

 

方法:StartGame [只增加了代码]

05233822_HsIc.gif
         public   void  StartGame(Player player)
        {
            Notify.Game(player, GameType.Start);
            
// 以下几行为新增代码
             if  (player.AttachInfo  ==   " 11 " ) // 同意开始游戏,开始线程扫描
            {
                roomList[player.RoomID].IsGaming 
=   true ; // 房间设置正在游戏中
                Notify.Room(roomList[player.RoomID]); // 通知大伙更新房间状态
            }
        }

 

方法:EndGame [只增加了代码]

05233822_HsIc.gif
         public   void  EndGame(Player player)
        {
            Notify.Game(player, GameType.End);
            
// 以下几行为新增加的代码
             if  (player.AttachInfo  ==   " 0 "   ||  player.AttachInfo  ==   " 1 "   ||  player.AttachInfo  ==   " 2 " )
            {
                
// 游戏结束,清除历史数据
                roomList[player.RoomID].StepList.Clear();
                roomList[player.RoomID].IsGaming 
=   false ;
                Notify.Room(roomList[player.RoomID]);
// 通知房间改变成游戏状态;
            }
        }

说明:

OK,WCF端就修改到这就完成了,接下来是Silverlight客户端,要调整的代码N多。
服务端编绎过去后,客户端注意更新服务引用,接着由于服务端实体的两字段被删除,必然会引发个别小错误了。

 

结言:

对于Silverlight客户端,要调整的代码那是相当的多,所以等下节实现,不然一篇下来太长了。

欢迎有兴趣者对本系列持续关注!

 

 

转载于:https://my.oschina.net/secyaher/blog/274389

http://www.lbrq.cn/news/1333297.html

相关文章:

  • 简述建设一个网站的一般过程/广州seo教程
  • 用 php网站建设打出一首古诗/亚洲7号卫星电视
  • 什么是网页?/青山seo排名公司
  • 烟台网站推广排名/网络推广需要什么
  • 网站开发部门工资入什么科目/建立网站流程
  • 个人网站备案内容不合格/网站运营主要做什么工作
  • 购买网站服务如何做支出/cms
  • 网站开发与维护价格/快速优化网站排名的方法
  • 一品威客网兼职/怎么seo网站排名
  • 京东电子商务网站建设/网站的网络推广
  • 建设网站哪好/关键词歌词打印
  • 怎样制作一个个人网站/直接打开百度
  • 国外优秀的平面设计网站/如何推广微信公众号
  • 连云港市海州区建设局网站/网络推广的工作内容是什么
  • 广西来宾博彩网站建设/在线搭建网站
  • wordpress有点尴尬诶该页无法显示/搜索引擎优化的主题
  • 内蒙古做网站的公司/微信朋友圈广告投放价格表
  • 重庆网站制作的网站/如何优化网络
  • 做美食的网站可以放些小图片/百度收录查询方法
  • 网站审核照片幕布/seo文章关键词怎么优化
  • 东莞短视频seo制作/seo合作代理
  • 湖南建设资质申请网站/深圳外贸seo
  • app制作平台大全/湖南优化公司
  • 电脑网站首页设计/站长统计是什么意思
  • 做网站的主题/西安seo引擎搜索优化
  • 深圳市年检在哪个网站做/seo综合查询站长工具关键词
  • 郑州做网站设计的公司/渠道营销推广方案
  • 2017做网站挣钱吗/外链生成网站
  • app备案查询网站/315影视行业
  • 做网站费用会计分录/广告传媒公司经营范围
  • 搜索引擎核心机制解析
  • 【图像算法 - 13】基于 YOLO12 与 OpenCV 的实时目标点击跟踪系统(系统介绍 + 源码详细)
  • 西门子S7-200与S7-1200通过PPI以太网模块通讯,赋能汽车制造行业发展
  • Docker容器部署论坛和网上商城(小白的“升级打怪”成长之路)
  • Java集合学习之forEach()遍历方法的底层原理
  • 「数据获取」中国高技术产业统计年鉴(1995-2024年)(获取方式看绑定的资源)