/*------------------- ex10_1.java 数当てゲーム(復習) --------------------*/ import java.util.Random; import java.util.Scanner; class ex10_1 { public static void main(String[] args) { Random rnd = new Random(); Scanner stdIn = new Scanner(System.in); int target, usr = -1, res = 0, i, n = 7; // target:当り数値,usr:ユーザー入力値,n:制限回数 target = rnd.nextInt(100); // 正解の数値作成:0〜99の乱数 System.out.println(" --- 数当てゲーム ---------------------------------------"); System.out.println(" ルール:0〜99のサイコロを振るので,その数を当ててね"); System.out.println(" チャレンジできる回数は " + n + "回です"); System.out.println(" 制限回数内で当てられなければゲームオーバーです"); System.out.println(" --------------------------------------------------------"); for (i = 0; i < n; i++) { // 制限回数内の繰り返し System.out.print(i+1 + "回目です:あなたの予想数値は --> "); usr = stdIn.nextInt(); res = hantei(usr, target); // 当たり判定メソッド呼び出し if (res == 1) break; // 結果が当たりなら forループを抜ける } if (res == 0) { System.out.println("正解は " + target + "でした.この次は頑張ってね"); } } public static int hantei(int usr, int target) { // 当たり判定メソッド if (usr == target) { // 「当たり」の場合 System.out.println(" 素晴らしい!当たりです\n また遊んでね!"); return 1; } else if (usr > target) { // 「はずれ」 System.out.println(" あたらなければどうということはない.もう少し小さいんだよね"); } else if (usr < target) { // 「はずれ」 System.out.println(" バカな!直撃のはずだ.いや,もう少し大きいよ"); } else { System.out.println(" Error: 数値以外を入力したね.いかん,いかんよ"); } return 0; } }