const int DECK_SIZE = 52;
int deck[DECK_SIZE];
void setup() {
Serial.begin(9600);
randomSeed(analogRead(0));
for (int i = 0; i < DECK_SIZE; i++) {
deck[i] = i;
}
for (int i = 0; i < 100; i++) {
int a = random(DECK_SIZE);
int b = random(DECK_SIZE);
int temp = deck[a];
deck[a] = deck[b];
deck[b] = temp;
}
for (int i = 0; i < DECK_SIZE; i++) {
printCard(deck[i]);
Serial.print((i + 1) % 13 == 0 ? "\n" : ", ");
}
}
void loop() {}
void printCard(int index) {
const char* suits[] = {"H", "D", "C", "S"};
const char* ranks[] = {
"A", "2", "3", "4", "5", "6", "7",
"8", "9", "10", "J", "Q", "K"
};
Serial.print(ranks[index % 13]);
Serial.print(suits[index / 13]);
}