私はうまく動作するチック・タック・トー・ゲームを作りました。最近私はリセットゲーム機能を追加することにしました。 はここで、私がデバッグモードでは、プログラムはデバッグで正常に動作しますが、リリースでは動作しません
void playerMove() //Gets the player move and updates the box variables
{
int boxnumber;
while(1) //Set's loop if the player enters a invalid input
{
cout << "\n Player " << player << "'s turn!(Press 0 to reset the game!): ";
cin >> boxnumber;
if(box[boxnumber-1] == 'X' || box[boxnumber-1] == 'O' || boxnumber > 9 || boxnumber < 0) // Checks if the input is valid or not
{
system("CLS");//If invalid, show error and loop back to start to get new input
displayBoard();
cout << "\n Invalid Input! Try again!\n";
}else if(boxnumber == 0)
{
refreshGame();
displayBoard();
}else
{
box[boxnumber-1] = player;//If inputs are fine, set the box variable's and break out of loop!
break;
}
}
}
今、ユーザからの入力を取る部分であり、私は0を押すと、すべてが正常に実行され、ゲームがリセットされ、私は0を押したときにリリースビルドでは、それが与えます私は "入力が無効です!もう一度やり直してください!"
私はdidntの仕事を試したことがあります: - リリース全体をデバッグし、バージョンをデバッグしてください。 - 新しいプロジェクトを作成し、自分のコードをコピーして貼り付けます。同じこと、デバッグの動作、リリースのdoesnt。
不思議なことに、私はcode :: blocks IDEを使用しています。コンパイラはGNU GCCです。 助けてくれてありがとう! :)
を私はあなたが箱を得ることができるとは思わない[-1] –
'boxnumber-1 'が起こっています'0 'を入力すると' box [boxnumber-1] 'に入りますか? – NathanOliver