samba/server/cacheta/room/cathetaEnum.go
2025-06-04 09:51:39 +08:00

93 lines
1.6 KiB
Go

package room
import (
"fmt"
"samba/server/cacheta/poker"
)
type GameStep int
const (
GsWaitGame GameStep = -1 // 等待玩家进入
GsReadyGame GameStep = 0 // 游戏准备状态
GsDealPoker GameStep = 1 // 发牌
GsPlayerAct GameStep = 3 // 玩家行动
GsCutLine GameStep = 4 // 插队
GsGameSettle GameStep = 5 // 小局或大局结算
)
func (t GameStep) String() string {
switch t {
case GsWaitGame:
return "等待"
case GsReadyGame:
return "准备"
case GsDealPoker:
return "发牌"
case GsPlayerAct:
return "行动"
case GsCutLine:
return "插队"
case GsGameSettle:
return "结算"
default:
return fmt.Sprintf("(%d)", int(t))
}
}
const (
PlayerPokersNum = 9
)
// 暗号表情
type Emote int
const (
EA Emote = 4200 // A
E2 Emote = 4201 // 2
E3 Emote = 4202 // 3
ESpade Emote = 4205 // 黑
EHeart Emote = 4204 // 红
EClub Emote = 4203 // 梅
EDiamond Emote = 4206 // 方
EBigger Emote = 4207 // 大牌
ESmaller Emote = 4208 // 小牌
)
// 暗号表情
func (e Emote) IsSecret() bool {
switch e {
case EA, E2, E3, ESpade, EHeart, EClub, EDiamond, EBigger, ESmaller:
return true
default:
return false
}
}
func (e Emote) String() string {
switch e {
case EA:
return "A"
case E2:
return "2"
case E3:
return "3"
case ESpade:
return poker.Spade.String()
case EHeart:
return poker.Heart.String()
case EClub:
return poker.Club.String()
case EDiamond:
return poker.Diamond.String()
case EBigger:
return "bigger"
case ESmaller:
return "smaller"
default:
return fmt.Sprintf("(%v)", int(e))
}
}