云原生项目实践DevOps(GitOps)+K8S+BPF+SRE,从0到1使用Golang开发生产级麻将游戏服务器—第7篇

空血来战玩法 & 游戏规则篇

空血来战使用纯正的四川麻将玩法,分为三人模式和四人两种模式,三人模式<三人两房>只用子和子两种花色共72张牌,游戏节奏更快,对战更激烈。四人模式<血战到底>使用 三种花色共108张牌,开局选择定缺花色,未打缺不能胡牌。

系列文章

  1. Golang开发生产级麻将游戏服务器—第1篇
  2. Golang开发生产级麻将游戏服务器—第2篇
  3. Golang开发生产级麻将游戏服务器—第3篇
  4. Golang开发生产级麻将游戏服务器—第4篇
  5. Golang开发生产级麻将游戏服务器—第5篇
  6. Golang开发生产级麻将游戏服务器—第6篇

介绍

这将是一个完整的,完全践行 DevOps/GitOpsKubernetes 上云流程的 Golang 游戏服务器开发的系列教程。

这个系列教程是对开源项目 Nanoserver 的完整拆解,旨在帮助大家快速上手 Golang(游戏)服务器后端开发。通过实践去理解 Golang 开发的精髓 —— Share memory by communication(通过通信共享内存)

同时这个项目可能还会涉及到 Linux 性能调优(BPF 相关的工具)和系统保障(SRE)的相关的工作。

Step-By-Step 开发 Mahjong Server

  • 单体架构理解 Mahjong Server 业务 -> Nano Distributed Game Server(分布式) + 微服务 改造。
  • Demo:go-mahjong-server

游戏规则

  1. 三人模式<三人两房>使用子、子两种花色牌共72张。
  2. 三人模式大于1倍低分才可点炮胡(平胡点炮需选择<点炮可平胡>)。
  3. 四人模式<血战到底>使用 三种花色共108张牌。
  4. 玩家胡牌后,其余玩家继续游戏,直到流局或只有一位玩家未胡牌为止。
  5. 流局时查大叫,即无叫玩家需要按最大番数赔付有叫玩家。
  6. 上一局先胡牌玩家下一局当庄,如果一炮多响,点炮玩家为庄。
  7. 自摸加低(如果勾选自摸加番,则加番)。
  8. 牌局中按照创建房间时选择的番数封顶(345番)。

术语解释

  1. 刮风下雨
    • 若为引杠(手中有三张相同的牌,有人打出第四张),则向引杠者低番X2的水钱。
    • 若为巴杠(已经碰牌后,自己摸出第四张并杠牌),则向每个未胡牌的玩家收取低番X1的水钱,以上两种为刮风
    • 若玩家为暗杠(自己摸出四张牌并杠牌),则向每个未胡牌的玩家收取低番X2的水钱,此时称为下雨。
    • 若结算时没有胡牌,且没有叫,则刮风下雨不算。
  2. 血战到底:一家胡牌后,游戏继续进行,直到仅剩一家未胡牌或者流局。
  3. 杠上花、杠上炮、呼叫转移、抢杠
    • 杠上花:杠牌后自摸,弯杠和暗杠时,其余未胡牌的玩家都会扣分
    • 杠上炮:杠牌后点炮
    • 呼叫转移:开杠后点炮,杠钱一并转移给接炮的玩家
    • 抢杠:巴杠时的牌被其他人胡了,称为抢杠,抢杠胡牌后,不能巴杠
  4. 查叫:若有两人或两人以上玩家没有胡牌,则要进行查叫。
  5. 退税:查叫时,没叫玩家需要退回所有刮风下雨所得的收入。

胡牌类型

  1. 平胡(0番):四砍(除四副刻子)加一对将。
  2. 对对胡(1番或2番):4副刻子加一对将。
  3. 清一色(2番):全是一种花色的平胡。
  4. 清对(3番或4番):清一色加对对胡。
  5. 七对(2番):玩家手上全是对子,没有碰和刮风下雨。
  6. 龙七对(3番):手上全是对子,且只有一个根,没有碰和刮风下雨。
  7. 清七对(4番):清一色+七对。
  8. 清龙七对(5番):清一色+龙七对。
  9. 全幺九(3番):所有组成的顺子、刻子、将牌中都包含19
  10. 将对(3番或4番):只包含2/5/8的对对胡。
  11. 将七对(5番):只包含2/5/8的龙七对。
  12. 门清(1番):只包含2/5/8的龙七对。
  13. 中张(1番):胡牌时,不包含1/9的牌。
  14. 夹心五(1番):胡牌时,牌型可以摆成46夹一个5

番计算

  1. =低分x2 例如:低金为1分,2番=1*2*2=4分,3番=1*2*2*2=8
  2. 基本输(赢)积分=牌型积分+刮风下雨+自摸加番(自摸加番算在总番中)
  3. 点炮结算方式为1对1,自摸结算为一对多
  4. 另加番:
    • :+1番(所有牌中有4张一样的牌,无论是否碰、杠),可累计计算
    • 杠上花:+1番
    • 杠上炮:+1番
    • 抢杠胡:+1番
    • 海底捞:+1番
    • 金钩胡:+1番
      备注:各个牌型不重复计算,只收取最大番
我是为少
微信:uuhells123
公众号:黑客下午茶
加我微信(互相学习交流),关注公众号(获取更多学习资料~)
posted @ 2021-03-06 11:15  为少  阅读(971)  评论(0编辑  收藏  举报