client/lua_probject/extend_project/extend/poker/runfast/CardCheck.lua

921 lines
29 KiB
Lua
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

local CardCheck = {
cardList = {},
cardListSord = {},
cardNum = 0,
cardSize = 0,
long = false,
planeNoBelt = false,
threeNoBelt = false,
planelack = false,
threelack = false,
fourDaiThree = false,
fristCard = true,
haveRuleCard = false,
tipCardList = {},
touchCardSet = {},
touchCardMao = {}
}
local CardType = {
one = 1,
long = 2,
dui = 3,
duiLong = 10,
threeAndTwo = 4,
normolPlant = 5,
zha = 6,
onlyThree = 7,
onlyPlant = 8,
zhaAndThreee = 9,
lessThree = 11,
lessPlant = 12
}
local M = CardCheck
function M:InitFlag()
local config = DataManager.CurrenRoom.room_config.config
self.planeNoBelt = config.planeNoBelt == 1
self.threeNoBelt = config.threeNoBelt == 1
self.planelack = config.planelack == 1
self.threelack = config.threelack == 1
self.fourDaiThree = config.fourDaiThree
self.rule = config.rule
self._flag_fristCard = true
print("==============================lingmengcheckinitFlag")
pt(config)
pt(self)
return self
end
function M:InitLastCard(cardList, mustPutMaxCard)
self._flag_fristCard = false
self:Clear()
self._flag_mustMax = mustPutMaxCard
self.type = 0
self.specilCard = {}
self.lastCardNum = #cardList
self._flag_allCards = false
self._flag_checkLst = true
if #cardList == 0 then
self._flag_fristCard = true
return
end
table.sort(cardList)
pt(cardList)
self.lastMinCard = math.floor(cardList[1] / 10)
local temp_long = 0
for i = 1, #cardList do
local number = math.floor(cardList[i] / 10)
if self.cardList[number] then
self.cardList[number] = self.cardList[number] + 1
else
self.cardList[number] = 1
self.cardSize = self.cardSize + 1
table.insert(self.cardListSord, number)
end
self.cardNum = self.cardNum + 1
if i == 1 then
temp_long = 1
elseif temp_long == i - 1 then
if math.abs(math.floor(cardList[i - 1] / 10) - number) == 1 then
temp_long = i
end
end
end
self.long = temp_long == self.cardNum and self.cardNum >= 5
print("lingmengCheckAloneOrLong2")
if self:CheckAloneOrLong() then
self.type = self:CheckAloneOrLong()
return
end
print("lingmengCheckDuiZi2")
if self:CheckDuiZi() then
self.type = self:CheckDuiZi()
return
end
print("lingmengCheckSanDai2")
if self:CheckSanDai() then
local a, b, c = self:CheckSanDai()
self.type = a
if b then
self.specilCard = b
end
if c then
self.lastMinCard = c
end
return
end
print("lingmengCheckZha2")
if self:CheckZha() then
local a, b, c = self:CheckZha()
self.type = a
if b then
self.specilCard = b
end
if c then
self.lastMinCard = c
end
return
end
if self.type == 0 then
-- ViewUtil.ErrorTip(-1, "上一份牌型判断错误")
end
end
function M:initCards(cardList, data)
print("lingmenginitCards")
pt(cardList)
local temp_long = 0
data = data or {}
self:Clear()
self._flag_allCards = data.flag_allCards or false
self._flag_ruleCard = data.flag_ruleCard or false
if data.flag then
for i = 1, #cardList do
if cardList[i].card_code_number == 34 then
self.haveRuleCard = true
end
local number = math.floor(cardList[i][1].card_code_number / 10)
if self.cardList[number] then
self.cardList[number] = self.cardList[number] + 1
else
self.cardList[number] = 1
self.cardSize = self.cardSize + 1
table.insert(self.cardListSord, number)
end
self.cardNum = self.cardNum + 1
if i == 1 then
temp_long = 1
elseif temp_long == i - 1 then
if math.abs(math.floor(cardList[i - 1][1].card_code_number / 10) - number) == 1 then
temp_long = i
end
end
end
else
for i = 1, #cardList do
if cardList[i].card_code_number == 34 then
self.haveRuleCard = true
end
local number = math.floor(cardList[i].card_code_number / 10)
if self.cardList[number] then
self.cardList[number] = self.cardList[number] + 1
else
self.cardList[number] = 1
self.cardSize = self.cardSize + 1
table.insert(self.cardListSord, number)
end
self.cardNum = self.cardNum + 1
if i == 1 then
temp_long = 1
elseif temp_long == i - 1 then
if math.abs(math.floor(cardList[i - 1].card_code_number / 10) - number) == 1 then
temp_long = i
end
end
end
end
print(self.cardNum, self.cardSize, temp_long)
pt(self.cardList)
self.long = temp_long == self.cardNum and self.cardNum >= 5
end
function M:CheckCards()
if self.cardNum ~= 4 and self.cardNum ~= self.lastCardNum and not self._flag_fristCard then
return
end
if self.cardNum == 1 and self._flag_mustMax and self.maxCard ~= self.cardListSord[1] then
return
end
if self.cardNum == 0 then
return
end
if self.rule == 1 and self._flag_ruleCard and DataManager.CurrenRoom.curren_round == 1 and not self.haveRuleCard then
return
end
print("lingmeng self.lastMinCard", self.lastMinCard)
print("lingmengCheckAloneOrLong")
if self:CheckAloneOrLong() then
return true
end
print("lingmengCheckDuiZi")
if self:CheckDuiZi() then
return true
end
print("lingmengCheckSanDai")
if self:CheckSanDai() then
if self._flag_fristCard then
return true
end
local a, b, c = self:CheckSanDai()
self.type = a
if b then
self.specilCard = b
end
if c then
return c > (self.lastMinCard or 0)
end
return true
end
print("lingmengCheckZha")
if self:CheckZha() then
return true
end
return false
end
function M:CheckOutCard(cardList)
print("lingmengCheckOutCard===============")
pt(cardList)
self.tipCardList = {}
self.touchCardSet = {}
self.touchCardMao = {}
local cardMap = {}
local cardSet = {}
local temp_long = 0
local temp_longList = {}
local longList = {}
local lastCard = -1
local flag_threeOrFour = false
for i = 1, #cardList do
local number = math.floor(cardList[i].card_code_number / 10)
if cardMap[number] then
cardMap[number].value = cardMap[number].value + 1
table.insert(cardMap[number].cardList, cardList[i])
else
cardMap[number] = {}
cardMap[number].value = 1
cardMap[number].cardList = {}
table.insert(cardMap[number].cardList, cardList[i])
table.insert(cardSet, number)
end
if cardMap[number].value >= 3 then
flag_threeOrFour = true
end
if lastCard ~= number then
if lastCard - number ~= 1 then
if temp_long >= 5 then
table.insert(longList, temp_longList)
end
temp_long = 1
temp_longList = {}
else
temp_long = temp_long + 1
end
lastCard = number
table.insert(temp_longList, number)
end
end
if temp_long >= 4 then
table.insert(longList, temp_longList)
end
table.sort(cardSet)
self.maxCard = cardSet[#cardSet]
if self._flag_fristCard then
if self._flag_mustMax then
self:CheckOutCardGetMustMax(cardSet, cardMap, flag_threeOrFour, longList)
else
self:CheckOutCardGetFristTipList(cardSet, cardMap)
end
return
end
local cardType, only, longLength = self:CheckOutCardGetType()
local tipCardSet = self:CheckOutCardGetTouchSet(cardSet, cardMap, cardType, longLength)
self:CheckOutCardSetTipList(tipCardSet, longLength, cardMap, cardType)
if cardType >= 3 and only == 0 then
self:CheckOutCardGetAllCardSetAndMap()
end
end
function M:CheckOutCardGetAllCardSetAndMap()
self.touchCardSet = {}
self.touchCardMao = {}
for i = 3, 15 do
table.insert(self.touchCardSet, i)
self.touchCardMao[i] = 1
end
end
function M:CheckOutCardGetFristTipList(cardSet, cardMap)
for i = 1, #cardSet do
local card = cardSet[i]
table.insert(self.touchCardSet, card)
self.touchCardMao[card] = 1
local temp = {}
table.insert(temp, cardMap[card].cardList[1])
table.insert(self.tipCardList, temp)
end
end
function M:CheckOutCardGetMustMax(cardSet, cardMap, flag_threeOrFour, longList)
if flag_threeOrFour then
for i = 3, 15 do
if cardMap[i] then
if i == cardSet[#cardSet] then
table.insert(self.touchCardSet, i)
self.touchCardMao[i] = 1
table.insert(self.tipCardList, cardMap[i].cardList)
elseif cardMap[i].value >= 2 then
table.insert(self.touchCardSet, i)
self.touchCardMao[i] = 1
table.insert(self.tipCardList, cardMap[i].cardList)
else
table.insert(self.touchCardSet, i)
self.touchCardMao[i] = 1
end
else
table.insert(self.touchCardSet, i)
self.touchCardMao[i] = 1
end
end
else
for i = 1, #cardSet do
local card = cardSet[i]
if i == #cardSet then
table.insert(self.touchCardSet, card)
self.touchCardMao[card] = 1
table.insert(self.tipCardList, cardMap[card].cardList)
elseif cardMap[card].value >= 2 then
table.insert(self.touchCardSet, card)
self.touchCardMao[card] = 1
table.insert(self.tipCardList, cardMap[card].cardList)
end
end
end
---单数顺另外添加到提示和现实
for i = 1, #longList do
local tempTipList = {}
for j = 1, #longList[i] do
local card = longList[i][j]
if not self.touchCardMao[card] then
table.insert(self.touchCardSet, card)
self.touchCardMao[card] = 1
end
table.insert(tempTipList, cardMap[card].cardList[1])
end
table.insert(self.tipCardList, tempTipList)
end
end
function M:CheckOutCardGetType()
local cardType = 0
local only = 0
local longLength = 1
if self.type == 0 then
return cardType, only, longLength
end
if self.type == CardType.one or self.type == CardType.long then
cardType = 1
if self.type == CardType.long then
longLength = self.lastCardNum
end
elseif self.type == CardType.dui or self.type == CardType.duiLong then
cardType = 2
if self.lastCardNum > 2 then
longLength = self.lastCardNum / 2
end
elseif self.type == CardType.threeAndTwo or self.type == CardType.onlyThree or self.type == CardType.lessThree or self.type == CardType.normolPlant or self.type == CardType.onlyPlant or self.type == CardType.lessPlant then
cardType = 3
if self.type == CardType.onlyThree or self.type == CardType.onlyPlant then
only = 1
if self.type == CardType.onlyPlant then
longLength = self.lastCardNum / 3
end
end
if self.type == CardType.normolPlant then
longLength = self.lastCardNum / 5
end
elseif self.type == CardType.zha or self.type == CardType.zhaAndThreee then
cardType = 4
if self.type == CardType.zha then
only = 1
end
end
return cardType, only, longLength
end
function M:CheckOutCardGetTouchSet(cardSet, cardMap, cardType, longLength)
print("lingmengCheckOutCardGetTouchSet", cardType, longLength, self.lastMinCard)
pt(cardSet)
pt(cardMap)
local tempLong = 0
local lastCard = 0
local tempCardSet = {}
local tipCardSet = {}
local ZhaCardList = {}
for i = 1, #cardSet do
local card = cardSet[i]
if cardMap[card].value >= cardType and card > self.lastMinCard and cardMap[card].value ~= 4 then
if tempLong == 0 then
tempLong = 1
else
if lastCard - card == -1 then
tempLong = tempLong + 1
else
if tempLong >= longLength and (cardType ~= 1 or longLength >= 5 or not self._flag_mustMax) then
for j = 1, tempLong do
table.insert(self.touchCardSet, tempCardSet[j])
self.touchCardMao[tempCardSet[j]] = 1
end
end
table.insert(tipCardSet, tempCardSet)
tempLong = 1
tempCardSet = {}
end
end
table.insert(tempCardSet, card)
lastCard = card
end
if cardMap[card].value == 4 then
table.insert(self.touchCardSet, card)
self.touchCardMao[card] = 1
table.insert(ZhaCardList, card)
end
end
if tempLong >= longLength then
for j = 1, tempLong do
if cardType ~= 1 or longLength >= 5 or not self._flag_mustMax or j == tempLong then
table.insert(self.touchCardSet, tempCardSet[j])
self.touchCardMao[tempCardSet[j]] = 1
end
end
end
table.insert(tipCardSet, tempCardSet)
--进行排序
local tipSortTemp = {}
for i = 1, #tipCardSet do
local temoNum = 0
for k, v in ipairs(tipCardSet[i]) do
temoNum = temoNum + (cardMap[v].value > cardType and 1 or 0)
end
table.insert(tipSortTemp, { index = i, value = temoNum, long = #tipCardSet[i] })
end
table.sort(tipSortTemp, function(a, b)
if a.value == b.value then
return a.long < b.long
else
return a.value < b.value
end
end)
local tipCardSetcopy = {}
for i, v in ipairs(tipSortTemp) do
table.insert(tipCardSetcopy, tipCardSet[v.index])
end
tipCardSet = tipCardSetcopy
--
for i = 1, #ZhaCardList do
table.insert(tipCardSet, ZhaCardList[i])
end
return tipCardSet
end
local function GetNumList(cardMap, tempSanDaiCard)
local removeSanDaiList = { {}, {}, {}, {} }
local removeSanDaiList2 = {}
local tempNum = 0
for k = 3, 15 do
if cardMap[k] then
local v = cardMap[k]
if not tempSanDaiCard or not tempSanDaiCard[k] then
table.insert(removeSanDaiList[v.value], v.cardList)
tempNum = tempNum + v.value
for i, v1 in ipairs(v.cardList) do
table.insert(removeSanDaiList2, v1)
end
end
end
end
return removeSanDaiList, removeSanDaiList2, tempNum
end
local function getTableAndNumIndex(pos, ...)
local a = { ... }
for i, v in ipairs(a) do
if pos <= #v then
return i, pos
else
pos = pos - #v
end
end
--最多两圈
for i, v in ipairs(a) do
if pos <= #v then
return i, pos
else
pos = pos - #v
end
end
end
function M:CheckOutCardSetTipList(tipCardSet, longLength, cardMap, cardType)
print("lingmengCheckOutCardSetTipList", longLength, cardMap, cardType)
pt(tipCardSet)
--不是飞机,且单张牌的时候按照按照牌的数量
if self.type ~= 4 and self.type ~= 5 and longLength == 1 then
--先生成可以用于便利的map
local cardMap2 = {}
local zhaList
for k, v in ipairs(tipCardSet) do
if type(v) == 'number' then
zhaList = {}
for i, v1 in ipairs(cardMap[v].cardList) do
table.insert(zhaList, v1)
end
else
for k1, v1 in ipairs(v) do
cardMap2[v1] = cardMap[v1]
end
end
end
local removeSanDaiList, removeSanDaiList2, tempNum = GetNumList(cardMap2)
local tempList = {}
local danListNum = #removeSanDaiList[1]
local duiListNum = #removeSanDaiList[2]
local sanListNum = #removeSanDaiList[3]
local zhaListNum = #removeSanDaiList[4]
if cardType == 1 then
for i = 1, danListNum + duiListNum + sanListNum + zhaListNum do
tempList = {}
local ti, ni = getTableAndNumIndex(i, removeSanDaiList[1], removeSanDaiList[2], removeSanDaiList[3],
removeSanDaiList[4])
table.insert(tempList, removeSanDaiList[ti][ni][1])
table.insert(self.tipCardList, tempList)
end
else
for i = 1, duiListNum + sanListNum + zhaListNum do
tempList = {}
local ti, ni = getTableAndNumIndex(i, removeSanDaiList[2], removeSanDaiList[3],
removeSanDaiList[4])
ti = ti + 1
table.insert(tempList, removeSanDaiList[ti][ni][1])
table.insert(tempList, removeSanDaiList[ti][ni][2])
table.insert(self.tipCardList, tempList)
end
end
if zhaList then
table.insert(self.tipCardList, zhaList)
end
else
for i = 1, #tipCardSet do
if type(tipCardSet[i]) == 'number' then
table.insert(self.tipCardList, cardMap[tipCardSet[i]].cardList)
else
local tipCardSetLen = #tipCardSet[i]
if tipCardSetLen == longLength then
local tempList = {}
local tempSanDaiCard = {}
for j = 1, tipCardSetLen do
local card = tipCardSet[i][j]
tempSanDaiCard[card] = true
local minNum = Mathf.Min(cardMap[card].value, cardType)
for k = 1, minNum do
if cardType ~= 1 or longLength >= 5 or not self._flag_mustMax or card == self.maxCard then
table.insert(tempList, cardMap[card].cardList[k])
end
end
end
if #tempList > 0 then
if self.type == 4 or self.type == 5 then
local removeSanDaiList, removeSanDaiList2, tempNum = GetNumList(cardMap, tempSanDaiCard)
if tempNum <= longLength * 2 then
table.insert(self.tipCardList, tempList)
else
self:GetSanDaiTips(tempList, longLength * 2, removeSanDaiList, removeSanDaiList2)
end
else
table.insert(self.tipCardList, tempList)
end
end
else
for j = 1, tipCardSetLen do
if j + longLength - 1 <= tipCardSetLen then
local tempList = {}
local tempSanDaiCard = {}
for k = j, j + longLength - 1 do
local card = tipCardSet[i][k]
tempSanDaiCard[card] = true
local minNum = Mathf.Min(cardMap[card].value, cardType)
for l = 1, minNum do
if cardType ~= 1 or longLength >= 5 or not self._flag_mustMax or card == self.maxCard then
table.insert(tempList, cardMap[card].cardList[l])
end
end
end
if #tempList > 0 then
if self.type == 4 or self.type == 5 then
local removeSanDaiList, removeSanDaiList2, tempNum = GetNumList(cardMap,
tempSanDaiCard)
if tempNum <= longLength * 2 then
table.insert(self.tipCardList, tempList)
else
self:GetSanDaiTips(tempList, longLength * 2, removeSanDaiList, removeSanDaiList2)
end
else
table.insert(self.tipCardList, tempList)
end
end
end
end
end
end
end
end
end
function M:GetSanDaiTips(tempList, childNum, cardList, cardList2)
local childIndex = {}
local cardLen = #cardList2
local danListNum = #cardList[1]
local duiListNum = #cardList[2]
local sanListNum = #cardList[3]
local zhaListNum = #cardList[4]
--先填充13的每个
if childNum <= danListNum + sanListNum then
for i = 1, danListNum + sanListNum do
local tempList_copy = {}
for k, v in ipairs(tempList) do
tempList_copy[k] = v
end
for k1 = 0, childNum - 1 do
local ti, ni = getTableAndNumIndex(i + k1, cardList[1], cardList[3])
if ti == 2 then
ti = 3
end
table.insert(tempList_copy, cardList[ti][ni][1])
end
table.insert(self.tipCardList, tempList_copy)
end
end
--再填充234的两个
if childNum / 2 <= duiListNum + sanListNum + zhaListNum then
for i = 1, duiListNum + sanListNum + zhaListNum do
local tempList_copy = {}
for k, v in ipairs(tempList) do
tempList_copy[k] = v
end
for k1 = 0, math.floor(childNum / 2) - 1 do
local ti, ni = getTableAndNumIndex(i + k1, cardList[2], cardList[3], cardList[4])
ti = ti + 1
table.insert(tempList_copy, cardList[ti][ni][1])
table.insert(tempList_copy, cardList[ti][ni][2])
end
table.insert(self.tipCardList, tempList_copy)
end
end
for i = 1, childNum do
childIndex[i] = i
end
while childIndex[1] <= cardLen - childNum do
if childIndex[childNum] == cardLen then
for i = childNum - 1, 1, -1 do
if childIndex[i] ~= cardLen + i - childNum then
childIndex[i] = childIndex[i] + 1
for j = i + 1, childNum do
childIndex[j] = childIndex[j - 1] + 1
end
end
end
else
childIndex[childNum] = childIndex[childNum] + 1
end
local tempList_copy = {}
for i, v in ipairs(tempList) do
tempList_copy[i] = v
end
for i = 1, childNum do
table.insert(tempList_copy, cardList2[childIndex[i]])
end
table.insert(self.tipCardList, tempList_copy)
end
end
function M:CheckAloneOrLong()
if self.cardNum == 1 and M:CheckType(CardType.one) then
return CardType.one
end
if self.long and M:CheckType(CardType.long) then
return CardType.long
end
end
function M:CheckDuiZi()
if self.cardNum == 2 and self.cardSize == 1 and M:CheckType(CardType.dui) then
return CardType.dui
end
if self.cardNum % 2 == 0 and M:CheckType(CardType.duiLong) then
local last_k
for i = 1, self.cardSize do
local k = self.cardListSord[i]
local v = self.cardList[k]
if v == 2 then
if not last_k then
last_k = k
else
if math.abs(last_k - k) ~= 1 then
return
end
last_k = k
end
else
return
end
end
return CardType.duiLong
end
end
--三带有着不同比大小极致,需要返回是哪些牌三带和最小的三带牌
function M:CheckSanDai()
--三张
if self.cardNum == 5 and M:CheckType(CardType.threeAndTwo) then
for i = 1, self.cardSize do
local k = self.cardListSord[i]
local v = self.cardList[k]
if v >= 3 then
return CardType.threeAndTwo, { k }, k
end
end
end
if self.threelack and self.cardNum == 4 and self.cardSize == 2 and M:CheckType(CardType.lessThree) then
for i = 1, self.cardSize do
local k = self.cardListSord[i]
local v = self.cardList[k]
if v >= 3 then
return CardType.lessThree, { k }, k
end
end
return CardType.lessThree
end
if self.threeNoBelt and self.cardNum == 3 and self.cardSize == 1 and M:CheckType(CardType.onlyThree) then
return CardType.onlyThree
end
--飞机
local temp_normol_feiji
if self.cardNum % 5 == 0 then
temp_normol_feiji = self.cardNum / 5
end
if temp_normol_feiji and M:CheckType(CardType.normolPlant) then
local last_k
local key_table = {}
for i = 1, self.cardSize do
local k = self.cardListSord[i]
local v = self.cardList[k]
if v >= 3 then
table.insert(key_table, k)
if not last_k then
last_k = k
else
if math.abs(last_k - k) ~= 1 then
return
end
last_k = k
end
end
end
if #key_table >= temp_normol_feiji then
return CardType.normolPlant, key_table, key_table[1]
else
return
end
end
print("liengmengCheckthreelack", self.threelack, self._flag_allCards)
if self.threelack and M:CheckType(CardType.lessPlant) then
local last_k
local key_table = {}
local num_four = 0
for i = 1, self.cardSize do
local k = self.cardListSord[i]
local v = self.cardList[k]
if v >= 3 then
if v == 4 then
num_four = 1
end
table.insert(key_table, k)
print("liengmengCheckthreelack2", last_k, k)
if not last_k then
last_k = k
else
if math.abs(last_k - k) ~= 1 then
return
end
last_k = k
end
end
end
print("liengmengCheckthreelack4", #key_table, self.cardNum - #key_table * 3 < #key_table * 2)
if self.cardNum - #key_table * 3 < #key_table * 2 and not (self.cardNum == 4 and num_four == 1) then
return CardType.lessPlant, key_table, key_table[1]
else
return
end
end
print("liengmengCheckplaneNoBelt", self.planeNoBelt, self.cardNum % 3)
if self.planeNoBelt and self.cardNum % 3 == 0 and M:CheckType(CardType.onlyPlant) then
local last_k
for i = 1, self.cardSize do
local k = self.cardListSord[i]
local v = self.cardList[k]
if v == 3 then
if not last_k then
last_k = k
else
if math.abs(last_k - k) ~= 1 then
return
end
last_k = k
end
else
return
end
end
return CardType.onlyPlant
end
end
function M:CheckZha()
if self.cardNum == 4 and self.cardSize == 1 then
return CardType.zha
end
if self.fourDaiThree and self.cardNum == 7 and M:CheckType(CardType.zhaAndThreee) then
local flag_four
for i = 1, self.cardSize do
local k = self.cardListSord[i]
local v = self.cardList[k]
if v == 4 then
return CardType.zhaAndThreee, { k }, k
end
end
return
end
end
function M:CheckType(type)
if type == CardType.duiLong then
return self._flag_checkLst or self._flag_fristCard or (type == self.type and self.cardNum == self.lastCardNum)
elseif type == CardType.lessPlant or type == CardType.lessThree then
return self._flag_checkLst or (self._flag_fristCard and self._flag_allCards) or type == self.type
else
return self._flag_checkLst or self._flag_fristCard or type == self.type
end
end
function M:GetTipsList()
return self.tipCardList
end
function M:GetTouchSet()
return self.touchCardSet
end
function M:GetTouchCardMap()
return self.touchCardMao
end
function M:Clear()
self.cardList = {}
self.cardListSord = {}
self.cardNum = 0
self.cardSize = 0
self.long = false
self._flag_checkLst = false
self.haveRuleCard = false
end
return M