云原生项目实践DevOps(GitOps)+K8S+BPF+SRE,从0到1使用Golang开发生产级麻将游戏服务器—第7篇
空血来战玩法 & 游戏规则篇
空血来战
使用纯正的四川麻将玩法,分为三人
模式和四人
两种模式,三人模式<三人两房>只用条
子和筒
子两种花色共72
张牌,游戏节奏更快,对战更激烈。四人模式<血战到底>使用 筒
条
万
三种花色共108
张牌,开局选择定缺
花色,未打缺不能胡牌。
系列文章
- Golang开发生产级麻将游戏服务器—第1篇
- Golang开发生产级麻将游戏服务器—第2篇
- Golang开发生产级麻将游戏服务器—第3篇
- Golang开发生产级麻将游戏服务器—第4篇
- Golang开发生产级麻将游戏服务器—第5篇
- Golang开发生产级麻将游戏服务器—第6篇
介绍
这将是一个完整的,完全践行 DevOps/GitOps
与 Kubernetes
上云流程的 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
游戏规则
-
三人
模式<三人两房>使用筒
子、条
子两种花色牌共72
张。 -
三人
模式大于1倍低分才可点炮胡(平胡点炮需选择<点炮可平胡>)。 -
四人
模式<血战到底>使用筒
条
万
三种花色共108
张牌。 - 玩家胡牌后,其余玩家继续游戏,直到
流局
或只有一位玩家未胡牌
为止。 -
流局
时查大叫,即无叫
玩家需要按最大番数
赔付有叫玩家。 - 上一局先胡牌玩家下一局
当庄
,如果一炮多响,点炮玩家为庄。 -
自摸加低
(如果勾选自摸加番,则加番)。 - 牌局中按照创建房间时选择的番数封顶(
3
、4
、5
番)。
术语解释
-
刮风
、下雨
- 若为
引杠
(手中有三张相同的牌,有人打出第四张),则向引杠者低番X2
的水钱。 - 若为
巴杠
(已经碰牌后,自己摸出第四张并杠牌),则向每个未胡牌的玩家收取低番X1
的水钱,以上两种为刮风
。 - 若玩家为
暗杠
(自己摸出四张牌并杠牌),则向每个未胡牌的玩家收取低番X2
的水钱,此时称为下雨。 - 若结算时没有胡牌,且没有叫,则刮风下雨不算。
- 若为
- 血战到底:一家胡牌后,游戏继续进行,直到仅剩一家未胡牌或者流局。
- 杠上花、杠上炮、呼叫转移、抢杠
-
杠上花
:杠牌后自摸,弯杠和暗杠时,其余未胡牌的玩家都会扣分 -
杠上炮
:杠牌后点炮 -
呼叫转移
:开杠后点炮,杠钱一并转移给接炮的玩家 -
抢杠
:巴杠时的牌被其他人胡了,称为抢杠,抢杠胡牌后,不能巴杠
-
-
查叫
:若有两人或两人以上玩家没有胡牌,则要进行查叫。 -
退税
:查叫时,没叫玩家需要退回所有刮风下雨所得的收入。
胡牌类型
-
平胡
(0番):四砍(除四副刻子)加一对将。 -
对对胡
(1番或2番):4副刻子加一对将。 -
清一色
(2番):全是一种花色的平胡。 -
清对
(3番或4番):清一色加对对胡。 -
七对
(2番):玩家手上全是对子,没有碰和刮风下雨。 -
龙七对
(3番):手上全是对子,且只有一个根,没有碰和刮风下雨。 -
清七对
(4番):清一色+七对。 -
清龙七对
(5番):清一色+龙七对。 -
全幺九
(3番):所有组成的顺子、刻子、将牌中都包含1
或9
。 -
将对
(3番或4番):只包含2/5/8
的对对胡。 -
将七对
(5番):只包含2/5/8
的龙七对。 -
门清
(1番):只包含2/5/8
的龙七对。 -
中张
(1番):胡牌时,不包含1/9
的牌。 -
夹心五
(1番):胡牌时,牌型可以摆成4
和6
夹一个5
。
番计算
-
番
=低分x2
例如:低金为1
分,2
番=1*2*2
=4
分,3番=1*2*2*2
=8
分 - 基本输(赢)积分=
牌型积分
+刮风下雨
+自摸加番
(自摸加番算在总番中) - 点炮结算方式为1对1,自摸结算为一对多
- 另加番:
-
根
:+1番(所有牌中有4张一样的牌,无论是否碰、杠),可累计计算 -
杠上花
:+1番 -
杠上炮
:+1番 -
抢杠胡
:+1番 -
海底捞
:+1番 -
金钩胡
:+1番
备注:各个牌型不重复计算,只收取最大番
。
-
我是为少
微信:uuhells123
公众号:黑客下午茶
加我微信(互相学习交流),关注公众号(获取更多学习资料~)