קלפים מרובים
שיעור 6 מתוך 6 בקורס מחולל קלפי משחק מבוסס טקסט של Coddy.
בואו נציג כמה כרטיסים!
אתגר
בינוניכעת, אנחנו רוצים להוסיף תמיכה במספר קלפים, ולשנות את הקלט של printCard ממספר שלם (סוג) ומחרוזת (צורה) למערך של מספרים שלמים (סוגים) ולמערך של מחרוזות (צורות), לדוגמה:
הקלט — [1, 2, 3], ["heart", "club", "spade"] יניב 3 קלפים: אס לב, שתיים תלתן ושלוש עלה.
אפשר להניח שאורכי המערכים זהים
בדקו את מקרי הבדיקה כדי לראות את הפורמט הנכון; יש להוסיף רווח יחיד בין הקלפים.
נסו בעצמכם
#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");
}כל השיעורים ביחידה מחולל קלפי משחק מבוסס טקסט
1מבוא
מבואתרגלו בעצמכם: קומפיילר C אונליין