Archer

游戏状态基础

包名

  • gamestate

引用方式

  • import "github.com/moxcomic/Archer/internal/domain/gamestate"

常量

名称类型备注
RoundEndReasonHuleint0和牌结束
RoundEndReasonRyuukyokuint1流局结束

RoundEnd

名称类型备注
Reasonint结束原因
Deltas[]int变化的玩家分数, [0]为自己
Hules[]*Hules和牌数据

Hules

名称类型备注
Seatint座位号, [0]为自己
Tsumobool是否自摸
Pointint得点

Tsumogiri

名称类型备注
Tilestring牌名
Tsumogiribool是否摸切

接口方法

名称参数返回值备注
Inst*gamestate.GameStateGameState单例实例

实例方法

游戏信息

名称参数返回值备注
GetChangint当前场, 0东, 1南, 2西
GetJuint局数
IsOnChiPonbool是否处于吃碰杠阶段
IsOnBabeibool是否处于拔北阶段
IsLiqi3bool是否为三麻
IsInSyncGamebool本局是否为掉线局
IsRoundWindstringbool该牌是否为场风
IsSelfWindstringbool该牌是否为自风
IsCanWinbool是否可以和牌
GetRankingint当前顺位(0起始)
GetLeftTileCountint剩余牌数

手牌

名称参数返回值备注
GetHandTile[]string获取手牌

弃牌

名称参数返回值备注
GetDiscardTile[][]string获取四家弃牌

牌河

名称参数返回值备注
GetLeftTile[]string获取自己的牌河
GetGlobalLeftTile[]string获取全局牌河

副露

名称参数返回值备注
GetMeld[][]*model.Meld获取四家副露(原始数据)
Melds[][][]string获取四家副露(字符串格式)
GetMeldDiscardAt[][]string获取副露弃牌位置

宝牌

名称参数返回值备注
GetDora[]string获取宝牌指示牌
CalcDoraCountint计算当前宝牌数

立直

名称参数返回值备注
GetRiichi[]bool获取四家立直状态
GetRiichiAt[]int四家立直在全局牌河的位置, -1表示未立直
GetRiichiTsumogiri[]bool四家立直是否摸切
GetCanIppatsu[]bool四家是否可以一发

操作

名称参数返回值备注
IsCanOperationsbool是否可以进行操作
IsCanintbool是否可以进行(x)操作
OperationCombinationuint32[]string获取组合操作

分数

名称参数返回值备注
GetRoundEnd*RoundEnd获取本局结束信息

其他

名称参数返回值备注
GetLatestGlobalDiscardAt[]int四家最新全局弃牌位置
GetEarlyOutside[][]string四家早外牌
RemainTileCountstringint获取某张牌的剩余数量
ToLocalSeatintint将绝对座位号转换为相对座位号
ToLocalSeat2int, intint将绝对座位号转换为相对座位号(指定tw)
ToPositionSeatintint将相对座位号转换为绝对座位号
ToPositionSeat2int, intint将相对座位号转换为绝对座位号(指定tw)

直接访问字段

以下字段可通过 gamestate.Inst().XXX 直接访问:

名称类型备注
Changint当前场, 0东, 1南, 2西
Benint本场
Juint局数
Oyaint庄家座位号
Score[]int32玩家分数
IsSelfChiPonbool玩家是否在吃碰
IsSelfDealbool玩家是否刚摸牌(用于前端最后一张偏移判断)
UserUseMousebool用户是否正在进行鼠标操作
LastLinkstring最后一局牌谱链接
Uuidstring对局UUID
Modeint32游戏模式
Twint天凤座位号
Levelstring等级
LevelScoreuint32等级分数
Level3string三麻等级
Level3Scoreuint32三麻等级分数
IsInSyncGamebool本局是否为掉线局
IsChangeEnginebool是否切换引擎
IsRiichiMomentbool是否立直时刻
Uidstring登入账号的Uid
LastDealstring最后摸牌
SeatList[]int座位列表