GitHub Codespacesの導入については、下記の記事を参照してください。
さて、プログラミング初心者におすすめなのが、乱数を使った数当てゲームである。
このプログラムでは、コンピュータが1〜100の数字をランダムに選び、プレイヤーが当てるゲームをご紹介しよう。
Javaでの数当てゲームのポイント
java.util.Random
クラスで乱数を生成する。Scanner
クラスでユーザーからの入力を取得する。while
文で当たるまで繰り返す。
import java.util.Random;
import java.util.Scanner;
public class NumberGuessGame {
public static void main(String[] args) {
Random rand = new Random();
Scanner scanner = new Scanner(System.in);
int target = rand.nextInt(100) + 1; // 1〜100の乱数
int guess = 0; // ユーザーの入力
int attempts = 0; // 試行回数
System.out.println("=== 数当てゲーム ===");
System.out.println("1から100までの数字を当ててください!");
while (guess != target) {
System.out.print("数字を入力: ");
guess = scanner.nextInt();
attempts++;
if (guess < target) {
System.out.println("もっと大きいです!");
} else if (guess > target) {
System.out.println("もっと小さいです!");
} else {
System.out.println("正解! おめでとうございます!");
System.out.println("試行回数: " + attempts + "回");
}
}
scanner.close();
}
}
乱数生成
int target = rand.nextInt(100) + 1;
nextInt(100)
で0〜99の整数を生成する。+1
で1〜100に変換する。
ユーザー入力
guess = scanner.nextInt();
Scanner
を使ってキーボード入力を取得する。
条件判定
if (guess < target) ...
else if (guess > target) ...
else ...
- 小さい場合は「もっと大きい」と表示する。
- 大きい場合は「もっと小さい」と表示する。
- 当たった場合は試行回数を表示して終了する。
ループ
while (guess != target)
正解するまで繰り返す。
実行例
=== 数当てゲーム ===
1から100までの数字を当ててください!
数字を入力: 80
もっと大きいです!
数字を入力: 89
もっと小さいです!
数字を入力: 88
もっと小さいです!
数字を入力: 87
もっと小さいです!
数字を入力: 85
もっと大きいです!
数字を入力: 86
正解! おめでとうございます!
試行回数: 6回
コメント