定番のゲームを作ってみました。
1000までの乱数生成して数当てです。7回以内に当てられなかったらゲームオーバーになります。
自分としてはツッコまれどころはあっても一つくらいかなと思っています。
breakの働きを忘れかけていたのが危なかったです。
乱数生成して数当て 7回以内に当てられなかったらゲームオーバー
import java.util.Random;
import java.util.Scanner;
public class NumberQuiz {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
Random random = new Random();
int randomNumber = random.nextInt(1001);
System.out.println("数当てゲームを作りました。0から1000までの任意の数字を入力してください。7回以内で当てて下さい");
int number = scan.nextInt();
int i;
final int LIMIT = 8;
for (i = 0; i<=LIMIT ; i++) {
int th = i + 2;
if (th == LIMIT) {
System.out.println(LIMIT + "回目になりました。ゲームオーバーです。正解は" + randomNumber + "でした。");
break;
}else {
if (number > randomNumber) {
System.out.print("もっと小さいです。");
System.out.println("もう一度任意の数を入力してください。" + th + "回目の挑戦です");
number = scan.nextInt();
}else if (number < randomNumber) {
System.out.print("もっと大きいです。");
System.out.println("もう一度任意の数を入力してください。" + th + "回目の挑戦です");
number = scan.nextInt();
}else if (number == randomNumber) {
System.out.println("正解です。" + (i+2) + "回でたどり着きました!");
break;
}
}
}
scan.close();
}
}