Ich habe zwei verschiedene Klassen: TextBasedGame und EinführungChoices. IntroductionChoices trifft alle Entscheidungen, während TextBasedGame grundsätzlich nur die Story druckt (es ist die mit der Hauptmethode).Beende das Spiel von einer separaten Methode
Was ich wissen möchte ist, wie man das Spiel END macht, wenn der Benutzer eine falsche Wahl trifft. Wenn der Benutzer in diesem Fall "Take down the group." Eingibt, wird eine Nachricht angezeigt und das Spiel endet. In meinem Fall läuft es in der Hauptmethode einfach weiter. Wie kann ich das Spiel stoppen?
Ich dachte, ich könnte irgendwie, in der Hauptmethode, überprüfen, ob Rückkehr von EinführungChoices "GAME OVER" und das Spiel dort beenden.
//Snippet from the main method
System.out.println("What do you do?");
System.out.println(choice.choice1());
System.out.println("Next part...");
//Method choice1 from IntroductionChoices
public static String choice1()
{
Scanner scan = new Scanner(System.in);
System.out.println("Warn her of her shadows.");
System.out.println("Take down the group.");
String decision = scan.next();
if (decision.equalsIgnoreCase("right decision"))
{
System.out.println("some text");
return "some more text in continuation to continue story in main";
}
else if (decision.equalsIgnoreCase("wrong decision"))
{
System.out.println("You creep towards the men, hoping to surprise them from behind.");
System.out.println("Consequence");
return "GAME OVER";
}
else
{
return "That is not a valid response.";
}
}
Ich denke, man kann die Schleife Teil der 'main' Methode zeigen will. Sie könnten die zurückgegebene Zeichenfolge (oder einen anderen Wert, z. B. eine Aufzählung) in der Hauptmethode überprüfen. – KevinO
Sie könnten einfach eine 'Exception' in Ihre' choice() 'Methode werfen und sie in Ihrer Hauptdatei abfangen. –
Können Sie nicht einfach testen, was zurückgegeben wurde? 'String Auswahl = Auswahl1(); if (choice.equals ("GAME OVER")) return; ' – Bohemian