• ベストアンサー

ビンゴ

Cを使って、ビンゴゲームのプログラミングを作りたいのですが ビンゴのカードをつくり、1~75の数を乱数で重複ないように順に発生させます。ここまでは作りました。 問題は、順に発生させた数によってビンゴしたかどうかをプログラミングによって判断させたいのですがどう組み立てればいいのでしょうか? 自分の環境は Windous XP Borland です

質問者が選んだベストアンサー

  • ベストアンサー
  • chaigon
  • ベストアンサー率50% (4/8)
回答No.1

ビンゴカードの値をどのように管理されているかわかりませんが、ビンゴカードの値を2次元配列で管理しているものとして回答します。 ビンゴカードの値が入っている5×5の2次元配列(以下、カード配列と呼ぶ)があるとします。乱数で発生した値と一致する値が、ビンゴカードのどこに位置するかを記録する5×5の2次元配列(以下、一致配列と呼ぶ)を用意します。この一致配列は、0または1のどちらかの値が入り、0は一致していない、1は一致したことを表します。ビンゴゲーム開始時は、一致配列の真ん中にだけ1を入れ、真ん中以外の全てに0を入れておきます。カード配列には重複しない適当な値を入れておきます。 おおまかな処理の流れは次のような感じです。 1.値の生成 2.一致する値の検索 3.一致する場所の記録 4.ビンゴの判定 各処理の詳細は次のような感じです。 1.値の生成   乱数で値を発生させます。例えば、値は25だったとします。 2.一致する値の検索   カード配列の中から25をさがし、見つかれば見つかった場所(何行何列目?)を得ます。例えば、2行3列目だったとします。 3.一致する場所の記録   一致配列の2行3列目に1を代入します。 4.ビンゴの判定   一致配列には一致したかどうかの情報(0または1)が入っているので、この配列の各行と各列と斜めに対してループ処理をおこない、全て1が入っている行または列または斜めがあるか調べます。 こんな感じです。わかりにくい説明だったらすみません。 または、ご期待に合わない回答でしたらすみません。

その他の回答 (1)

回答No.2

 ビンゴカードにある出た数字を 0 に置き換えていき、 縦、横、斜めいずれかの和が 0 になればビンゴ。

関連するQ&A