samba/server/truco/poker/interface.go

37 lines
827 B
Go
Raw Normal View History

2025-06-04 09:51:39 +08:00
package poker
import . "samba/util/playtype"
type IPokerGenerator interface {
DebugSortPoker() string
// Cmp p1<p2:CppSmall
Cmp(p1, p2 *Poker) CmpPokerPoint
Shuffle()
IsBigPoker(pk *Poker, rank int) bool
SetGmPoker(gmPokers [][]int, ghostPoker int, seat int)
Pokers() []*Poker
//AllPokersCount() int
GhostPoker() *Poker
MaxPoint() Point
GetColorValue(pk *Poker) int
// IsGoodPoker 是否好牌
IsGoodPoker(pk *Poker) bool
// IsBadPoker 是否差牌
IsBadPoker(pk *Poker) bool
}
func NewPokerGenerator(playType PlayType) IPokerGenerator {
switch playType {
case PtPaulistaClean:
return NewPaulistaCleanPokers()
case PtPaulistaDirty:
return NewPaulistaDirtyPokers()
case PtMineiroClean:
return NewMineiroCleanPokers()
case PtMineiroDirty:
return NewMineiroDirtyPokers()
default:
return nil
}
}