37 lines
827 B
Go
37 lines
827 B
Go
![]() |
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
|
||
|
}
|
||
|
}
|