/*--------------------- Ex6_1.java Game これまでの総復習 ----------------------*/ package jp_bunkyo; import java.util.Scanner; import java.util.Random; public class Ex6_1 { public static void main(String[] args) { int enemyHP, myHP, enemyAttack, myAttack, i, dummy; // Scanner stdin = new Scanner(System.in); Random rnd = new Random(); enemyHP = 100; // 初期化:魔王の体力 myHP = 100; // 初期化:自分の体力 System.out.println("======================"); System.out.println(" ふぁいなる・くえすと "); System.out.println("======================\n"); for (i = 1; i <= 10; i++) { System.out.println(" ------- 【第 " + i + " ターン】 -------"); System.out.print(" 残りHP:魔王 = " + enemyHP + ", あなた = " + myHP + " "); // 現況HP表示 System.out.print(" (攻撃 = 1) > "); dummy = stdin.nextInt(); // ターンごとに止めるためのダミー変数 // 自分の攻撃 System.out.print(" あなたの攻撃"); myAttack = (int)((rnd.nextGaussian()+1)*10); // ((0,1)-正規乱数 + 1) * 10 if ( myAttack < 0 ) { System.out.println(" 残念。。。はずれた…\n"); } else if ( myAttack > 20 ) { System.out.println(" 命中!:会心の一撃!!" + myAttack + " のダメージを与えた!!\n"); enemyHP = enemyHP - myAttack; } else { System.out.println(" 命中!:" + myAttack + " のダメージを与えた!!\n"); enemyHP = enemyHP - myAttack; } if ( enemyHP <= 0 ) { System.out.println(" 魔王をやっつけた! 町に平和が訪れました♪"); return; } // 相手の攻撃 System.out.print(" 魔王の攻撃"); enemyAttack = (int)((rnd.nextGaussian()+1)*10); // ((0,1)-正規乱数 + 1) * 10 if ( enemyAttack < 0 ) { System.out.println(" よっしゃ、かわした。\n"); } else if ( enemyAttack > 20 ) { System.out.println(" 命中!:痛恨の一撃!!" + enemyAttack + " のダメージを受けた!!\n"); myHP = myHP - enemyAttack; } else { System.out.println(" 命中!:" + enemyAttack + " のダメージを受けた!!\n"); myHP = myHP - enemyAttack; } if ( myHP <= 0 ) { System.out.println(" やられちゃいました。なさけない勇者だね。。。"); return; } } // 決着がつかなかった場合の処理 System.out.println(" 魔王「はぁはぁ.もうやめにしないか?」"); System.out.println("決着がつかずに仲直りすることにしました。ゲームオーバー。。。"); } }