我正在做一个扑克游戏,我有洗牌功能(基于其他答案here)。
现在我的问题是,如何将卡的名称分配给数组的每个数字,例如我想要cartas[3]=“J spades”。
我认为是二维数组,但它们不能有两种不同类型的数据。我希望有人能帮助我。
/* This is the array, cartas is cards in spanish */
for(i = 0 ; i < 52 ; i++) {
cartas[i] = i;
}
最佳答案
在需要时查找或生成卡的名称-无需将其与索引一起存储:
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]);
关于c - 将char分配给int,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14013032/