做了一些改变..但仍然没有工作。现在发生的事情是,如果我输入' y'没有任何事情,程序只是冻结在那里,如果我输入' n',它继续for循环。
这是我到目前为止所拥有的。玩家用阵列的线条表示,他们的手是cols。 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;
}
}
}
答案 0 :(得分: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;
}
}
}