ArcherArcher
首页
快速开始
项目介绍
  • 简体中文
  • English
首页
快速开始
项目介绍
  • 简体中文
  • English
  • 首页
  • 基础配置

    • 项目介绍
    • 快速开始
    • 常见问题
    • 联系我们
  • 二次开发

    • 基础知识
    • 基础框架
    • 雀魂开发

      • 牌名

        • 基本
      • 管理器

        • 大厅管理器
      • 游戏接口

        • 基本
      • lq

        • 基本
      • 动作类型

        • 基本
      • 游戏状态

        • 基本
      • 登录事件

        • 登录事件
        • 进阶:麻将事件登录
      • 弃牌

        • 基础
        • 进阶
      • 吃
      • 碰
      • 杠
      • 取消、跳过
  • 插件系统

    • 基础使用
    • 资源类插件开发
  • 自动Review

    • 自动Review
  • 天凤个室对战

    • 在天凤个室与Mortal对局

包名

  • gamestate

引用方式

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

常量

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

RoundEnd

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

Hules

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

Tsumogiri

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

接口方法

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

实例方法

游戏信息

名称参数返回值备注
GetChang无int当前场, 0东, 1南, 2西
GetJu无int局数
IsOnChiPon无bool是否处于吃碰杠阶段
IsOnBabei无bool是否处于拔北阶段
IsLiqi3无bool是否为三麻
IsInSyncGame无bool本局是否为掉线局
IsRoundWindstringbool该牌是否为场风
IsSelfWindstringbool该牌是否为自风
IsCanWin无bool是否可以和牌
GetRanking无int当前顺位(0起始)
GetLeftTileCount无int剩余牌数

手牌

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

弃牌

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

牌河

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

副露

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

宝牌

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

立直

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

操作

名称参数返回值备注
IsCanOperations无bool是否可以进行操作
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座位列表