У меня есть два разных класса: TextBasedGame и IntroductionChoices. IntroductionChices принимает все решения, в то время как TextBasedGame в основном просто печатает историю (она единственная с основным методом).Завершить игру по отдельному методу
Я хочу знать, как сделать игру КОНЕЦ, если пользователь делает неправильный выбор. В этом случае, если пользователь вводит «Снять группу», отображается сообщение, и игра заканчивается. В моем случае, в основном методе, он просто продолжается. Как остановить игру?
Я думал, что мог бы как-нибудь, в основном методе, проверить, вернется ли возврат из IntroductionChoicesis "GAME OVER" и закончить игру там.
//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.";
}
}
Я думаю, что вы хотите, чтобы показать часть петли на 'main' метода. Вы можете проверить возвращенный String (или другое значение, например перечисление) в основном методе. – KevinO
вы могли просто просто «выбросить» «Исключение» в свой метод 'choice()' и поймать его в своем главном –
Не можете ли вы просто проверить, что было возвращено? 'Выбор строки = choice1(); if (choice.equals («GAME OVER»)) return; ' – Bohemian