Ah I see.
What you need to do then is - as Vader said - flag the cards as dealt when you deal them.
Have you done anything with user defined types yet?
I would suggest using a UDT to hold the cards. That way you can use a different field for each piece of information and they all go in one array.
Type CardType
Value
Suit
Sprite
IsOut
endType
Dim card[52] as CardType
Then to access them, it's like a normal array but with the field name at the end.
For i=1 to 52
cardNum = i - 1
card[i].value = ( cardNum mod 13 ) + 1
card[i].suit = ( cardNum / 13 ) + 1
card[i].sprite = createSprite( imageRef )
card[i].isOut = 0
next i
The code above will generate an array of cards, with values from 1 to 13 and suits from 1 to 4.
The first 13 will have suit 1
the next 13 will have suit 2
etc.
Within each batch of 13, the values got from 1 to 13
It also sets the .isOut field for every card to 0
You will have to change it to use whatever image source you use for the sprites.
Anyway, before you deal a card you look at card[ number ].isOut
If this is set to 1, then the card is already out.
As you deal a card, you set this to 1
You move the cards as you would before, but access the sprite using
card[ number ].sprite
number is between 1 and 52