C++ Switch-Anweisung - Geben den Spielern eine weitere chance zur Wahl
Dies ist ein block von code aus einem Buch, das ich studiert habe, und versucht zu verbessern, aber ich habe Schwierigkeiten, einen Weg zu finden, um dem Spieler eine chance auf die Auswahl der Schwierigkeit, nach der Eingabe des Standard-Wahl. Dies ist eine sehr einfache Konsole ein text-basiertes Spiel, und wenn der Spieler wählt eine falsche Wahl zu treffen, die ein Spiel nicht zulassen, die Spieler neu zu wählen.
int _tmain(int argc, _TCHAR* argv[])
{
cout << "Difficulty Levels\n\n";
cout << "1 - Easy\n";
cout << "2 - Normal\n";
cout << "3 - Hard\n\n";
int choice;
cout << "Choice: ";
cin >> choice;
switch (choice)
{
case 1:
cout << "You picked Easy\n";
break;
case 2:
cout << "You picked Normal\n";
break;
case 3:
cout << "You picked Hard\n";
break;
default:
cout << "Your choice is invalid.\n";
}
system("pause");
return 0;
}
- Hat das Buch ehrlich gesagt verwenden
_tmain
? Bitte, bitte, bitte ersetzen Sie es mitint main()
. - Sie können eine Schleife verwenden, die als
do {..} while (choice < 1 || choice > 3)
- Sie müssen also eine Schleife? Vermutlich im nächsten Kapitel in dem Buch (nur eine Vermutung).
- Nein, das _tmain war nur Standard-code mit Visual Studio.
- Ich habe versucht, das, While-Schleife. Bekomme ich nur eine unendliche Menge von "Ihre Auswahl ist ungültig" wird ausgegeben wird, wenn ich geben Sie eine andere Zahl als 1 - 3.
- Sie müssen den
cin >> choice
als Teil der Schleife. system("pause")
- meine Augen!- lol gibt es eine bessere alternative Proxy?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie umgestalten der Wechsel in eine Funktion, die aufgerufen werden, wenn der Spieler ändern will, Ihre Schwierigkeiten Wahl.
Nun, wenn der Spieler beschließt, ändern Sie die Schwierigkeit (vielleicht geben Sie einem besonderen schreiben), die Sie verwenden können Auswahl = choose() ändern, um die Schwierigkeit.
Wickeln Sie die code-Eingabe in eine
do-while
.