鞍山麻将是辽宁省鞍山地区特有的麻将玩法,其特点在于“混”和“枪”的规则。 第一局随机确定庄家,再由庄家掷第一次色子,从此次掷出来的点数确定翻混牌的位置,并由此点数位置的玩家掷第二次骰子,确定从何处抓牌。 每局庄家为上一局第一个胡牌的玩家。 混皮:在服务器端随机一张牌称为“混皮”。 混:就是比混皮大l的牌称为“混牌”。 混可以当任意牌。 枪:就是有人胡牌后,再顺序摸起的那张牌以及比这张牌大1的牌称为“枪牌”。 大哥大:中发白不管哪个牌如果有三张一样的就叫一个“大哥大”。 刻:三张相同的牌称为“刻”。 三叉:如果有三个刻就称为“三叉”。 二八将:就是胡的时候有二,八任意一个成对,就叫“二八将”。 这要算作一番的。 番:一番就是一倍。 计算得分用的。 分张:倒数26张牌是每人摸一张牌,放在手里不打出。 称为“分张”。 四归一:如果手里摸到三张混皮称为“四归一”,如果手里有四张一样的牌也称为“四归一”。 3、网络鞍山麻将实现基本原理 136张牌全在服务器端随机排列,然后发给每一个客户端。 吃,碰,杠,胡,以及摸牌,分张,算分全部是在服务器端判断完成,然后把数据发到客户端绘制显示出来。 结合图2。 大哥更容易理解。 桌面上只要大家可以看到的牌,那都是服务器发过来数据,然后客户端根据服务器数据调用相应的图片资源进行绘制显示。 大家注意算分界面后面的牌墙,其实那些牌墙只是一个显示,如果你翻开牌墙看,你会发现牌的另一面是白的,没有任何数据。 同理算分界面上的数据也都来自服务器。 4、鞍山麻将核心胡牌算法 难点分析:因为鞍山麻将中有混牌,所以胡牌的情况就多了很多,这样不遗漏任何一种胡牌情况就成了难点。 基本原理:把混牌换成34种牌中的~张牌插入到牌队列中进行分析,如果返回值不为空则认为胡啦。 此段代码既是当牌队列中有一个混牌时的分析:先把牌队列中的混牌删除。 在依次插入34种牌中的每一张牌进行胡牌分析。 一旦返回值不为空,就说明胡了,就要发胡牌提示给相应的玩家。 最后还有一步就是还原混牌。 同理无论有几张混牌,都按此理论进行判断,就不会忽略任意一种胡牌牌型。 因为鞍山麻将是中国最复杂地方麻将之一,所以只要能实现鞍山麻将的逻辑与算法。 在任何一种地方麻将实现起来都肯定相当简单。 当前算法不足之处,胡牌类型最优化的分析与计算不够完善。 具体在算法上就是-</k将加番与三叉加番冲突未解决。 所以胡牌最优化算法有待进一步完善与提高。 |