1

私はポーカーゲームを作っていて、シャッフル機能を持​​っています (こちらの他の回答に基づいています)。今私の問題は、カードの名前を配列の各番号に割り当てる方法です。たとえば、cartas[3] = "J spades"が必要です。

2次元配列で考えましたが、2種類のデータを持つことはできないと思います。誰かが私を助けてくれることを願っています。

/* This is the array, cartas is cards in spanish */
for(i = 0 ; i < 52 ; i++) {
    cartas[i] = i;
}
4

1 に答える 1

1

必要なときにいつでもカードの名前を検索または生成します - インデックスに保存する必要はありません:

char buffer[32];
int cnum = card % 13;
const char* suits[]={"diamonds", "spades", "clubs", "hearts"};
switch(cnum)
{
    case 0:
        strcpy(buffer, "ace");
        break;
    case 10:
        strcpy(buffer, "jack");
        break;
    case 11:
        strcpy(buffer, "queen");
        break;
    case 12:
        strcpy(buffer, "king");
        break;
    default:
        sprintf(buffer,"%d",cnum+1);
        break;
}
strcat(buffer," of ");
strcat(buffer,suits[card / 13]);
于 2012-12-23T17:40:22.013 に答える