Сделал пару изменений .. Но все равно не работает. Теперь, что происходит, если я ввожу ‘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;
}
}
}
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;
}
}
}
Других решений пока нет …