“补花”是麻将游戏中的一个专有术语

“补花”是麻将游戏中的一个专有术语,主要出现在有“花牌”规则的麻将玩法中(如广东麻将、台湾麻将等)。下面是详细解释:


🀄 什么是“补花”?

在某些麻将玩法中,花牌(如春夏秋冬、梅兰竹菊)是一种特殊的牌型,它不会参与普通的胡牌组合,而是作为“加分项”或“特殊标志牌”。

当玩家抓到花牌时:

🔄 要做的事情就是:补花

  1. 把花牌明示放到桌面上(称为“亮出”或“摆出”)。

  2. 再从牌墙尾部多抓一张牌补回来,维持手牌数量不变。

这个操作就叫做“补花”。


📌 举个例子

假设你抓了一张“春”牌(🌸),规则规定“春夏秋冬”是花牌

  • 你需要立刻将“春”放到你面前(公开给其他人看)。

  • 然后从牌堆的尾部再抓一张新牌补回来

  • 这一整套行为就称为“补花”。


⚙️ 编程中补花的含义

从你刚才发的代码来看,ACTION_BU 对应的正是玩家在游戏中执行了补花的动作。

 

go

复制编辑

case pilot.ACTION_BU: if g.GetGameConfig().GetExtendBuHuaCfg().GetBuHuaMode() != bconfig.BuHuaModeManual { canPass = false }

说明:

  • 系统检查当前“补花模式”是不是“手动”。

  • 如果不是,就可能不允许玩家手动补花,或者需要自动触发补花流程。


🔍 花牌 vs 补花总结

名词含义
花牌特殊的非参与组牌的牌,用于加分或标记
补花抓到花牌时,亮出该牌并再抓一张新牌

如果你是在做麻将 AI 或服务器开发,可以进一步配置是否允许“自动补花”“跳过补花”“AI补花判断”等策略。需要我进一步帮你写补花判断逻辑或策略模拟吗?

// SendUserActionNotify 玩家玩的操作提示
func (g *MahTestNotify) SendUserActionNotify(param pilot.SendUserActionNotifyPara) {
    if bconfig.IsOpenDDLTrainMode() {
        a.MahPilotContext.ReplyStepResponse()
    }

    canPass := true
    powerSeatId, operateSeatId, actions := param.PowerSeatId, param.OperateSeatId, param.Actions
    for _, item := range param.Actions {
        switch pilot.ActionType(item.ActionType) {
        case pilot.ACTION_BU:
            if g.GetGameConfig().GetExtendBuHuaCfg().GetBuHuaMode() != bconfig.BuHuaModeManual {
                // 若不是手动补花时,不可补花
                canPass = false
            }
        }
    }

    pbResponse := &mahipbtopb.MahPilotActionNotify{
        PowerSeatId:    int32(powerSeatId),
        OperateSeatId:  int32(operateSeatId),
        SeatList:       []int32{operateSeatId},
    }
}

📌 小说明:

  • SendUserActionNotify 方法是响应用户操作(如补花)的处理逻辑;

  • canPass判断当前操作是否合法(例如是否可以补花);

  • pbResponse 构造了一个 protobuf 消息体,用于后续广播或处理。

如需补全整个方法(比如 pbResponse 如何使用、是否还有广播逻辑等),可以继续提供图片或代码上下文,我可以帮你补完。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

强化学习曾小健

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值