(57)【特許請求の範囲】
【請求項１】
ゲームプログラムと操作ボタンを有し、表示画面に対してゲーム画面を表示させるゲーム装置において、
任意の形状の問題ブロックデータに対応する問題ブロックを前記表示画面に表示する問題ブロック制御手段と、
前記表示画面内の所定方向に移動ブロックビットデータに対応する移動ブロック体を移動させるブロック制御手段と、
前記操作ボタンからの入力信号に応じて、前記表示画面内のプレーヤ体を移動させ、前記プレーヤ体からミサイル体を発射させるプレーヤ体制御手段と、
前記発射されたミサイル体を移動させ、前記移動ブロック体に衝突したか否かを検出し、衝突した時に前記移動ブロックビットデータを書き替えて移動ブロック体の形状を変更するミサイル体制御手段と、
前記移動ブロック体が前記問題ブロックの形状と一致するか否かを検出し、一致する時にゲームクリアとするブロック照合手段とを有し、
前記問題ブロック制御手段は、前記問題ブロックデータから当該問題ブロックデータの方向を回転させた複数方向の照合用の問題ブロックデータを生成し、
前記ブロック照合手段は、前記移動ブロックビットデータが前記複数方向の照合用の問題ブロックデータの何れかと一致するか否かを検出し、一致する時にゲームクリアとすることを特徴とするゲーム装置。
【請求項２】
ゲームプログラムと操作ボタンを有し、表示画面に対してゲーム画面を表示させるゲーム装置において、
任意の形状の問題ブロックデータに対応する問題ブロックを前記表示画面に表示する問題ブロック制御手段と、
前記表示画面内の所定方向に移動ブロックビットデータに対応する移動ブロック体を移動させるブロック制御手段と、
前記操作ボタンからの入力信号に応じて、前記表示画面内のプレーヤ体を移動させ、前記プレーヤ体からミサイル体を発射させるプレーヤ体制御手段と、
前記発射されたミサイル体を移動させ、前記移動ブロック体に衝突したか否かを検出し、衝突した時に前記移動ブロックビットデータを書き替えて移動ブロック体の形状を変更するミサイル体制御手段と、
前記移動ブロック体が前記問題ブロックの形状と一致するか否かを検出し、一致する時にゲームクリアとするブロック照合手段とを有し、
前記ブロック照合手段は、前記移動ブロックビットデータと前記問題ブロックデータとを比較し、前記移動ブロックビットデータでは存在しないビットが前記問題ブロックデータに存在するビットとして判断された場合は、前記移動ブロック体が修復不可能な形状となったと判断し、
前記ブロック制御手段は、前記移動ブロック体が修復不可能な形状になったと判断された時に前記移動ブロック体を飛散させることを特徴とするゲーム装置。
【請求項３】
請求項１または２において、前記ブロック制御手段は、前記移動ブロック体が所定の位置に移動したことを検出し、移動したことが検出された時に前記移動ブロック体を飛散させることを特徴とするゲーム装置。
【請求項４】
請求項２または３において、前記プレーヤ体制御手段は、前記飛散された移動ブロック体のブロックが、前記プレーヤ体に衝突したか否かを検出し、衝突した時にゲームオーバとすることを特徴とするゲーム装置。
【請求項５】
請求項１〜４のいずれかにおいて、更に、前記操作ボタンからの入力信号に応じて、前記表示画面内の移動ブロック体を回転させる移動ブロック体回転手段を有することを特徴とするゲーム装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ゲーム装置に関し、単純で広範な年齢層が楽しむことができるゲーム装置及びそれを実行するゲームプログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
表示画面上で次々に落下してくる所定の幾何学形状を有する落下物を、所定の角度に回転し所定の位置に移動して表示画面内で一定の固まりを構成するゲームや、次々に落下してくる所定の形状を有する落下物を、所定の位置に移動して表示画面内で隣接した位置に配置させることでその隣接体を消滅されるゲーム等、単純で広範な年齢層が楽しめるゲーム装置が開発されている。
【０００３】
【発明が解決しようとする課題】
しかしながら、これらのゲーム装置では、落下してくる落下物の形状に何らかの変化を与えることは行わずに、単に落下物の角度や左右の位置を変化させるものである。従って、遊戯者はある程度の時間かかるゲームを楽しむと、飽きが来てしまう。そこで、単純ではあるがより知的で楽しみが継続するゲーム装置が望まれる。
【０００４】
そこで、本発明の目的は、簡単なスイッチ操作で広範な年齢層にも楽しめることができるゲーム装置及びそのゲームを実行するプログラムを記録した記録媒体を提供することにある。
【０００５】
更に、本発明の目的は、落下物の形状に何らかの変化を与えるという新しい発想を利用して、簡単なスイッチ操作で広範な年齢層にも楽しめることができるゲーム装置及びそのゲームを実行するプログラムを記録した記録媒体を提供することにある。
【０００６】
【課題を解決するための手段】
上記の目的を達成する為に、本発明は、ゲームプログラムと操作ボタンを有し、表示画面に対してゲーム画像を表示させるゲーム装置において、
前記表示画面に任意の形状の問題ブロックを表示し、
前記操作ボタンを操作することにより前記表示画面内の所定方向に移動する移動ブロック体の形状を変更させ、
前記変更された移動ブロック体の形状が前記問題ブロックの形状と一致するか否かを判定し、一致した時にゲームクリアと判定し、
更に、前記移動ブロック体が前記問題ブロックの形状に加工される前に所定の位置まで移動したか否かを判定し、移動した時にゲームオーバと判定することを特徴とする。
【０００７】
画面内の例えば落下方向に移動する移動ブロック体に対して、遊戯者は、問題ブロックの形状になる様に操作ボタンを操作してその形状を変更させ、移動ブロック体が画面の所定の位置に移動する前にその形状を問題ブロックの形状に加工することができるか否かのスリルを味わうことができるので、単純ではあるが広範な年齢層にも楽しめることができるゲーム装置を提供することができる。
【０００８】
更に、本発明のゲーム装置は、移動ブロック体と問題ブロックとの照合を効率的に行う為に、問題ブロックが生成された時に、その問題ブロックの複数方向の形状のデータを予め生成し、移動ブロック体が移動中はその複数方向の形状のデータと照合することで、短い演算工程で移動ブロック体が問題ブロックと一致したか否かの照合を行うことができる。
【０００９】
上記の目的を達成する為に、本発明は、遊戯者からの操作入力に応じてコンピュータに表示画面を変更させるゲームプログラムを記録した記録媒体において、
前記表示画面に任意の形状の問題ブロックを表示させる手順と、
前記操作ボタンを操作することにより前記表示画面内の所定方向に移動する移動ブロック体の形状を変更させる手順と、
前記変更された移動ブロック体の形状が前記問題ブロックの形状と一致するか否かを判定し、一致した時にゲームクリアと判定する手順と、
更に、前記移動ブロック体が前記問題ブロックの形状に加工される前に所定の位置まで移動したか否かを判定し、移動した時にゲームオーバと判定する手順とをコンピュータに実行させることを特徴とする。
【００１０】
【発明の実施の形態】
以下、本発明の実施の形態について図面に従って説明する。しかしながら、本発明の技術的範囲がその実施の形態に限定されるものではない。
【００１１】
図１は、本実施の形態例のゲーム装置の例の外観図である。手のひらに乗る程度の大きさの筐体１０の表面に、液晶表示部１２、操作スイッチ１４、左右上下操作キー１６等を備える。また、図示されないが、筐体の裏面側には、ゲームプログラムを記録した媒体を有するゲームカートリッジが装着される。
【００１２】
本実施の形態例のゲームの概略は、図１の液晶表示部１２に示される通り、表示画面の左上に表示される問題ブロック２０の形状になるように、表示画面上部から下部に落下してくる例えば５×５のマトリクス状のブロックを加工することにある。この落下ブロックの加工は、画面下側に左右に移動可能なプレーヤ２４から発せられるミサイル２６をブロックに衝突させて、ブロックを消滅させることで行われる。そのために、プレーヤ２４を左右に移動させる左右上下操作キー１６と、ミサイル２６を発するキー及び落下する５×５の落下ブロックを回転させるキーとが、遊戯者により操作される。上記後者のキーは、操作スイッチ１４により実現される。
【００１３】
従って、遊戯者は、画面の左上に表示される問題ブロック２０の形状を認識し、落下ブロック２２が画面の下側に落下するまでに、落下ブロックを回転させながらミサイル２６を利用して一つ一つのブロックを消滅させる。落下ブロックが落下するまでに問題ブロックの形状に加工できなかった場合は、失敗（ミス）となり、この落下ブロックのゲームは終了する。或いは、消滅させてはならないブロックを誤って消滅させた場合も、この落下ブロックのゲームは終了する。
【００１４】
問題ブロック２０を多数種類準備し、ランダムに選択することで、遊戯者は、落下してくる落下ブロックを様々な形状に加工しなければならず、より知的な興奮を味わうことができる。また、落下ブロックの形状、ブロック数等を種々変更することにより、遊戯者に様々な工夫をさせ、遊戯者の興味をそそることができる。尚、上記の問題ブロックの選択は、ランダムである必要はなく、例えば予め決められた順番で選択されてもよい。
【００１５】
図２は、本実施の形態例のゲーム装置の内部構成の例を示す図である。ゲームプログラムを実行するＣＰＵ３０、ゲームプログラムの実行に際して必要なパラメータを保存するメインメモリ３２、ゲームプログラムが格納された記録媒体を有するゲームカートリッジ３６を装着する為のカートリッジコネクタ３４が、バスＢＵＳを介して接続される。また、バスＢＵＳには、表示データを生成して表示データを出力するビデオプロセッサ３８、周辺機器制御部４２も接続される。ビデオプロセッサ３８には、少なくとも１フレーム分の表示データを記録するビデオメモリ４０が接続される。更に、周辺機器制御部４２には、操作キーであるコントロールパッド４８、通信コネクタ５０、液晶ドライバ４４等が接続される。液晶ドライバ４４は、ビデオプロセッサ３８から出力される表示データに従って、駆動信号を液晶表示部１２に供給する。
【００１６】
ゲームカートリッジ３６に記録されたゲームプログラム及びゲームデータが、メインメモリ３２に転送され、ＣＰＵ３０により実行される。ＣＰＵ３０は、コントロールパッド４８からの操作信号を入力し、ゲームプログラムを実行し、必要な表示データの変更を行い、液晶表示部にゲーム画面を表示する。また、ゲーム実行中に必要なパラメータデータは、メインメモリ３２に記録される。
【００１７】
ゲームプログラムの具体的な内容を説明する前に、本実施の形態例のブロック加工ゲームの詳細を説明する。図３は、ブロック加工ゲームの進行に伴う画面の例を示す図である。
【００１８】
図３（１）は、ゲームの最初の画面を示す。画面の左上に問題ブロック２０の形状が表示され、画面中央の上部から例えば５×５の落下ブロック２２が落下してくる。画面中央下部には、ミサイルを発射することができるプレーヤ２４が表示される。図３（２）に示される通り、落下ブロック２２に対して、遊戯者は、左右上下操作キー１６を操作してプレーヤ２４を左右に移動させ、Ａキー１４を操作してプレーヤ２４からミサイル２６を発射させて、落下ブロック２２を１個づつ消滅させる。更に、図３（３）に示される通り、遊戯者はＢキー１４を操作して落下ブロック２２を９０°単位で時計方向に回転させ、消滅させるべきブロックをプレーヤ２４の方向に向ける。
【００１９】
上記の通り、遊戯者は３つの操作キーを操作しながら、落下ブロック２２にミサイル２６を衝突させてブロックを消滅させ、落下ブロック２２を問題ブロック２０の形状に加工する。そして、図３（４）に示される通り、落下ブロック２２が画面の下まで落下する前に、問題ブロックの形状と同じ形状に加工されると、その問題はクリアとなり、新たな問題ブロックが表示され未加工の５×５の落下ブロックが画面上部から落下し始める。
【００２０】
本実施の形態例では、ゲームオーバは、落下ブロック２２が問題ブロック２０の形状に加工される前に落下してしまう場合と、ミサイル２６により落下ブロック２２の消滅すべきでないブロックが消滅した場合とに発生する。即ち、図３（５）に示される通り、落下ブロック２２の真ん中のブロックが消滅されてしまい、問題ブロック２０の形状への加工が不可能になった時点で、ミスとなり、ゲームオーバになる。また、図３（６）に示される通り、落下ブロック２２が問題ブロック２０の形状に加工される前に、画面下部に落下してしまうと、ミスとなりゲームオーバになる。
【００２１】
ミスによりゲームオーバになると、図３（７）に示される様に、落下ブロックが分解され、３６０°の方向に飛び散るように表示される。この時点で、ゲームオーバとすることができる。或いは、飛び散るブロックがプレーヤ２４に衝突した時点でゲームオーバにすることもできる。後者の方法をとることで、ブロックの加工の程度に応じてゲームオーバになる確率を変えることができる。また、使用できるプレーヤの数を所定の数に設定することで、その所定数のプレーヤ分だけミスをするとゲームオーバにすることもできる。勿論、所定数の問題をクリアしたり、ボーナス問題をクリアすることで、プレーヤの数を増加させる等の工夫を加えることもできる。
【００２２】
図４は、問題ブロックの他の例を示す図である。問題１は対向する頂点のブロックが消滅している例、問題２は４つの頂点部のブロックが消滅している例、問題３は漢数字「七」に類似した非対称形の例、問題４は階段状の形状の例である。ここに示した以外の問題ブロックも、種々考えられる。
【００２３】
本実施の形態例のゲーム装置において、特徴的な点は、加工される落下ブロックと問題ブロックとが一致しているか否かを逐次検出することにある。その為に、本実施の形態例では、ゲームプログラムの実行中に、問題ブロックのマトリクスデータと、加工された落下ブロックのマトリクスデータとを照合する工程を有する。その際に、加工された落下ブロックの向きは、必ずしも問題ブロックと同じである必要がなく、図４に示された問題３，４の様に問題ブロックが左右、上下に非対称形である場合は、問題ブロックの４方向のマトリクスデータと落下ブロックのマトリクスデータとが照合され、いずれかで一致する場合は、落下ブロックが問題ブロックの形状と一致したとの判断がなされる。
【００２４】
更に、特徴的な点は、加工される落下ブロックが消滅すべきでない修復不可能なブロックを消滅させてしまったか否かを、問題ブロックのマトリクスデータと照合することで検出することにある。その為に、上記と同様に、問題ブロックに対して４方向のマトリクスデータを生成し、それらのマトリクスデータと落下ブロックのマトリクスデータとを照合し、問題ブロックのマトリクスデータに存在し、落下ブロックのマトリクスデータに存在しないブロックが、全ての照合の結果検出された時に、消滅すべきでないブロックが消滅されたとの判断がなされる。
【００２５】
更に、特徴的なことは、落下ブロックが問題ブロックと一致する前に画面の下部まで落下してしまったか否かを検出する点にある。この検出は、落下ブロックの位置データを常に更新し、その位置データが所定の位置以下になったか否かを検出することで行われる。
【００２６】
図５は、問題ブロックデータと照合用に生成される問題ブロックデータとを示す図である。図５（１）の問題ブロックデータは、図４の問題４の階段状の問題ブロックのデータ例を示す。ブロックが存在する領域を「１」に、存在しない領域を「０」にする構成である。かかる問題ブロックに対して、その方向を０°、９０°、１８０°、２７０°回転させた場合の照合用の問題ブロックデータが、図５（２）、（３）、（４）、（５）に示される。それぞれ、データ「１」「０」の位置が回転した位置にあることが理解される。
【００２７】
問題ブロックデータから、それぞれ方向を回転させた照合用の問題ブロックデータを生成する為には、一定の演算処理が必要であるので、問題ブロックが選択された時点で、上記の如き照合用の問題ブロックデータが生成され、メインメモリに保存される。問題ブロックデータは、ゲームプログラムカートリッジからメインメモリ内に転送されたプログラムデータ内にあり、かかる選択された問題ブロックデータから照合用の４種類の問題ブロックデータが生成される。
【００２８】
図６は、メインメモリ内のデータ構成例を示す図である。ここに示された以外に、ゲームプログラムのカートリッジから転送されたプログラムも保存されているが、図６では省略されている。この例では、上記した照合用の問題ブロックデータ６０が４種類記録されている。更に、後に説明するサブルーチンプログラム管理用のフラグ６２、落下ブロックデータ６４、プレーヤの数データ、位置データ６６、ミサイルの位置データ６８が記録される。落下ブロックデータ６４には、その角度データ（０°９０°１８０°２７０°）、落下の位置データ、５×５のビットデータが含まれる。
【００２９】
図７はゲームプログラム全体のフローチャート図である。また、図８はイベントサブルーチンのフローチャート図である。更に、図９、図１０はそれぞれプレーヤサブルーチンとミサイルサブルーチンのフローチャート図である。図７のゲームプログラム全体のフローチャートに従って説明すると、ゲームの開始時に、初期値が設定され、画像データがメインメモリにロードされる（Ｓ１）。初期値としては、例えば、複数の問題ブロックデータ、プレーヤの数等である。そして、イベントサブルーチン（Ｓ２）、プレーヤサブルーチン（Ｓ３）、ミサイルサブルーチン（Ｓ４）、表示サブルーチン及び入力サブルーチン（Ｓ５）が繰り返し実行される。そして、イベントサブルーチンにてゲーム終了となると、全てのデータがクリアされ（Ｓ６）、ゲームが終了する。
【００３０】
イベントサブルーチンには、図８に示される通り、タイムアウトルーチン、ニュー問題ルーチン、ブロックチェックルーチン、ブロック爆発ルーチン、ミスルーチンが含まれ、タイムアウトルーチンは常に実行されるが、他のルーチンはメインメモリ内のそれぞれの実行フラグが実行状態の時に実行される。但し、ニュー問題ルーチンは、ゲーム開始時に実行される。それぞれのルーチンについては後述する。
【００３１】
プレーヤサブルーチンは、プレーヤ２４の制御を行うサブルーチンであり、このサブルーチンはフラグの状態にかかわらず毎回実行される。そして、ミサイルサブルーチンは、ミサイルの移動と落下ブロックとの衝突を制御するサブルーチンであり、ミサイルが発射された時にミサイルフラグが「１」になると実行され、ミサイルが画面の外にでるまで実行される。
【００３２】
図７のゲームプログラム全体のフローチャートに示される通り、各サブルーチンが繰り返し実行され、サブルーチンの実行により生成されたゲーム進行中に変更されるメインメモリ内のデータに従って、表示サブルーチンで画面１２への表示データの生成を行う。また、コントロールパッド４８からの入力信号のチェックを行う。
【００３３】
図８に示されたイベントサブルーチンについて説明する。タイムアウトルーチンは、ステップＳ１１〜Ｓ１４で構成され、落下ブロックの位置を毎回下げて（Ｓ１１）、落下ブロックが画面の最下位置に達したか否かのチェックを行う（Ｓ１２）。落下ブロックの位置を毎回下げる為に、メインメモリ内の落下ブロックデータの位置データを変更する。また、落下ブロックが最下位置に達したか否かは、その位置データと所定の閾値データとの比較を行うことで検出される。最下位置に達すると、ブロック爆発フラグを「１」にしてタイムアウトルーチンを終了する（Ｓ１３）。また、最下位置に達していなければ、そのままタイムアウトルーチンを終了する（Ｓ１４）。
【００３４】
タイムアウトルーチンは、イベントサブルーチンが実行される時に毎回実行されるが、それ以外のブロック爆発ルーチン、ブロックチェックルーチン、ニュー問題ルーチン及びミスルーチンは、それぞれ対応するフラグが実行状態を示す「１」の状態の時に実行される。その制御は、例えばステップＳ１０にて行われる。即ち、タイムアウトルーチンとフラグが実行状態にある他のルーチンが、イベントサブルーチンで実行される。
【００３５】
ゲームの開始時は、強制的にニュー問題ルーチンが実行される。このルーチンでは、例えば乱数表に従って問題ブロックが選択される（Ｓ１６）。そして、その選択された問題ブロックデータから、照合用の正解となるブロックデータを４方向分作成し、メインメモリ３２に保存する（Ｓ１７）。そして、ニュー問題フラグを「０」にしてから、ニュー問題ルーチンを終了する（Ｓ１８）。ニュー問題ルーチンは、落下ブロックが加工されて照合用のブロックデータと一致してクリアになった後でも実行される。その場合は、後述する通りクリアになった時点でニュー問題ルーチンのフラグが実行状態「１」されることで、ステップＳ１０にて選択実行される。
【００３６】
ブロックチェックルーチンは、プレーヤ２４から発射されたミサイル２６が落下ブロックに衝突してブロックが消滅した時に実行されるルーチンである。従って、ミサイルが衝突した後以外では、このルーチンは実行されない。ブロックチェックルーチンは、まず落下ブロックのビットデータと、４方向について生成された照合用の問題ブロックデータ６０とがそれぞれ照合される（Ｓ２０）。この照合において、メインメモリ３２内のそれぞれのデータを利用して行われる。いずれの照合においても、落下ブロックのビットデータでは存在しないビットが、４方向の照合用の問題ブロックデータでは存在するビットとして判断された場合は、消去すべきでないブロックを消去したと判断される（Ｓ２１）。その場合は、ブロック爆発フラグを「１」の状態にして、ルーチンを終了する（Ｓ２２）。
【００３７】
更に、落下ブロックのビットデータと４方向の照合用のブロックデータとのいずれかの照合で、全てのビットが一致したことが検出されると（Ｓ２３）、ニュー問題フラグが「１」の状態にされて、ルーチンが終了する（Ｓ２４）。不一致の場合は、ブロックチェックフラグを「０」にしてルーチンが終了する（Ｓ２５）。
【００３８】
ブロック爆発ルーチンは、上記のステップＳ１３及びＳ２２にてブロック爆発フラグが「１」になっている場合に実行される。即ち、落下ブロックが画面の最下位置まで落ちた時と、消去すべきでないブロックが消去された場合である。ブロック爆発ルーチンでは、落下ブロックを構成するそれぞれのブロックを、いずれかの方向にランダムに画面の外に向かって移動する（Ｓ２７）。即ち、メインメモリ３２内の落下ブロックデータ６４における各ブロックの位置データを変更する。そして、全てのブロックの位置データが画面の外側に移動すると（Ｓ２８）、ブロック爆発フラグを「０」にし、ニュー問題フラグを「１」にしてからこのルーチンを終了する（Ｓ２９）。いずれかのブロックの位置が画面内にある時は、そのままルーチンを終了する（Ｓ３０）。
【００３９】
更に、イベントサブルーチン内のミスルーチンは、爆発したブロックがプレーヤ２４に衝突した時に実行されるルーチンであり、プレーヤの数がなっくなってゲームオーバ状態か否かが判断され（Ｓ３２）、ゲームオーバであればミスフラグを「０」に戻してゲームタイトル画面を表示する（Ｓ３３）。また、ゲームオーバでなければ、ミスフラグを「０」にしてこのルーチンを終了する（Ｓ３４）。ゲーム上のミスは、上記の場合に限定されず、例えば落下ブロックが爆発した段階でミスにしてもよい。
【００４０】
上記した通り、イベントサブルーチンでは、新たな問題ブロックの選択が必要になった時、ミサイルが落下ブロックに衝突した時、ブロックが爆発する時、ゲームのミスが生じた時等のイベントを処理する。それ以外に、落下ブロックの処理も行う。
【００４１】
図９に示されたプレーヤサブルーチンでは、コントロールパネルの左右操作キー１６からの入力データに従って、プレーヤの位置を移動させる（Ｓ４１）。具体的には、メインメモリ３２内のプレーヤの位置データを変更する。そして、プレーヤが爆発したブロックのいずれかに衝突したか否かの判定を行う（Ｓ４２）。具体的には、メインメモリ内のプレーヤの位置データと各ブロックの位置データとが一致若しくは近接しているか否かの判定を行う。衝突している場合は、ミスとなり、ミスフラグを「１」にしてサブルーチンを終了する（Ｓ４３）。
【００４２】
プレーヤサブルーチンでは、更に、入力データからミサイルが発射されたか否かの判定を行う（Ｓ４４）。発射させる入力データがある場合は、ミサイルフラグを「１」にしてこのサブルーチンを終了する（Ｓ４５）。発射されていなければ、そのままサブルーチンを終了する（Ｓ４６）。プレーヤサブルーチンは、フラグ状態にかかわらず毎回実行される。
【００４３】
図１０に示されたミサイルサブルーチンは、ミサイルフラグが「１」の時に実行される。先ず、ミサイルの位置データを所定距離移動させる（Ｓ５１）。即ち、メインメモリ内のミサイル位置データを変更する。その後、ミサイルが落下ブロックに衝突したか否かの判定を行う（Ｓ５２）。具体的には、メインメモリ内のミサイルの位置データと、落下ブロックのうち存在しているブロックの位置データとが比較される。一致していれば、ミサイルがブロックに衝突したことになり、そのブロックのビットデータを「０」に書き換え、ブロックチェックフラグを「１」にしてこのサブルーチンを終了する（Ｓ５３）。
【００４４】
また、ミサイルが画面の外に移動したか否かの判定を行い（Ｓ５４）、画面外であればそのミサイルのデータを消去してこのサブルーチンを終了する（Ｓ５５）。また、画面内であればそのままサブルーチンを終了する（Ｓ５６）。
【００４５】
以上が、ゲームプログラムがコンピュータで構成されるゲーム装置に実行させる処理である。ゲームプログラムがアセンブラなどのオブジェクトコードで記述される場合は、そのプログラムコードをＣＰＵ３０が直接解読して上記の処理を実行する。また、ゲームプログラムがソースコードで記述される場合は、一旦オブジェクトコードにコンパイルされてから、上記の処理が行われる。また、コンピュータからなるゲーム装置がオペレーションプログラムを有する場合は、ゲームプログラムの命令コードに従って、そのオペレーションプログラムと共同して、上記の処理が行われる。或いは、ゲーム装置の通信コネクタ５０に接続された通信回線を介してゲームプログラムがメインメモリ内に直接保存される場合もある。
【００４６】
そこで、図３で示したゲーム画面の例に従って、上記したゲームプログラムの各処理がどのように実行されるかについて説明する。先ず、図３（１）では、イベントサブルーチンのニュー問題ルーチンにより、問題ブロック２０が選択され、表示サブルーチン（Ｓ５）により、その問題ブロック２０と共に、落下ブロック２２とプレーヤ２４とが表示される。
【００４７】
図３（２）に示される通り、遊戯者がプレーヤ２４を左右に移動させるように上下左右操作ボタン１６を操作し、ミサイル発射の為にＡボタン１４を操作すると、その操作が入力サブルーチン（Ｓ５）にて検出され、その操作に従ってプレーヤサブルーチンにてプレーヤ２４の位置が変更され（Ｓ４１）、ミサイルの発射が検出され（Ｓ４４）、ミサイルサブルーチンにてミサイルの移動が制御される（Ｓ５１）。そして、ミサイルサブルーチンにて、ミサイルが落下ブロックのいずれかのブロックに衝突したことが検出されると（Ｓ５２）、イベントサブルーチン内のブロックチェックルーチンが実行される。
【００４８】
更に、図３（３）に示される通り、遊戯者が操作ボタンＢを操作して落下ブロックを９０°毎に回転させると、その操作入力が入力サブルーチンで検出され、それに従って落下ブロックのデータの角度データが変更される。そして、表示サブルーチンにて、その角度データに応じて落下ブロック２２が表示される。
【００４９】
図３（４）に示される通り、ミサイルサブルーチンにて、発射したミサイルが落下ブロックに衝突したことが検出されると、イベントサブルーチン内のブロックチェックルーチンにて、落下ブロックのデータと照合用の問題ブロックのデータとが照合チェックされる（Ｓ２９）。そして、落下ブロックのデータと照合用の問題ブロックのいずれかと一致したことが検出されると（Ｓ２３）、クリアになり、次の問題ブロックがニュー問題ルーチンにて選択され（Ｓ１６）、照合用の問題ブロックのデータが生成されると共に（Ｓ１７）、表示サブルーチンにて新しい問題ブロックが表示画面の右上に表示される。
【００５０】
また、図３（５）に示される通り、ブロックチェックルーチンにて消去してはならないブロックの消去が検出されると（Ｓ２１）、ブロック爆発ルーチンにて落下ブロック２２が爆発する様にそれぞれのブロックの位置が変更される（Ｓ２８）。そして、図３（７）に示される通り、爆発したブロックがプレーヤに衝突したことがプレーヤサブルーチンにて検出されると（Ｓ４２）、ミスとなる。
【００５１】
或いは、図３（６）に示される通り、落下ブロック２２が問題ブロックと一致する前に、表示画面の下部に達すると、イベントサブルーチン内のタイムアウトルーチンにて検出され（Ｓ１２）、上記と同様にブロック爆発ルーチンにて落下ブロックの爆発が制御され、プレーヤにそのブロックが衝突したかの検出が行われる。
【００５２】
上記したゲームプログラムでは、ゲームの難易度に応じて問題ブロックの種類を変化させたり、落下時間を短くしたり、落下ブロックのブロック数を増加させたりすることができる。更に、移動ブロック体の選択は、予め決められた順番で表示されるようにしてもよい。その場合は、移動ブロック体の形状が加工容易な形状からより困難な形状になる順番で表示されてもよい。
【００５３】
上記の実施の形態例では、移動ブロック体が画面の最下位置に落下した時点で爆発し、或いは修復不可能なブロックを消去した時に爆発し、その爆発したブロックがプレーヤに衝突した時に、ミスと判定されてプレーヤの数が減少する。しかしながら、本発明は上記に限定されずに、例えば移動ブロック体が最下位置に落下した時にミスと判定されてプレーヤの数が減少するようにしてもよい。または、修復不可能なブロックを消去した時にもプレーヤの数が減少するようにしてもよい。
【００５４】
【発明の効果】
以上説明した通り、本発明によれば、単純な形状の落下ブロックに対して、与えられた問題ブロックの形状への加工を４方向から行うことを基本とする。問題ブロックの形状を幾何学的に認識し、最も効率的な落下ブロックの加工方法を検討しながらミサイルによる消去操作を行う必要があり、単純ではあるがバラエティに富んだゲームを提供することができる。
【００５５】
しかも、加工される落下ブロックのデータを常に更新して、ブロックが消去される度に問題ブロックとの照合を行うことで、少ない演算工程で問題ブロックがクリアされたか否かを検出することができる。
【００５６】
更に、問題ブロックが選択されてから、その４方向の照合用の問題ブロックのデータを予め演算により求めておくことで、落下ブロックの加工が始まってからリアルタイムに問題ブロックがクリアされたか否か及び修復不可能なブロックが消去されたか否かの演算を行うことが可能になる。
【００５７】
従って、低コストでそれほど高いＣＰＵの能力を備えなくとも、ゲームプログラムの実行を可能にし、安価で興味深いゲーム装置を提供することができる。
【図面の簡単な説明】
【図１】本実施の形態例のゲーム装置の例の外観図である。
【図２】本実施の形態例のゲーム装置の内部構成の例を示す図である。
【図３】ゲームの進行に伴う画面の例を示す図である。
【図４】問題ブロックの他の例を示す図である。
【図５】問題ブロックデータと照合用に生成される問題ブロックデータとを示す図である。
【図６】メインメモリ内のデータ構成例を示す図である。
【図７】ゲーム全体のフローチャート図である。
【図８】イベントサブルーチンのフローチャート図である。
【図９】プレーヤサブルーチンのフローチャート図である。
【図１０】ミサイルサブルーチンのフローチャート図である。
【符号の説明】
１０          筐体
１２          液晶表示部
１４、１６    操作スイッチ
３０          ＣＰＵ
３２          メインメモリ（記録媒体）
３６          ゲームカートリッジ（記録媒体）
【図１】
0003752802.tif 000002
【図２】
0003752802.tif 000003
【図３】
0003752802.tif 000004
【図４】
0003752802.tif 000005
【図５】
0003752802.tif 000006
【図６】
0003752802.tif 000007
【図７】
0003752802.tif 000008
【図８】
0003752802.tif 000009
【図９】
0003752802.tif 000010
【図１０】
0003752802.tif 000011