// 少しアレンジしてあります
// 数字を確認しながら実行したい場合はコードのコメントアウトを外してください
import java.io.*;

public class Kazuate {
	public static void main(String[] args) {
		BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
		// ループ用のboolean変数
		boolean b = true;
		// ゲームの説明
		System.out.println("□■数当てゲーム■□");
		System.out.println("1から100までの答えの数字を当てるゲームです");
		System.out.println("ヒント:誤差によってコメントが異なります");
		System.out.println("");
		System.out.println("数字を入力してください");
		// ランダム数字再抽選&例外処理(数字以外が入力された場合)のループ
		// (※2)
		while (b) {
			// ランダムで1から100までの数字を1つ抽選
			int i = (int)(Math.random() * 100) + 1;
//			System.out.println(i);	//答え表示デバッグ用
			try {
				// 
				while (b) {
					try {
						String s = r.readLine();
						int ans = Integer.parseInt(s);
						if ( ans >= 100) {
							System.out.println("数字の範囲は1から100までです");
						}
						// 入力の数字から答えの数を引いて誤差を調べる
						int in = ans - i;
						// 確認デバッグ用
//						System.out.println(ans + "-" + i + "=" + in);
						// 入力の数字が答えよりも大きい場合
						if (in < 0) {
							// 誤差5以下
							if (in >= -5) {
								System.out.println("あとすこし小さいです");
							// 誤差10以下
							} else if (in >= -10) {
								System.out.println("すこし小さいです");
							// それ以上
							} else {
								System.out.println("小さいです");
							}
						// 
						} else if (in > 0) {
							// 誤差5以下
							if (in <= 5) {
								System.out.println("あとすこし大きいです");
							// 誤差5以下
							} else if (in <= 10) {
								System.out.println("すこし大きいです");
							// それ以上
							} else {
								System.out.println("大きいです");
							}
							// 正解の場合(※1まで)ループ脱出
						} else {
							System.out.println("正解!!");
							break;
						}
					} catch (IOException e) {
						System.out.println(e);
					} catch (NumberFormatException e) {
						System.out.println("半角数字で入力してください");
					}
				}
				// (※1)
				System.out.println("ゲームを続けますか?");
				System.out.println("y.続ける\tそれ以外:終わる");
				String s = r.readLine();
				// 入力がyの場合(※2)に戻ってループ再開
				if (s.equals("y")) {
					continue;
				// それ以外の場合、お疲れ様コメントまでループ脱出
				} else {
					b = false;
				}
			} catch (IOException e) {
				System.out.println(e);
			}
		}
		System.out.println("お疲れ様でした");
	}
}

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS