我正在使用 Code::Blocks 编写纸牌游戏。我似乎在使用这一功能时遇到了麻烦。出于某种原因,变量“卡片”在其中的某个地方被卡住了。继承人的代码:
void prompt(int &space, int &card, bool checkS[9], bool checkC[4]){
do{
cout << "\n\nSelect a card: ";
cin >> card;
if(checkC[(card - 1)] == true || card < 1 || card > 4)
cout << "Invalid selection. ";
}while(checkC[(card - 1)] == true || card < 1 || card > 4);
do{
cout << "\n\nSelect a space: ";
cin >> space;
if(checkS[(space - 1)] == true || space < 1 || space > 9)
cout << "Invalid selection. ";
}while(checkS[(space - 1)] == true || space < 1 || space > 9);
cout << "\n\n";
cout << card << " / " << space << endl;
card -= 1;
space -= 1;
cout << card << " / " << space << endl;
checkC[card] = true;
checkS[space] = true;
cout << card << " / " << space << endl;
}
我为测试所做的 3 个 cout 语句。前两个 cout 看起来不错,但由于某种原因,第三个 cout 变量“card”是一些古怪的@ss 数字。有任何想法吗?
编辑:这就是我如何称呼他的功能。
prompt(boardSpace, cardFromHand, &checkS[9], &checkC[4]);