Multiple Cards
Coddyの「トランプジェネレーター (テキストベース)」コースのレッスン 6/6。
複数のカードを表示しましょう!
チャレンジ
中級次に、複数のカードに対応できるようにします。printCard の入力を、整数 (kind) と文字列 (suit) から、整数配列 (kinds) と文字列配列 (suits) に変更してください。例えば:
入力が [1, 2, 3], ["heart", "club", "spade"] の場合、ハートのエース、クラブの2、スペードの3の3枚のカードが出力されます。
配列の長さは常に同じであると仮定して構いません。
正しいフォーマットについてはテストケースを確認してください。カードの間には 半角スペース1つ を入れる必要があります。
自分で試してみよう
#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");
}トランプジェネレーター (テキストベース)のすべてのレッスン
1Introduction
Introduction