所以首先只是一些文字,顯示我的代碼應該工作的思維過程。我在編程方面一般都很新,而且剛剛幾天前纔開始學習java。我想我對oop的工作原理有一個基本的瞭解,但是我無法將它很好地應用到我的代碼中。使用while循環使得一點意義,我也這樣想,我剛剛開始接觸那些; d如何在基於文本的遊戲Java中使用while循環?
事情我想:
帶有3個選項
菜單主菜單(營)
任務(激活任務環)
去鎮(激活鎮環)
退出遊戲(退出程序)
任務 戰鬥隨機怪物,並獲得金牌的遊戲循環/得分 「怪物出現」
打怪物 造成傷害怪物 怪物確實損壞回 回主迴路
使用項目 選擇項目 使用項目 項目效果應用於 回到主循環
運行 返回到主菜單(激活主菜單)
鎮 讓你花金「齒輪」增加健康和傷害值
「我是鐵匠等等等等等」
- 升級武器(傷害提高)
- 升級護甲(增加生命)
- 離開鎮(返回球員返回主菜單),當玩家死亡或選擇退出遊戲
遊戲結束
顯示比分並感謝玩家玩遊戲
以下僅僅是邏輯原型
我覺得這個應該可以工作,但是每次運行它時, 它都不能正常工作,只是最終會做一個無限循環的 。我希望你們中的一個能夠 明白爲什麼它不起作用,並且有點偏向我 的方向。任何事情將不勝感激!
還有關於那些陣營,地牢,城鎮布爾的任何評論? 我不知道我是否真的需要這些,它可能只是 額外的無用的代碼,但我真的不知道。
import java.util.Scanner;
public class logic
{
public static void main(String[] args)
{
boolean running = true;
Scanner in = new Scanner(System.in);
System.out.println("This is a test");
while(running)
{
boolean camp = true;
boolean dungeon = false;
boolean town = false;
String input = in.nextLine();
while(camp)
{
System.out.println("what u do?");
System.out.println("1. go dungeon");
System.out.println("2. go town");
System.out.println("3. quit");
if (input.equals("1"))
{
dungeon = true;
while(dungeon)
{
System.out.println("you are in the dungeon");
dungeon = false;
break;
}
}
else if (input.equals("2"))
{
dungeon = false;
town = true;
while(town)
{
System.out.println("you are in the town");
town = false;
break;
}
}
else if (input.equals("3"))
{
break;
}
else
{
System.out.println("invalid command!");
}
}
}
}
}
您可能需要將false分配給陣營並在某處運行。 – JFPicard
糾正我,如果即時通訊錯誤,但我不能做到地牢或城鎮內,因爲他們在營地和運行循環 –
你可能想在選項3 – JFPicard