所以我已经看到了很多关于这个的其他帖子,但它们没有应用,因为 a) 我试图在跳过 main 内部的 while 循环时返回到 main 方法。我正在制作一个文本冒险游戏,它通过从最后的步骤中调用下一步来分步工作(单独的方法)。例如,第一步是EastStoryline1(),第二步是EastStoryline2(),在代码的末尾EastStoryline1(),它说"EastStoryline2()"。
所以实际的 main 非常小,因为它只是一个循环到下一个的方法。main 中还有 2 个 while 循环。第一个是在我建立扫描仪和布尔 playagain 之后,它基本上围绕着主要的其余部分开始游戏,而 playagain = true。第二个循环紧跟在第一个循环之后,基本上是说当 def(玩家健康)> 0 时,播放游戏的事件。在第二个循环之后,但仍然在第一个循环中,代码调用方法Die(),然后询问玩家是否要玩游戏。
所以基本上,Die()为了打破任何现有的循环链并将其带到下一个代码中,我在里面放了什么代码Die()。问题是我Die()在其他方法中也使用过,每次调用它时我都希望它返回到Die()main之后的代码。这是主要的代码(抱歉格式错误):
public static void main(String[] args)
{
Scanner keyboard = new Scanner(System.in);
boolean playagain = true;
while(playagain == true)
{
while(def > 0)
{
TitleScreen("TXT ADVENTURE!");
System.out.println("Pick a character: Rogue, Paladin, or Priest
(capitals DO matter!)");
String character = keyboard.next();
CharacterChoice(character);
System.out.println("You wake up on a dusty road, with no memory of who
you are or how you got here. You can only remember your name, and how to
fight. To the east lies a small dock with a boat. To the west, there seems
to be a sand-scarred mountain range. Do you go east, or west?");
String ew = keyboard.next();
EastWest(ew);
}
Die();
System.out.println("Do you want to play again?");
String playornah = keyboard.next();
if(playornah.equals("yes") || playornah.equals("Yes"))
{
playagain = true;
}
else
{
playagain = false;
}
}
}
这是我使用的 Die 代码system.exit(0),但现在我希望它在 Die 被调用后返回到主程序,而不是仅仅结束程序):
public static void Die()
{
System.out.println("GAME OVER");
System.exit(0); //I tried using break but it wouldn't compile
}
那么Die(),为了(无论它在哪里调用)在Die()被调用的位置之后返回到 main 中,我应该编写什么代码。
慕娘9325324
慕的地6264312
相关分类