80 lines
1.2 KiB
Go
80 lines
1.2 KiB
Go
package api3th
|
|
|
|
import "bytes"
|
|
|
|
// 牌数据转换
|
|
// 1 2 3 4 5 6 7 8 9 10 11 12 13 52 53 =>
|
|
// A 2 3 4 5 6 7 8 9 T J Q K B C
|
|
func CardValueToShowCard(cards []int32) string {
|
|
ret := bytes.NewBuffer([]byte{})
|
|
for _, v := range cards {
|
|
ret.WriteString(AIRecordMap[GetPoint(v)])
|
|
}
|
|
return ret.String()
|
|
}
|
|
|
|
// 扑克牌点数
|
|
func GetPoint(v int32) int32 {
|
|
if v >= 52 {
|
|
return v
|
|
}
|
|
return v%13 + 1
|
|
}
|
|
|
|
var AIRecordMap = map[int32]string{
|
|
53: "C",
|
|
52: "B",
|
|
1: "A",
|
|
2: "2",
|
|
3: "3",
|
|
4: "4",
|
|
5: "5",
|
|
6: "6",
|
|
7: "7",
|
|
8: "8",
|
|
9: "9",
|
|
10: "T",
|
|
11: "J",
|
|
12: "Q",
|
|
13: "K",
|
|
}
|
|
|
|
var AIPointMap = map[string]int32{
|
|
"D": 53,
|
|
"X": 52,
|
|
"C": 53,
|
|
"B": 52,
|
|
"A": 1,
|
|
"2": 2,
|
|
"3": 3,
|
|
"4": 4,
|
|
"5": 5,
|
|
"6": 6,
|
|
"7": 7,
|
|
"8": 8,
|
|
"9": 9,
|
|
"T": 10,
|
|
"J": 11,
|
|
"Q": 12,
|
|
"K": 13,
|
|
}
|
|
|
|
// 德州扑克接入的机器人接口需要的牌定义
|
|
// SHDC 黑红梅方
|
|
// 0:2S 1:3S ... 11:13S 12:1S
|
|
// 13:2H 14:3H ... 24:13H 25:1H
|
|
// 26:2D 27:3D ... 37:13D 38:1D
|
|
// 39:2C 40:3C ... 50:13C 51:1C
|
|
func DZPCardToAICard(card int32) int32 {
|
|
var ret int32
|
|
// 点数
|
|
if card%13 == 0 {
|
|
ret += 12
|
|
} else {
|
|
ret = card%13 - 1
|
|
}
|
|
// 花色
|
|
ret += (3 - card/13) * 13
|
|
return ret
|
|
}
|