我是java /編程新手,我認爲一個很好的學習方法就是製作一個簡單的文本RPG遊戲。 我在一個班級檔案裏,你可以僱傭工人爲你開採礦石。基本上,我從用戶那裏獲得2000金,隨機抽取一個數字1-5到10次,他們根據這個數字得到10次礦石。 (例如,1銅,4金)循環if語句
這是我到目前爲止,當我運行它,它把我的金牌,但只給了我1噸礦石當它真正應該給我10,任何幫助嗎? 編輯:對不起,忘了提,我不得不INT X = 0;在頂部
if ((input.input.equalsIgnoreCase("a")) && inventory.goldCoins >= 2000) {
System.out.println("You have hired Sanchez for $2000!");
inventory.goldCoins -= 2000;
do {
int workerOre = (int)(Math.random() * 5 + 1);
if (workerOre == 1) {
inventory.addInventory("Copper Ore");
menu.start();
} else if (workerOre == 2) {
inventory.addInventory("Iron Ore");
menu.start();
} else if (workerOre == 3) {
inventory.addInventory("Steel Ore");
menu.start();
} else if (workerOre == 4) {
inventory.addInventory("Gold Ore");
menu.start();
} else if (workerOre == 5) {
inventory.addInventory("Copper Ore");
}
x++;
} while (x < 10);
System.out.println("Sanchez has finished his shift and the ore has been added to your inventory!");
} else if ((input.input.equalsIgnoreCase("a")) && inventory.goldCoins < 2000) {
System.out.println("You do not have enough money!");
worker();
}
嘿,這工作,但它給了我的情況下確切的礦石5。我希望它是隨機的,所以也許像3銅1鋼1黃金等,這是怎麼回事?爲什麼它給10個5個星期? – user2809361
隨機工具可能不完美,或者您的庫存添加系統系統可能不完整。嘗試用System.out.println();替換庫存加法器進行測試,並查看輸出結果。玩弄它,可能會有一些錯誤修復。 – michaelwm