(57)【特許請求の範囲】
【請求項１】
コンピュータを、
表示画面の所定の領域にフィールド、及び前記フィールド内に複数のパズル要素を表示する要素表示制御手段と、
前記フィールドの全体又は一部を前記所定の領域に対して相対的に移動させる移動制御手段と、
前記フィールド内に配置される前記パズル要素の配置関係が、所定の条件を満たすことを検知する条件検知手段と、
して機能させ、
前記フィールドは、前記パズル要素が前記フィールド内における配置位置から他の配置位置に移動可能な経路を示すレールを有し、
前記レールは、円の円周上及び多角形の辺上の少なくとも一方の形状上の周レールであり、
前記移動制御手段を、前記フィールド内における所定の中心点回りに前記周レールを回転移動させるように機能させること、
を特徴とするパズルゲームプログラム。
【請求項２】
請求項１に記載のパズルゲームプログラムであって、
前記コンピュータを、前記条件検知手段が検知したことに応じて、前記条件に該当の前記パズル要素を消去させる消去制御手段として機能させるためのパズルゲームプログラム。
【請求項３】
請求項１又は２に記載のパズルゲームプログラムであって、
前記移動制御手段を、前記パズル要素が前記フィールドの全体又は一部に配置される場合には、前記パズル要素が配置された前記フィールドを前記パズル要素と共に移動させるように機能させることを特徴とするパズルゲームプログラム。
【請求項４】
請求項１から３のいずれかに記載のパズルゲームプログラムであって、
前記フィールドは、所定の前記周レールと前記所定の周レールに径方向に隣り合う周レール間とで前記パズル要素が移動可能な経路を示す径レールを有し、
前記コンピュータを、前記径レールと所定の前記周レールとの交点に配置された前記パズル要素を、前記隣り合う周レールと前記径レールとの交点にパズル要素を有していない場合には、前記隣り合う周レール上に移動させる付随移動制御手段として機能させるためのパズルゲームプログラム。
【請求項５】
請求項１から４のいずれかに記載のパズルゲームプログラムであって、
前記移動制御手段を、操作部の操作に応じて移動させるように機能させることを特徴とするパズルゲームプログラム。
【請求項６】
請求項１から５のいずれかに記載のパズルゲームプログラムであって、
前記コンピュータを、前記パズル要素を前記所定の中心点側から外方向に出現表示させる要素出現表示制御手段として機能させるためのパズルゲームプログラム。
【請求項７】
請求項６に記載のパズルゲームプログラムであって、
前記要素出現表示制御手段を、出現表示させる前記パズル要素の個数を変化させるように機能させることを特徴とするパズルゲームプログラム。
【請求項８】
請求項６又は７に記載のパズルゲームプログラムであって、
前記コンピュータを、
前記要素出現表示制御手段により前記パズル要素を前記フィールドの外へ移動させたことを検知する外移動検知手段と、
前記外移動検知手段による検知に応じて、所定の数値を変化させ、前記数値に応じてパズルゲームを終了するか否かを判断する終了判断手段と、して機能させるパズルゲームプログラム。
【請求項９】
請求項１から８のいずれかに記載のパズルゲームプログラムであって、
前記パズル要素は、パズルゲームに関する変化をもたらす機能を示す属性を有することを特徴とするパズルゲームプログラム。
【請求項１０】
請求項９に記載のパズルゲームプログラムであって、
前記パズル要素を、属性の異なる複数のパズル要素を有するように機能させることを特徴とするパズルゲームプログラム。
【請求項１１】
請求項１から１０のいずれかに記載のパズルゲームプログラムであって、
前記要素表示制御手段を、前記表示画面に複数のフィールドを表示するように機能させることを特徴とするパズルゲームプログラム。
【請求項１２】
請求項１１に記載のパズルゲームプログラムであって、
前記移動制御手段を、前記フィールドを移動したことに応じて、隣り合う前記フィールドを相互に連動して移動させるように機能させることを特徴とするパズルゲームプログラム。
【請求項１３】
コンピュータを、
表示画面の所定の領域に複数のフィールド、及び複数の前記フィールド内に複数のパズル要素を表示する要素表示制御手段と、
前記フィールドの全体又は一部を前記所定の領域に対して相対的に移動させる移動制御手段と、
前記フィールド内に配置される前記パズル要素の配置関係が、所定の条件を満たすことを検知する条件検知手段と、
して機能させ、
前記移動制御手段を、前記フィールドを移動したことに応じて、隣り合う前記フィールドを相互に連動して移動させるように機能させること、
を特徴とするパズルゲームプログラム。
【請求項１４】
請求項１から１３のいずれかに記載のパズルゲームプログラムを記憶したプログラム記憶媒体。
【請求項１５】
請求項１から１３のいずれかに記載のパズルゲームプログラムが記憶された記憶部と、
前記パズルゲームプログラムを実行する制御部と、を備えることを特徴とするパズルゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パズルゲームプログラム、プログラム記憶媒体及びパズルゲーム装置に関する。
【背景技術】
【０００２】
従来、様々な種類のパズルゲームが存在する。パズルゲームとは、一般にはパズルをコンピューターゲームでプレイできるよう作られたゲームソフトのことをいう。その中の１つとして、パズルゲームを三次元とすることで、従来の二次元のパズルゲームよりも広いフィールドを確保した三次元パズルゲーム装置が提案されている。（例えば、特許文献１）。
【特許文献１】特開２００１−３８０４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
この特許文献１によれば、パズルゲームを三次元にしたことにより、正面側にパズル要素が存在する場合には、裏面側のパズル要素が表示されないという問題点がある。また、二次元の場合と比較して確保しうるゲームフィールドの面積を広く確保できるものの、フィールド自体は二次元の場合と同様に単調である。そのため、単調なゲームとなり、プレイヤに飽きられてしまう可能性がある。
【０００４】
そこで、本発明は、フィールドの単調さを解消したパズルゲームプログラム、プログラム記憶媒体及びパズルゲーム装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明は、以下のような解決手段により、前記課題を解決する。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。
【０００６】
請求項１の発明は、コンピュータ（１００）を、表示画面（１３）の所定の領域にフィールド（４０）、及び前記フィールド内に複数のパズル要素（４１）を表示する要素表示制御手段（１０１）と、前記フィールドの全体又は一部を前記所定の領域に対して相対的に移動させる移動制御手段（１０２）と、前記フィールド内に配置される前記パズル要素の配置関係が、所定の条件を満たすことを検知する条件検知手段（１０３）と、して機能させ、前記フィールドは、前記パズル要素が前記フィールド内における配置位置から他の配置位置に移動可能な経路を示すレール（４２）を有し、前記レールは、円の円周上及び多角形の辺上の少なくとも一方の形状上の周レール（４２）であり、前記移動制御手段を、前記フィールド内における所定の中心点回りに前記周レールを回転移動させるように機能させることを特徴とするパズルゲームプログラムである。
【０００７】
請求項２の発明は、請求項１に記載のパズルゲームプログラムであって、前記コンピュータ（１００）を、前記条件検知手段（１０３）が検知したことに応じて、前記条件に該当の前記パズル要素（４１）を消去させる消去制御手段（１０４）として機能させるためのパズルゲームプログラムである。
請求項３の発明は、請求項１又は２に記載のパズルゲームプログラムであって、前記移動制御手段（１０２）を、前記パズル要素（４１）が前記フィールド（４０）の全体又は一部に配置される場合には、前記パズル要素が配置された前記フィールドを前記パズル要素と共に移動させるように機能させることを特徴とするパズルゲームプログラムである。
請求項４の発明は、請求項１から３のいずれかに記載のパズルゲームプログラムであって、前記フィールド（４０）は、所定の前記周レール（４２）と前記所定の周レールに径方向に隣り合う周レール（４２）間とで前記パズル要素（４１）が移動可能な経路を示す径レール（４３）を有し、前記コンピュータ（１００）を、前記径レールと所定の前記周レールとの交点に配置された前記パズル要素を、前記隣り合う周レールと前記径レールとの交点にパズル要素を有していない場合には、前記隣り合う周レール上に移動させる付随移動制御手段（１０５）として機能させるためのパズルゲームプログラムである。
請求項５の発明は、請求項１から４のいずれかに記載のパズルゲームプログラムであって、前記移動制御手段（１０２）を、操作部（１４）の操作に応じて移動させるように機能させることを特徴とするパズルゲームプログラムである。
請求項６の発明は、請求項１から５のいずれかに記載のパズルゲームプログラムであって、前記コンピュータ（１００）を、前記パズル要素（４１）を前記所定の中心点側から外方向に出現表示させる要素出現表示制御手段（１０６）として機能させるためのパズルゲームプログラムである。
請求項７の発明は、請求項６に記載のパズルゲームプログラムであって、前記要素出現表示制御手段（１０６）を、出現表示させる前記パズル要素（４１）の個数を変化させるように機能させることを特徴とするパズルゲームプログラムである。
請求項８の発明は、請求項６又は７に記載のパズルゲームプログラムであって、前記コンピュータ（１００）を、前記要素出現表示制御手段（１０６）により前記パズル要素（４１）を前記フィールド（４０）の外へ移動させたことを検知する外移動検知手段（１０７）と、前記外移動検知手段による検知に応じて、所定の数値を変化させ、前記数値に応じてパズルゲームを終了するか否かを判断する終了判断手段（１０８）と、して機能させるパズルゲームプログラムである。
請求項９の発明は、請求項１から８のいずれかに記載のパズルゲームプログラムであって、前記パズル要素（４１）は、パズルゲームに関する変化をもたらす機能を示す属性を有することを特徴とするパズルゲームプログラムである。
請求項１０の発明は、請求項９に記載のパズルゲームプログラムであって、前記パズル要素（４１）を、属性の異なる複数のパズル要素を有するように機能させることを特徴とするパズルゲームプログラムである。
請求項１１の発明は、請求項１から１０のいずれかに記載のパズルゲームプログラムであって、前記要素表示制御手段（１０１）を、前記表示画面（１３）に複数のフィールド（４０ａ，４０ｂ，４０ｃ）を表示するように機能させることを特徴とするパズルゲームプログラムである。
請求項１２の発明は、請求項１１に記載のパズルゲームプログラムであって、前記移動制御手段（１０２）を、前記フィールド（４０ａ）を移動したことに応じて、隣り合う前記フィールド（４０ｂ）を相互に連動して移動させるように機能させることを特徴とするパズルゲームプログラムである。
請求項１３の発明は、コンピュータ（１００）を、表示画面（１３）の所定の領域に複数のフィールド（４０ａ，４０ｂ，４０ｃ）、及び複数の前記フィールド内に複数のパズル要素（４１）を表示する要素表示制御手段（１０１）と、前記フィールドの全体又は一部を前記所定の領域に対して相対的に移動させる移動制御手段（１０２）と、前記フィールド内に配置される前記パズル要素の配置関係が、所定の条件を満たすことを検知する条件検知手段（１０３）と、して機能させ、前記移動制御手段を、前記フィールド（４０ａ）を移動したことに応じて、隣り合う前記フィールド（４０ｂ）を相互に連動して移動させるように機能させること、を特徴とするパズルゲームプログラムである。
【０００８】
請求項１４の発明は、請求項１から１３のいずれかに記載のパズルゲームプログラムを記憶したプログラム記憶媒体である。
【０００９】
請求項１５の発明は、請求項１から１３のいずれかに記載のパズルゲームプログラムが記憶された記憶部と、前記パズルゲームプログラムを実行する制御部と、を備えることを特徴とするパズルゲーム装置である。
【００１０】
なお、符号を付して説明した構成は、適宜改良してもよく、また、少なくとも一部を他の構成物に代替してもよい。
【発明の効果】
【００１１】
本発明によれば、以下の効果を奏することができる。
（１）本発明は、複数のパズル要素が配置されたフィールドの全体又は一部を、例えば、フィールドの中心点を基準に回転移動させるように、フィールドが表示される所定の領域に対して相対的に移動させるので、フィールドの移動に伴うゲーム要素の配置を利用した新しい形態のゲームを提供することができる。よって、フィールド自体を変化に伴うものとすることができ、フィールドの単調さを解消したゲームを提供することができる。
【００１２】
（２）本発明は、パズル要素の配置関係が所定の条件を満たすことに応じて当該パズル要素を消去させるので、フィールドの移動によりゲーム要素を消去させる新しい形態のゲームを提供することができる。よって、パズル要素に変化が生じることにより、見た目にも面白味のあるゲームを提供することができる。また、パズル要素を消去させる演出により、プレイヤは、爽快感を味わうことができる。
【００１３】
（３）本発明は、フィールドの全体又は一部を移動させる場合に、移動させるフィールド上のパズル要素をも移動させるので、フィールドとゲーム要素とを一体で移動して配置を変更するゲームを提供することができる。よって、移動されたパズル要素により、ゲームに変化を持たせることができる。
【００１４】
（４）本発明は、パズル要素を移動可能なレールをフィールド内に有するので、フィールド内でパズル要素の移動ができる。パズル要素を移動する際に、レールを伝わって移動するかのように表示することができ、よりリアルな演出を行うことができる。
【００１５】
（５）本発明は、円の円周上及び多角形の辺上の少なくとも一方の形状上の周レールを、所定の中心点回りに回転移動させるので、例えば、直線的な移動で画面からフィールドがはみ出してしまうことを防止できる。また、回転移動という動きの面白味をプレイヤに提供することができる。
【００１６】
（６）本発明は、フィールドの回転移動により、パズル要素を、パズル要素が存在しない隣り合う周レール上に移動させることにより、複雑にパズル要素を移動させることができる。よって、回転移動による付随的な動きを演出することができる。また、パズル要素を移動することにより、ゲームに戦略性を持たせることができる。
【００１７】
（７）本発明は、操作に応じてフィールドの全体又は一部を移動させるので、プレイヤの操作によりパズル要素の移動及び配置を変更できる。よって、プレイヤは、自らの意志により戦略を考えながら攻略をするゲームを行うことができる。
【００１８】
（８）本発明は、パズル要素を所定の中心点側から外方向に出現表示させるので、湧き出すようパズル要素を表示することができる。また、出現表示させるパズル要素の個数を変化させることができるので、パズル要素の出現に際して、例えば、プレイヤの技量に応じて個数を増減する等、変化に富む手法を提供することによりゲームの面白味を増すことができる。
【００１９】
（９）本発明は、パズル要素を所定の中心点側から外方向に出現表示させたことに応じて、パズル要素がフィールド外に移動したことを検知する。また、検知に応じて変化する所定の数値に応じて、パズルゲームを終了するか否かを判断する。よって、パズル要素がフィールド外に移動しても、従来のパズルゲームのように、それだけでパズルゲームを終了させないことが可能である。よって、所定の数値により即座にパズルゲームを終了させないことが可能であり、プレイヤが途中でパズルゲームを諦めるのを防ぐことができる。
【００２０】
（１０）本発明は、パズル要素が、パズルゲームに関する変化をもたらす機能を示す属性を有する。また、属性の異なる複数のパズル要素を有する。よって、パズルゲームをパズル要素により多様に変化させることができ、ゲームが単調になるのを防ぎ、ゲームの面白味を強化することができる。
【００２１】
（１１）本発明は、複数のフィールドを表示し、フィールドを移動させたことに応じて、隣り合うフィールドを相互に連動して移動させるので、フィールドを相互に関連づけることができ、複雑な動きを演出できる。よって、フィールドの移動により相互のゲーム要素の配置、移動に戦略性を要求することができる。また、複数のフィールドを有することにより、ゲームクリア条件を複雑にすることができ、フィールドの個数に応じて、より面白味を増すゲームを提供することができる。
【発明を実施するための最良の形態】
【００２２】
本発明は、フィールドの単調さを解消したパズルゲームプログラム、プログラム記憶媒体及びパズルゲーム装置を提供するという目的を、パズル要素が配置されたフィールドの全体又は一部を表示画面の所定の領域に対して相対的に移動させる移動制御手段を備えることによって実現した。
【００２３】
（第１実施形態）
以下、本発明を実施するための最良の形態について図を参照しながら説明する。なお、これはあくまでも一例であって、本発明の技術的範囲はこれに限られるものではない。
図１は、第１実施形態の一例に係るパズルゲームを行うコンピュータ１００の機能を示す機能ブロック図である。コンピュータ１００は、ＣＰＵ１０、ＲＯＭ１１、ＲＡＭ１２、ディスプレイ１３、マウス／キーボード１４、画像処理部１５及びサウンド処理部１６を有し、それらがバス２０を介して接続されている。バス２０は、コンピュータ１００内のアドレス信号やデータを伝送するラインである。
【００２４】
ＣＰＵ１０は、情報の演算、処理を行う情報演算処理装置であり、当該コンピュータ１００全体の制御を行う。ＣＰＵ１０は、ＲＯＭ１１に記憶された各種プログラムを適宜読み出して実行することにより、上述のハードウェアと協働し、本発明に係る各種機能を実現している。
また、ＣＰＵ１０は、要素表示制御手段１０１、移動制御手段１０２、条件検知手段１０３、消去制御手段１０４、付随移動制御手段１０５、要素出現表示制御手段１０６、外移動検知手段１０７、及び終了判断手段１０８を有する。各機能の詳細については、後述するフローチャートで適宜説明する。
【００２５】
ＲＯＭ１１は、パズルゲームプログラム等のアプリケーションを動作させるためのプログラム、各種のパラメータ等を記憶している。ＲＯＭ１１は、通信インタフェース（図示せず）を介してネットワーク上に有するプログラムをダウンロードし、記憶するローカルディスクでもよいし、プログラムが記憶されたコンピュータ可読媒体でもよい。コンピュータ可読媒体としては、電気的、磁気的、光学的、電磁的に実現するものを含んでよい。
ＲＡＭ１２は、各種のプログラムの実行時に、テーブル等を展開するための一時記憶領域であり、ローカルメモリ、及びキャッシュメモリを含んでよい。
【００２６】
ディスプレイ１３は、プレイヤにパズルゲームの画像を表示する表示画面であり、ブラウン管表示装置（ＣＲＴ）、液晶表示装置（ＬＣＤ）等のディスプレイ装置を含む。
マウス／キーボード１４は、プレイヤの操作による入力を行う操作部であり、他にはポインティング・デバイス等を含んでよい。
画像処理部１５は、パズルゲームの画像を表示する際に、コンピュータグラフィックス処理等を司る。サウンド処理部１６は、パズルゲームの実行時に、音声処理等を司る。
【００２７】
コンピュータ１００により実施されるパズルゲームは、複数のステージが準備されており、ステージごとに異なるフィールド及びブロック（パズル要素）がディスプレイ１３に表示される。そして、プレイヤは、フィールドを操作しながら、フィールド外にブロックが移動しないように同種のブロックを揃えることでブロックを消去し、所定の条件を満たすことでステージをクリアする。ステージをクリアすることに応じて、次のステージのゲームが開始される。
【００２８】
図２は、第１実施形態の一例に係るパズルゲームの画面を示す図である。
ディスプレイ１３の上方には、左から右に順にライフポイント部３０、ステージ情報部３１、スコア表示部３２及びメニュー情報部３３が表示される。また、ディスプレイ１３の中央には、フィールド４０が表示される。
【００２９】
ライフポイント部３０は、例えば、プレイヤが失敗した場合に付与されるマイナスポイントや、成功した場合に付与されるプラスポイント等のポイント数をステージごとに表示する。ステージ情報部３１は、複数ステージ用意されたゲームの中での現在のステージの情報（ステージ番号）を表示する。スコア表示部３２は、現在のプレイヤの得点を表示する。得点は、ゲーム開始からの合計得点であり、例えば、所定の時間以内にステージをクリアした場合に、ボーナス得点が付与される。メニュー情報部３３は、当該メニュー情報部３３を選択することで、別ウィンドウでメニューを表示する。メニューは、例えば、プレイヤの過去の最高得点を表示したり、背景を変更したりするものや、ＰＡＵＳＥコマンド等の様々なオプションを表示する。
【００３０】
フィールド４０は、実際にパズルゲームを行うための領域である。この図２においては、１個のフィールド４０が示されているが、後述するようにフィールド４０を複数個有してもよい。このフィールド４０には、パズル要素であるブロック４１が複数配置される。ブロック４１は、例えば、ボールのような球状の表示である。フィールド４０は、例えば円形を示しており、内側から外側に順番に配置される、径が異なる複数の周レール４２と、円の中心点近傍から外方向に配置され、相互に６０度の間隔で配置される複数の径レール４３とを有する。径レール４３は、径方向に隣り合う周レール４２を接続する。この周レール４２と径レール４３とは、ブロック４１が転がり得るように、例えば、溝の形状として表示する。周レール４２は、中心点を基準に円周上を回転可能に構成されている。回転の際には、回転する周レール４２と共に、当該周レール４２に接続され、中心点方向に延びる径レール４３もあわせて移動する。
【００３１】
ブロック４１は、周レール４２と径レール４３との交点上に配置される。配置されるブロック４１は、複数種類の属性を有する。ブロック４１が、同種（同色）のブロック４１を、周レール４２上、若しくは径レール４３上に３つ以上並べて配置した場合（後述の図７（ａ）参照）、又は周レール４２と径レール４３を用いたＬ字型上に３つ以上並べて配置した場合（後述の図４（ａ）参照）に、当該並べて配置したブロック４１を消去する。そして、消去したブロック４１に外方向に隣接した径レール４３上のブロック４１は、径レール４３が存在する場合には、中心点方向に転がり、消去したブロック４１の位置に移動する。ブロック４１が消去されたことに伴い、隣接したブロック４１が移動し、この移動によりさらに消去するブロック４１が発生して消去する事象を連鎖と呼ぶ。
【００３２】
中心点部分には、栓４４が配置される。この栓４４は、定期的に又は予め定めたルールに従って、径レール４３を経由して直近の周レール４２との交点にブロック４１を放出する。そして、ライフポイント部３０に表示されるライフポイントが所定の値に達した場合には、当該栓４４が破壊された画像がディスプレイ１３に表示されると共に、ステージクリアとなる。なお、ライフポイントによって、ブロック４１を放出するスピードを変化させてもよい。
最も外側の周レール４２の外側であり径レール４３の延長上には、穴４５が配置される。この穴４５は、フィールド４０の外に移動したブロック４１が入る。
【００３３】
図２の右下方には、カーソル５０が表示されている。このカーソル５０は、マウス／キーボード１４を操作することによりディスプレイ１３上を移動する。そして、カーソル５０を１つの周レール４２上に移動させて、例えば、時計回りにマウス／キーボード１４をドラック＆ドロップすることにより、その１つの周レール４２が該当の回転方向に１つの径レール４３の分だけ動く。この図２の例では、径レール４３が６個あり、全て等間隔に配置されているため、６０度時計回りに回転する。また、メニュー情報部３３上にカーソル５０を表示させ、マウス／キーボード１４をクリックすることにより、別ウィンドウとして表示されるメニュー画面が、ディスプレイ１３上に表示される。
【００３４】
ブロック４１の属性として、ブロック４１の種類（色）を示すものがある。例えば、属性「１」は紫色を、属性「２」は白色のブロック４１を示す。他には、消去の際に当該消去するブロック４１と同一の径レール４３上の全てのブロック４１を消去するものがある。また、消去の際に多くのダメージを栓４４に与え、ブロック４１の放出を一定時間抑止するもの等が存在する。このように、ブロック４１に属性を持たせることにより、面白味を強化したパズルゲームを提供することができる。また、ゲームが単調になるのを防ぐことに貢献する。これらは、ゲームのステージが進むにつれて順次出現させてもよい。
【００３５】
図３は、第１実施形態の一例に係るフィールド４０と各種テーブルとの関係を示す図である。まず、図３（ａ）は、フィールド４０内の周レール４２及び径レール４３に、各々符号を付した図である。例えば、径レール４３は、時計の１時方向の配置のものから時計回りに順に径０から径５までの符号が付してある。また、径レール４３について、周レール４２との交点を区切りとして、中心点方向から外側に向かって順に区間Ａから区間Ｅまでの符号を付している。同様に、周レール４２は、中心点方向から外側に順に、周ａから周ｅの符号を付している。さらに、周レール４２について、径０の径レール４３と径１の径レール４３に挟まれた区間を区間Ｈとし、時計回りの方向に順に区間Ｍまでの符号を付している。この符号は、図３（ｂ）から（ｄ）の各種テーブルにおいて使用される。フィールド４０の周レール４２及び径レール４３は、図３（ａ）に示すように接続されていない部分（Ｆ）があってもよい。
【００３６】
図３（ｂ）は、ブロック配置テーブル６０を示す。このブロック配置テーブル６０は、ブロック４１の属性を含むブロック４１の配置位置を格納する。ブロック配置テーブル６０の行は、径レール４３を示す。またブロック配置テーブル６０の列は、周レール４２を示す。そして、ブロック配置テーブル６０の各項目（セル）は、径レール４３と周レール４２の交点に配置されたブロック４１を示しており、ブロック４１の属性の種類に対応した属性番号（１〜７）を付している。例えば、行番号が０で列番号がａ（以下、ブロック位置（０，ａ）と示す）は「１」である。これは、径０の径レール４３と周ａの周レール４２との交点に、属性番号１に対応した紫色のブロック４１が配置されていることを示す。また、ブロック位置（２，ａ）は空（ブランク）である。これは、径２の径レール４３と周ａの周レール４２との交点には、ブロック４１が配置されていないことを示す。なお、この図３（ｂ）並びに後述する図３（ｃ）及び（ｄ）に示す各項目の値は、上述の図２のブロック４１、径レール４３、及び周レール４２と対応している。
【００３７】
図３（ｃ）は、径レール配置テーブル７０を示す。この径レール配置テーブル７０は、該当箇所に関する径レール４３の有無を示す。径レール配置テーブル７０の行は、径レール４３を示す。また、径レール配置テーブル７０の列は、径レール４３の区間を示す。各項目の「１」は、該当箇所の径レール４３が存在することを示し、「０」は、該当箇所の径レール４３が存在しないことを示す。例えば、径レール位置（０，Ａ）は「１」であるため、径０の径レール４３のうち区間Ａは径レール４３が存在することを示す。他方、径レール位置（０，Ｄ）は「０」であるため、径０の径レール４３のうち区間Ｄは径レール４３が存在しないことを示す。
【００３８】
図３（ｄ）は、周レール配置テーブル７２を示す。この周レール配置テーブル７２は、周レール４２の有無を示す。周レール配置テーブル７２の行は、周レール４２の区間を示す。また、周レール配置テーブル７２の列は、周レール４２を示す。各項目の「１」は、該当箇所の周レール４２が存在することを示し、「０」は、該当箇所の周レール４２が存在しないことを示す。図３（ｄ）の場合、全ての項目が「１」であるため、周ａから周ｅまでの周レール４２が全て空の区間がなく存在していることを示す。
【００３９】
図４は、第１実施形態の一例に係るブロック４１が放出された場合のフィールド４０の例と、その際のブロック配置テーブル６０とを示す。また、図５は、図４に関連して行われる処理を説明するためのブロック配置テーブル６０を示す。
まず、図４（ａ）は、上述の図２から栓４４によりブロック４１が１つ放出された様子を示す。放出されたブロック４１は、（Ａ）で表されている。
また、図４（ｂ）は、図４（ａ）のブロック配置テーブル６０を示す。上述の図３（ｂ）と比較して、（Ａ）により示されたブロック位置（２，ａ）には、放出されたブロック４１の属性である「７」の値が格納されている。なお、属性の「７」は、例えば、緑色のブロック４１を示す。
【００４０】
図５（ａ）は、上述の図４（ｂ）と同様、ブロック配置テーブル６０を示す。ここで、（Ｂ）により示された部分に着目すると、各項目の属性が「７」である。その様子は、図４（ａ）にも（Ｂ）として示され、Ｌ字型に同一の属性のブロック４１が配置されている。よって、このブロック４１は消去される。
図５（ｂ）は、図５（ａ）からブロック４１を消去した際のブロック配置テーブル６０を示す。図５（ａ）で斜線により表されていた（Ｂ）の部分の項目が空となっている。
図５（ｃ）は、隣り合うブロック４１を径方向の中心点側につめるように、径レール４３を伝わせてブロック４１を移動させた後のブロック配置テーブル６０を示す。図５（ｂ）と比較して、ブロック位置（３，ａ）には元のブロック位置（３，ｃ）の値が、ブロック位置（３，ｂ）には元のブロック位置（３，ｄ）の値が、それぞれ格納されている。なお、ブロック位置（２，ａ）の項目が空となったにもかかわらず格納されていない。これは、上述の図３（ｃ）で示すように、径レール位置（２，Ｂ）の径レール４３が存在せず、ブロック位置（２，ｂ）からブロック位置（２，ａ）へブロック４１を移動できないためである。なお、図５（ｃ）に基づき作成される表示画面を、図６に示す。
【００４１】
図７は、第１実施形態の一例に係るフィールド４０上の周ｃの周レール４２を１つの径レール４３の分（６０度）だけ反時計回りに回転させた場合のフィールド４０（図７（ａ））と、ブロック配置テーブル６０（図７（ｂ））とを示す。
回転移動は、例えば、上述の図２に示す径１の径レール４３と周ｃの周レール４２との交点に配置された属性が６のブロック４１にカーソル５０をあわせ、径０の径レール４３の方向にマウス／キーボード１４をドラッグ＆ドロップすることにより行われる。
図７（ｂ）のブロック配置テーブル６０によれば、径３の径レール４３上に（Ｃ）として表示されている属性が「７」のブロック４１が、３つ連続して並んでいるのが分かる。よって、この回転移動させた後、ＣＰＵ１０は、連続して並んでいるブロック４１を消去し、ブロック位置（３，ｄ）に配置された属性「５」のブロック４１が、ブロック位置（３，ａ）に移動されることとなる。
【００４２】
次に、図８から図１５のフローチャートを参照して、第１実施形態のパズルゲームプログラムの動作について説明する。まず、図８は、第１実施形態の一例に係るメイン処理のフローチャートを示す。
コンピュータ１００に電源が投入され、パズルゲームプログラムが実行されると、ステップＳ１では、ＣＰＵ１０は、まず初期設定処理を実行する。この初期設定処理は、例えば、ＲＡＭ１２を初期化する。この処理によって、後述する各種処理で使用するフラグやステータス等の領域が初期化される。また、ＲＡＭ１２上に、上述の図３（ｂ）で説明したブロック配置テーブル６０が展開され、デフォルト値が設定される。このデフォルト値は、ゲーム開始時のブロック４１の配置に関するものである。ＣＰＵ１０は、ブロック４１の配置場所と属性との情報を有した複数の初期状態情報を事前に用意しておき、それらを順番に又はＣＰＵ１０により作成される乱数データを用いてランダムに選択してもよい。また、ブロック４１の配置及び属性全てに関して乱数データを用いてランダムに決定してよい。さらに、ＲＡＭ１２には、上述の図３（ｃ）及び（ｄ）で説明した径レール配置テーブル７０及び周レール配置テーブル７２が展開される。ここで、周レール４２は、径レール４３と同様に接続されていない区間を含むように設定してもよい。接続されていない区間を含む径レール４３及び周レール４２により、複雑なパズルゲームを構成することができる。
【００４３】
次に、ステップＳ２では、ＣＰＵ１０は、ブロック処理を実行する。このブロック処理では、フィールド４０及びフィールド４０上に配置されるブロック４１に関する種々の処理が行われるが、その詳細については後述する。
次に、ステップＳ３では、ＣＰＵ１０は、付随処理を行う。付随処理では、ブロック処理の結果に応じて、ライフポイント部３０に表示するライフポイントや、スコア表示部３２に表示する得点を集計する。
【００４４】
次に、ステップＳ４では、ＣＰＵ１０（要素表示制御手段１０１）は、表示処理を行う。具体的には、ブロック処理（ステップＳ２）及び付随処理（ステップＳ３）の結果に基づき、画像処理部１５で作成した表示画像をディスプレイ１３に表示する。なお、ブロック４１の移動は、実際に球状のブロック４１がレールの溝を伝わって移動するように表示する等リアルな演出とすることが望ましい。これは、例えば、移動前と移動後のブロック４１の位置に基づき、径レール４３上を移動する場合、当該径レール４３の位置を考慮してブロック４１の経路を複数に分割し、その分割した位置にブロック４１の画像を順次表示することで実現できる。
次に、ステップＳ５では、ＣＰＵ１０は、サウンド処理を実行する。このサウンド処理では、サウンド処理部１６により、サウンドメモリ領域（ＲＡＭ１２）に記憶された音データ（図示せず）に基づいて、ＢＧＭや効果音等をスピーカ（図示せず）から出力する。なお、図８に示すメイン処理は、所定時間又はマウス／キーボード１４による操作により行われる処理を１サイクルとして実行される。よって、ＣＰＵ１０は、ステップＳ５の処理後、ステップＳ２に戻り、繰り返し処理を行う。
【００４５】
図９は、上述の図８に示すブロック処理（ステップＳ２）のフローチャートである。これは、ブロック４１に関する動作やフィールド４０の移動に関する動作の処理である。
まず、ステップＳ２１において、ＣＰＵ１０は、タイマ判定処理を行う。
以下、図１０を参照して、タイマ判定処理について説明する。
まず、ステップＳ１０１において、ＣＰＵ１０は、タイマを起動する。タイマは、栓４４からブロック４１を放出してから次のブロック４１を放出する所定の時間を計測し、栓４４がブロック４１を放出した際にクリアされる。
【００４６】
次に、ステップＳ１０２では、ＣＰＵ１０は、所定の時間が到来したか否かを判断する。所定の時間が到来した場合（ステップＳ１０２の処理でＹＥＳが判断される場合）には、ＣＰＵ１０は、処理をステップＳ１０５に移し、ステータスにより後述の処理でブロック４１を放出する。他方、所定の時間が到来していない場合（ステップＳ１０２の処理でＮＯが判断される場合）には、ＣＰＵ１０は、処理をステップＳ１０３に移す。
【００４７】
ステップＳ１０３では、ＣＰＵ１０は、マウス／キーボード１４からフィールド４０の操作を受け付けたか否かを判断する。フィールド４０の操作を受け付けた場合（ステップＳ１０３の処理でＹＥＳが判断される場合）には、ＣＰＵ１０は、処理をステップＳ１０４に移す。他方、メニュー情報部３３（図２参照）に関する操作等、フィールド４０の操作を受け付けていない場合（ステップＳ１０３の処理でＮＯが判断される場合）には、ＣＰＵ１０は、処理をステップＳ１０２に戻す。
【００４８】
ステップＳ１０４では、ＣＰＵ１０は、ステップＳ１０３で受け付けた操作が栓４４に関するものであるか否かを判断する。栓４４は、所定の時間でブロック４１を放出する他、マウス／キーボード１４をクリックして栓４４自体が選択されることで、ブロック４１を放出する機能を有する。操作が栓４４に関するものである場合（ステップＳ１０４の処理でＹＥＳが判断される場合）には、処理をステップＳ１０５に移し、ＣＰＵ１０は、ＲＡＭ１２上のステータスに１をセットした後、本処理を終了する。
他方、周レール４２に対する操作がされた場合であり、操作が栓４４に関するものではない場合（ステップＳ１０４の処理でＮＯが判断される場合）には、処理をステップＳ１０６に移し、ＣＰＵ１０は、ＲＡＭ１２のステータスに２をセットした後、本処理を終了する。ここで、ステータスは、ＲＡＭ１２に有する領域に記憶され、ブロック４１の放出やカーソル５０による周レール４２の移動等の判断をするために用いられる。
【００４９】
図９に戻って、ステップＳ２２では、ＣＰＵ１０は、ＲＡＭ１２上に有するステータスが１であるか否かを判断する。ステータスに１が設定されている場合（ステップＳ２２の処理でＹＥＳが判断される場合）には、ＣＰＵ１０は、処理をステップＳ２３に移し、ブロック放出処理を行う。他方、ステータスに１が設定されていない場合（ステップＳ２２の処理でＮＯが判断される場合）は、ＣＰＵ１０は、処理をステップＳ２４に移し、レール移動処理を行う。
【００５０】
ここで、ステップＳ２３のブロック放出処理について図１１に基づき説明する。
まず、ステップＳ１１１において、ＣＰＵ１０は、ステージのレベルに応じて放出するブロック４１の数を決定する。例えば、ステージが１−１〜１−１０、２−１〜２−１０、３−１〜３−８まで３段階かつ段階ごとに複数回数分のステージが用意されている場合、ステージ１−１〜１−１０まではブロック４１の放出数を１、ステージ２−１〜２−１０まではブロック４１の放出数を２、ステージ３−１〜３−８まではブロック４１の放出数を３、とそれぞれ放出数を決定する。このように、放出数は予め決めておいてもよいし、乱数データを用いてランダムに決定してもよい。
次に、ステップＳ１１２では、ＣＰＵ１０は、放出するブロック４１の属性を決定する。放出するブロック４１の属性は、例えば、乱数データを用いてランダムに決定してもよい。
【００５１】
次に、ステップＳ１１３では、ＣＰＵ１０は、ステップＳ１１１で決定した全てのブロック４１を放出したか否かを判断する。全てのブロック４１を放出した場合（ステップＳ１１３の処理でＹＥＳが判断される場合）には、ＣＰＵ１０は、本処理を終了する。他方、全てのブロック４１を放出していない場合（ステップＳ１１３の処理でＮＯが判断される場合）には、ＣＰＵ１０は、処理をステップＳ１１４に移す。
【００５２】
ステップＳ１１４では、放出カウント値を変数Ｘにコピーする。ここで、放出カウント値及び変数Ｘは、ＲＡＭ１２の領域に記憶される。放出カウント値には、初期値を０として、ブロック４１を放出した径レール４３の位置を示す番号（径０〜径５）がセットされている。
【００５３】
次に、ステップＳ１１５では、ＣＰＵ１０は、ブロック配置テーブル６０（図３（ｂ））を参照してブロック位置（Ｘ，ａ）が空か否かを判断する。これは、栓４４に一番近い周ａの周レール４２と、変数Ｘと同記号の径レール４３との交点にブロック４１が存在するか否かを判断している。ブロック位置（Ｘ，ａ）が空である場合（ステップＳ１１５の処理でＹＥＳが判断される場合）には、処理をステップＳ１１６に移し、ＣＰＵ１０（要素出現表示制御手段１０６）は、ブロック位置（Ｘ，ａ）にブロック４１を放出し、放出カウント値に１を加算する（ステップＳ１１７）。なお、ブロック４１を、複数の径レール４３に順番に放出するため、放出カウント値には、０から５の値がセットされるように６で割った剰余であるｍｏｄ（Ｘ＋１，６）により得られる値がセットされる。また、ブロック４１を放出した際に、ブロック配置テーブル６０の該当箇所に、放出に伴って追加となったブロック４１の属性を更新する。その後、ＣＰＵ１０は、処理をステップＳ１１３に移す。
【００５４】
他方、ブロック位置（Ｘ，ａ）が空でない場合（ステップＳ１１５の処理でＮＯが判断される場合）には、ＣＰＵ１０は、処理をステップＳ１１８に移し、周ａの周レール４２に空の箇所が存在するか否かを判断する。ここで、周ａの周レール４２に空の箇所が存在するとは、周ａの周レール４２と径レール４３との交点にブロック４１が存在しない箇所が、少なくとも１つ以上あることをいう。周ａの周レール４２に空の箇所が存在する場合（ステップＳ１１８の処理でＹＥＳが判断される場合）には、ＣＰＵ１０は、処理をステップＳ１２０に移す。そして、ＣＰＵ１０（要素出現表示制御手段１０６）は、周ａの周レール４２の空の箇所のブロック位置（Ｙ，ａ）にブロック４１を放出し（ステップＳ１２０）、放出カウント値に１を加算する（ステップＳ１２１）。その後、ＣＰＵ１０は、ステップＳ１１３に処理を移す。なお、周ａの周レール４２に空の箇所が複数存在する場合には、例えば、放出カウント値を１ずつ加算し、最初に存在した空の位置を、ブロック４１の放出箇所とする。
【００５５】
他方、空の箇所が存在しない場合（ステップＳ１１８の処理でＮＯが判断される場合）は、ＣＰＵ１０は、処理をステップＳ１１９に移す。ステップＳ１１９においてブロック移動処理を行った後、ＣＰＵ１０（要素出現表示制御手段１０６）は、ブロック位置（Ｘ，ａ）にブロック４１を放出し（ステップＳ１１６）、放出カウント値に１を加算（ステップＳ１１７）した上で、ステップＳ１１３に処理を移す。
【００５６】
ここで、ステップＳ１１９で行うブロック移動処理について図１２に基づき説明する。ブロック移動処理は、栓４４に一番近い周ａの周レール４２に、ブロック４１が隙間なく配置され、空の箇所が存在しない場合に行われる。ブロック４１を放出するために、周ａの周レール４２上のブロック４１を移動させる必要がある場合である。
【００５７】
まず、ステップＳ１００１において、ＣＰＵ１０は、ブロック位置（Ｘ，ｂ）が空か否かを判断する。ブロック位置（Ｘ，ｂ）が空の場合（ステップＳ１００１でＹＥＳが判断される場合）は、ＣＰＵ１０は、ブロック位置（Ｘ，ａ）に存在するブロック４１をブロック位置（Ｘ，ｂ）に移動させ（ステップＳ１００２）、本処理を終了する。これにより、周ａの周レール４２の外方向に配置される周ｂの周レール４２にブロック４１が移動され、周ａの周レール４２上のブロック位置（Ｘ，ａ）を空にして、栓４４から放出されるブロック４１を配置することができる。他方、ブロック位置（Ｘ，ｂ）が空でない場合（ステップＳ１００１の処理でＮＯが判断される場合）には、ＣＰＵ１０は、処理をステップＳ１００３に移す。
【００５８】
次に、ステップＳ１００３では、ＣＰＵ１０は、周ｂの周レール４２のうち、ブロック位置（Ｘ，ｂ）から時計回りに辿った径レール４３との交点である、ブロック位置（ｍｏｄ（Ｘ＋１，６），ｂ）が空か否かを判断する。ブロック位置（ｍｏｄ（Ｘ＋１，６），ｂ）が空である場合（ステップＳ１００３の処理でＹＥＳが判断される場合）には、ＣＰＵ１０は、ブロック位置（Ｘ，ｂ）に配置されたブロック４１をブロック位置（ｍｏｄ（Ｘ＋１，６），ｂ）に移動し（ステップＳ１００４）、ブロック位置（Ｘ，ａ）に配置されたブロック４１を空となったブロック位置（Ｘ，ｂ）に移動し（ステップＳ１００２）、本処理を終了する。他方、ブロック位置（ｍｏｄ（Ｘ＋１，６），ｂ）が空でない場合（ステップＳ１００３の処理でＮＯが判断される場合）には、ＣＰＵ１０は、処理をステップＳ１００５に移す。
【００５９】
ステップＳ１００５では、ＣＰＵ１０は、周ｂの周レール４２のうち、ブロック位置（Ｘ，ｂ）から反時計回りに辿った径レール４３との交点である、ブロック位置（ｍｏｄ（Ｘ−１，６），ｂ）が空か否かを判断する。ブロック位置（ｍｏｄ（Ｘ−１，６），ｂ）が空である場合（ステップＳ１００５の処理でＹＥＳが判断される場合）には、ＣＰＵ１０は、ブロック位置（Ｘ，ｂ）に配置されたブロック４１をブロック位置（ｍｏｄ（Ｘ−１，６），ｂ）に移動し（ステップＳ１００６）、ブロック位置（Ｘ，ａ）に配置されたブロック４１を空となったブロック位置（Ｘ，ｂ）に移動し（ステップＳ１００２）、本処理を終了する。他方、ブロック位置（ｍｏｄ（Ｘ−１，６），ｂ）が空でない場合（ステップＳ１００５の処理でＮＯが判断される場合）には、ＣＰＵ１０は、処理をステップＳ１００７に移す。
【００６０】
ステップＳ１００７では、変数Ｘと同記号の径レール４３に配置されている全てのブロック４１を中心点側から径方向外側に１つずつずらす。ブロック配置テーブル６０の該当箇所に存在するブロック４１の属性を、右方向に１つ移動させブロック位置（Ｘ，ａ）に空きを作る。なお、ずらす途中に空の箇所があれば、それより右に配置されたブロック４１はずらさない。
【００６１】
次に、ステップＳ１００８では、ＣＰＵ１０（外移動検知手段１０７）は、移動させたことにより、ブロック４１が周ｅの周レール４２の外にはみ出したか否かを判断する。ブロック４１が外にはみ出すのは、該当の記号（この例では変数Ｘ）の径レール４３と、周レール４２と全ての交点にブロック４１が存在する場合である。ブロック４１が外にはみ出した場合には、ＣＰＵ１０（終了判断手段１０８）は、プレイヤが失敗したものとしてポイント値から１を減算（ステップＳ１００９）し、ステップＳ１００２に処理を移す。他方、ブロック４１が外にはみ出さなかった場合には、ＣＰＵ１０は、ステップＳ１００２に処理を移す。ステップＳ１００２では、ＣＰＵ１０は、ブロック位置（Ｘ，ａ）に存在するブロック４１を空となったブロック位置（Ｘ，ｂ）に移動し、本処理を終了する。なお、ポイント値は、ＲＡＭ１２上の領域に記憶される。また、ブロック４１の移動は、ブロック配置テーブル６０の項目を変更することにより行われる。
【００６２】
このような処理により、一定時間ごとに又は栓４４を選択した場合に放出されるブロック４１を、周レール４２と径レール４３との交点に配置することができる。そして、ブロック４１が放出されたことに伴い、放出されたブロック４１を配置させるために、他のブロック４１を移動させることができる。
【００６３】
次に、図９のステップＳ２４のレール移動処理について図１３に基づき説明する。
このレール移動処理は、例えば、フィールド４０を回転移動した場合であり、上述の図９で設定されたステータスの値により行われる。
まず、ステップＳ１３１では、ＣＰＵ１０は、操作を受け付けた周レール４２を把握する。具体的には、カーソル５０により選択された周レール４２の位置を、座標軸を用いて把握し、当該座標軸に一番近い周レール４２を選択する。
【００６４】
次に、ステップＳ１３２では、ＣＰＵ１０（移動制御手段１０２）は、ブロック配置テーブル６０（図３（ｂ））の該当レールの値を１ずつずらす。例えば、周ｃの周レール４２を時計回りに６０度回転する場合、ブロック位置（０，ｃ）のブロック４１を周方向隣りのブロック位置（１，ｃ）に移動させ、その他のブロック４１を同様に移動させる。ブロック位置（５，ｃ）のブロック４１は、ブロック位置（０，ｃ）に移動させる。
【００６５】
次に、ステップＳ１３３では、ＣＰＵ１０（移動制御手段１０２）は、径レール配置テーブル７０（図３（ｃ））の該当レールの値を１つずつずらす。上述の例の場合には、径レール位置（０，Ｃ）の径レール４３を径レール位置（１，Ｃ）に移動させ、径レール位置（１，Ｃ）の径レール４３を径レール位置（２，Ｃ）に移動させる。同様に、径レール位置（５，Ｃ）の径レール４３を径レール位置（０，Ｃ）に移動させる。この処理は、径レール４３を時計回りに６０度ずらすことに相当する。
【００６６】
次に、ステップＳ１３４では、ＣＰＵ１０（移動制御手段１０２）は、周レール配置テーブル７２（図３（ｄ））の該当レールの値を１ずつずらす。上述の例の場合には、周レール位置（Ｈ，ｃ）の周レール４２を周レール位置（Ｉ，ｃ）に移動させる。その後、ＣＰＵ１０は、本処理を終了する。
【００６７】
このように、ブロック配置テーブル６０、径レール配置テーブル７０及び周レール配置テーブル７２の項目を変化させることにより、レール上のブロック４１と共にフィールド４０上のレールを移動させることができる。
【００６８】
図９に戻って、上述で説明したように、ステータスの値によってブロック放出処理（ステップＳ２３）又はレール移動処理（ステップＳ２４）を行った後には、ステップＳ２５において、ＣＰＵ１０は、ブロック消去処理を行う。ブロック消去処理については、図１４で説明する。
【００６９】
図１４のステップＳ１４１において、ＣＰＵ１０（条件検知手段１０３）は、ブロック配置テーブル６０の全ての項目について、隣り合う行及び列について同じ値のブロック４１が、自分を含めて３つ以上存在するか否かを判断する。ここで、周レール４２は円周状であるため、ブロック位置（０，ａ）とブロック位置（５，ａ）とは隣り合う列である。そして、隣り合うものとして、周レール４２上に３つ並ぶ場合、径レール４３上に３つ並ぶ場合、周レール４２上に２つ以上並び、かつ当該周レール４２と交差する径レール４３上に２つ以上並ぶ場合が考えられうる。上記条件に合致するブロック４１が存在する場合（ステップＳ１４１の処理でＹＥＳが判断される場合）は、ＣＰＵ１０は、処理をステップＳ１４２に移す。他方、上記条件に合致するブロック４１が存在しない場合（ステップＳ１４１の処理でＮＯが判断される場合）には、ブロック４１は消去されず、ＣＰＵ１０は、本処理を終了する。
【００７０】
次に、ステップＳ１４２では、ＣＰＵ１０（消去制御手段１０４）は、同じ値が３つ以上並んでいるブロック配置テーブル６０の該当の項目を空にする。
次に、ステップＳ１４３では、ＣＰＵ１０は、プレイヤがブロックの消去に成功したとして、ＲＡＭ１２に記憶されているポイント値に、空となった数を加算する。
【００７１】
次に、ステップＳ１４４では、ＣＰＵ１０は、空にした位置の径方向外側に配置されたブロック４１がブロック配置テーブル６０に存在するか否かを判断する。該当のブロック４１が存在する場合（ステップＳ１４４の処理でＹＥＳが判断される場合）には、ＣＰＵ１０（付随移動制御手段１０５）は、該当の径方向外側に配置されたブロック４１を径方向の中心点側につめるように、ブロック４１を移動させ、ブロック配置テーブル６０を更新し（ステップＳ１４５）、本処理を終了する。なお、空にした位置の径方向外側に径レール４３が存在しない場合には、ブロック４１を移動できないため、本処理を行わない。
他方、該当のブロック４１が存在しない場合（ステップＳ１４４の処理でＮＯが判断される場合）には、ＣＰＵ１０は、本処理を終了する。
【００７２】
図９に戻って、上述のブロック消去処理（ステップＳ２５）の後に、ステップＳ２６において、ＣＰＵ１０は、ゲームステータス判定処理を行う。その後、ＣＰＵ１０は、ブロック処理を終了する。なお、ゲームステータス判定処理については、図１５で説明する。
【００７３】
まず、図１５のステップＳ１５１において、ＣＰＵ１０は、ＲＡＭ１２に記憶されているポイント値を取り出す。
次に、ステップＳ１５２において、ＣＰＵ１０（終了判断手段１０８）は、ＲＡＭ１２に記憶されているポイント値が、予め定めたゲームオーバー値以上であるか否かを判断する。ゲームオーバー値以上である場合（ステップＳ１５２の処理でＹＥＳが判断される場合）は、ステップＳ１５３において、ＣＰＵ１０は、ゲームオーバー処理を行い、本処理を終了する。他方、ゲームオーバー値未満である場合（ステップＳ１５２の処理でＮＯが判断される場合）には、ＣＰＵ１０は、処理をステップＳ１５４に移す。
【００７４】
ステップＳ１５４では、ＣＰＵ１０は、ＲＡＭ１２に記憶されているポイント値が予め定めたクリア値以上か否かを判断する。クリア値以上である場合（ステップＳ１５４の処理でＹＥＳが判断される場合）は、ステップＳ１５５において、ＣＰＵ１０は、ゲームクリア処理を行い、本処理を終了する。他方、クリア値未満である場合（ステップＳ１５４の処理でＮＯが判断される場合）には、ＣＰＵ１０は、本処理を終了する。
【００７５】
このように、ゲームオーバー時に、ゲームクリア時と同様にポイント値により行うことにより、ゲームの途中で多少の失敗が生じても、ゲームオーバーとなりプレイヤがゲームに物足りなさを感じることを防ぐことができる。
【００７６】
（第２実施形態）
次に、本発明を適用した第２実施形態について説明する。
なお、以下の説明及び図面において、上述した第１実施形態と同様の機能を果たす部分には、同一の符号又は末尾に同一の符号を付して、重複する説明を適宜省略する。
図１６は、第２実施形態の一例に係るディスプレイ１３に表示される他の例を示す。
図１６は、複数のフィールド４０ａ、４０ｂ、４０ｃがディスプレイ１３上に配置されている。ゲームの処理は、図２に示すフィールド４０が１つの場合と同様であるが、例えば、フィールド４０ａの周ｃの周レール４２ａを回転移動（例えば、矢印θａの方向）させることに応じて、ＣＰＵ１０（移動制御手段１０２）は、隣り合う他のフィールド４０ｂの周ｃの周レール４２ｂを、歯車を噛み合わせたように周レール４２ａの回転とは逆の方向（例えば、矢印θｂの方向）に回転移動させる。また、フィールド４０ｂの周ｃの周レール４２ｂが回転移動することに応じて、ＣＰＵ１０（移動制御手段１０２）は、さらに隣り合う他のフィールド４０ｃの周ｃの周レール４２ｃを、周レール４２ｂの回転とは逆の方向（例えば、矢印θｃの方向）に回転移動させる。
このように、複数のフィールド４０が相互に関連しあうことにより、さらに面白味のあるゲームを実行することができる。
【００７７】
（第３実施形態）
最後に、本発明を適用した第３実施形態について説明する。
図１７は、第３実施形態の一例に係るディスプレイ１３に表示される他の例を示す。
この図１７は、フィールド４０が円周状ではなく、多角形状のものを含む。この場合においても、周レール４２が円周状の場合と比較して、ブロック４１が複雑に移動可能なため、より面白味のあるゲームを実行することができる。
【００７８】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されるものではない。また、実施形態に記載した効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載したものに限定されない。なお、上述した実施形態及び後述する変形形態は、適宜組み合わせて用いることもできるが、詳細な説明は省略する。
【００７９】
（変形形態）
以上、説明した実施形態に限定されることなく、種々の変形や変更が可能であって、それらも本発明の範囲内である。
本実施形態では、同じ種類のブロックが３つ以上繋がっている場合に当該ブロックを消去させるようにしたが、ブロック数は異なる個数としてもよい。また、ブロックの属性により様々な変化を生じさせてよい。例えば、あるブロックが消去された際に、そのブロックと同じ径レール上の他のブロックを全て消去するものや、あるブロックが消去された際に、栓から放出するブロックの放出間隔を変化させるもの等が考えられる。
さらに、本実施形態では、径レールは円の径方向のレールであるが、これに限らず、２つの周レール間を接続するものであれば、径方向を向いていなくてもよい。
さらに、本実施形態では、コンピュータにより実施している。しかし、これに限らず、ビデオゲーム機において実現してもよいし、実際にレールが存在する実機のゲーム装置において実現してもよい。
【図面の簡単な説明】
【００８０】
【図１】第１実施形態の一例に係るパズルゲームを行うコンピュータの機能を示す機能ブロック図である。
【図２】第１実施形態の一例に係るパズルゲームの画面を示す図である。
【図３】第１実施形態の一例に係るフィールドと各種テーブルとの関係を示す図である。
【図４】第１実施形態の一例に係るブロックが放出された場合のフィールドの例と、その際のブロック配置テーブルとを示す。
【図５】図４に関連して行われる処理を説明するためのブロック配置テーブルを示す。
【図６】図５に基づき作成される表示画面の例を示す。
【図７】第１実施形態の一例に係るフィールドの部分を移動させた場合のフィールドと、ブロック配置テーブルとを示す。
【図８】第１実施形態の一例に係るメイン処理のフローチャートを示す。
【図９】第１実施形態の一例に係るブロック処理のフローチャートを示す。
【図１０】第１実施形態の一例に係るタイマ判定処理のフローチャートを示す。
【図１１】第１実施形態の一例に係るブロック放出処理のフローチャートを示す。
【図１２】第１実施形態の一例に係るブロック移動処理のフローチャートを示す。
【図１３】第１実施形態の一例に係るレール移動処理のフローチャートを示す。
【図１４】第１実施形態の一例に係るブロック消去処理のフローチャートを示す。
【図１５】第１実施形態の一例に係るゲームステータス判定処理のフローチャートを示す。
【図１６】第２実施形態の一例に係る他の例を示す。
【図１７】第３実施形態の一例に係る他の例を示す。
【符号の説明】
【００８１】
１０    ＣＰＵ
１１    ＲＯＭ
１２    ＲＡＭ
１３    ディスプレイ
１４    マウス／キーボード
４０    フィールド
４１    ブロック
４２    周レール
４３    径レール
４４    栓
５０    カーソル
６０    ブロック配置テーブル
７０    径レール配置テーブル
７２    周レール配置テーブル
１００  コンピュータ
１０１  要素表示制御手段
１０２  移動制御手段
１０３  条件検知手段
１０４  消去制御手段
１０５  付随移動制御手段
１０６  要素出現表示制御手段
１０７  外移動検知手段
１０８  終了判断手段
【図１】
0005039466.tif 000002
【図２】
0005039466.tif 000003
【図３】
0005039466.tif 000004
【図４】
0005039466.tif 000005
【図５】
0005039466.tif 000006
【図６】
0005039466.tif 000007
【図７】
0005039466.tif 000008
【図８】
0005039466.tif 000009
【図９】
0005039466.tif 000010
【図１０】
0005039466.tif 000011
【図１１】
0005039466.tif 000012
【図１２】
0005039466.tif 000013
【図１３】
0005039466.tif 000014
【図１４】
0005039466.tif 000015
【図１５】
0005039466.tif 000016
【図１６】
0005039466.tif 000017
【図１７】
0005039466.tif 000018