LoginSignup
2
5

More than 5 years have passed since last update.

Java 数当てゲーム(定番のプログラミング問題)

Posted at

定番のゲームを作ってみました。
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();
    }
}

2
5
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5