import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
boolean playAgain = true;
int highScore = 0;
System.out.println("数当てゲームへようこそ!");
while (playAgain) {
int minRange = 1;
int maxRange = 100;
int randomNumber = (int) (Math.random() * (maxRange - minRange + 1)) + minRange;
int attempts = 0;
System.out.println("1から100までの数を当ててください!");
while (true) {
System.out.print("予想した数字を入力してください: ");
if (!scanner.hasNextInt()) {
System.out.println("無効な入力です。数値を入力してください。");
scanner.next(); // 不正な入力をクリア
continue;
}
int guessedNumber = scanner.nextInt();
attempts++;
if (guessedNumber < randomNumber) {
System.out.println("もっと大きい数字です。");
} else if (guessedNumber > randomNumber) {
System.out.println("もっと小さい数字です。");
} else {
System.out.println("おめでとうございます!正解です!");
System.out.println("あなたの試行回数: " + attempts);
if (attempts < highScore || highScore == 0) {
highScore = attempts;
System.out.println("新しいハイスコア!試行回数: " + highScore);
} else {
System.out.println("ハイスコアは" + highScore + "回です。");
}
break;
}
}
System.out.print("もう一度プレイしますか? (y/n): ");
String playChoice = scanner.next();
playAgain = playChoice.equalsIgnoreCase("y");
}
System.out.println("ゲームを終了します。");
System.out.println("最終ハイスコア: " + highScore);
scanner.close();
}
}