はじめに
前回は、ダメージ計算を例にして「算術演算子(+、- など)」について学んだね。
今回は、その結果をポケモンの状態に反映させるための「代入演算子」について解説するよ!
ただの「=」じゃないの?って思った?
実は、これもれっきとした演算子のひとつなんだ!
そして、代入演算子はバトルの進行やHPの管理を支える、影の主役なのだ!
🔁 代入演算子とは?
代入演算子は、「値を変数に代入する」ための記号だよ。
ただし、それだけじゃなくて**今ある値に足したり引いたりする記法(複合代入)**もできちゃう!
💡 基本の「=」演算子
int hp = 100;
これは、「hpに100を代入する」って意味!
注意!
-
==は比較(イコール)だけど、=は代入! - 混同しやすいので注意しよう!
✨ 複合代入演算子
ポケモンのHPを20減らす処理を書こうとすると、
hp = hp - 20;
でも、もっと短く書けるよ!👇
hp -= 20;
これが 複合代入演算子 だよ!
📘 主な複合代入演算子一覧
| 演算子 | 意味 | 例 |
|---|---|---|
+= |
加算して代入 |
hp += 10;(10回復) |
-= |
減算して代入 |
hp -= 20;(20ダメージ) |
*= |
乗算して代入 |
power *= 2;(2倍の威力) |
/= |
除算して代入 |
exp /= 2;(経験値を半分) |
%= |
剰余して代入 |
turn %= 3;(3ターン毎) |
🎮 実践!ポケモンバトルでの活用例
以下のような場面で、複合代入演算子が効果的に使えるよ!
int hp = 80;
int damage = 30;
hp -= damage; // ダメージを受けてHPを更新!
System.out.println("残りHP: " + hp); // 残りHP: 50
String name = "ピカチュウ";
name += " Lv.25"; // 文字列に情報を追加!
System.out.println("ポケモン情報: " + name); // ポケモン情報: ピカチュウ Lv.25
int turn = 5;
turn %= 3; // 3ターンごとに特殊イベント!
System.out.println("次のイベントまで: " + (3 - turn) + "ターン"); // 次のイベントまで: 1ターン
🔤 文字列との結合にも使える!
Javaでは、+= を使って文字列をつなげることもできるよ!
ポケモンの名前にレベルや状態をつけたり、ログをまとめたりするのに便利!
String log = "バトル開始!
";
log += "ピカチュウが でてきた!
";
log += "ヒトカゲが でてきた!
";
System.out.println(log);
🔍 代入と演算の順番に注意!
演算の順番を誤ると、「思ったより大きな値になってしまう」「意図しない結果になる」といったミスにつながるよ!
特に掛け算や割り算を含む式では、計算の優先順位を理解しておかないと、バグの原因になっちゃうんだ。
int hp = 50;
hp = hp + 10 * 2; // 10×2してから加算! = 70
カッコで明示するとわかりやすいね👇
hp = hp + (10 * 2);
🪄 次回予告:比較演算子
次は、hp <= 0 のような「条件判断」に使う比較演算子を紹介するよ!
ポケモンの「ひんし」判定に欠かせないやつだね!
次の投稿まで~~
ピッピカチュウ!!
あとがき
ここまで読んでくれて、本当にありがとうございました。
「プログラミングって難しい...」って思ってた人も、
「ちょっと楽しいかも...!」って思ってもらえたらうれしいな。
次の投稿も、よろしくおねがいします。
💬 コメント・フィードバック歓迎!
「この章わかりやすかった!」
「これ表現まちがってない?」
「次は○○をやってほしい!」などなど、
お気軽にコメントで教えてくださいね!