CardType={[0]="黑桃",[1]="红桃",[2]="草花",[3]="方片"}
CardValue={[1]='A',[2]='2',[3]='3',[4]='4',[5]='5',[6]='6',[7]='7',[8]='8',[9]='9',[10]='10',[11]='J',[12]='Q',[0]='K'}
--数字转牌0~51。
function Num2Card(num)
if num < 0 or num > 51 then return nil end
type = math.floor(num/13)
value = num%13
return CardType[type]..CardValue[value]
end
--初始化牌,0~51到list
function InitCard(cardlist)
for i=0,51 do
table.insert(cardlist,i)
end
end
--随机获取list一个值,然后删除,随机范围-1
function SendCard(cardlist)
if #cardlist==0 then return -1 end
cardnum = math.random(1,#cardlist)
result = cardlist[cardnum]
table.remove(cardlist,cardnum)
return result,#cardlist
end
cardlist = {}
InitCard(cardlist)
--随机种子
math.randomseed( os.time() ) math.random()
while #cardlist~=0 do
cardvalue = SendCard(cardlist)
print( Num2Card(cardvalue) )
end
用lua随手写的扑克发牌方案
最新推荐文章于 2022-05-30 18:26:58 发布