siverlight网络分房间斗地主5网络部分




http://blog.csdn.net/aojiancc2/article/details/14170221


这里分析一下玩家的对象

属性:

1:是否准备isready

2:是否是地主islandlord

3:是否是最初选择出来的地主isinitlandlord

4:是否不要ispass

5:是否该我出牌ismeput

6:抢地主时选择的分数choiseScore

7:拥有一个牌的对象poker


8:区号zone_number

9:房间号rome_number

10:桌号table_number

11:座位号seat_number

方法:

1:进入房间

2:准备

3:选择分数

4:出牌

5:不要

6:退出房间


先说下简单的思路


1:进入房间    

         用户进入房间后我们就初始化一个用户的对象然后存放到一个键值对里,这样任何一个用户就可以更具区号房间号桌号找到该房间的另外两个用户

2:准备

        其实也就是一个状态,通过id取出用户对象把是否准备的属性设置为true,只是当该房间的所有用户都准备了

        就分牌开始游戏,开始游戏需要随机参数一个地主

 3:选择分数

         1-3分供选择如果选择三分自己就是地主,如果选择其他分数,把选择地主的权利交给下家

         怎么找下家呢,其实斗地主就一个房间就三个用户也就是座位号1,2,3如果现在是用户1那么下次肯定就该2的选择权

         如果是3就该1的选择权,然后就可以更具那个键值对找到对应的用户

    public int CalNextPutUsers(int _ui) 
        {
            if (_ui == 3)
                return 1;
            else
                return ++_ui;
        }

           如果已经找了一圈了都没有人选择三分那么就指定选择分数最高的作为地主

4:出牌

       前台需要验证是否符合规则,然后后台验证是否大过上家,先找到上家方法很简单,通过座位号即可    

    public int CalLastPutUsers(int _ui) //得到上一次出牌的用户 
        {
            if (_ui == 1)
                return 3;
            else
                return --_ui;
        }
        得到上家的对象后因为经过上篇的处理只需要判断他们牌对象中的tag即可

        只是如果上家是不要的话,就在继续找一次


5:不出

      是否不要ispass设置成true然后找到下家,把出牌权交给下家


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值