Этот код может не работать как есть (я немного заржавел с AS3), но с некоторыми изменениями он должен направить вас в правильном направлении:
public class Card {
var suit:String;
var value:int;
public Card(Suit:String, Value:int)
{
this.suit = Suit;
this.value = Value;
}
}
public class Deck {
var deck:Array = new Array();
var suits:Array = new Array('C', 'D', 'H', 'S');
for (var x = 0; x < 52; x++) {
deck[x] = new Card(suits[x / 13], x % 13);
}
}
Теперь я не уверен в объявлении карты (у меня нет копии Flash, удобной для проверки моего синтаксиса посредством компиляции), но что подразумевается под строкой "deck [x] = new Card ..." Для этого необходимо установить первые 13 мастей карт на C, вторые 13 на D и т. д. и установить значения от 0 до 13 (то есть Ace = 0, 2 = 1, 3 = 2, ..., K = 12).
Надеюсь, что это имеет смысл (и я надеюсь, что вам не нужно слишком сильно его настраивать, чтобы заставить его работать на вас).