私は間違ったコマンドを入力すると "command"関数にループバックする非常に簡単なプログラムを考えました。 テキストベースのRPGゲームの開発を続け、これをベースとして使用する前に、私が以下で行ったようにメインループを大部分のループとして含めることは悪い考えか、 "goto"オプションを使わずに文字列の比較をチェックするために、関数を呼び出してメインの先頭に戻すより簡単な方法はありますか?ご期待いただきありがとうございます!コマンドC++へのループバック
std::string command()
{
std::string input;
std::cout << "$home: ";
std::cin >> input;
return input;
}
int main()
{
while (true)
{
if (!command().compare("help"))
{
std::cout << "Command HELP exists!\n";
}
else
{
std::cout << "You have entered an unrecognized command.\n";
}
continue;
}
}
あなたエルスIfが入力されていない場合はすぐに別のループを実行するので、必要ありません。 –
私は少し明確にするためにコードを変更しました。それは最初のものが実行された後にプレーヤーが次のコマンドを入力すると常に最初にループバックします。コマンドが存在するかどうかを示すその他の情報が必要です。これは悪い習慣ですか?通常は「true」を使用しないでください。この場合は問題なく動作します。 –
それは本当に議論ができる、人々に依存しています。あなたのプログラムが無限に動くと本当に言いたいのであれば容認できます。終了条件が必要と思われる場合は、exitコマンドのように変更する必要があります。 –