package samloc

import "time"

////////////////////////////////////////////////////////////////////////////////
//tala
////////////////////////////////////////////////////////////////////////////////

const (
	MaxNumOfPlayer int   = 5  //最多人数
	HandCardNum    int32 = 10 //手牌数量
	InvalideCard   int32 = -1 //默认牌
	InvalidePos    int32 = -1
)

const (
	TestOpen           bool = false //测试开关
	POKER_CNT               = 52
	Hand_CardNum            = 10 //手牌
	PER_CARD_COLOR_MAX      = 13
)

const (
	RobotGameTimesMin int32 = 5  //机器人参与游戏次数下限
	RobotGameTimesMax int32 = 10 //机器人参与游戏次数上限
	DelayCanOp        int   = 3  //根据上家牌型额外延迟下家出牌时间
)

const (
	SamLocWaitStartTimeout = time.Second * 10 //人数够开启游戏, 延迟X秒开始游戏
	SamLocHandCardTimeout  = time.Second * 5  //发牌
	SamLocBaoSamTimeout    = time.Second * 11 //baosam
	SamLocPlayerOpTimeout  = time.Second * 16 //出牌（玩家操作阶段）
	SamLocBilledTimeout    = time.Second * 8  //结算
	SamLocPlayerOpTimeout1 = time.Second * 11 //托管1状态
	SamLocPlayerOpTimeout2 = time.Second * 6  //托管2状态
)

// 场景状态
const (
	SamLocSceneStateWaitPlayer int = iota //0  等待玩家
	SamLocSceneStateWaitStart             //1  延迟X秒开始游戏
	SamLocSceneStateHandCard              //2 发牌
	SamLocSceneStateBaoSam                //3 baosam
	SamLocSceneStatePlayerOp              //4 出牌（玩家操作阶段）
	SamLocSceneStateBilled                //5 结算
	SamLocSceneStateMax
)

// 玩家操作
const (
	SamLocPlayerOpNull   int32 = iota // 初始值
	SamLocPlayerOpPlay                // 出牌
	SamLocPlayerOpPass                // 过牌
	SamLocPlayerOpShow                // 提示
	SamLocPlayerOpStart               // 房主开始游戏
	SamLocPlayerOpBaoSam              // baosam
)
