Как спросить каждого игрока, хотят ли они другую карту

Сделал пару изменений .. Но все равно не работает. Теперь, что происходит, если я ввожу ‘y’, ничего не происходит, программа просто останавливается там, если я ввожу ‘n’, он продолжает цикл for.

Вот что у меня так далеко. Игроки представлены линиями моего массива, а их руки — столбиками. Cardtab а также CardHandTab это wchar, представляющий карты, которые у них есть EX: 1 ♥, а остальное — аналоговый массив, содержащий значения каждой карты.

На самом деле, только что понял, что все они получат карточку, независимо от их ответа, после того, как код выполнится, но это не решит мою проблему.

void anotherCard(const wchar_t* CardTab[], int ValTab[], const wchar_t* CardHandTab[4][5], int ValHandTab[4][5])
{
for (int i = 0; i < 4; i++)
{
char answer = 0;
wcout << "Player" << i + 1 << "Would you like another? y/n" << endl;
cin >> answer;
while (answer == 'y' || answer == 'Y')
{
int x;
do
{
x = rand() % 51 + 0;
} while (CardTab[x] == NULL);

CardHandTab[i][3] = CardTab[x];
ValHandTab[i][3] = ValTab[x];
CardTab[x] = NULL;
ValTab[x] = 0;
}
}
}

-1

Решение

 I forgot it needs a way to exit.. adding a break; fixed it

void anotherCard(const wchar_t* CardTab[], int ValTab[], const wchar_t* CardHandTab[4][5], int ValHandTab[4][5])
{
for (int i = 0; i < 4; i++)
{
char answer = 0;
wcout << "Player" << i + 1 << "Desirez vous une autre carte? y/n" << endl;
cin >> answer;
while (answer == 'y' || answer == 'Y')
{
int x;
do
{
x = rand() % 51 + 0;
} while (CardTab[x] == NULL);

CardHandTab[i][3] = CardTab[x];
ValHandTab[i][3] = ValTab[x];
CardTab[x] = NULL;
ValTab[x] = 0;
wcout << CardHandTab[i][3];
break;
}
}
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]