93 lines
1.6 KiB
Go
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))
|
||
|
}
|
||
|
}
|