Menu
Coddy logo textTech

Multiple Cards

Lektion 6 von 6 im Kurs Spielkarten-Generator (textbasiert) von Coddy.

Zeigen wir mehrere Karten!

challenge icon

Aufgabe

Mittel

Jetzt wollen wir die Unterstützung für mehrere Karten hinzufügen. Ändern Sie die Eingabe von printCard von einem Integer (kind) und einem String (suit) zu einem Integer-Array (kinds) und einem String-Array (suits), zum Beispiel:

Die Eingabe - [1, 2, 3], ["heart", "club", "spade"] führt zu 3 Karten: Herz-Ass, Kreuz-Zwei und Pik-Drei.

Sie können davon ausgehen, dass die Länge der Arrays gleich ist.

Überprüfen Sie die Testfälle für die richtigen Formate; Sie sollten ein einzelnes Leerzeichen zwischen den Karten hinzufügen.

Probier es selbst

#include <stdio.h>
#include <string.h>

void printCard(int kind, char* suit) {
    char* suitSymbol = " ";
    if (strcmp(suit, "club") == 0) suitSymbol = "♣";
    else if (strcmp(suit, "diamond") == 0) suitSymbol = "♦";
    else if (strcmp(suit, "heart") == 0) suitSymbol = "♥";
    else if (strcmp(suit, "spade") == 0) suitSymbol = "♠";

    char kindBuf[4] = " ";
    if (kind == 1) strcpy(kindBuf, "A");
    else if (kind >= 2 && kind <= 10) sprintf(kindBuf, "%d", kind);
    else if (kind == 11) strcpy(kindBuf, "J");
    else if (kind == 12) strcpy(kindBuf, "Q");
    else if (kind == 13) strcpy(kindBuf, "K");

    printf("╔═════════╗\n");
    if (kind == 10) printf("║ 10      ║\n");
    else printf("║ %s       ║\n", kindBuf);
    printf("║         ║\n");
    printf("║         ║\n");
    printf("║    %s    ║\n", suitSymbol);
    printf("║         ║\n");
    printf("║         ║\n");
    if (kind == 10) printf("║      10 ║\n");
    else printf("║       %s ║\n", kindBuf);
    printf("╚═════════╝\n");
}

Alle Lektionen in Spielkarten-Generator (textbasiert)

1Introduction

Introduction