Menu
Coddy logo textTech

Multiple Cards

Leçon 6 sur 6 du cours Générateur de cartes à jouer (en mode texte) de Coddy.

Affichons plusieurs cartes !

challenge icon

Défi

Moyen

Maintenant, nous voulons ajouter le support pour plusieurs cartes, changez l'entrée de printCard d'un entier (kind) et une chaîne (suit) vers un tableau d'entiers (kinds) et un tableau de chaînes (suits), par exemple :

L'entrée - [1, 2, 3], ["heart", "club", "spade"] résultera en 3 cartes, l'As de Cœur, le Deux de Trèfle et le Trois de Pique.

Vous pouvez supposer que la longueur des tableaux est la même

Vérifiez les cas de test pour les formats corrects, vous devez ajouter un seul espace entre les cartes.

Essayez vous-même

#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");
}

Toutes les leçons de Générateur de cartes à jouer (en mode texte)

1Introduction

Introduction