t

Wanted to simulate 52 unique cards that were produced at a random order.

Private Sub CardArray()

Dim MaxCards As Integer = 52

Dim CCard, i As Integer

Dim CardArr(0 To 51) As Integer

Dim CArrPos As Integer = 0

Do Until CArrPos = MaxCards

CReTry:

CCard = Int((MaxCards – 1 + 1) * Rnd()) + 1

For i = 0 To CArrPos

If CCard = CardArr(i) Then

GoTo CReTry

End If

Next i

CardArr(CArrPos) = CCard

CArrPos = CArrPos + 1

MsgBox(" Your card: " & vbNewLine & _

" " & CardFace(CCard), , "")

Loop

End Sub

I call the sub from image on click event

A Message box is displayed for each card.

CardFace is a simple function I created that returns a string depending on which of the 52 numbers was selected.

Function CardFace(ByVal CCard As Integer) As String

If CCard = 1 Then

CardFace = "Ace Heart"

ElseIf CCard = 2 Then

CardFace = "Two Heart"

ElseIf CCard = 3 Then

CardFace = "Three Heart"

ElseIf CCard = 4 Then

CardFace = "Four Heart"

ElseIf CCard = 5 Then

CardFace = "Five Heart"

ElseIf CCard = 6 Then

CardFace = "Six Heart"

ElseIf CCard = 7 Then

CardFace = "Seven Heart"

ElseIf CCard = 8 Then

CardFace = "Eight Heart"

ElseIf CCard = 9 Then

CardFace = "Nine Heart"

ElseIf CCard = 10 Then

CardFace = "Ten Heart"

ElseIf CCard = 11 Then

CardFace = "Jack Heart"

ElseIf CCard = 12 Then

CardFace = "Queen Heart"

ElseIf CCard = 13 Then

CardFace = "king Heart"

ElseIf CCard = 14 Then

CardFace = "Ace Diamond"

ElseIf CCard = 15 Then

CardFace = "Two Diamond"

ElseIf CCard = 16 Then

CardFace = "Three Diamond"

ElseIf CCard = 17 Then

CardFace = "Four Diamond"

ElseIf CCard = 18 Then

CardFace = "Five Diamond"

ElseIf CCard = 19 Then

CardFace = "Six Diamond"

ElseIf CCard = 20 Then

CardFace = "Seven Diamond"

ElseIf CCard = 21 Then

CardFace = "Eight Diamond"

ElseIf CCard = 22 Then

CardFace = "Nine Diamond"

ElseIf CCard = 23 Then

CardFace = "Ten Diamond"

ElseIf CCard = 24 Then

CardFace = "Jack Diamond"

ElseIf CCard = 25 Then

CardFace = "Queen Diamond"

ElseIf CCard = 26 Then

CardFace = "king Diamond"

ElseIf CCard = 27 Then

CardFace = "Ace Club"

ElseIf CCard = 28 Then

CardFace = "Two Club"

ElseIf CCard = 29 Then

CardFace = "Three Club"

ElseIf CCard = 30 Then

CardFace = "Four Club"

ElseIf CCard = 31 Then

CardFace = "Five Club"

ElseIf CCard = 32 Then

CardFace = "Six Club"

ElseIf CCard = 33 Then

CardFace = "Seven Club"

ElseIf CCard = 34 Then

CardFace = "Eight Club"

ElseIf CCard = 35 Then

CardFace = "Nine Club"

ElseIf CCard = 36 Then

CardFace = "Ten Club"

ElseIf CCard = 37 Then

CardFace = "Jack Club"

ElseIf CCard = 38 Then

CardFace = "Queen Club"

ElseIf CCard = 39 Then

CardFace = "king Club"

ElseIf CCard = 40 Then

CardFace = "Ace Spade"

ElseIf CCard = 41 Then

CardFace = "Two Spade"

ElseIf CCard = 42 Then

CardFace = "Three Spade"

ElseIf CCard = 43 Then

CardFace = "Four Spade"

ElseIf CCard = 44 Then

CardFace = "Five Spade"

ElseIf CCard = 45 Then

CardFace = "Six Spade"

ElseIf CCard = 46 Then

CardFace = "Seven Spade"

ElseIf CCard = 47 Then

CardFace = "Eight Spade"

ElseIf CCard = 48 Then

CardFace = "Nine Spade"

ElseIf CCard = 49 Then

CardFace = "Ten Spade"

ElseIf CCard = 50 Then

CardFace = "Jack Spade"

ElseIf CCard = 51 Then

CardFace = "Queen Spade"

ElseIf CCard = 52 Then

CardFace = "king Spade"

Else

CardFace = ""

End If

End Function

Simulating Playing Cards

Tagged: , , , , , , on October 27, 2011 by VeryWoody

Comments Off

Follow

Get every new post delivered to your Inbox.