I have been using blitzmax for years, though I haven't taken great steps to learn it, I'm only now getting into GUI, and one particular problem has been bothering me. I can't seem to get the darn thing to deal out a deck of cards!
here's my most successful attempt, though it still won't work properly and I'm stumped. Can anyone help?
SeedRnd MilliSecs()
Global dealnum:Int
Global dealsuit:Int
Global dealtnum:Int[13]
Global dealtsuit:Int[4]
Global finalnum:String[13]
Global finalsuit:String[4]
Global cardnumber:Int[13]
Global cardsuit:Int[4]
Global deal:Int
Global dealdeal:Int
Global dealer:Int
Graphics 640,480'not neccessary for now, only feedback is through print commands.
While Not KeyHit(key_q)'mean loop, doesn't do anything yet
deala
'display
End
Wend
Function printatize()
If dealtsuit[c]=0
finalsuit[c]="Hearts"
EndIf
If dealtsuit[c]=1
finalsuit[c]="Diamonds"
EndIf
If dealtsuit[c]=2
finalsuit[c]="Clubs"
EndIf
If dealtsuit[c]=3
finalsuit[c]="Spades"
EndIf
If dealtsuit[c]=3
finalsuit[c]="Spades"
EndIf
'... and numbers
If dealtnum[i]=0
finalnum[i]="Two"
EndIf
If dealtnum[i]=1
finalnum[i]="Three"
EndIf
If dealtnum[i]=2
finalnum[i]="Four"
EndIf
If dealtnum[i]=3
finalnum[i]="Five"
EndIf
If dealtnum[i]=4
finalnum[i]="Six"
EndIf
If dealtnum[i]=5
finalnum[i]="Seven"
EndIf
If dealtnum[i]=6
finalnum[i]="Eight"
EndIf
If dealtnum[i]=7
finalnum[i]="Nine"
EndIf
If dealtnum[i]=8
finalnum[i]="Ten"
EndIf
If dealtnum[i]=9
finalnum[i]="Jack"
EndIf
If dealtnum[i]=10
finalnum[i]="Queen"
EndIf
If dealtnum[i]=11
finalnum[i]="King"
EndIf
If dealtnum[i]=12
finalnum[i]="Ace"
EndIf
End Function
Function deala()
For dealnum=0 To 12
For dealsuit=0 To 3
Cls
deal=Rnd(0,12)
dealtnum[deal]=dealnum
deal=Rnd(0,3)
dealtsuit[deal]=dealsuit
DrawText dealnum,1,1
printatize
Print finalnum[i]+" of "+finalsuit[c]
Flip
Next
Next
End Function
Function display()
For i=0 To 12
For c=0 To 3
printatize
Print finalnum[i]+" of "+finalsuit[c]
Next
Next
EndFunction
here's my most successful attempt, though it still won't work properly and I'm stumped. Can anyone help?
SeedRnd MilliSecs()
Global dealnum:Int
Global dealsuit:Int
Global dealtnum:Int[13]
Global dealtsuit:Int[4]
Global finalnum:String[13]
Global finalsuit:String[4]
Global cardnumber:Int[13]
Global cardsuit:Int[4]
Global deal:Int
Global dealdeal:Int
Global dealer:Int
Graphics 640,480'not neccessary for now, only feedback is through print commands.
While Not KeyHit(key_q)'mean loop, doesn't do anything yet
deala
'display
End
Wend
Function printatize()
If dealtsuit[c]=0
finalsuit[c]="Hearts"
EndIf
If dealtsuit[c]=1
finalsuit[c]="Diamonds"
EndIf
If dealtsuit[c]=2
finalsuit[c]="Clubs"
EndIf
If dealtsuit[c]=3
finalsuit[c]="Spades"
EndIf
If dealtsuit[c]=3
finalsuit[c]="Spades"
EndIf
'... and numbers
If dealtnum[i]=0
finalnum[i]="Two"
EndIf
If dealtnum[i]=1
finalnum[i]="Three"
EndIf
If dealtnum[i]=2
finalnum[i]="Four"
EndIf
If dealtnum[i]=3
finalnum[i]="Five"
EndIf
If dealtnum[i]=4
finalnum[i]="Six"
EndIf
If dealtnum[i]=5
finalnum[i]="Seven"
EndIf
If dealtnum[i]=6
finalnum[i]="Eight"
EndIf
If dealtnum[i]=7
finalnum[i]="Nine"
EndIf
If dealtnum[i]=8
finalnum[i]="Ten"
EndIf
If dealtnum[i]=9
finalnum[i]="Jack"
EndIf
If dealtnum[i]=10
finalnum[i]="Queen"
EndIf
If dealtnum[i]=11
finalnum[i]="King"
EndIf
If dealtnum[i]=12
finalnum[i]="Ace"
EndIf
End Function
Function deala()
For dealnum=0 To 12
For dealsuit=0 To 3
Cls
deal=Rnd(0,12)
dealtnum[deal]=dealnum
deal=Rnd(0,3)
dealtsuit[deal]=dealsuit
DrawText dealnum,1,1
printatize
Print finalnum[i]+" of "+finalsuit[c]
Flip
Next
Next
End Function
Function display()
For i=0 To 12
For c=0 To 3
printatize
Print finalnum[i]+" of "+finalsuit[c]
Next
Next
EndFunction