Or stop using arrays altogether and create your own storage spaces using the MemBlock commands:
Rem Create a MemBlock big enough to hold a deck of cards
CARDDECK=1
Make MemBlock CARDDECK,52
_ShuffleDeck(CARDDECK)
For POSITION=0 to 51
Print _CardDescription(CARDDECK,POSITION)
Wait 10
Next POSITION
Rem Tidy up before Termination
Delete MemBlock CARDDECK
Function _ShuffleDeck(BANKNO)
Rem Initialise PLAYDECK - Flush with zeros
For POSITION=0 to 51
Write Memblock Byte BANKNO,POSITION,0
Next POSITION
Rem Shuffle the cards - allocate a CARD value (1-52) to each of the 52 byte size storage spaces within the MemBlock
Randomize Timer()
For CARD=1 to 52
POSITION=Rnd(51)
While Memblock Byte(BANKNO,POSITION)>0
Inc POSITION
IF POSITION=52 Then POSITION=0
EndWhile
Write MemBlock Byte BANKNO,POSITION,CARD
Next CARD
EndFunction
Function _CardDescription(BANKNO,POSITION)
CARD=(Memblock Byte(BANKNO,POSITION))-1
Select (CARD/13) Mod 2
Case 0 : COLOUR$ = " Red" : EndCase
Case 1 : COLOUR$ = "Black" : EndCase
Case Default : COLOUR$ = "Blind" : EndCase
EndSelect
Select CARD-((CARD/13)*13)
Case 0 : NUMBER$ = "Ace" : EndCase
Case 10 : NUMBER$ = "Jack" : EndCase
Case 11 : NUMBER$ = "Queen" : EndCase
Case 12 : NUMBER$ = "King" : EndCase
Case Default : NUMBER$ = Str$((CARD-((CARD/13)*13))+1) : EndCase
EndSelect
Select CARD/13
Case 0 : SUIT$ = "Hearts" : EndCase
Case 1 : SUIT$ = "Clubs" : EndCase
Case 2 : SUIT$ = "Diamonds" : EndCase
Case 3 : SUIT$ = "Spades" : EndCase
Case Default : SUIT$ = "JOKER ;)" : EndCase
EndSelect
CARDDESCRIPTION$=COLOUR$+" card - "+NUMBER$+" of "+SUIT$
EndFunction CARDDESCRIPTION$