16
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【ポケモン×Java】Lv7:『勝つのはどっちだ!?』〜while〜

Posted at

前回をまだ読んでない方はこちら

👉 【ポケモン×Java】Lv6:『バトル開幕!』〜For文〜


🎮 バトルスタート

ポケモンバトルもいよいよ本格的に!

前回は「for文」を使って交互に攻撃し合うバトルを作ったね。  
でも気づいた人いるかな?なんと、
**HPが0になってもバトルが続いちゃう**という問題が残っていたんだ!

今回は、「HPが0になったらバトル終了」という仕組みを作るために、  
`while文`を使ってみよう!

💡 while文でバトルを制御する!

▷ 書き方のイメージ

BattleStage.java
while (pi.hp > 0 && hi.hp > 0) {

}

📒 トレーナーのメモ

  • while ( 条件 ){ }は、「条件が成立している間ずっと繰り返す」という意味!
  • 今回の条件は、どちらのポケモンもHPが0より大きい間
  • A && Bは A と B がどちらも成立するときを意味するよ!
  • A || Bは A か B のどちらかが成立するときを意味するよ!

✍️ 練習

  • 前回のfor文文をwhile文に書き換えて実行してみよう!!
  • 実際にどうなるか実行してみよう。

Hint①:書き方(???に対応する文字を考えよう!)

BattleStage.java
package pokemon;

class BattleStage {
    public static void main(String[] args) {
        Pikachu pi = new Pikachu();
        System.out.println(); //改行
        
        Hitokage hi = new Hitokage();
        System.out.println(); //改行
        
        while (???) {
            // バトルの処理
            ???
        }
    }
}

次回:『先にHPが0になるのは?』

あ、、、うまくいくと思ったのに、、、
大丈夫!!あと少しだ!!
次の投稿まで――

ピッピカチュウ!!


あとがき

ここまで読んでくれて、本当にありがとうございました。

「プログラミングって難しい…」って思ってた人も、
「ちょっと楽しいかも…!」って思ってもらえたらうれしいな。

次の投稿も、よろしくおねがいします。

💬 コメント・フィードバック歓迎!

「この章わかりやすかった!」
「これ表現まちがってない?」
「次は○○をやってほしい!」などなど、
お気軽にコメントで教えてくださいね!


✅ 回答例:

BattleStage.java
package pokemon;

class BattleStage {
    public static void main(String[] args) {
        // ここにポケモンを登場させる処理を書くよ!
    	Pikachu pi = new Pikachu();
    	System.out.println(); //改行
    	
    	// あなたのポケモンを登場させる処理を書こう!
        Hitokage hi = new Hitokage();
    	System.out.println(); //改行

        // どちらかのポケモンの体力が0になるまで繰り返す。
    	 while (pi.hp > 0 && hi.hp > 0) {
        	// ピカチュウの攻撃
            pi.attack(hi);
        	System.out.println(); //改行
            
            // ヒトカゲの攻撃
            hi.attack(pi);
        	System.out.println(); //改行
        }
        
    }
}

出力結果(一部)

ピカチュウ がバトルに登場!
ピカ〜〜ッ!!

ヒトカゲ がバトルに登場!
カゲェ〜〜ッ!!

ピカチュウ の 10万ボルト!
ヒトカゲ に 20 のダメージ!
ヒトカゲ の HP は 80 になった!

...省略

ピカチュウ の 10万ボルト!
ヒトカゲ に 20 のダメージ!
ヒトカゲ の HP は 0 になった!

ヒトカゲ の かえんほうしゃ!
ピカチュウ に 20 のダメージ!
ピカチュウ の HP は 0 になった!

🔍 今のプロジェクトの様子

image.png

16
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?