Nhiều lá bài
Bài học 6 trên 6 trong khóa học Trình tạo bài tây bằng văn bản của Coddy.
Hãy hiển thị nhiều thẻ!
Thử thách
Trung bìnhBây giờ, chúng ta muốn hỗ trợ nhiều lá bài, hãy đổi đầu vào của printCard từ số nguyên (loại bài) và chuỗi (chất bài) thành mảng số nguyên (các loại bài) và mảng chuỗi (các chất bài), ví dụ:
Đầu vào là [1, 2, 3], ["heart", "club", "spade"] sẽ tạo ra 3 lá bài: Át cơ, Hai chuồn và Ba bích.
Bạn có thể giả định rằng độ dài các mảng bằng nhau
Hãy xem các test case để biết định dạng chính xác. Bạn nên thêm một dấu cách giữa các lá bài.
Tự làm thử
#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");
}Tất cả bài học trong Trình tạo bài tây bằng văn bản
1Giới thiệu
Giới thiệuTự luyện tập: Trình biên dịch C online