147 lines
3.7 KiB
Go
147 lines
3.7 KiB
Go
package samloc
|
|
|
|
import (
|
|
"fmt"
|
|
"log"
|
|
"sort"
|
|
"testing"
|
|
)
|
|
|
|
func TestPoker(t *testing.T) {
|
|
// 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 一条龙
|
|
//
|
|
card := []int32{12, 11, 7, 6, 5, 4, 3, 2, 1, 0}
|
|
ty, lc := CardLore(card)
|
|
fmt.Println(ty, lc)
|
|
}
|
|
|
|
func TestGetPokerType(t *testing.T) {
|
|
|
|
cards := []int32{2, 2, 2, 2, 4, 4, 4, 4}
|
|
cards1 := []int32{0, 1, 2}
|
|
kind := GetCardKind(cards)
|
|
kind1 := GetCardKind(cards1)
|
|
aards := []int32{12, 1, 0, 24, 11}
|
|
log.Println("####################4 ", kind)
|
|
ret := kind.OutPokers(aards)
|
|
fmt.Println(ret)
|
|
fmt.Println(kind.ktype, kind.min, kind.max, CompareCard(kind, cards1), CompareCardKind(kind, kind1))
|
|
}
|
|
|
|
func TestRemoveCard(t *testing.T) {
|
|
|
|
recards := []int32{9, 8, 7, 6, 19}
|
|
cards := []int32{10, 9, 8, 7, 6, 1, 19, 22, 51}
|
|
flag := RemoveCard(recards, &cards)
|
|
fmt.Println(flag, cards)
|
|
}
|
|
|
|
func TestHeadHintOut(t *testing.T) {
|
|
lastKind := &KindOfCard{}
|
|
lastKind.kind = Single
|
|
lastKind.min = 3
|
|
lastKind.len = 1
|
|
cards := []int32{12, 51, 11}
|
|
_, err := headHintOut(cards, nil)
|
|
log.Println("####################", err)
|
|
|
|
}
|
|
|
|
func TestDelOtherPOKER2(t *testing.T) {
|
|
|
|
cards := []int32{26, 2, 15, 19, 34, 22, 48, 10, 11, 24}
|
|
ret := DelOtherPOKER2(cards, []int32{11})
|
|
log.Println("####################", ret, cards)
|
|
|
|
}
|
|
|
|
func TestTickOut(t *testing.T) {
|
|
lcards := []int32{2, 1, 0} //{33, 46}
|
|
lastKind := GetCardKind(lcards)
|
|
cards := []int32{9, 8, 7, 6, 5, 4, 3, 2, 1, 0} //{0, 2, 15, 28, 41, 4, 17, 30, 43}
|
|
ret := TickOut(cards, lastKind, false)
|
|
log.Println("####################", ret, cards)
|
|
|
|
}
|
|
func TestALL(t *testing.T) {
|
|
cards := []int32{12, 11, 8, 7, 43, 30, 3, 2, 1, 0}
|
|
p := ptstr32m(cards)
|
|
log.Println("####################", p)
|
|
ret := &Kds{
|
|
//kd: ret,
|
|
}
|
|
ret.kd = append(ret.kd, allfindStraight(p, 1, 3)...)
|
|
ret.kd = append(ret.kd, findKindCommon(p, 2)...)
|
|
ret.kd = append(ret.kd, findKindCommon(p, 3)...)
|
|
ret.kd = append(ret.kd, findKindCommon(p, 4)...)
|
|
|
|
sort.Sort(ret)
|
|
// log.Println("####################", len(ret))
|
|
for _, v := range ret.kd {
|
|
log.Println("#################### ret1", v, v.OutPokers(cards))
|
|
}
|
|
}
|
|
|
|
func TestStraight(t *testing.T) {
|
|
cards := []int32{12, 11, 8, 7, 43, 30, 3, 2, 1, 0}
|
|
p := ptstr32m(cards)
|
|
log.Println("####################", p)
|
|
ret := findStraight(p, 1, 3)
|
|
ret[0], ret[1] = ret[1], ret[0]
|
|
for _, v := range ret {
|
|
log.Println("####################", v, v.OutPokers(cards))
|
|
}
|
|
ret1 := &Kds{
|
|
kd: ret,
|
|
}
|
|
sort.Sort(ret1)
|
|
// log.Println("####################", len(ret))
|
|
for _, v := range ret1.kd {
|
|
log.Println("#################### ret1", v, v.OutPokers(cards))
|
|
}
|
|
|
|
ret = allfindStraight(p, 1, 3)
|
|
// log.Println("####################", len(ret))
|
|
for _, v := range ret {
|
|
log.Println("####################", v, v.OutPokers(cards))
|
|
}
|
|
|
|
}
|
|
|
|
func TestCommon(t *testing.T) {
|
|
cards := []int32{26, 2, 15, 28, 41, 22, 48, 10, 11, 24}
|
|
p := pt32m(cards)
|
|
ret := findKindCommon(p, 4)
|
|
// log.Println("####################", len(ret))
|
|
for _, v := range ret {
|
|
log.Println("####################", v, v.OutPokers(cards))
|
|
}
|
|
|
|
}
|
|
|
|
//牌序- 2, A, K, Q, J, 10, 9, 8, 7, 6, 5, 4, 3
|
|
//红桃- 51,50,49,48,47,46,45,44,43,42,41,40,39
|
|
//方片- 38,37,36,35,34,33,32,31,30,29,28,27,26
|
|
//梅花- 25,24,23,22,21,20,19,18,17,16,15,14,13
|
|
//黑桃- 12,11,10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
|
|
|
|
func TestAlls(t *testing.T) {
|
|
|
|
lcards := []int32{} //{33, 46}
|
|
lastKind := GetCardKind(lcards)
|
|
fmt.Println(lastKind)
|
|
// 4, 0, 1, 2, 9, 22, 35
|
|
cards := []int32{0, 13, 24, 37} //10, 36, 9, 22, 12, 25 // 2, 3, 16, 30, 31, 8, 47, 9, 22, 11
|
|
|
|
/*v, err := selectOut(cards, nil,
|
|
[][]int32{}, 1)
|
|
ret, lcards := v.outPokers(cards)*/
|
|
warn := false
|
|
ret, lcards, err := SelectOut(cards, lastKind, [][]int32{{1, 14}}, warn, 0)
|
|
log.Println("####################", err)
|
|
fmt.Println(ret, lcards, cards)
|
|
|
|
//v.Print(os.Stdout)
|
|
|
|
}
|