わかりましたので、非常に単純なテキストのロールプレイング ゲームを作成しようとしていますが、問題が発生しています。このコードをループするために使用できるループの種類がわかりません。
getline(cin, response);
if(response == "Pick up the gun")
{
cout << "You pick up the gun.\n";
cout << "Knock down the door with it? (Y/N)\n";
getline(cin, response);
if(response == "Y")
{
cout << "The door opens.\n";
cout << "You see a zombie.\n";
cout << "You see an open window.\n";
cout << "What do you do?\n";
getline(cin, response);
if(response == "Shoot the zombie")
{
cout << "The zombie dies and it attracts other zombies.\n";
cout << "GAME OVER!\n";
cin.get();
return 0;
}
else if(response == "Jump out the window")
{
cout << "The zombie does not hear you and you safely make it out!\n";
cout << "VICTORY!\n";
cin.get();
return 0;
}
}
else if(response == "N")
{
}
}
else if(response == "Open the door")
{
cout << "It appears to be locked.\n";
}
したがって、彼らが間違った場合(たとえば、「ドアを開ける」を選択すると、ロックされていると表示され、何らかの理由でプログラムが終了します。ユーザーが別の選択肢を選択できるようにしたいのですが、持っていません単に空白にするか、壊れるか、終了するなど)ループするだけですが、試してみると、プログラムが終了せず、入力できるようになり、何があっても何も起こらないか、100回のようにテキストを絶対にスパムし、私は何もできないなど、とても奇妙です。どうすればそれができますか?どうも!