const int Aantal_Kaarten = 52;
int deck[Aantal_Kaarten];
void setup() {
Serial.begin(9600);
randomSeed(analogRead(0));
// Initialize the deck
for (int i = 0; i < Aantal_Kaarten; i++) {
deck[i] = i;
}
// Shuffle using Fisher–Yates algorithm
for (int i = Aantal_Kaarten - 1; i > 0; i--) {
int j = random(i + 1);
int temp = deck[i];
deck[i] = deck[j];
deck[j] = temp;
}
// Print the shuffled deck: 13 cards per line
for (int i = 0; i < Aantal_Kaarten; i++) {
printCard(deck[i]);
// Add comma and space if not last in the row
if ((i + 1) % 13 != 0) {
Serial.print(", ");
} else {
Serial.println(); // New line after every 13 cards
}
}
}
void loop() {
// Nothing here
}
void printCard(int index) {
const char* suits[] = {"Harten", "Ruiten", "Klaveren", "Schuppen"};
const char* ranks[] = {
"Aas", "2", "3", "4", "5", "6", "7", "8", "9", "10",
"Boer", "Koniging", "Koning"
};
int suit = index / 13;
int rank = index % 13;
Serial.print(suits[suit]);
Serial.print(" ");
Serial.print(ranks[rank]);
}