game_sync/gamerule/dezhoupoker/constants.go

151 lines
5.6 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package dezhoupoker
import "time"
////////////////////////////////////////////////////////////////////////////////
//德州扑克
////////////////////////////////////////////////////////////////////////////////
//房间类型
const (
RoomMode_Normal int = iota //德州
RoomMode_FiveXTwo //德州五选二
RoomMode_Max
)
const (
MaxNumOfPlayer int32 = 9 //最多人数
MaxNumOfPlayerTwo int32 = 8 //最多人数(五选二)
HandCardNum int32 = 2 //手牌数量
CommunityCardNum int32 = 5 //公牌
TotalCardNum int32 = HandCardNum + CommunityCardNum
FlopCardNum int32 = 3 //翻牌
TurnCardPos int32 = FlopCardNum + 1 //转牌位置
RiverCardPos int32 = TurnCardPos + 1 //河牌位置
ANTE_SCORE int32 = 0 //前注
)
const (
BEHIND_CARD int32 = 55
INVALIDE_POS int32 = -1
INVALIDE_CARD int32 = -1
)
//dz创建房间的参数信息
const (
DZSceneParam_MaxCoin int = iota //
DZThreeSceneParam_Max
)
const (
RobotGameTimesMin int32 = 5 //机器人参与游戏次数下限
RobotGameTimesMax int32 = 10 //机器人参与游戏次数上限
)
const (
CardType_HandCard int32 = iota //公牌
CardType_FlopCard
CardType_TrunCard
CardType_RiverCard
)
const (
RoleType_Player int32 = iota //普通玩家
RoleType_Banker
RoleType_SmallBlind
RoleType_BigBlind
)
//玩家位置
const (
Pos_UTG int32 = iota //Under the gun 枪口
Pos_UTG1 //Under the gun +1 枪口+1
Pos_MP1 //Middle position 1 中位1
Pos_MP2 //Middle position 2 中位2
Pos_HJ //Hijack 劫位
Pos_CO //Cut off 关位
Pos_BTN //Button 庄家
Pos_SB //Small blind 小盲位
Pos_BB //Big blind 大盲位
)
var PosDesc = []string{"枪口", "枪口+1", "中位1", "中位2", "劫位", "关位", "庄位", "小盲位", "大盲位"}
const (
DezhouPokerOffsetTimeout = 1 //结算等待时间
DezhouPokerWaitPlayerTimeout = time.Second * 10 //等待真人时间
DezhouPokerWaitStartTimeout = time.Second * 3 //延迟开始时间
//DezhouPokerSelectBankerAndBlindsTimeout = time.Second * 2 //选庄时间
DezhouPokerAntTimeout = time.Second * 1 //前注时间
//DezhouPokerBlindsTimeout = time.Second * 0 //大小盲下注时间
DezhouPokerHandCardTimeout = time.Second * 1 //发手牌等待时间
DezhouPokerSelectCardTimeout = time.Second * 10 //选手牌等待时间
DezhouPokerHandCardBetTimeout = time.Second * 15 * DezhouPokerOffsetTimeout //发手牌等待时间
DezhouPokerFlopTimeout = time.Second * 1 //发3张翻牌等待时间
DezhouPokerFlopBetTimeout = time.Second * 15 * DezhouPokerOffsetTimeout //发3张翻牌等待时间
DezhouPokerTurnTimeout = time.Second * 1 //发1张转牌等待时间
DezhouPokerTurnBetTimeout = time.Second * 15 * DezhouPokerOffsetTimeout //发1张转牌等待时间
DezhouPokerRiverTimeout = time.Second * 1 //发1张转牌等待时间
DezhouPokerRiverBetTimeout = time.Second * 15 * DezhouPokerOffsetTimeout //发1张转牌等待时间
//DezhouPokerBilledTimeout = time.Second * 10//结算等待时间
DezhouPokerBilledTimeoutNormal = time.Second * 2 //结算等待时间
DezhouPokerBilledTimeoutMiddle = time.Second * 1 //结算等待时间
DezhouPokerBilledTimeoutAllIn = time.Second * 1 //补牌
DezhouPokerBilledTimeoutPerPlayerBilled = time.Second * 2 //等待结束
DezhouPokerBilledTimeoutWaitCheckCard = time.Second * 3 //结算结束,预留一点时间让玩家能看清牌型
)
//场景状态
const (
DezhouPokerSceneStateWaitPlayer int = iota //0 人数不够开启游戏,等待玩家上线
DezhouPokerSceneStateWaitStart //1 人数够开启游戏, 延迟X秒开始游戏
DezhouPokerSceneStateSelectBankerAndBlinds //2 选庄家和大小盲
DezhouPokerSceneStateAnte //3 下前注0预留
DezhouPokerSceneStateBlinds //4 下大小盲
DezhouPokerSceneStateHandCard //5 发手牌
DezhouPokerSceneStateSelectCard //6 选牌状态
DezhouPokerSceneStateHandCardBet //7 手牌下注1
DezhouPokerSceneStateFlop //8 发3张翻牌
DezhouPokerSceneStateFlopBet //9 翻牌下注2
DezhouPokerSceneStateTurn //10 转牌
DezhouPokerSceneStateTurnBet //11 转牌下注3
DezhouPokerSceneStateRiver //12 河牌
DezhouPokerSceneStateRiverBet //13 河牌下注4
DezhouPokerSceneStateBilled //14 结算方式选择
DezhouPokerSceneStateBilledNormal //15 正常结算
DezhouPokerSceneStateBilledMiddle //16 半路结算 还剩一个未弃牌的玩家
DezhouPokerSceneStateBilledAllIn //17 全部allin, 或者只有一个未Allin
DezhouPokerSceneStateGameEnd //18 结算状态
DezhouPokerSceneStateMax
)
//玩家操作。当轮第一个下注的是加注。大小盲 不显示任何动作
const (
DezhouPokerPlayerOpNull int32 = iota //0,初始值
DezhouPokerPlayerOpCallAntes //1,下底注
DezhouPokerPlayerOpCall //2,跟进
DezhouPokerPlayerOpFold //3,弃牌
DezhouPokerPlayerOpCheck //4,让牌
DezhouPokerPlayerOpRaise //5,加注
DezhouPokerPlayerOpAllIn //6,全压
DezhouPokerPlayerOpSmallBlind //7,小盲
DezhouPokerPlayerOpBigBlind //8,大盲
DezhouPokerPlayerOpAutoBuyIn //9,自动买入 买入数量
DezhouPokerPlayerOpAutoBuyInCfg //10,请求自动买入配置
DezhouPokerPlayerOpSelectCard //11,选牌
//DezhouPokerPlayerOpSitDown //坐下
//DezhouPokerPlayerOpStandUp //站起
)