Мне нужно сделать программу для блэкджека. Дело в том, как вы можете видеть в коде, есть петелька для генерации карт без повторений ..C Программирование integer
Если я ударил ключ он будет печатать строку: «5-алмаз» затем ударил другой ключ и, например, он печатает: «8-clover»
Итак, как мне добавить эти два вместе, не испортив код. Так как я хочу проверить значение суммы этих двух. Что мне нужно сделать?
int cards()
{
int card[51];
int used[51];
int x = 0;
int playerhand = 0;
int dealerhand = 0;
int sum = 0;
while(!kbhit())
x++;
srand(x % 100000);
for(int i = 0; i <= 51; i++)
used[i] = 0;
for(;;)
{
int w;
do
{
w = rand() % 52;
}
while(used[w] == 1);
used[w] = 1;
int value = w % 13 + 1;
if(value >= 2 && value <= 10)
printf("%d-", value);
else
{
if(value == 1)
printf("Ace ");
if(value == 11)
printf("Jack ");
if(value == 12)
printf("Queen ");
if(value == 13)
printf("King ");
}
int suit = (int)(w/13);
if(suit == 0)
printf("Clover");
if(suit == 1)
printf("Spade");
if(suit == 2)
printf("Heart");
if(suit == 3)
printf("Diamond");
printf("\n");
getch();
}
}
Объясните свой желаемый результат, указав примеры. –
Первый цикл 'for' должен быть' for (int i = 0; i <51; i ++) ', а не' for (int i = 0; i <= 51; i ++) 'и' w = rand()% 52; 'должно быть' w = rand()% 51; '. –
@Cool Guy: это правильно с точки зрения программирования, но поскольку я никогда не видел игру в блэкджек с только 51 карточкой, вероятно, более целесообразно советовать о распространении карточных массивов на 52 элемента и оставить остальные, как это было ... – mfro