网络麻将的宝牌设计

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络麻将的宝牌设计相关的知识,希望对你有一定的参考价值。

今天在帮客户改东北乾安的麻将,乾安麻将的宝牌比效复杂,需求如下:
6.1 宝牌:可以替代任何牌的“万能牌”。
6.2 宝牌产生:牌墙中的最后一张牌为“宝”牌。
6.3 宝牌不能查看。
6.4 换宝:宝牌被宝杠以后,牌墙中倒数第2张牌为宝牌。
6.5 用户听牌后才能使用宝牌。

开始搞了,首选给宝牌定一个变量:看了一下代码,直接把财神当宝牌用了。

  1. 首先在开始游戏的地方把宝牌重置。
  2. 在用户听牌的动作上加一个读取宝牌的代码,从库存牌变量里取最后一张,这里注意,库存牌里最后一张的key是1,是倒过来的,取的时候要检查库存牌是否存在,不存再就往前一张牌取,因为杠牌的时候也取的是最后一张牌,这样可能后面的牌有几个是被杠的玩家取走了不存在了,上代码:
    //获取宝牌,从后面取最后一张,如果不存在就往前一张取
    if(m_cbBaoCard == 0x00)
    {
    for(WORD i=1;i<=8;i++)
    {
    m_cbBaoCard = m_cbRepertoryCard[i];
    if(m_cbBaoCard !=0x00)
    {
    SineCount = i;
    break;
    }
    }
    }

  3. 因为用户杠牌也是取的最后一张,所在在用户杠牌操作的时候,需要查看一下有没有用户听牌,如果有,就重新换宝牌,方法和听牌操作的定义宝牌的一样。

  4. 宝牌只对上听的用户有效,没有上听的用户无效,需要在用户出牌、杠牌的地方加上判断。

以上是关于网络麻将的宝牌设计的主要内容,如果未能解决你的问题,请参考以下文章

网络麻将微信被封怎么办

房卡麻将分析系列之"发牌器"算法设计

微信房卡麻将棋牌架设之游戏服务器架构的详细设计 内核设计

房卡麻将分析系列之"发牌器"算法设计

房卡麻将分析系列 "牌局回放" 之 播放处理

pg麻将怎么进不去了