数当てゲーム(配列を使った練習)
じゃんけんに続いて、今度は「数当てゲーム」を作ってみましょう。
配列を使うことで「複数の正解候補」を持たせることができます。
ゲームのルール
- コンピュータが 5個のランダムな数字(1〜10) を配列に入れる。
- プレイヤーが数字を入力する。
- 入力した数字が配列の中にあれば「正解!」、なければ「不正解!」。
完成コード例
import java.util.Random;
import java.util.Scanner;
public class NumberGuess {
public static void main(String[] args) {
Random rand = new Random();
Scanner sc = new Scanner(System.in);
// コンピュータが用意する数字(5個)
int[] numbers = new int[5];
for (int i = 0; i < numbers.length; i++) {
numbers[i] = rand.nextInt(10) + 1; // 1〜10
}
// プレイヤーの入力
System.out.print("1〜10の数字を当ててください: ");
int guess = sc.nextInt();
// 判定
boolean hit = false;
for (int n : numbers) {
if (n == guess) {
hit = true;
break;
}
}
// 結果表示
if (hit) {
System.out.println("正解!");
} else {
System.out.println("不正解!");
}
// (確認用)コンピュータの数字を表示
System.out.print("コンピュータの数字: ");
for (int n : numbers) {
System.out.print(n + " ");
}
}
}
Java解説
- 配列
numbersにランダムな数字を入れる。 for-each文で配列を1つずつチェック。- 一致したら
hit = trueにしてループ終了。 - 最後に
hitの値で「正解/不正解」を判定。
応用アイデア
- 複数回挑戦できるようにループを追加する。
- 重複しない数字を入れるように工夫する。
- 当たった回数をスコア化して「あなたの得点は○点!」と表示する。
