打牌, 首先就应该从最基础的扑克牌类入手
单个牌来说 斗地主3最小, 然后依次是 ... K, A, 2, 小王, 大王
// 花色
const (
flowerNIL int = iota // 留空
flowerHEITAO // 黑桃(小王)
flowerHONGTAO // 红桃(大王)
flowerMEIHUA // 梅花
flowerFANGKUAI // 方块
)
// 点数
const (
cardPointNIL int = iota // 留空
cardPoint3
cardPoint4
cardPoint5
cardPoint6
cardPoint7
cardPoint8
cardPoint9
cardPointT
cardPointJ
cardPointQ
cardPointK
cardPointA
cardPoint2
cardPointX // 小王
cardPointY // 大王
)
我们定义所有扑克牌的牌值是 1 - 54 正好对应54张牌, 这样每张牌都有自己的牌值,花色,点数
// TCard 扑克牌类
type TCard struct {
nValue int // 牌值
nFlower int // 花色
nPoint int // 点数
}
// NewCard 新建卡牌
func NewCard(nValue int) *TCard {
p := &TCard{}
p.nValue = nValue
p.nFlower = toFlower(nValue)
p.nPoint = toCardValue(nValue)
return p
}
// 从牌值获取花色
func toFlower(nValue int) int