25
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】Lv9:『新技!ピカチュウ、アイアンテール!』〜配列〜

Posted at

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

👉 【ポケモン×Java】Lv8:『先にHP0になるのはどっちだ?』〜if文〜


🎮 ピカチュウ、技を習得!

技を覚えるって、ちょっとワクワクしない?

ピカチュウがついに、4つの技を覚えたよ!
今回は "配列" を使って、複数の技をひとまとめにしてみよう!

💡 配列で技を持とう!

▷ 配列とは、「同じ種類のデータをまとめて扱える箱」のこと!

クラスボールにさっそく情報を追加だ!
複数の技を持っている場合、こんな風に書くよ!

Pikachu.java
class Pikachu {
    String[] moves = {"10万ボルト", "でんこうせっか", "アイアンテール", "かみなり"};
    int[] powers = {20, 10, 15, 30};
}

📒 トレーナーメモ

  • String[] は「文字の配列」!
  • int[] は「数の配列」!
  • [] の中の数字(インデックス)は 0 から始まるから注意!
  • moves[0] で「10万ボルト」、powers[0] でその威力 20 が取り出せる!

配列の構造イメージ:

index moves powers
0 10万ボルト 20
1 でんこうせっか 10
2 アイアンテール 15
3 かみなり 30

▷ 実際に技を見てみよう

BattleStage.java
package pokemon;

class BattleStage {
    public static void main(String[] args) {
        Pikachu pi = new Pikachu();
        System.out.println(); // 改行
        
        System.out.println("攻撃種類:"+pi.moves[1]);
        System.out.println("攻撃力:"+pi.powers[1]);
    }
}

▷ 出力結果

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

攻撃種類:でんこうせっか
攻撃力:10

✍️ 練習

  • 技の名前を配列で持ってみよう!
  • それぞれの威力も一緒に用意しよう!
  • 実際に攻撃に何が設定されているか、確認してみよう。

Hint1 攻撃の種類を記載しよう(???を埋めて完成させよう)

Hitokage.java
class Hitokage {
    String[] moves = { ??? };
    int[] powers = { ??? };
}

Hint2攻撃の種類を確認しよう(???を埋めて完成させよう)

BattleStage.java
package pokemon;

class BattleStage {
    public static void main(String[] args) {
        ??? ??? = new ???();
        
        System.out.println("攻撃種類:"+???);
        System.out.println("攻撃力:"+???);
    }
}

次回:『選べ、キミの一撃!』

これで、4つの技でバトルができるね。
さあ、リベンジマッチだ!
次の投稿まで――

ピッピカチュウ!!


あとがき

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

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

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

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

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


✅ 回答例:

Hitokage.java
class Hitokage {
    String name = "ヒトカゲ";
    String type = "ほのお";
    int hp = 100;

    Hitokage() {
        System.out.println(name + " がバトルに登場!");
        cry();
    }

    void cry() {
        System.out.println("カゲェ〜〜ッ!!");
    }

    void attack() {
        System.out.println("かえんほうしゃ!");
    }
    void attack(Pikachu pi) {
        System.out.println(name + " の かえんほうしゃ!");
        pi.hp = pi.hp - 20;
        System.out.println(pi.name + " に 20 のダメージ!");
        System.out.println(pi.name + " の HP は " + pi.hp + " になった!");
    }
 // 攻撃の配列
    String[] moves = {"かえんほうしゃ", "ひのこ", "なきごえ", "ひっかく"};
 // ダメージの配列
    int[] powers = {20, 10, 0, 15};  
}
BattleStage.java
package pokemon;

class BattleStage {
    public static void main(String[] args) {
        Hitokage hi = new Hitokage();
        System.out.println();//改行
        
        System.out.println("攻撃種類:"+hi.moves[1]);
        System.out.println("攻撃力:"+hi.powers[1]);
    }
}

出力結果

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

攻撃種類:ひのこ
攻撃力:10

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

image.png

25
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
25
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?