Skip to content

tziakcha 基础常量

动作类型

常量 含义
kActionTypeNone 0 空操作
kActionTypeFlowerReplace 1 补花
kActionTypeDiscard 2 出牌/打牌
kActionTypeChi 3
kActionTypePeng 4
kActionTypeGang 5
kActionTypeWin 6 和牌
kActionTypeDraw 7 摸牌
kActionTypePass 8
kActionTypeAbandon 9 弃和

位掩码与位移

常量 值/写法 含义
kFlowerAutoMask 0x1000 (1 << 12) 自动补花标志位(action data)
kDiscardHandPlayedMask 0x0001 hi_byte & 1,手打标志
kDiscardPlayModeShift 9 打牌模式起始位(action data >> 9)
kDiscardPlayModeMask 0x0003 打牌模式掩码(两位)
kPengTileBaseMask 0x003F 牌基值掩码(取低 6 位)
kPengTileBaseShift 2 牌基值左移量
kPengTileOffsetShift 10 牌偏移起始位
kPengTileOffsetMask 0x0003 牌偏移掩码(两位)
kPengOfferDirectionShift 6 来自谁的方向位起始
kPengOfferDirectionMask 0x0003 方向掩码(两位)
kGangTileBaseMask 0x003F 杠牌基值掩码
kGangTileBaseShift 2 杠牌基值左移量
kGangTileOffsetShift 10 杠牌偏移起始位
kGangTileOffsetMask 0x0003 杠牌偏移掩码
kGangOfferDirectionShift 6 杠牌来源方向起始位
kGangOfferDirectionMask 0x0003 杠牌来源方向掩码
kGangPromotedMask 0x0300 加杠标志位掩码
kGangPromotedValue 0x0300 判断加杠的匹配值
kWinAutoMask 0x0001 自动和标志位
kWinFanCountShift 1 番数起始位(data >> 1)
kDrawBackwardMask 0x0100 逆向摸牌标志(hi_byte != 0)
kPassModeMask 0x0003 过牌模式掩码:0 手动,1 自动,2 强制

通用位操作

常量 值/写法 含义
kLowByteMask 0x00FF 低字节掩码
kHighByteShift 8 高字节位移
kActionPlayerShift 4 玩家索引起始位
kActionPlayerMask 0x0003 玩家索引掩码(两位)
kActionTypeMask 0x000F 动作类型掩码

牌偏移

常量 含义
kFlowerTileOffset 136 花牌偏移(高字节低 4 位 + 136)