card.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package qznn
  2. type Card struct {
  3. Suit int //1-4,表示花色
  4. Num int //1-13,表示数字
  5. }
  6. type NNCardList struct {
  7. Card1 Card
  8. Card2 Card
  9. Card3 Card
  10. Card4 Card
  11. Card5 Card
  12. }
  13. func GetNNCardList(cardList NNCardList) []uint32 {
  14. return []uint32{
  15. uint32(cardList.Card1.Num + 13*(cardList.Card1.Suit-1)),
  16. uint32(cardList.Card2.Num + 13*(cardList.Card2.Suit-1)),
  17. uint32(cardList.Card3.Num + 13*(cardList.Card3.Suit-1)),
  18. uint32(cardList.Card4.Num + 13*(cardList.Card4.Suit-1)),
  19. uint32(cardList.Card5.Num + 13*(cardList.Card5.Suit-1)),
  20. }
  21. }
  22. func GetNNCardListLimit(cardList NNCardList, count int) []uint32 {
  23. if count == 0 {
  24. return []uint32{}
  25. }
  26. listItem := GetNNCardList(cardList)
  27. switch count {
  28. case 0:
  29. return []uint32{}
  30. case 1:
  31. return listItem[0:1]
  32. case 2:
  33. return listItem[0:2]
  34. case 3:
  35. return listItem[0:3]
  36. case 4:
  37. return listItem[0:4]
  38. case 5:
  39. return listItem[0:5]
  40. default:
  41. panic("数量异常")
  42. }
  43. }
  44. func CardList2NNCardList(cardList []Card) NNCardList {
  45. nnCardList := NNCardList{
  46. Card1: cardList[0],
  47. Card2: cardList[1],
  48. Card3: cardList[2],
  49. Card4: cardList[3],
  50. Card5: cardList[4],
  51. }
  52. return nnCardList
  53. }