(57)【特許請求の範囲】
【請求項１】
ディスプレイと、前記ディスプレイ上に表示されたパネルに作用するようにプレイヤによって操作される操作手段とを含むパズルゲーム装置であって、
行列配置された複数の枡目を有するゲームフィールドをディスプレイに表示するためのゲームフィールドデータを発生するゲームフィールドデータ発生手段、
少なくとも２つの接続端子を結ぶ線図がそれぞれ描かれた複数種類のパネルを前記ディスプレイに表示するためのパネルデータ発生手段、
前記パネルデータ発生手段からのパネルデータに従って複数の種類のパネルの任意のものを前記ゲームフィールド内の任意の桝目に表示させる表示手段、
前記ディスプレイ上に表示されたすべてのパネルについて、前記接続端子が隣接パネルの接続端子と接続されているかどうかを判定する接続判定手段、
前記ディスプレイ上に表示されたすべてのパネルについて開放接続端子がないかどうかを判断することによって、前記ゲームフィールドに閉鎖線図形が完成されたかどうか検出する完成検出手段、および
前記完成検出手段によって前記閉鎖線図が完成されことを検出したとき前記ディスプレイに図形完成を表わす所定表示を行う完成表示手段を備える、パズルゲーム装置。
【請求項２】
前記パネルには種類を表すインデックス値が設定されていて、前記接続判定手段は前記インデックス値に基づいて隣接パネルの接続の有無を判定する、請求項１記載のパズルゲーム装置。
【請求項３】
前記パネルは４つの頂点を有する正方形であり、前記４つの頂点の２つに前記接続端子が形成され、前記線図は前記２つの頂点と前記正方形の中心とを結ぶ直線である、請求項１または２記載のパズルゲーム装置。
【請求項４】
前記表示手段は、前記パネルデータ発生手段からのパネルデータに従って複数の種類のパネルの任意のものを前記ゲームフィールド内の任意の桝目に初期的に表示させる初期表示手段、および前記操作手段の操作に応じて前記初期表示手段によってゲームフィールド内に初期的に表示されたパネルを前記ディスプレイ上で変位させるパネル変位手段を含む、請求項１ないし３のいずれかに記載のパズルゲーム装置。
【請求項５】
前記パネル変位手段は前記操作手段の操作に応答して前記パネルを移動させるパネル移動手段を含む、請求項４記載のパズルゲーム装置。
【請求項６】
前記ゲームフィールド内の前記桝目に相当する形状のカーソルを表示するためのカーソルデータを発生するカーソルデータ発生手段をさらに備え、
前記操作手段は、前記ディスプレイ上で前記カーソルを移動させるカーソル移動キーと、前記カーソルの移動前後の桝目のパネルを入れ替えるためのシフトキーとを含む、請求項１ないし５のいずれかに記載のパズルゲーム装置。
【請求項７】
前記接続判定手段は、前記ディスプレイ上に表示された指定パネルと隣接パネルとの接続を検出する接続検出手段、および前記指定パネルと判定済みパネルとの累積接続を検出する累積接続検出手段を含む、請求項１ないし６のいずれかに記載のパズルゲーム装置。
【請求項８】
ディスプレイと、前記ディスプレイ上に表示されたパネルに作用するようにプレイヤによって操作される操作手段とを含むパズルゲーム装置のコンピュータを、
行列配置された複数の枡目を有するゲームフィールドをディスプレイに表示するためのゲームフィールドデータを発生するゲームフィールドデータ発生手段、
少なくとも２つの接続端子を結ぶ線図がそれぞれ描かれた複数種類のパネルを前記ディスプレイに表示するためのパネルデータ発生手段、
前記パネルデータ発生手段からのパネルデータに従って複数の種類のパネルの任意のものを前記ゲームフィールド内の任意の桝目に表示させる表示手段、
前記ディスプレイ上に表示されたすべてのパネルについて、前記接続端子が隣接パネルの接続端子と接続されているかどうかを判定する接続判定手段、
前記ディスプレイ上に表示されたすべてのパネルについて開放接続端子がないかどうかを判断することによって、前記ゲームフィールドに閉鎖線図形が完成されたかどうか検出する完成検出手段、および
前記完成検出手段によって前記閉鎖線図が完成されことを検出したとき前記ディスプレイに図形完成を表わす所定表示を行う完成表示手段として機能させる、パズルゲーム装置のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、パズルゲーム装置およびその記憶媒体に関し、特にたとえば正方形の２つの頂点とその正方形の中心とを結ぶ直線（斜線）あるいは他の線（たとえば、へび模様，手をつないでいる絵，曲線等）が描かれたパネル（以下、単に「斜線パネル」と呼ぶことがある。）を用いてゲームフィールド内に閉鎖線図を完成させる、新規なパズルゲーム装置とそのパズルゲームのプログラムデータやパネルデータを記録した記憶媒体に関する。
【０００２】
【従来の技術】
従来、線の接続によって図形を完成させるパズルゲームとしては「水道管ゲーム」がよく知られている。「水道管ゲーム」は、正方形の任意の辺の中点と正方形の中心とを結ぶ線が描かれたパネルを用いる。実際には、線は水道管の形状で表現される。このパネルには向い合う２辺を結ぶ直線パネルと、隣り合う２辺を結ぶＬ字形パネルとが存在する。「水道管ゲーム」は、これらのパネルを配置空間に並べて、所定のスタート地点から水を流し、その水が流れる距離を競うゲームである。
【０００３】
【発明が解決しようとする課題】
水道管ゲームでは、パネルの接続点が正方形の辺に存在するために、１つの接点に対して１つのパネルしか接続できない。そのために接続が絶たれることが多く、ルートの完成が困難であった。さらに、水道管ゲームでは、ルートを分岐させることができず、自由度が低く、ゲームとしての面白味を欠いていた。
【０００４】
類似のゲームに、「テトリス」と呼ばれるパネル落下式パズルゲームがよく知られているが、このゲームも、基本的には、ゲームフィールド内において横一列にパネルが繋がったかどうかによって得点を競うもので、水道管ゲームと同様に変化に乏しく、さらに、パネルが複数の桝目にわたって形成されているため、回転や移動の自由度が小さいものであった。
【０００５】
それゆえに、この発明の主たる目的は、新規なパズルゲーム装置およびその記憶媒体を提供することである。
【０００６】
この発明の他の目的は、新規な斜線パネルを用いる、パズルゲーム装置およびその記憶媒体を提供することである。
【０００７】
この発明のさらに他の目的は、自由度が高くしかもゲームとしての面白味を向上できる、パズルゲーム装置およびその記憶媒体を提供することである。
【０００８】
【課題を解決するための手段】
この発明に従ったパズルゲーム装置は、ディスプレイと、ディスプレイ上に表示されたパネルに作用するようにプレイヤによって操作される操作手段とを含むパズルゲーム装置であって、行列配置された複数の枡目を有するゲームフィールドをディスプレイに表示するためのゲームフィールドデータを発生するゲームフィールドデータ発生手段、少なくとも２つの接続端子を結ぶ線図がそれぞれ描かれた複数種類のパネルをディスプレイに表示するためのパネルデータ発生手段、パネルデータ発生手段からのパネルデータに従って複数の種類のパネルの任意のものをゲームフィールド内の任意の桝目に表示させる表示手段、ディスプレイ上に表示されたすべてのパネルについて、接続端子が隣接パネルの接続端子と接続されているかどうかを判定する接続判定手段、ディスプレイ上に表示されたすべてのパネルについて開放接続端子がないかどうかを判断することによって、ゲームフィールドに閉鎖線図形が完成されたかどうか検出する完成検出手段、および完成検出手段によって閉鎖線図が完成されことを検出したときディスプレイに図形完成を表わす所定表示を行う完成表示手段を備える、パズルゲーム装置である。
特に、パネルには種類を表すインデックス値が設定されていて、接続判定手段はインデックス値に基づいて隣接パネルの接続の有無を判定するようにしている。
【０００９】
具体的には、パネルは４つの頂点を有する正方形であり、４つの頂点の２つに接続端子が形成され、線図は２つの頂点と正方形の中心とを結ぶ直線である。好ましくは、パネルは、直線が正方形の対角線である直線パネルと、直線が隣接する２つの頂点のそれぞれと中心を結ぶ折れ線である折れ線パネルとを含む。
【００１０】
なお、完成検出手段は、ゲームフィールド内の各パネルに開放接続端子がないかどうか判定する判定手段を含み、すべてのパネルに開放接続端子がないとき閉鎖線図が完成されたと判断する。
【００１１】
接続判定手段は、ディスプレイ上に表示された指定パネルと隣接パネルとの接続を検出する接続検出手段、および指定パネルと判定済みパネルとの累積接続を検出する累積接続検出手段を含む。
【００１２】
この発明に従ったプログラムは、ディスプレイと、ディスプレイ上に表示されたパネルに作用するようにプレイヤによって操作される操作手段とを含むパズルゲーム装置のコンピュータを、行列配置された複数の枡目を有するゲームフィールドをディスプレイに表示するためのゲームフィールドデータを発生するゲームフィールドデータ発生手段、少なくとも２つの接続端子を結ぶ線図がそれぞれ描かれた複数種類のパネルをディスプレイに表示するためのパネルデータ発生手段、パネルデータ発生手段からのパネルデータに従って複数の種類のパネルの任意のものをゲームフィールド内の任意の桝目に表示させる表示手段、ディスプレイ上に表示されたすべてのパネルについて、接続端子が隣接パネルの接続端子と接続されているかどうかを判定する接続判定手段、ディスプレイ上に表示されたすべてのパネルについて開放接続端子がないかどうかを判断することによって、ゲームフィールドに閉鎖線図形が完成されたかどうか検出する完成検出手段、および完成検出手段によって閉鎖線図が完成されことを検出したときディスプレイに図形完成を表わす所定表示を行う完成表示手段として機能させる、パズルゲーム装置のプログラムである。
【００１３】
【作用】
ゲームフィールド内の任意の桝目に任意の種類のパネルが初期的に配置されるとゲームプレイヤは、そのパネルを移動させてゲームフィールド内に閉鎖線図を完成させようとする。このとき、パネルには２つの接続端子が形成されていて、隣接パネルの接続端子どうしが接続されなければ、隣接パネルが連鎖しないので、接続端子を隣接パネルの接続端子に合致させるように、ゲームプレイヤはパネルを移動させる。
【００１４】
【発明の効果】
この発明によれば、各パネルの接続端子を正方形の頂点とするため、１つの接続点に対して３つのパネルが接続可能であり、組み合わせの自由度が高い。そのため、閉鎖線図の完成が比較的容易で、ゲームとしての面白味が向上する。
【００１５】
この発明の上述の目的，その他の目的，特徴，および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【００１６】
【実施例】
図１を参照して、この発明のパズルゲームがプレイできるゲーム装置の一例である携帯型カラー表示ゲーム機１０（以下、単に「ゲーム機」という。）は、カラーＬＣＤ１２を含み、このカラーＬＣＤ１２はドットマトリクス表示器として構成される。そして、このカラーＬＣＤ１２は、ＬＣＤドライバ１４および１６によって駆動され、その画面上にカラー画像を表示する。ＬＣＤドライバ１４はドットマトリクスのたとえば行を選択的に駆動し、ＬＣＤドライバ１６はたとえば列を選択的に駆動する。これらＬＣＤドライバ１４および１６には、ＣＰＵ１８に含まれるカラー表示処理回路２０からカラー画像信号が与えられる。
【００１７】
ＣＰＵ１８は、さらに、ＣＰＵコア２２を含み、このＣＰＵコア２２には、内部ＲＯＭ２４および内部ＲＡＭ２６が結合される。内部ＲＡＭ２６は、ＣＰＵコア２２のワーキングメモリとして利用され、図１５に示す記憶領域を有する。
【００１８】
ＣＰＵ１８は、さらに、基本発振器２８を含み、この基本発振器２８はたとえば水晶発振器で構成され、発振信号をプログラマブル分周器３０に与える。このプログラマブル分周器３０は、ＣＰＵコア２２からの分周データに従って基本発振器２８からの発振信号を分周し、その分周信号をＣＰＵコア２２のクロックとして与える。
【００１９】
ＣＰＵ１８には、コネクタ３２が適宜のバスを介して接続され、このコネクタ３２には、記憶媒体を構成するゲームカートリッジ３４が装着される。カートリッジ３４は、外部ＲＯＭ３６およびＲＡＭ３８を含む。外部ＲＯＭ３６は、図１３に示すように、ゲームプログラムやイメージデータを記憶している。ＲＡＭ３８は、ゲームのバックアップデータの記憶のために用いられる。
【００２０】
ＣＰＵ１８には、さらに、操作器４０に含まれる操作キー４０ａ〜４０ｅのそれぞれの操作信号が与えられる。操作キー４０ａは、カラーＬＣＤ１２上に表示されるパネルすなわちカーソル（後述）の移動方向を指示するための十字キーである。実施例のパズルゲームでは、ゲームプレイヤがパネル（カーソル）を移動させることができる方向はＸ方向（左右方向）およびＹ方向（上下方向）であり、したがって、十字キー４０ａの上下左右の各レバーがパネル移動のために用いられる。操作キー４０ｂは、たとえばメニュー表示においてゲームモードの選択などに用いられるセレクトキーである。操作キー４０ｃは、ゲームのプレイを開始するときあるいはゲームの進行を一時的に停止するときに用いられるいわゆるスタートキーである。操作キー４０ｄおよび４０ｅはプッシュボタンスイッチである。プッシュボタンスイッチ４０ｄおよび４０ｅは、後述のパネルシフト（移動）を指示するために利用され、スイッチ４０ｄは移動のとりやめを指示し、スイッチ４０ｅがパネル移動（シフト）を指示する。これら操作キー４０ａ〜４０ｅを含む操作器４０は、ゲーム機１０の本体前面に配置されていて、キーマトリクス（図示せず）がこれらの操作キー４０ａ〜４０ｅの操作信号をコントローラデータとしてＣＰＵ１８に送る。
【００２１】
ＣＰＵ１８は、カートリッジ３４から与えられるゲームプログラムやパネルデータ、および操作キー４０ａ〜４０ｅからのコントローラデータに応じて、必要に応じて拡張ＲＡＭ４２を用いて、データ処理を実行し、表示用データを表示用ＲＡＭ４４に書き込む。なお、内部ＲＡＭ２６に代えて拡張ＲＡＭ４２をワーキングメモリとして利用し、図１５に示す記憶領域を有するようにしてもよい。
ＣＰＵ１８によるデータ処理の結果、出力すべき音声信号は、ボリューム４６によってレベル調整され、スピーカ４８および／またはイヤホンジャック５０に出力される。このスピーカ４８および／またはイヤホンジャック５０から出力される音声信号は、ゲームの効果音やゲーム音楽を含む。
【００２２】
図１実施例の動作を詳細に説明する前に、ここで、この発明のパズルゲームを簡単に説明する。図１のＬＣＤ１２に図２に示すようなゲームフィールドないしパネル配置空間５２を表示する。この実施例では、ゲームフィールド５２は、５列×５行の桝目５４を有し、このパネル配置空間５２内の任意の桝目に図３および図４に示すパネルの任意のものを初期配置し、ゲームプレイヤは、操作器４０を操作して、その初期配置された各パネルを上下左右方向（Ｘ，Ｙ方向）に移動させて、最終的に、図５−図９に示すように、ゲームフィールドないしパネル配置空間５２内に閉鎖線図を完成させる。
【００２３】
なお、このゲームフィールド５２の各桝目５４には、それぞれ異なる座標位置が割り当てられていて、左端から右端に向かうにつれて大きくなるＸ座標と、上端から下端に向かうにつれて大きくなるＹ座標とで表現される。たとえば、ゲームフィールド５２内の左上端の桝目はＸ0，Ｙ0で表され、右下端の桝目はＸMAX，ＹMAXで示される。
【００２４】
この実施例のパズルゲームでは、基本的には、図３に示すような３種類のパネルを用いる。これらのパネルは、いずれも、図２に示すゲームフィールドの１つの桝目５４に相当する大きさの正方形であり、第１の種類のパネルは、線を持たない「空白パネル」であり、第２の種類のパネルは、正方形内に対角線が描かれた「直線パネル」であり、第３の種類のパネルは、隣接する２つの頂点と中心とを結ぶ線が描かれた「折れ線パネル」である。
【００２５】
空白パネルの種類は１つだけであるが、直線パネルは、図４に示すように互いに異なる対角線を有する２つのパネルを含み、折れ線パネルは、図４に示すように互いに異なる隣接頂点を利用する４つのパネルを含む。したがって、実施例のパズルゲームでは、３種類６個のパネルを用いる。６個のパネルには、それぞれ、図４に示すパネルインデックス値「０」，「１」，「２」，「３」，「４」，「５」および「６」が予め割り当てられている。パネルインデックス値「０」を有するパネルは空白パネルである。パネルインデックス値「１」または「２」が直線パネルの１つを指示し、パネルインデックス値「３」，「４」，「５」または「６」が折れ線パネルの１つを指示する。このようなパネルインデックス値は、後述の接続判定などで利用される。空白パネルについては、桝目５４にパネルインデックス値「１」−「６」のいずれの直線パネルおよび折れ線パネルも表示されない状態を便宜上、「空白パネル」と呼ぶ。したがって、この実施例では、空白パネルを利用しない場合について説明するが、空白パネルを用いるようにしてもよいことはいうまでもない。
【００２６】
図５に示す完成図形すなわち閉鎖線図が「ループ（環）」と呼ばれ、ループとは、１つの閉鎖線図のみが形成されかつその１つの閉鎖線図内に他の線がない接続態様である。図６の閉鎖線図ないし完成図形が「ディビジョン（分割）」と呼ばれる。ディビジョンとは、２つまたはそれ以上の閉鎖線図が分割線を共用して隣接する接続態様である。図７に示す閉鎖線図は、「スプリット（分離）」であり、スプリットとは、互いに独立した２つのまたはそれ以上の閉鎖線図が形成される接続態様である。図８に示す閉鎖線図は、「ブリッジ（連結）」であり、ブリッジとは、２つのまたはそれ以上の閉鎖線図が互いに線で接続される接続態様である。図９に示す閉鎖線図は、「ネスト（入れ子）」であり、ネストとは、１つの閉鎖線図の中に別の閉鎖線図が包含された接続態様である。
【００２７】
このような完成図形ないし閉鎖線図が後述の得点計算の際に考慮されるようにしてもよい。つまり、一番簡単なループには最も低い得点を付与し、一番難しいネストには最も高い得点を付与し、中間の難度を有するディビジョン，スプリットおよびブリッジにそれぞれ異なる中間の得点を与える。
【００２８】
それぞれのパネルの４つの頂点には、図１０に示す端子番号ａ，ｂ，ｃおよびｄが固定的に設定されている。たとえば、図４のパネルインデックス値「１」を有する直線パネルには、端子番号ａの頂点と端子番号ｃの頂点とを結ぶ直線が描かれていて、インデックス値「６」の折れ線パネルは、端子番号ｃの頂点と中心とを結ぶ直線と端子番号ｄの頂点と中心とを結ぶ直線とを有する。
【００２９】
また、１つの対象パネルに隣接できるパネルの数は、図１１に示すように最大８個であり、それぞれの隣接パネルには、図１１の中央にある対象パネルを中心とする相対位置座標が割り付けられている。具体的には、対象パネルの左斜め上の隣接パネルには相対座標（−１，−１）が、対象パネルの左横の隣接パネルには相対座標（−１，０）が、対象パネルの左斜め下の隣接パネルには相対座標（−１，１）が、それぞれ割り当てられる。また、対象パネルの真上の隣接パネルには相対座標（０，−１）が、対象パネルの真下の隣接パネルには相対座標（０，１）が、それぞれ割り当てられる。対象パネルの右斜め上の隣接パネルには相対座標（１，−１）が、対象パネルの右横の隣接パネルには相対座標（１，０）が、対象パネルの右斜め下の隣接パネルには相対座標（１，１）が、それぞれ割り当てられる。
【００３０】
このように、この実施例では、対象パネルより左にある隣接パネルに（−１）の相対座標Ｘを付与し、右にある隣接パネルに（１）の相対座標Ｘを付与する。対象パネルより上にある隣接パネルに（−１）の相対座標Ｙを与え、下にある隣接パネルに（１）の相対座標Ｙを与える。対象パネルと同じ左右方向位置の隣接パネルに（０）の相対座標Ｙを付与し、対象パネルと同じ上下方向位置の隣接パネルに（０）の相対座標Ｘを付与する。
【００３１】
このような隣接パネルの相対位置座標を用いて、図１２に示す接続可能隣接パネルが判断される。図１２は、一例として、対象パネル（図１２で左上のパネル）の端子番号ｃに接続可能な隣接パネルを示す。たとえば、対象パネルの右横の隣接パネルすなわち（１，０）の相対位置座標を有する隣接パネルについてみると、対象パネルの右下の頂点すなわち端子番号ｃに接続可能な隣接パネルは端子番号ｄ（図１０：図１２では★印を付す）に直線または折れ線の左端があるパネルであり、具体的には、パネルインデックス値「２」を有する直線パネルと、パネルインデックス値「３」を有する折れ線パネルと、パネルインデックス値「６」を有する折れ線パネルである。
【００３２】
また、対象パネルの右斜め下の隣接パネルすなわち（１，１）の相対位置座標を有する隣接パネルについてみると、対象パネルの端子番号ｃに接続可能な隣接パネルは端子番号ａ（図１０）に直線または折れ線の左端があるパネルであり、具体的には、パネルインデックス値「１」を有する直線パネルと、パネルインデックス値「３」を有する折れ線パネルと、パネルインデックス値「４」を有する折れ線パネルである。
【００３３】
さらに、対象パネルの真下の隣接パネルすなわち（０，１）の相対位置座標を有する隣接パネルについてみると、対象パネルの端子番号ｃに接続可能な隣接パネルは端子番号ｂ（図１０）に直線または折れ線の左端があるパネルであり、具体的には、パネルインデックス値「２」を有する直線パネルと、パネルインデックス値「４」を有する折れ線パネルと、パネルインデックス値「５」を有する折れ線パネルである。
【００３４】
すなわち、対象パネルが端子番号ｃに左端を有する直線パネルまたは折れ線パネルである場合、その対象パネルと接続可能な隣接パネルは、座標（１，０）に位置するパネルでは、「２」，「３」および「６」のパネルであり、座標（１，１）に位置するパネルでは、「１」，「３」および「４」のパネルであり、座標（０，１）に位置するパネルでは、「２」，「４」および「５」のパネルである。
【００３５】
図１２に一例を示す接続可能隣接パネルは、テーブルの形式で、対象パネルのパネルインデックス値毎に、図１３に示すＲＯＭ３６の接続パネルインデックステーブル５６に予め格納されている。対象パネルがパネルインデックス値「１」の直線パネルである場合、テーブル５６には、端子番号ａおよびｃに接続可能なすべての隣接パネルのパネルインデックス値が記憶されている。対象パネルがパネルインデックス値「２」の直線パネルである場合、テーブル５６には、端子番号ｂおよびｄに接続可能なすべての隣接パネルのパネルインデックス値が記憶されている。同様に、対象パネルがパネルインデックス値「６」の折れ線パネルである場合、テーブル５６には、端子番号ｃおよびｄに接続可能なすべての隣接パネルのパネルインデックス値が記憶されている。なお、パターンの１つの接続端子に接続可能な接続端子を有する隣接パネルは、最大３個であり、接続判定に際してはそのすべての該当箇所のパネルの有無や接続の有無を検証する。
【００３６】
図１３を参照して、ＲＯＭ３６は、プログラム領域５８と、データ領域６０とを含み、先に説明した接続パネルインデックステーブル５６は、データ領域６０に形成される。
【００３７】
図１３に示すプログラム領域５８は、パズルゲームのための後述の図１５および図１７−図２０に示すフロー図で表わされるゲームプログラムを記憶するための領域であり、起動時の初期設定プログラムを記憶している初期設定プログラム領域６２および再ゲーム時の初期設定プログラムを記憶している初期設定プログラム領域６４を含む。タイトル画面を表示したり、ゲームモード（１人プレイか２人プレイか、あるいはタイムモード，ステップ１モード，ステップ２モード）や図２に示すゲームフィールド５２のサイズを選択しまたは制御するためのプログラムは、領域６６に記憶される。
【００３８】
領域６８には、パネル配置処理プログラムが記憶され、このパネル配置処理プログラムは、ゲーム開始時にゲームフィールド５２のどの桝目にどのパネルを出現させるかを制御する。つまり、図１４に示すように、ゲームフィールド５２の桝目５４の座標Ｘn，Ｙn毎に、そこに配置すべきパネルインデックス値を設定する。なお、接続フラグ．ｌｉｔとしては、２つの接続端子のそれぞれ接続フラグ「１」または「０」（ｔｒｕｅ／ｆａｌｓｅ）を設定している。
【００３９】
キー入力判定プログラムは、図１の操作キー４０ａ−４０ｅからの操作信号を検出するためのプログラムであり、領域７０に記憶される。パネル配置処理プログラムによって初期配置されたパネルを、キー入力判定プログラムによって判定された操作信号に従って移動させるためのカーソル移動処理プログラムおよびパネル移動処理プログラムが、カーソル移動プログラム領域７２およびパネル移動プログラム領域７４に記憶される。
【００４０】
主として図１９のフロー図で示す接続判定プログラムは、接続判定プログラム領域７６に設定される。ゲーム終了時に完成した図形に含まれるパネルを消去したり、フラッシングさせたりするためのプログラムが、ゲーム終了処理プログラム領域７８に設定される。得点保存プログラム領域８２に設定されている得点保存プログラムは、得点計算とその保存処理を実行する。
【００４１】
データ領域６０の端子番号テーブル８４には、異なるパネルインデックス値のパネル毎に接続端子となる端子番号を予め設定している。たとえば、パネルインデックス値「１」の直線パネルであれば、端子番号ａおよびｃがこのテーブル８０に設定されている。隣接パネル相対アドレステーブル８６には、図１１に示すような隣接パネルの相対位置座標が設定されている。ただし、ゲームフィールド５２の最下行のパネルには、図１１でＹ座標（１）を有する隣接パネルは存在せず、最上行のパネルには、図１１で（−１）のＹ座標を有する隣接パネルは存在しない。同様に、ゲームフィールド５２の最左端のパネルには、図１１でＸ座標（−１）を有する隣接パネルは存在せず、最右端のパネルには、図１１で（１）のＸ座標を有する隣接パネルは存在しない。それぞれ以外のパネルには、図１１のすべての隣接パネルが存在する。
【００４２】
低レベル初期配置テーブル８８には、各パネルインデックス値毎にゲームフィールド５２に出現させる数を予め設定するテーブルをたとえば１５０種類を有し、レベル毎にどれかのテーブルを選択し、たとえば乱数によって選択したテーブルに設定されているパネルをゲームフィールド５２内の各桝目５４に分散させる。
【００４３】
データ領域６０のパネルイメージリスト領域９０には、図４に示す６個のパネルのそれぞれビットマップイメージが設定されている。このビットマップイメージは、ＬＣＤ１２（図１）上にパネルを表示するために、図１５に示すワーキングＲＡＭ２６のイメージビットマップ領域１３４にローディングされる。
【００４４】
図１５を参照して、内部ＲＡＭすなわちワーキングＲＡＭ２６は、フィールドサイズレジスタ９２および９４を有し、このレジスタ９２および９４には、図１３の領域６６に設定されているサイズ選択プログラムによって決定されたゲームフィールド５２のＸ方向サイズおよびＹ方向サイズがそれぞれ設定される。このゲームフィールドサイズは、ゲームのレベルに応じて増減される。
【００４５】
Ｗ−ＲＡＭ２６には、さらに、カーソル現在Ｘ座標レジスタ９６およびカーソル現在Ｙ座標レジスタ９８には、後述の図１７に示すカーソルの現在位置を示すＸ座標およびＹ座標のデータがストアされる。カーソル前回Ｘ座標レジスタ１００およびカーソル前回Ｙ座標レジスタ１０２には、そのカーソルの前回位置を示すＸ座標およびＹ座標のデータがストアされる。カーソル表示フラグ１０４には、カーソルを表示すべきかどうかを示すフラグが設定される。
【００４６】
ゲームシーケンス領域１０６には、現在の状態、たとえばタイトル表示中、ゲーム中、あるいは結果表示中などが記憶される。
【００４７】
Ｗ−ＲＡＭ２６のゲームモードフラグ１０８には、１人モードか２人モードかを表わすフラグ、あるいはタイムモード，ステップ１モードあるいはステップ２モードのいずれか、ゲームプレイヤが選択したゲームモードのフラグが設定される。なお、タイムモードとは、そのゲームレベルに応じて予め設定されている時間を基準としてゲームを進行させるモードであり、その設定時間内に図５−図９のような閉鎖線図が完成されないとき、失敗であり、完成されたとき成功となる。ステップ１モードは、ゲームプレイヤがどれか１つのパネルをゲームフィールド上で移動させたときを１ステップとし、閉鎖線図の完成までに要したステップ数に応じて得点を計算するモードであり、ステップ数が少ないほど高得点となる。ステップ２モードは、タイムモードと同様に、そのゲームレベルに応じて予め設定されている総ステップ数を基準としてゲームを進行させるモードであり、その設定ステップ数内に閉鎖線図が完成されないとき、失敗であり、完成されたとき成功となる。
【００４８】
残り時間カウンタ１１０は、上述のタイムモードにおける残り時間をカウントするカウンタである。タイマ停止フラグ１１２は、タイムモードにおいて、閉鎖線図が完成してタイマ（タイムモードのための時間計測用タイマ）を停止させたときセットされるフラグであり、このタイマ停止フラグ１１２がセットされてかつ残り時間カウンタ１１０に時間値があれば、タイマモードをクリアしたことがわかり、その残り時間数が大きいほど高得点が得られる。
【００４９】
操作ステップ数カウンタ１１４は、ステップ１モードまたはステップ２モードにおいてゲームプレイヤがパネルを移動させた回数をカウントする。トータル数カウンタ１１６は、ステップ１モードで設定された許容合計操作数をストアし、残りステップ数カウンタ１１８は、トータルステップ数カウンタ１１６から操作ステップ数カウンタ１１４でカウントした操作回数を減じた残りステップＳ数をカウントする。
【００５０】
到達レベルレジスタ１２０は、そのゲームプレイヤの到達したレベルをストアする。得点レジスタ１２２は、ゲームプレイヤが獲得した得点を記憶しておくためのレジスタである。タイムモード終了フラグ１２４およびステップモード終了フラグ１２６は、それぞれ、タイムモードの終了およびステップ１モードまたはステップ２モードの終了時にセットされるフラグである。接続判定フラグ１２８は、ゲームフィールド５２上の各パネルについて、そのパネルが隣接パネルと接続されているかどうかを判断するために利用される。たとえば、隣接パネルと接続したパネルに「１」を、未接続のパネルに「０」を設定する。サーキット完成フラグ１３０は、AllLinkという識別子が付与され、ゲームフィールド５２内に閉鎖線図（図５−図９）が完成したかどうかを示すフラグである。
【００５１】
出現パネルデータ領域１３２には、ゲームフィールド５２中に配置されたパネルデータ（図１４）をストアする領域である。パネルイメージリスト９０（図１３）からイメージビットマップ領域１３４に転送されている各パネルのビットマップイメージが表示のために利用される。
【００５２】
図１６がメインフロー図であり、図１６の最初のステップＳ１では、ＣＰＵ１８（図１）は、図１３の領域６６に設定されているタイトル画面表示プログラムに従って、ＬＣＤ１２（図１）にバズルゲームのタイトル画面を表示する。ゲームプレイヤは、そのタイトル画面で、あるいはタイムモードかステップ１モードもしくはステップ２モードかのモード選択と、ゲームの難易度レベルの選択とを実行する。ゲームプレイヤが特にモードを指定しなかった場合には、タイムモードが選択されて、ステップＳ２を経て、ステップＳ３に進む。その他のモード、たとえばステップ１モードまたはステップ２モードが設定された場合には、ステップＳ２で“ＹＥＳ”が判断されて、ステップＳ４に進む。ステップＳ４では、その選択されたモードを設定して、再びステップＳ２に戻る。
【００５３】
ステップＳ２で“ＮＯ”が判断された後、ステップＳ３では、ゲームレベルがゲームプレイヤによって設定されたかどうか、判断する。このステップＳ３で“ＹＥＳ”が判断されると、続くステップＳ５で、ＣＰＵ１８は、外部ＲＯＭ３６の領域６６（図１３）のゲームモード・サイズ選択プログラムに従って、その設定されたゲームレベルに応じて予め決められたパネルの種類および数の全部または１つもしくは組み合わせを設定する。ここで、パネルの種類とは、そのゲームレベルで使用する図４に示すパネルの種類であり、パネルの数とは、そのゲームで図２に示すゲームフィールド５２に初期配置されるパネルの数を意味する。
【００５４】
たとえば、ゲームの難易度が低レベル，中レベルおよび高レベルに区分されている場合、使用するパネルの種類は、２種類，４種類および６種類に設定され、低レベルを選択したとき、たとえばパネルインデックス値「１」および「２」の直線パネルだけを使う。中レベルを選択すると、その２つのパネルに加えて、パネルインデックス値「３」および「４」の折れ線パネルが使われる。高レベルの場合、さらに、パネルインデックス値「５」および「６」の２つの折れ線パネルが追加的に使用される。また、ゲームの難易度が低レベル，中レベルおよび高レベルに区分されている場合、ゲームフィールド５２のサイズは、たとえば４×４，５×５，６×６，７×７，８×８および９×９が、それぞれ設定される。
【００５５】
ステップＳ５で設定した種類のパネルのビットマップイメージが図１２に示すＲＡＭ２６のイメージビットマップ領域１００に読み出される。また、ステップＳ５で設定したフィールドサイズが、ＲＡＭ２６のフィールドサイズレジスタ８６および８８にそれぞれ設定される。同様に、パネル落下速度も図示しないレジスタに設定される。
【００５６】
ステップＳ５からステップＳ２およびＳ３を経て、ステップＳ６に進むと、そのステップＳ６でスタートボタン４０ｃ（図１）が操作されたかどうか判断する。ステップＳ６で"ＹＥＳ“が判断されると、ステップＳ７に進み、ステップＳ７では、ＣＰＵ１８は、ゲームのために各レジスタやカウンタ等を初期設定する。
【００５７】
続いて、ステップＳ８でゲーム処理が実行される。ゲーム処理については、図１７，図２２または図２３を参照して後に詳細に説明する。
【００５８】
ステップＳ８のゲーム処理が終わると、ステップＳ９で、ＣＰＵ１８は、プログラムＲＯＭ３６の領域７８に設定されているゲーム終了処理プログラムに従ってゲームオーバ処理を実行する。ゲームオーバ処理としては、そのゲームの結果を表示するなど色々な処理が考えられる。ステップＳ９の後、ステップＳ１０で再ゲームが指示されなければ、ステップＳ１に戻り、再ゲームが指示されると、ステップＳ７に戻る。
【００５９】
ステップＳ１０で再ゲームが指示されず、かつステップＳ６でスタートキー４０ｃが押されなかった場合、ステップＳ６で“ＮＯ”が判断され、ステップＳ１１に進む。ステップＳ１１では、ＬＣＤ１２に表示された「ゲームを終了しますか？」のコメントに対してたとえばＡボタン４０ｅを押して、ゲームプレイヤがゲームの終了を指示したかどうか判断する。ゲーム終了でなければ、ステップＳ２に戻る。
【００６０】
ゲーム終了の場合、プログラム領域５８の得点処理プログラム領域８２に設定されている得点処理プログラムに従ってＲＡＭ２６の得点レジスタ１２２に得点を計上するとともに、その得点レジスタ１２２の得点をバックアップＲＡＭ３４（図１）に保存する。この得点保存処理は、過去の得点（ハイスコア）を後日表示したりできるようにするためである。
【００６１】
図１６のフロー図におけるゲーム処理ルーチンの１つが図１７に詳細に図示される。図１７はタイマモードを示すものであり、その最初のステップＳ２１では、ＣＰＵ１８は、図１３の領域３６に設定されているパネル配置処理プログラムに従って、ゲームフィールド５２中にパネルを初期配置する。それと同時に、タイマを起動してステップＳ２２で残り時間をＬＣＤ１２に表示させる。そして、ステップＳ２３で、残り時間カウンタ１１０において残り時間をディクリメントする。
【００６２】
続くステップＳ２４で、ＣＰＵ１８は、「スキップ」の指示が入力されたかどうか判断する。ここで、スキップとは、ステップＳ２１で初期配置されたパネル配置でのゲームを行わないこと、つまりそのゲームをスキップすることであり、このスキップ指示は、たとえば図１のＢボタン４０ｄによって入力し得る。したがって、ステップＳ２４では、操作キー４０ｄが操作されたかどうか判断することになる。
【００６３】
もし、スキップ指示が検出されると、ステップＳ２１に戻り、そうでなければ、次のステップＳ２５で、リセット指示が入力されたかどうか判断する。図１の実施例では、リセット指示は、たとえばスタートボタンすなわち操作キー４０ｃで入力可能であり、したがって、このステップＳ２５は、操作キー４０ｃの操作の有無を判断する。そして、リセットが指示されると、図１６のメインルーチンに戻り、そうでなければ、次のステップＳ２６に進む。
【００６４】
ステップＳ２６では、ＣＰＵ１８は、残り時間カウンタ１１０（図１５）を参照して、残り時間が「０」になったかどうか判断する。このときのゲームモードはタイムモードであるので、残り時間が「０」になれば、ゲームオーバとして、メインルーチンに戻る。
【００６５】
ステップＳ２６で“ＮＯ”が判断されると、すなわち手持ちの残り時間がまだ有る場合には、ＣＰＵ１８は、ステップＳ２７で方向キーないし十字キー４０ａ（図１）が操作されたかどうか判断する。方向キー４０ａが操作されれば、次に、ステップＳ２９で、シフトキーすなわちＡボタン４０ｅが操作されたかどうか判断する。
【００６６】
ステップＳ２８で“ＹＥＳ”が判断されかつステップＳ２９で“ＮＯ”が判断されると、つまり方向キー４０ａのみが操作されると、ステップＳ３０において、図１８に示すカーソル移動操作が実行される。すなわち、ステップＳ３０では、ＣＰＵ１８は、ゲームフィールド５２内に表示されているカーソルをそのときの方向キー４０ａの指示する方向に移動させる。その後、ステップＳ２８で“ＮＯ”が判断されたときと同様に、ステップＳ２３に戻る。
【００６７】
ステップＳ２９でも“ＹＥＳ”が判断されたとき、すなわち方向キー４０ａとＡボタン４０ｅとが操作された場合には、ステップＳ３１において、図１８に示すパネル移動操作が実行される。このパネル移動操作は、基本的には、カーソルの前回位置（図１５のレジスタ１００および１０２でわかる。）と現在位置（図１５のレジスタ９６および９８でわかる。）とのパネルを入れ替える操作である。したがって、ゲームプレイヤは、カーソルを方向キー４０ａで移動し、Ａボタン４０ｅを押すことによって、パネルを移動させることができる。
【００６８】
ステップＳ３１のパネル移動操作の後、続くステップＳ３２では、ＣＰＵ１８は、「接続判定」を実行する。この接続判定については、図１９を参照して後述する。
【００６９】
接続判定の結果、ステップＳ３３で閉鎖線図が完成したと判断されたかどうか判断する。このステップＳ３３で“ＮＯ”が判断されると、先のステップＳ２３に戻るが、もし“ＹＥＳ”と判断されると、次のステップＳ３４で、「得点計算」を実行する。なお、このタイムモードでは、得点計算の際、残り時間カウンタ１１０の残り時間に応じた得点を計上する。
【００７０】
そして、ステップＳ２１に戻って、別のパネル配置でのゲームをスタートさせる。その後、ステップＳ２６で、残り時間が「０」になると、メインルーチン（図１６）にリターンする。
【００７１】
ここで、図１９を参照して、接続判定動作について説明する。接続判定ルーチンでは、対象パネルを特定するために、図２に示すゲームフィールド５２の各桝目５４に付与された絶対座標Ｘｉ，Ｙｊが用いられる。そこで、ステップＳ４１およびＳ４２では、接続探索開始パネルとしてゲームフィールド５２の左上のパネルＸ０，Ｙ０を設定する。
【００７２】
次に、ステップＳ４３で、接続判定用フラグ１２８およびサーキット完成フラグ１３（ともに図１５）に初期設定として、u(0)=False，u(1)=FalseおよびAllLink=Trueを設定する。接続判定フラグｕ（０）およびｕ（１）は、それぞれ各パネルの２つの接続端子に対応する。
【００７３】
次に、ステップＳ４４で、ステップＳ４１およびＳ４２で対象パネルとして設定した絶対座標Ｘ０,Ｙ０のパネルが空白パネルかどうか判断する。空白パネルであれば、後のステップＳ６０に進むが、空白パネルでない場合には、次のステップＳ４６で、対象パネルＸ０，Ｙ０の接続端子を検索するために変数ｐを「０」に設定する。すなわち、当該対象パネルの２つの接続端子の一方を設定（ｐ＝０）する。続くステップＳ４６で、ＣＰＵ１８は、変数ｑを「０」に設定する。変数ｑは、先の図１２で１つの接続端子に接続可能な隣接パネルが３つあることを説明したが、その隣接パネルを特定するための変数である。最初の隣接パネルを特定するために、ここでは「ｑ＝０」が付与される。
【００７４】
隣接パネルがゲームフィールド５２の外かどうかステップＳ４７で判断される。この実施例では、ゲームフィールド５２の外のパネルは問題にしないので、このステップＳ４７で “ＹＥＳ”が判断されると、ステップＳ５０（後述）に進む。
【００７５】
ステップＳ４７で“ＮＯ”が判断されると、すなわち隣接パネルがゲームフィールド５２内に存在していると、ＣＰＵ１８は、続くステップＳ４８において、接続パネルインデックステーブル５６（図１３）を利用して、隣接パネルがそのテーブル５６に予め設定されている当該接続端子の接続インデックス値と一致するかどうか判断する。もし、“ＮＯ”が判断されるとステップＳ５０に進み、“ＹＥＳ”が判断されると、次のステップＳ４９で接続フラグｕ（０）に「１」すなわちＴｒｕｅを設定し、ステップＳ５０に進む。
【００７６】
ステップＳ５０では、変数ｑが「２」になったかどうか、すなわち他に検索すべき隣接パネルがなくなったかどうか判断する。“ＮＯ”ならステップＳ５１で変数ｑをインクリメントして先のステップＳ４７に戻り、ステップＳ４８およびＳ４９を繰り返し実行する。
【００７７】
“ＹＥＳ”なら、次のステップＳ５２において、変数ｐが「１」かどうか判断する。つまり、先に検索した接続端子が対象パネルの２つ目（最後）の接続端子であったかどうか判断する。このステップＳ５２で“ＮＯ”が判断されると、ステップＳ５３で変数ｐをインクリメントして先のステップＳ４６に戻り、ステップＳ４６−Ｓ５０を繰り返し実行する。つまり、ステップＳ５２で“ＹＥＳ”が判断されるということは、対象パネルの２つの接続端子のそれぞれについて３つの隣接パネルの状態の検索が完了したことを意味し、この場合には、ステップＳ５４において、指定パネルすなわち対象パネルの接続判定を実行する。接続判定は、対象パネルPanel(ij)の２つの接続端子にともに「１」（Ｔｒｕｅ）が設定されていれば、接続ありと判定する。
【００７８】
そして、ステップＳ５５で、既に接続判定を実行したパネルと当該対象パネルとの累積接続判定を実行する。すなわち、このステップＳ５５で、判定済みパネルのいずれかと対象パネルとが接続されているかどうか判断する。このステップＳ５５では、その判定結果に従ってサーキット完成フラグＡｌｌＬｉｎｋを設定する。
【００７９】
次のステップＳ５６ではゲームフィールド５２の最下行まで進んだかどうか判断し、“ＮＯ”なら、ステップＳ５７でＹ座標値ｊをインクリメントしてステップＳ４３に戻る。同様に、ステップＳ５８ではゲームフィールド５２の最右列まで進んだかどうか判断し、“ＮＯ”なら、ステップＳ５９でＸ座標値ｉをインクリメントしてステップＳ４２に戻る。このようにして、ゲームフィールド５２内のすべてのパネルの全ての接続端子について隣接パネルとの接続の有無を判断する。つまり、図１９の接続判定ルーチンでは、図２０に示すような開放接続端子（他のパネルの接続端子に接続されていない接続端子）があるかどうか判断する。実施例のパズルゲームは、先に図５−図９で示した閉鎖線図の完成を競うものであるので、１つでも開放端子が存在することは、そのような閉鎖線図が完成しいていないことを意味する。そして、全てのパネルに開放接続端子がない場合には、図２１に示すように、図形完成となる。
【００８０】
ステップＳ４４で“ＹＥＳ”が判断されたとき、すなわち対象パネルが空白パネルであったとき、ステップＳ６０で、そのパネルの接続フラグを全て「１」として、ステップＳ５５に進む。つまり、空白パネルについては、全て接続されているものとして取り扱う。
【００８１】
図１６のフロー図におけるゲーム処理ルーチンの他の１つが図２２に詳細に図示される。図２２はステップ１モードを示すものであり、その最初のステップＳ６１では、トータル数カウンタ１１６（図１５）をリセットするとともに、ステップＳ６２で、操作ステップ数カウンタ１１４（図１１４）をリセットする。その後、ステップＳ６３で、ＣＰＵ１８は、図１３の領域３６に設定されているパネル配置処理プログラムに従って、ゲームフィールド５２中にパネルを初期配置する。
【００８２】
続くステップＳ６４で、ＣＰＵ１８は、「スキップ」の指示が入力されたかどうか判断する。つまり、ステップＳ２４では、Ｂボタンすなわち操作キー４０ｄが操作されたかどうか判断する。
【００８３】
もし、スキップ指示が検出されると、ステップＳ６２に戻り、そうでなければ、次のステップＳ６５で、リセット指示が入力されたかどうか判断する。つまり、このステップＳ６５は、操作キー４０ｃの操作の有無を判断する。そして、リセットが指示されると、図１６のメインルーチンに戻り、そうでなければ、次のステップＳ６６に進む。
【００８４】
ステップＳ６６では、ＣＰＵ１８は方向キーないし十字キー４０ａ（図１）が操作されたかどうか判断する。方向キー４０ａが操作されれば、次に、ステップＳ６７で、シフトキーすなわちＡボタン４０ｅが操作されたかどうか判断する。
【００８５】
ステップＳ６６で“ＹＥＳ”が判断されかつステップＳ６７で“ＮＯ”が判断されると、つまり方向キー４０ａのみが操作されると、ステップＳ６８において、図１８に示すカーソル移動操作が実行される。その後、ステップＳ６６で“ＮＯ”が判断されたときと同様に、ステップＳ６４に戻る。
【００８６】
ステップＳ６７でも“ＹＥＳ”が判断されたとき、すなわち方向キー４０ａとＡボタン４０ｅとが操作された場合には、ステップＳ６９において、図１８に示すパネル移動操作が実行される。ステップＳ６９のパネル移動操作の後、続くステップＳ７０でＣＰＵ１８は操作ステップ数カウンタ１１４をインクリメントする。そして、次のステップＳ７１では、ＣＰＵ１８は、図１９を参照して先に説明した「接続判定」を実行する。
【００８７】
接続判定の結果、ステップＳ７２で閉鎖線図が完成したと判断されたかどうか判断する。このステップＳ７２で“ＮＯ”が判断されると、先のステップＳ６４に戻るが、もし“ＹＥＳ”と判断されると、次のステップＳ７３で、「得点計算」を実行する。このステップ１モードでは、得点計算の際、図形完成までに要した操作ステップに応じた得点を計上する。
【００８８】
そして、ステップＳ７４でステップ１モードの終了かどうか判断され、もし“ＮＯ”から、ステップＳ６２に戻って、操作ステップ数カウンタ１１４をリセットして、ステップＳ６３で別のパネル配置でのゲームをスタートさせる。ステップＳ７４で、“ＹＥＳ”なら、メインルーチン（図１６）にリターンする。
【００８９】
図１６のフロー図におけるゲーム処理ルーチンの残りの１つが図２３に詳細に図示される。図２３はステップ２モードを示すものであり、その最初のステップＳ８１では、ＣＰＵ１８は、図１３の領域３６に設定されているパネル配置処理プログラムに従って、ゲームフィールド５２中にパネルを初期配置する。それと同時に、ステップＳ８２において、残りステップ数カウンタ１１８（図１５）に従って、残りステップ数をディスプレイ１２（図１）に表示させる。
【００９０】
続くステップＳ２４で、ＣＰＵ１８は、「スキップ」の指示が入力されたかどうか判断する。もし、スキップ指示が検出されると、ステップＳ８１に戻って別のパネルの初期配置を実行し、そうでなければ、次のステップＳ８４で、リセット指示が入力されたかどうか判断する。そして、リセットが指示されると、図１６のメインルーチンに戻り、そうでなければ、次のステップＳ８５に進む。
【００９１】
ＣＰＵ１８は、次のステップＳ８５で方向キーないし十字キー４０ａ（図１）が操作されたかどうか判断する。方向キー４０ａが操作されれば、次に、ステップＳ８６で、シフトキーすなわちＡボタン４０ｅが操作されたかどうか判断する。
【００９２】
ステップＳ８５で“ＹＥＳ”が判断されかつステップＳ８６で“ＮＯ”が判断されると、つまり方向キー４０ａのみが操作されると、ステップＳ８７において、図１８に示すカーソル移動操作が実行される。
【００９３】
ステップＳ８６でも“ＹＥＳ”が判断されたとき、すなわち方向キー４０ａとＡボタン４０ｅとが操作された場合には、ステップＳ８８において、図１８に示すパネル移動操作が実行される。ステップＳ８８のパネル移動操作の後、続くステップＳ８９では、ＣＰＵ１８は、残りステップ数カウンタ１１８をディクリメントして、次のステップＳ９０で、その残りステップ数が「０」になったかどうか判断する。このステップ２モードは、予め定められた操作ステップ数以内で閉鎖線図が完成できるかどうかを競うモードである。したがって、このステップＳ９０で“ＹＥＳ”が判断されるとゲームオーバとしてメインルーチンに戻る。
【００９４】
もし、ステップＳ９０で“ＮＯ”が判断されると、すなわち残りステップ数が「１」以上あれば、次のステップＳ９１で図１９に示す「接続判定」を実行する。
【００９５】
接続判定の結果、ステップＳ９２で閉鎖線図が完成したと判断されたかどうか判断する。このステップＳ９２で“ＮＯ”が判断されると、先のステップＳ８３に戻るが、もし“ＹＥＳ”と判断されると、次のステップＳ９３で、「得点計算」を実行する。なお、このステップ２モードでは、得点計算の際、残りステップ数カウンタ１１８の残りステップ数に応じた得点を計上する。
【００９６】
そして、ステップＳ８１に戻って、別のパネル配置でのゲームをスタートさせる。その後、ステップＳ９０で、残りステップ数が「０」になると、メインルーチン（図１６）にリターンする。
【００９７】
なお、この発明に従ったパズルゲームが図１に示した携帯ゲーム機で実現できることを説明したが、ゲーム機の種類はこれに限定されることなく、一般的なコンピュータであってもよいし、テレビジョンモニタに接続してプレイするいわゆるビデオゲーム機であってよい。
【図面の簡単な説明】
【図１】この発明の一実施例を示すブロック図である。
【図２】実施例のパズルゲームのためのゲームフィールドを示す図解図である。
【図３】パネルの種類を示す図解図である。
【図４】パネルの種類と個数とを示す図解図である。
【図５】閉鎖線図の一例（ループ）を示す図解図である。
【図６】閉鎖線図の他の例（ディビジョン）を示す図解図である。
【図７】閉鎖線図ｋさらに他の例（スプリット）を示す図解図である。
【図８】閉鎖線図ｋさらに他の例（ブリッジ）を示す図解図である。
【図９】閉鎖線図のその他の例（ネスト）を示す図解図である。
【図１０】パネルの端子番号を示す図解図である。
【図１１】隣接パネルの相対位置を示す図解図である。
【図１２】１つのパネルの１つの端子番号に接続可能な隣接パネルのパネルインデックス値の一例を示す図解図である。
【図１３】外部ＲＯＭのメモリマップを示す図解図である。
【図１４】パネルデータ形式の一例を示す図解図である。
【図１５】ワークＲＡＭのメモリマップを示す図解図である。
【図１６】実施例の動作を表わすメインルーチンを示すフロー図である。
【図１７】図１６フロー図における「ゲーム処理」のサブルーチンの一例（タイムモード）を示すフロー図である。
【図１８】実施例におけるカーソル移動およびパネル移動を示す図解図である。
【図１９】図１７フロー図における「接続判定」のサブルーチンを示すフロー図である。
【図２０】未完成図形の一例を示す図解図である。
【図２１】完成図形の一例を示す図解図である。
【図２２】図１６フロー図における「ゲーム処理」のサブルーチンの他の例（ステップ１モード）を示すフロー図である。
【図２３】図１６フロー図における「ゲーム処理」のサブルーチンのその他の例（ステップ２モード）を示すフロー図である。
【符号の説明】
１０  …ゲーム機
１２  …ＬＣＤ
１８  …ＣＰＵ
２０  …ＣＰＵコア
２６  …内部ＲＡＭ
３６  …外部ＲＯＭ
４０  …操作器
【図１】
0004143241.tif 000002
【図２】
0004143241.tif 000003
【図３】
0004143241.tif 000004
【図４】
0004143241.tif 000005
【図５】
0004143241.tif 000006
【図６】
0004143241.tif 000007
【図７】
0004143241.tif 000008
【図８】
0004143241.tif 000009
【図９】
0004143241.tif 000010
【図１０】
0004143241.tif 000011
【図１１】
0004143241.tif 000012
【図１２】
0004143241.tif 000013
【図１３】
0004143241.tif 000014
【図１４】
0004143241.tif 000015
【図１５】
0004143241.tif 000016
【図１６】
0004143241.tif 000017
【図１７】
0004143241.tif 000018
【図１８】
0004143241.tif 000019
【図１９】
0004143241.tif 000020
【図２０】
0004143241.tif 000021
【図２１】
0004143241.tif 000022
【図２２】
0004143241.tif 000023
【図２３】
0004143241.tif 000024