注册 登录
编程论坛 VB.NET论坛

新手初来报道,求先生指导。

lihaorong 发布于 2013-08-13 22:25, 562 次点击
这是一个洗牌程序,可以多副牌,我用label记录每张牌出现的次数,当牌出现次数超出牌的副数重新抽取牌。

以下这一段代码,总是令程序卡死。能否将检查该成Function来做呢?或者有什么好的方法检查每张牌不会超出牌的副数?上传代码求修改、指导。

只有本站会员才能查看附件,请 登录


程序代码:

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 编辑 ]
1 回复
#2
lihaorong2013-08-13 22:25
回复 楼主 lihaorong
只有本站会员才能查看附件,请 登录
1