新手初来报道,求先生指导。
这是一个洗牌程序,可以多副牌,我用label记录每张牌出现的次数,当牌出现次数超出牌的副数重新抽取牌。以下这一段代码,总是令程序卡死。能否将检查该成Function来做呢?或者有什么好的方法检查每张牌不会超出牌的副数?上传代码求修改、指导。
洗牌雏码.zip
(68.35 KB)
程序代码:
For I = 0 To Text1.Text - 1 pf: Randomize Timer p = Int(Rnd * 51) If Int(Label2(Str(Cards(p)))) = Text2.Text Then GoTo pf Label2(Str(Cards(p))) = Label2(Str(Cards(p))) + 1 imgCards(I).Picture = pcpResource.GraphicCell(Cards(p)) Select Case Cards(p) Case 0 To 12 imgCards(I).Tag = "Clubs" & Str(Cards(p) + 1) Case 13 To 25 imgCards(I).Tag = "Diamonds" & Str(Cards(p) - 12) Case 26 To 38 imgCards(I).Tag = "Hearts" & Str(Cards(p) - 25) Case 39 To 51 imgCards(I).Tag = "Spades" & Str(Cards(p) - 38) End Select Next I
[ 本帖最后由 lihaorong 于 2013-8-13 22:26 编辑 ]