1

完成一个程序并被告知我需要cards在用户退出后显示。

尝试draw返回hand变量并打印它,并存储draw()我转向 int 的每个结果;尽管我向您展示了无效的工作功能。

到目前为止,没有任何效果,我迷路了。

void draw(int deck[SIZE], int a) {
    int numCards = 10;
    int i; 
    int hand[numCards];
    int card;
    for(i = 0; i < numCards && top > 0; i++) {
        card = deck[top-1];     
        hand[i] = card; 
        top--;   
    }
    if(a != 0) {
        printcards(card);
    } else {
        for(i = 0; i < numCards && top > 0; i++)
        printcards(card);
    }
}

程序可以打印出卡片,绘制和编辑的版本如下所示:

int draw(int deck[SIZE], int a) {
    int numCards = 10;
    int i; 
    int hand[numCards];
    int card;
    for(i = 0; i < numCards && top > 0; i++) {
        card = deck[top-1];     
        hand[i] = card; 
        top--;   
    }
    if(a != 0) {
        printcards(card);
    } else {
        for(i = 0; i < numCards && top > 0; i++)
        printcards(card);
    }
    return card; /* or return hand */
}
void printcards(int card) {
    char suits[4][9] = {
        "Hearts",
        "Diamonds",
        "Clubs",
        "Spades"
    };
    if(card%13 == 0 || card%13 == 10 || card%13 == 11 || card%13 == 12) {
        printf("%s ", facecheck(card%13) );
    } else {
        printf("%d ", card%13+1);
    }
    printf("of %s \n", suits[card/13]);
}

这个函数是卡片的实际打印:

void players(int deck[]) {
    int x;
    int a; 
    int yourhand[10];

    a = 1;

    printf("Player 1 \n"); 
    printf("Your Hand is: \n"); 
    draw(deck, a);
    draw(deck, a);
    while(a == 1) {
        printf("What would you like to do: Press 1 to Draw. 2 to Stay. \n"); 
        scanf("%d" , &x); 
        if(x == 1) {
            draw(deck, a);
        } else { 
            a--;
        }
    }
}

该函数调用draw()with用户输入,然后需要display()在else之后,之前添加一个a--或将绘制结果存储到您的手中并打印结果。到目前为止,没有任何效果。

4

0 回答 0