ビンゴゲーム風(配列を使ったミニゲーム)
じゃんけん → 数当て ときて、いよいよ ビンゴゲーム風 に挑戦しましょう。
ここでは「2次元配列」を使って ビンゴカード を表現します。
ゲームのルール(簡易版)
- 5×5 のビンゴカードを作り、1〜25の数字を順番に入れる。
- プレイヤーが数字を入力すると、その数字を「0」に置き換える。
- 横一列がすべて「0」になったら「ビンゴ!」と表示。
完成コード例
import java.util.Scanner;
public class BingoGame {
public static void main(String[] args) {
int[][] bingo = new int[5][5];
int num = 1;
// 1〜25を順番に代入
for (int i = 0; i < bingo.length; i++) {
for (int j = 0; j < bingo[i].length; j++) {
bingo[i][j] = num++;
}
}
Scanner sc = new Scanner(System.in);
while (true) {
// 現在のカードを表示
for (int i = 0; i < bingo.length; i++) {
for (int j = 0; j < bingo[i].length; j++) {
System.out.printf("%2d ", bingo[i][j]);
}
System.out.println();
}
// 入力
System.out.print("数字を入力してください (終了は0): ");
int guess = sc.nextInt();
if (guess == 0) break; // ゲーム終了
// 数字を探して0に置き換え
for (int i = 0; i < bingo.length; i++) {
for (int j = 0; j < bingo[i].length; j++) {
if (bingo[i][j] == guess) {
bingo[i][j] = 0;
}
}
}
// 横一列チェック
for (int i = 0; i < bingo.length; i++) {
boolean bingoLine = true;
for (int j = 0; j < bingo[i].length; j++) {
if (bingo[i][j] != 0) {
bingoLine = false;
break;
}
}
if (bingoLine) {
System.out.println("ビンゴ! 行" + i + "が揃いました!");
}
}
}
}
}
Java解説
- 2次元配列
bingo[5][5]でカードを表現。 num++を使って 1〜25 を順番に代入。- 入力した数字を検索して0に置き換え → 「消した」状態を表現。
- 横一列チェック → すべて0なら「ビンゴ!」。
応用アイデア
- 縦列や斜めもチェックして「ビンゴ!」にする。
- ランダム配置にして本物のビンゴカードっぽくする。
- 複数人プレイにして、誰が先にビンゴになるか競う。
