Menu
Coddy logo textTech

קלפים מרובים

שיעור 6 מתוך 6 בקורס מחולל קלפי משחק מבוסס טקסט של Coddy.

בואו נציג כמה כרטיסים!

challenge icon

אתגר

בינוני

כעת, אנחנו רוצים להוסיף תמיכה במספר קלפים, ולשנות את הקלט של 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");
}

כל השיעורים ביחידה מחולל קלפי משחק מבוסס טקסט

תרגלו בעצמכם: קומפיילר C אונליין