👉 【寶可夢×Java】Lv11:『該你選擇技能了!』〜用 Scanner 來選擇〜
第0章~第11章辛苦了!!
可能有些說明不夠詳盡或者難度比較高,但
謝謝你一路跟到這裡。
那麼,最後就來一場激烈的戰鬥吧!
+α(給能做到的人)
BattleStage.java
package pokemon;
import java.util.Scanner;
class BattleStage {
public static void main(String[] args) {
Pikachu pi = new Pikachu();
Hitokage hi = new Hitokage();
Scanner scanner = new Scanner(System.in);
System.out.println("\n--- 該你的回合! ---");
System.out.println("請選擇技能:");
System.out.println("0: 火焰放射");
System.out.println("1: 噴火");
System.out.println("2: 哭叫");
System.out.println("3: 抓傷");
System.out.print(); //換行
System.out.print("選擇 (編號):");
hi.attack(pi, scanner.nextInt()); // 獲取技能編號(scanner.nextInt())
System.out.print(); //換行
System.out.println("\n--- 博士的回合! ---");
System.out.println("請選擇技能:");
System.out.println("0: 10萬伏特");
System.out.println("1: 電光石火");
System.out.println("2: 鐵尾");
System.out.println("3: 雷電");
System.out.print(); //換行
System.out.print("選擇 (編號):");
pi.attack(hi, scanner.nextInt());
System.out.print(); //換行
scanner.close();
}
}
BattleStage.java
package pokemon;
import java.util.Scanner;
class BattleStage {
public static void main(String[] args) {
Pikachu pi = new Pikachu();
Hitokage hi = new Hitokage();
Scanner scanner = new Scanner(System.in);
while (pi.hp > 0 && hi.hp > 0) {
System.out.println("\n--- 該你的回合! ---");
System.out.println("請選擇技能:");
System.out.println("0: 火焰放射");
System.out.println("1: 噴火");
System.out.println("2: 哭叫");
System.out.println("3: 抓傷");
System.out.print(); //換行
System.out.print("選擇 (編號):");
hi.attack(pi, scanner.nextInt());
System.out.print(); //換行
System.out.println("\n--- 博士的回合! ---");
System.out.println("請選擇技能:");
System.out.println("0: 10萬伏特");
System.out.println("1: 電光石火");
System.out.println("2: 鐵尾");
System.out.println("3: 雷電");
System.out.print(); //換行
System.out.print("選擇 (編號):");
pi.attack(hi, scanner.nextInt());
System.out.print(); //換行
}
scanner.close();
}
}
📒 訓練師備忘錄
while迴圈Scanner scanner = new Scanner(System.in);要在這行之後寫哦!
⇒ 反過來寫會導致多次呼叫輸入功能。只需一次就好。
scanner.close();也同理!!
BattleStage.java
package pokemon;
import java.util.Scanner;
class BattleStage {
public static void main(String[] args) {
Pikachu pi = new Pikachu();
Hitokage hi = new Hitokage();
Scanner scanner = new Scanner(System.in);
while (pi.hp > 0 && hi.hp > 0) {
System.out.println("\n--- 該你的回合! ---");
System.out.println("請選擇技能:");
System.out.println("0: 火焰放射");
System.out.println("1: 噴火");
System.out.println("2: 哭叫");
System.out.println("3: 抓傷");
System.out.println(); //換行
System.out.print("選擇 (編號):");
hi.attack(pi, scanner.nextInt());
System.out.println(); //換行
if (pi.hp <= 0) {
System.out.println("\n皮卡丘倒下了!你贏了!");
break;
}
System.out.println("\n--- 博士的回合! ---");
System.out.println("請選擇技能:");
System.out.println("0: 10萬伏特");
System.out.println("1: 電光石火");
System.out.println("2: 鐵尾");
System.out.println("3: 雷電");
System.out.println(); //換行
System.out.print("選擇 (編號):");
pi.attack(hi, scanner.nextInt());
System.out.println(); //換行
if (hi.hp <= 0) {
System.out.println("\n小火龍倒下了!你輸了...");
break;
}
}
scanner.close();
}
}
我將依序使用 0 ⇒ 1 ⇒ 2 ⇒ 3 ⇒ 0 的順序發出技能!!
那麼,開始吧!!
這樣大致上應該都做到了吧。
你能打敗我嗎?
那麼,終於要和夥伴寶可夢一起出發冒險了!
期待下一個投稿――
皮卡丘!!
謝謝你讀到這裡。
即使是認為「程式設計好難...」的人,
也希望你能稍微覺得「好像有點有趣...!」。
希望下次的投稿也能繼續受到大家的支持。
💬 歡迎留言、反饋!
「這一章好簡單明瞭!」
「這個表達是不是有錯?」
「下次想要做○○!」等等,
原文出處:https://qiita.com/hitomin_poke/items/24b9bf90cfdeea398a70