Menu
Coddy logo textTech

Multiple Cards

Lição 6 de 6 do curso Gerador de Cartas de Baralho (Baseado em Texto) da Coddy.

Vamos mostrar vários cartões!

challenge icon

Desafio

Médio

Agora, queremos adicionar suporte para múltiplas cartas, alterando a entrada de printCard de um inteiro (kind) e uma string (suit) para um array de inteiros (kinds) e um array de strings (suits), por exemplo:

A entrada - [1, 2, 3], ["heart", "club", "spade"] resultará em 3 cartas, Ás de Copas, Dois de Paus e Três de Espadas.

Você pode assumir que o comprimento dos arrays é o mesmo

Verifique os casos de teste para os formatos corretos, você deve adicionar um espaço simples entre as cartas.

Experimente você mesmo

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

Todas as lições de Gerador de Cartas de Baralho (Baseado em Texto)

1Introduction

Introduction