Menu
Coddy logo textTech

Wiele kart

Lekcja 6 z 6 w kursie Generator kart do gry (tekstowy) w Coddy.

Pokażmy kilka kart!

challenge icon

Wyzwanie

Średni

Teraz chcemy dodać obsługę wielu kart. Zmień dane wejściowe funkcji printCard z liczby całkowitej (figury) i ciągu znaków (koloru) na tablicę liczb całkowitych (figur) i tablicę ciągów znaków (kolorów), na przykład:

Dane wejściowe — [1, 2, 3], ["heart", "club", "spade"] — dadzą w wyniku 3 karty: asa kier, dwójkę trefl i trójkę pik.

Możesz założyć, że tablice mają tę samą długość

Sprawdź przypadki testowe, aby poznać prawidłowe formaty. Między kartami należy wstawić pojedynczą spację .

Spróbuj swoich sił

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

Wszystkie lekcje w sekcji Generator kart do gry (tekstowy)

Poćwicz samodzielnie: Kompilator C online