動画の説明
今回はプログラミングに欠かせない「条件分析」を学習します。
条件分析は難易度2です。
未経験の方が躓きやすいポイントですので「100%理解できる」と、思わないでください。
挫折しないためには「10回~20回と学習を繰り返し」少しずつ理解を深めていく必要があります。
今回は「こんなことが出来るんだ」程度の 「紹介」 としてご覧ください。
* Java入門【バトル表示⑦】整理整頓 の続編になります。
連載動画
この動画は連載物です。以下の順にご覧ください。
- 【バトル表示①】パラメターの表示
- 【バトル表示②】変数の利用
- 【バトル表示③】文字と数値
- 【バトル表示④】ダメージ計算
- 【バトル表示⑤】ダメージの乱数化
- 【バトル表示⑥】魔法使いの攻撃
- 【バトル表示⑦】整理整頓
- 【バトル表示⑧】ダウン判定
- 【バトル表示⑨】勝利判定
条件分析とは


IF図解


ダウン判定
IFを使用してモンスターがダウンしているか判定します。
package stage2;
import java.util.Random;
public class Battle {
public static void main(String[] args) {
// プレーヤーパラメーター
String p1 = "ゆうと";
String p2 = "かぐら";
// モンスターパラメーター
String m1 = "おばけ";
String m2 = "スライム";
int hp1 = 60;
int hp2 = 120;
// ダメージ量
int da1 = new Random().nextInt(100);
int da2 = new Random().nextInt(200);
// 戦闘開始
System.out.println("モンスターが現れた!");
System.out.println("--------------------------");
System.out.println(m1 + " HP:" + hp1);
System.out.println(m2 + " HP:" + hp2);
System.out.println("--------------------------");
System.out.println(p1+"の攻撃!");
System.out.println(m1 + "は"+ da1 +"のダメージ");
hp1 = hp1 -da1;
System.out.println(p2+"の攻撃!");
System.out.println(m1 + "は"+da2+"のダメージ");
hp1 = hp1 -da2;
System.out.println(m2 + "は"+da2+"のダメージ");
hp2 = hp2 -da2;
System.out.println("--------------------------");
System.out.println(m1 + " HP:" + hp1);
System.out.println(m2 + " HP:" + hp2);
System.out.println("--------------------------");
// おばけのHPが0以下だったら・・・・
if( hp1 <= 0 ){
System.out.println(m1 + "は倒れた!!");
}
// スライムのHPが0以下だったら・・・・
if( hp2 <= 0 ){
System.out.println(m2 + "は倒れた!!");
}
}
}
復習問題

合計ダメージが50以下の場合「余裕でほほえむ」処理追加します。
実行結果を出すために、入力内容の空欄を埋めてください。
解答例
package stage2;
import java.util.Random;
// ダウン判定
public class Battle {
public static void main(String[] args) {
// プレーヤーパラメーター
String p1 = "ゆうと";
String p2 = "かぐら";
// モンスターパラメーター
String m1 = "おばけ";
String m2 = "スライム";
int hp1 = 60;
int hp2 = 120;
// ダメージ量
int da1 = new Random().nextInt(100);
int da2 = new Random().nextInt(200);
// 戦闘開始
System.out.println("モンスターが現れた!");
System.out.println("--------------------------");
System.out.println(m1 + " HP:" + hp1);
System.out.println(m2 + " HP:" + hp2);
System.out.println("--------------------------");
System.out.println(p1 + "の攻撃!");
System.out.println(m1 + "は" + da1 + "のダメージ");
hp1 = hp1 - da1;
System.out.println(p2 + "の攻撃!");
System.out.println(m1 + "は" + da2 + "のダメージ");
hp1 = hp1 - da2;
System.out.println(m2 + "は" + da2 + "のダメージ");
hp2 = hp2 - da2;
System.out.println("--------------------------");
System.out.println(m1 + " HP:" + hp1);
System.out.println(m2 + " HP:" + hp2);
System.out.println("--------------------------");
// おばけのHPが0以下だったら・・・・
if (hp1 <= 0) {
System.out.println(m1 + "は倒れた!!");
}
// スライムのHPが0以下だったら・・・・
if (hp2 <= 0) {
System.out.println(m2 + "は倒れた!!");
}
// 余裕判定(合計ダメージが50以下)
if (da1 + da2 <= 50) {
System.out.println(m1 + "は余裕でほほえんだ!");
}
if (da2 <= 50) {
System.out.println(m2 + "は余裕でほほえんだ!");
}
}
}
ダウン判定とほぼ同じ内容ですので、コピペ + 修正で可能です。
※ 実行結果が同じなら、解答例と違ってもOKです。( 変数名や入力行数が違ってもOK )


