(57)【要約】    【構成】  ゲーム装置（１０）はＬＣＤ１２および１４を含み、ＬＣＤ１２およびＬＣＤ１４には、パズルゲームのゲーム画面１００などが表示される。また、ＬＣＤ１４の上面にはタッチパネル（２４）が設けられる。プレイヤがＬＣＤ１４に表示されたピースオブジェクト１０６をタップすると、１つ目のピースオブジェクトが選択され、続けて縦方向または横方向にドラッグすると、その１つ目のピースオブジェクトに隣接する２つ目のピースオブジェクトが選択される。すると、選択された２つのピースオブジェクトは、配置位置が入れ替えられるとともに、各々に表示された数字が左右または上下反転される。    【効果】  配置位置のみならず、表示態様を変化させるので、簡単な操作で、複雑で面白味の有るパズルゲームをプレイすることができる。【選択図】  図４
2010068970.tif 000002
【特許請求の範囲】
【請求項１】
入力手段を備えるパズルゲーム装置のパズルゲームプログラムであって、
前記パズルゲーム装置のコンピュータを、
ゲームフィールド内に複数のピースオブジェクトを配置する配置手段、
前記入力手段からの入力に基づいて少なくとも１つのピースオブジェクトを選択する選択手段、
前記入力手段からの入力に基づいて前記選択手段によって選択された少なくとも１つのピースオブジェクトの配置位置を変更する配置位置変更手段、
前記配置位置変更手段によって配置位置を変更されたピースオブジェクトの表示態様を予め決定された規則に従って変化させる表示態様変化手段、および
前記表示態様変化手段によって前記ピースオブジェクトの表示態様が変化されたとき、前記複数のピースオブジェクトの全部または一部が所定の条件を満たすかどうかを判定する条件判定手段として機能させる、パズルゲームプログラム。
【請求項２】
前記条件判定手段によって所定の条件を満たすことが判定されたとき、前記複数のピースオブジェクトの全部または一部を前記ゲームフィールドから消去するピース消去手段としてさらに機能させる、請求項１記載のパズルゲームプログラム。
【請求項３】
前記表示態様変化手段は、前記配置位置変更手段によって配置位置を変更されたピースオブジェクトの表示態様を、変更前の表示態様と対称になるよう変化させる、請求項１または２記載のパズルゲームプログラム。
【請求項４】
前記配置位置変更手段は、前記選択手段によって選択された２つのピースオブジェクトの配置位置を入れ替える、請求項１ないし３のいずれかに記載のパズルゲームプログラム。
【請求項５】
前記入力手段は、ポインティングデバイスを含み、
前記選択手段は、前記ポインティングデバイスによって、最初に指示された第１ピースオブジェクトと、当該第１ピースオブジェクトに隣接する、かつ当該第１ピースオブジェクトに続いて指示された第２ピースオブジェクトとを選択する、請求項４記載のパズルゲームプログラム。
【請求項６】
前記パズルゲーム装置は、前記ピースオブジェクトの表示態様についての表示態様情報テーブルデータを記憶する表示態様情報テーブル記憶手段をさらに備え、
前記表示態様変化手段は、前記表示態様情報テーブル記憶手段によって記憶されている表示態様情報テーブルデータに従って、前記ピースオブジェクトの表示態様を変化させる、請求項１ないし５のいずれかに記載のパズルゲームプログラム。
【請求項７】
前記ピースオブジェクトには、数字および当該数字を対称にした記号が表示され、
前記所定の条件は、複数のピースオブジェクトに表示された数字の総和が所定値である場合を含む、請求項１ないし６のいずれかに記載のパズルゲームプログラム。
【請求項８】
前記パズルゲーム装置は、前記ピースオブジェクトの表示態様に応じて数字を表示しているかどうかの属性を示す属性テーブルデータを記憶する属性テーブル記憶手段をさらに備え、
前記条件判定手段は、前記属性テーブル記憶手段によって記憶された属性テーブルデータに従って前記複数のピースオブジェクトの全部または一部に表示された数字の総和が所定値であるかどうかを判定する、請求項７記載のパズルゲームプログラム。
【請求項９】
入力手段を備えるパズルゲーム装置であって、
ゲームフィールド内に複数のピースオブジェクトを配置する配置手段、
前記入力手段からの入力に基づいて少なくとも１つのピースオブジェクトを選択する選択手段、
前記入力手段からの入力に基づいて前記選択手段によって選択された少なくとも１つのピースオブジェクトの配置位置を変更する配置位置変更手段、
前記配置位置変更手段によって配置位置を変更されたピースオブジェクトの表示態様を予め決定された規則に従って変更する表示態様変化手段、および
前記表示態様変化手段によって前記ピースオブジェクトの表示態様が変化されたとき、前記複数のピースオブジェクトの全部または一部が所定の条件を満たすかどうかを判定する条件判定手段を備える、パズルゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はパズルゲームプログラムおよびパズルゲーム装置に関し、特にたとえば、ゲームフィールド内に配置される複数のピースオブジェクトを消去する、パズルゲームプログラムおよびパズルゲーム装置に関する。
【背景技術】
【０００２】
背景技術の一例が特許文献１に開示されている。この特許文献１によれば、立体ゲームフィールド内に表示された複数種類のパネル要素のうち、プレイヤの操作に応じて指定された２つのパネル要素を入れ替え、同一種類のパネル要素が所定方向に所定数以上連続して並んでいるときにそれらのパネル要素を消去するパズルゲームが開示されている。
【０００３】
また、背景技術の他の例が特許文献２に開示されている。この特許文献２によれば、少なくとも２つの接続端子を結ぶ線図が描かれた複数種類のパネルがゲームフィールドに配置され、プレイヤの操作に応じて指定された２つのパネルを入れ替え、その結果閉鎖線図を完成させることができたら完成を表す表示を行うパズルゲームが開示されている。
【特許文献１】特開２００１−３８０４７号公報［A63F 13/00, A63F 13/10］
【特許文献２】特開２００１−２４６１５２号公報［A63F 13/00, A63F 9/10］
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１および特許文献２のいずれの技術も、パネルの配置位置を入れ替えるだけなので、プレイヤは、入れ替え後のパネルの配置（並び）を容易に推測することができる。このため、ゲームが単調になり易く、飽きられ易いという問題があった。
【０００５】
それゆえに、この発明の主たる目的は、新規な、パズルゲームプログラムおよびパズルゲーム装置を提供することである。
【０００６】
また、この発明の他の目的は、簡単な操作で、より複雑で面白味の有る、パズルゲームプログラムおよびパズルゲーム装置を提供することである。
【課題を解決するための手段】
【０００７】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【０００８】
第１の発明は、入力手段を備えるパズルゲーム装置のパズルゲームプログラムであって、パズルゲーム装置のコンピュータを、ゲームフィールド内に複数のピースオブジェクトを配置する配置手段、入力手段からの入力に基づいて少なくとも１つのピースオブジェクトを選択する選択手段、入力手段からの入力に基づいて選択手段によって選択された少なくとも１つのピースオブジェクトの配置位置を変更する配置位置変更手段、配置位置変更手段によって配置位置を変更されたピースオブジェクトの表示態様を予め決定された規則に従って変化させる表示態様変化手段、および表示態様変化手段によってピースオブジェクトの表示態様が変化されたとき、複数のピースオブジェクトの全部または一部が所定の条件を満たすかどうかを判定する条件判定手段として機能させる、パズルゲームプログラムである。
【０００９】
第１の発明では、パズルゲームプログラムは、入力手段（２２，２４）を備えるパズルゲーム装置（１０）のコンピュータを、配置手段（３４，Ｓ１），選択手段（３４，Ｓ４７，Ｓ６５）、配置位置変更手段（３４，Ｓ７１，Ｓ７５，Ｓ７９，Ｓ８１）、表示態様変化手段（３４，Ｓ８５）および条件判定手段（３４，Ｓ１１７）として機能させる。配置手段は、ゲームフィールド（５００）に複数のピースオブジェクト（１０６）を配置する。選択手段は、入力手段からの入力に基づいて少なくとも１つのピースオブジェクトを選択する。配置位置変更手段は、入力手段からの入力に基づいて選択手段によって選択された少なくとも１つのピースオブジェクトの配置位置を変更する。表示態様変化手段は、配置位置変更手段によって配置位置を変更されたピースオブジェクトの表示態様を予め決定された規則（７４８）に従って変化させる。条件判定手段は、表示態様変化手段によってピースオブジェクトの表示態様が変化されたとき、複数のピースオブジェクトの全部または一部が所定の条件を満たすかどうかを判定する。
【００１０】
第１の発明によれば、ピースオブジェクトの配置位置のみならず、表示態様を変化させるので、ピースオブジェクトの移動後の並びや表示態様を容易に想起することができず、簡単な操作で、より複雑で面白味の有るパズルゲームを実現することができる。
【００１１】
第２の発明は第１の発明に従属し、条件判定手段によって所定の条件を満たすことが判定されたとき、複数のピースオブジェクトの全部または一部をゲームフィールドから消去するピース消去手段としてさらに機能させる。
【００１２】
第２の発明では、ピース消去手段（３４，Ｓ１２３）は、条件判定手段によって所定の条件を満たすことが判定されたとき、この所定の条件を満たす複数のピースオブジェクトの全部または一部をゲームフィールドから消去する。つまり、ゲーム画面から削除される。
【００１３】
第２の発明によれば、所定の条件を満たすピースオブジェクトを消去するので、プレイヤに達成感を味わわせることができ、ゲームへの興味を増大させることができる。
【００１４】
第３の発明は第１または第２の発明に従属し、表示態様変化手段は、配置位置変更手段によって配置位置を変更されたピースオブジェクトの表示態様を、変更前の表示態様と対称になるよう変化させる。
【００１５】
第３の発明では、表示態様変化手段は、配置位置変更手段によって配置位置を変更されたピースオブジェクトの表示態様を、変更前の表示態様と対称になるよう変化される。したがって、たとえば、ピースオブジェクトに数字や文字が表示されている場合には、配置位置が変更されると、その数字や文字が左右反転されたり、上下反転されたり、左右反転されるとともに上下反転されたりする。
【００１６】
第３の発明によれば、ピースオブジェクトの表示態様の変化に規則性を持たせることにより、その規則性をプレイヤに考えさせることができる。これによって、ゲームへの興味を増大させることができる。
【００１７】
第４の発明は第１ないし第３の発明に従属し、配置位置変更手段は、選択手段によって選択された２つのピースオブジェクトの配置位置を入れ替える。
【００１８】
第４の発明では、配置位置変更手段は、選択手段によって選択された２つのピースオブジェクトの配置位置を入れ替える。
【００１９】
第４の発明によれば、ピースオブジェクトの移動に或る程度の規制を加えるので、自由にピースオブジェクトを移動させることができる場合に比べてゲームの難易度を高くすることができる。したがって、直ぐに飽きられてしまうようなことがない。
【００２０】
第５の発明は第４の発明に従属し、入力手段は、ポインティングデバイスを含み、選択手段は、ポインティングデバイスによって、最初に指示された第１ピースオブジェクトと、当該第１ピースオブジェクトに隣接する、かつ当該第１ピースオブジェクトに続いて指示された第２ピースオブジェクトとを選択する。
【００２１】
第５の発明では、入力手段はたとえばポインティングデバイスである。選択手段は、ポインティングデバイスによって、最初に選択された第１ピースオブジェクトと、当該第１ピースオブジェクトに隣接する、かつ当該第１ピースオブジェクトに続いて指示された第２ピースオブジェクトとを選択する。したがって、第１ピースオブジェクトと第２ピースオブジェクトとの配置位置が入れ替えられる。
【００２２】
第５の発明によれば、ポインティングデバイスを用いるので、直感的で簡単に操作することができる。
【００２３】
第６の発明は第１ないし第５の発明に従属し、パズルゲーム装置は、ピースオブジェクトの表示態様についての表示態様情報テーブルデータを記憶する表示態様情報テーブル記憶手段をさらに備え、表示態様変化手段は、表示態様情報テーブル記憶手段によって記憶されている表示態様情報テーブルデータに従って、ピースオブジェクトの表示態様を変化させる。
【００２４】
第６の発明では、パズルゲーム装置は、表示態様情報テーブル記憶手段（４２，７４）をさらに備える。この表示情報テーブル記憶手段は、ピースオブジェクトの表示態様についての表示態様情報テーブルデータ（７４８）を記憶する。したがって、表示態様変化手段は、表示態様情報テーブル記憶手段によって記憶されている表示態様情報テーブルデータに従って、ピースオブジェクトの表示態様を変化させる。つまり、予め決定された規則は表示態様情報テーブルとして記憶されているのである。
【００２５】
第６の発明によれば、表示態様情報テーブルデータに従ってピースオブジェクトの表示態様を変化させるので、処理負荷を軽減することができる。
【００２６】
請求項７の発明は、第１ないし第６の発明に従属し、ピースオブジェクトには、数字および当該数字を対称にした記号が表示され、所定の条件は、複数のピースオブジェクトに表示された数字の総和が所定値である場合を含む。
【００２７】
第７の発明では、ピースオブジェクトには、数字および当該数字を対称にした記号が表示される。また、所定の条件は、複数のピースオブジェクトに表示された数字の総和が所定値である場合を含む。
【００２８】
第７の発明では、数字の総和が所定値となるように、ピースオブジェクトを移動させる必要があるので、ピースオブジェクトの表示態様のみならず、総和が所定になるか否かを考えさせることができる。したがって、高い思考力を必要とするゲームとなり、直ぐに飽きられてしまうようなことがない。
【００２９】
第８の発明は第７の発明に従属し、パズルゲーム装置は、ピースオブジェクトの表示態様に応じて数字を表示しているかどうかの属性を示す属性テーブルデータを記憶する属性テーブル記憶手段をさらに備え、条件判定手段は、属性テーブル記憶手段によって記憶された属性テーブルデータに従って複数のピースオブジェクトの全部または一部に表示された数字の総和が所定値であるかどうかを判定する。
【００３０】
第８の発明では、パズルゲーム装置は、属性テーブル記憶手段（４２，７４）をさらに備える。この属性テーブル記憶手段は、ピースオブジェクトの表示態様に応じて数字を表示しているかどうかの属性を示す属性テーブルデータを記憶する。条件判定手段は、属性テーブル記憶手段によって記憶された属性テーブルデータに従って複数のピースオブジェクトの全部または一部に表示された数字の総和が所定値であるかどうかを判定する。
【００３１】
第８の発明によれば、属性テーブルデータを記憶しておくので、総和が所定値であるか否かを判定する場合のように、必要なときだけピースオブジェクトに数字が表示されているか否かを判断すればよいため、常に数字が表示されているか否かを判断する場合に比べて処理を軽減することができる。
【００３２】
第９の発明は、入力手段を備えるパズルゲーム装置であって、ゲームフィールド内に複数のピースオブジェクトを配置する配置手段、入力手段からの入力に基づいて少なくとも１つのピースオブジェクトを選択する選択手段、入力手段からの入力に基づいて選択手段によって選択された少なくとも１つのピースオブジェクトの配置位置を変更する配置位置変更手段、配置位置変更手段によって配置位置を変更されたピースオブジェクトの表示態様を予め決定された規則に従って変更する表示態様変化手段、および表示態様変化手段によってピースオブジェクトの表示態様が変化されたとき、複数のピースオブジェクトの全部または一部が所定の条件を満たすかどうかを判定する条件判定手段を備える、パズルゲーム装置である。
【００３３】
第９の発明においても、第１の発明と同様に、簡単な操作で、より複雑で面白味の有るパズルゲームをプレイすることができる。
【発明の効果】
【００３４】
この発明によれば、選択されたピースオブジェクトの配置位置を変更すると、配置位置のみならず、表示態様を変化させるので、簡単な操作で、より複雑で面白味の有るパズルゲームをプレイすることができる。
【００３５】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００３６】
図１を参照して、この発明の実施例であるゲーム装置１０は、第１の液晶表示器（ＬＣＤ）１２および第２のＬＣＤ１４を含む。ＬＣＤ１２およびＬＣＤ１４は、所定の配置位置となるようにハウジング1６に収納される。この実施例では、ハウジング１６は、上側ハウジング１６ａと下側ハウジング１６ｂとによって構成され、ＬＣＤ１２は上側ハウジング１６ａに収納され、ＬＣＤ１４は下側ハウジング１６ｂに収納される。したがって、ＬＣＤ１２とＬＣＤ１４とは縦（上下）に並ぶように近接して配置される。
【００３７】
なお、この実施例では、表示器としてＬＣＤを用いるようにしてあるが、ＬＣＤに代えて、ＥＬ(Electronic Luminescence)ディスプレイやプラズマディスプレイを用いるようにしてもよい。
【００３８】
図１からも分かるように、上側ハウジング１６ａは、ＬＣＤ１２の平面形状よりも少し大きな平面形状を有し、一方主面からＬＣＤ１２の表示面を露出するように開口部が形成される。一方、下側ハウジング１６ｂは、その平面形状が上側ハウジング１６ａと略同じであり、その略中央部にＬＣＤ１４の表示面を露出するように開口部が形成される。下側ハウジング１６ｂのＬＣＤ１４の左方には電源スイッチ１８が設けられる。
【００３９】
また、上側ハウジング１６ａには、ＬＣＤ１２を挟んで左右に、スピーカ３６ａおよび３６ｂ（図２）のための音抜き孔２０ａおよび２０ｂが形成される。そして、下側ハウジング１６ｂには、マイク（図示せず）のためのマイク孔２０ｃが形成されるとともに、操作スイッチ２２（２２ａ，２２ｂ，２２ｃ，２２ｄ，２２ｅ，２２ｆ，２２ｇ，２２Ｌおよび２２Ｒ）が設けられる。
【００４０】
また、上側ハウジング１６ａと下側ハウジング１６ｂとは、上側ハウジング１６ａの下辺（下端）と下側ハウジング１６ｂの上辺（上端）の一部とが回動可能に連結されている。したがって、たとえば、ゲームをプレイしない場合には、ＬＣＤ１２の表示面とＬＣＤ１４の表示面とが対面するように、上側ハウジング１６ａを回動させて折りたたんでおけば、ＬＣＤ１２の表示面およびＬＣＤ１４の表示面に傷がつくなどの破損を防止することができる。ただし、上側ハウジング１６ａと下側ハウジング１６ｂとは、回動可能に連結せずに、それらを一体的（固定的）に設けたハウジング１６を形成するようにしてもよい。
【００４１】
操作スイッチ２２は、方向指示スイッチ（十字スイッチ）２２ａ，スタートスイッチ２２ｂ、セレクトスイッチ２２ｃ、動作スイッチ（Ａボタン）２２ｄ、動作スイッチ（Ｂボタン）２２ｅ、動作スイッチ（Ｘボタン）２２ｆ、動作スイッチ（Ｙボタン）２２ｇ、動作スイッチ（Ｌボタン）２２Ｌおよび動作スイッチ（Ｒボタン）２２Ｒを含む。スイッチ２２ａは、下側ハウジング１６ｂの一方主面であり、ＬＣＤ１４の左側に配置される。その他のスイッチ２２ｂ−２２ｇは、下側ハウジング１６ｂの一方主面であり、ＬＣＤ１４の右側に配置される。さらに、スイッチ２２Ｌおよびスイッチ２２Ｒは、それぞれ、上側ハウジング１６ａとの連結部を挟む下側ハウジング１６ｂの上側面の左右角部に配置される。
【００４２】
方向指示スイッチ２２ａは、ディジタルジョイスティックとして機能し、４つの押圧部の１つを操作することによって、ユーザないしプレイヤによって操作可能なプレイヤキャラクタ(またはプレイヤオブジェクト)の移動方向を指示したり、カーソルの移動方向を指示したりする等に用いられる。また、各押圧部には、特定の役割を割り当てることができ、４つの押圧部の１つを操作することによって、割り当てられた役割を指示（指定）することができる。
【００４３】
スタートスイッチ２２ｂは、プッシュボタンで構成され、ゲームを開始（再開）したり、一時停止(Pause)したりする等に用いられる。また、セレクトスイッチ２２ｃは、プッシュボタンで構成され、ゲームモードの選択等に用いられる。
【００４４】
動作スイッチ２２ｄすなわちＡボタンは、プッシュボタンで構成され、方向指示以外の動作、すなわち、プレイヤキャラクタに打つ（パンチ）、投げる、つかむ（取得）、乗る、ジャンプするなどの任意のアクションをさせることができる。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かす等を指示することができる。また、ロールプレイングゲーム(ＲＰＧ)やシミュレーションＲＰＧにおいては、アイテムの取得、武器やコマンドの選択および決定等を指示することができる。動作スイッチ２２ｅすなわちＢボタンは、プッシュボタンで構成され、セレクトスイッチ２２ｃで選択したゲームモードの変更やＡボタン２２ｄで決定したアクションの取り消し等のために用いられる。
【００４５】
動作スイッチ２２ｆすなわちＸボタン、および動作スイッチ２２ｇすなわちＹボタンは、プッシュボタンで構成され、Ａボタン２２ｄとＢボタン２２ｅだけでは、ゲーム進行ができないときに、補助的な操作に用いられる。ただし、Ｘボタン２２ｆおよびＹボタン２２ｇは、Ａボタン２２ｄおよびＢボタン２２ｅと同様の操作に用いることも可能である。もちろん、ゲームプレイにおいてＸボタン２２ｆとＹボタン２２ｇとを必ずしも使用しなくてよい。
【００４６】
動作スイッチ２２Ｌ（左押しボタン）および動作スイッチ２２Ｒ（右押しボタン）は、プッシュボタンで構成され、左押しボタン（Ｌボタン）２２Ｌおよび右押しボタン（Ｒボタン）２２Ｒは、Ａボタン２２ｄおよびＢボタン２２ｅと同様の操作に用いることができ、また、Ａボタン２２ｄおよびＢボタン２２ｅの補助的な操作に用いることができる。さらに、Ｌボタン２２ＬおよびＲボタン２２Ｒは、方向スイッチ２２ａ、Ａボタン２２ｄ，Ｂボタン２２ｅ，Ｘボタン２２ｆ，Ｙボタン２２ｇに割り当てられた役割を、他の役割に変更することができる。
【００４７】
また、ＬＣＤ１４の上面には、タッチパネル２４が装着される。タッチパネル２４としては、たとえば、抵抗膜方式、光学式(赤外線方式)および静電容量結合式のいずれかの種類のものを用いることができる。また、タッチパネル２４は、その上面をスティック２６ないしはペン（スタイラスペン）或いは指（以下、これらを「スティック２６等」という場合がある。）で、押圧したり、撫でたり、触れたりすることにより操作（タッチ操作）すると、スティック２６等の操作位置の座標を検出して、検出した座標（検出座標）に対応する座標データを出力する。
【００４８】
なお、この実施例では、ＬＣＤ１４（ＬＣＤ１２も同じ、または略同じ。）の表示面の解像度は２５６ｄｏｔ×１９２ｄｏｔであり、タッチパネル２４の検出精度も表示画面に対応して２５６ｄｏｔ×１９２ｄｏｔとしてあるが、タッチパネル２４の検出精度は表示画面の解像度よりも低くてもよく、高くてもよい。
【００４９】
ＬＣＤ１２およびＬＣＤ１４には異なるゲーム画面が表示されてもよい。たとえば、レースゲームでは一方のＬＣＤに運転席からの視点による画面を表示し、他方のＬＣＤにレース（コース）全体の画面を表示することができる。また、ＲＰＧでは、一方のＬＣＤにマップやプレイヤキャラクタ等のキャラクタを表示し、他方のＬＣＤにプレイヤキャラクタが所有するアイテムを表示することができる。さらに、一方のＬＣＤ（この実施例では、ＬＣＤ１４）にゲームの操作画面（ゲーム画面）を表示し、他方のＬＣＤ（この実施例では、ＬＣＤ１２）に当該ゲームに関する情報（得点やレベルなど）を含む他のゲーム画面を表示することができる。さらには、２つのＬＣＤ１２およびＬＣＤ１４を合わせて１つの画面として用いることにより、プレイヤキャラクタが倒さなければならない巨大な怪物（敵キャラクタ）を表示することもできる。
【００５０】
したがって、プレイヤはスティック２６等でタッチパネル２４を操作することにより、ＬＣＤ１４の画面に表示されるプレイヤキャラクタ、敵キャラクタ、アイテムキャラクタ、操作オブジェクトなどの画像を指示（操作）したり、コマンドを選択（入力）したりすることができる。また、３次元ゲーム空間に設けられる仮想カメラ（視点）の方向（視線の向き）を変化させたり、ゲーム画面（マップ）のスクロール(徐々に移動表示)方向を指示したりすることもできる。
【００５１】
なお、ゲームの種類によっては、タッチパネル２４を用いることにより、その他の入力指示も可能である。たとえば、座標入力指示を入力したり、ＬＣＤ１４において文字，数字，記号等を手書き入力したりすることができる。
【００５２】
このように、ゲーム装置１０は、２画面分の表示部となるＬＣＤ１２およびＬＣＤ１４を有し、いずれか一方（この実施例では、ＬＣＤ１４）の上面にタッチパネル２４が設けられるので、２画面（１２，１４）と２系統の操作部（２２，２４）とを有する構成になっている。
【００５３】
また、この実施例では、スティック２６は、たとえば下側ハウジング１６ｂに設けられる収納部（図示せず）に収納することができ、必要に応じて取り出される。ただし、スティック２６を設けない場合には、その収納部も設ける必要はない。
【００５４】
さらに、ゲーム装置１０はメモリカード（またはカートリッジ）２８を含み、このメモリカード２８は着脱自在であり、下側ハウジング１６ｂの裏面ないしは下端（底面）に設けられる挿入部３０（図１では点線で示す）に挿入される。図１では省略するが、挿入部３０の奥部には、メモリカード２８の挿入方向先端部に設けられるコネクタ（図示せず）と接合するためのコネクタ３２（図２参照）が設けられており、したがって、メモリカード２８が挿入部３０に挿入されると、コネクタ同士が接合され、ゲーム装置１０のＣＰＵコア３４（図２参照）がメモリカード２８にアクセス可能となる。
【００５５】
なお、図１では表現できないが、上側ハウジング１６ａの音抜き孔２０ａおよび２０ｂと対応する位置であり、この上側ハウジング１６ａの内部にはスピーカ３６ａおよび３６ｂ（図２参照）が設けられる。
【００５６】
また、図１では省略するが、たとえば、下側ハウジング１６ｂの裏面側には、電池収容ボックスが設けられ、また、下側ハウジング１６ｂの底面側には、音量スイッチ、外部拡張コネクタおよびイヤフォンジャックなどが設けられる。
【００５７】
図２はゲーム装置１０の電気的な構成を示すブロック図である。図２を参照して、ゲーム装置１０は電子回路基板３８を含み、この電子回路基板３８には上述のＣＰＵコア３４等の回路コンポーネントが実装される。ＣＰＵコア３４は、バス４０を介して前述のコネクタ３２に接続されるとともに、ＲＡＭ４２、第１のグラフィック処理ユニット（ＧＰＵ）４４、第２のＧＰＵ４６、入出カインターフェース回路（以下、「Ｉ／Ｆ回路」という。）４８およびＬＣＤコントローラ５０が接続される。
【００５８】
コネクタ３２には、上述したように、メモリカード２８が着脱自在に接続される。メモリカード２８は、ＲＯＭ２８ａおよびＲＡＭ２８ｂを含み、図示は省略するが、ＲＯＭ２８ａおよびＲＡＭ２８ｂは、互いにバスで接続され、さらに、コネクタ３２と接合されるコネクタ（図示せず）に接続される。したがって、上述したように、ＣＰＵコア３４は、ＲＯＭ２８ａおよびＲＡＭ２８ｂにアクセスすることができるのである。
【００５９】
ＲＯＭ２８ａは、ゲーム装置１０で実行すべきゲームのためのゲームプログラム、画像データ（文字やオブジェクトの画像、背景画像、アイテム画像、アイコン（ボタン）画像、メッセージ画像など）およびゲームに必要な音（音楽）のデータ（音データ）等を予め記憶する。ＲＡＭ（バックアップＲＡＭ）２８ｂは、そのゲームの途中データやゲームの結果データなどを記憶（セーブ）する。
【００６０】
ＲＡＭ４２は、バッファメモリないしはワーキングメモリとして使用される。つまり、ＣＰＵコア３４は、メモリカード２８のＲＯＭ２８ａに記憶されたゲームプログラム、画像データおよび音データ等をＲＡＭ４２にロードし、ロードしたゲームプログラムを実行する。また、ＣＰＵコア３４は、ゲームの進行に応じて一時的に発生するデータ（ゲームデータやフラグデータ）をＲＡＭ４２に記憶しつつゲーム処理を実行する。
【００６１】
なお、ゲームプログラム、画像データおよび音データ等は、ＲＯＭ２８ａから一度に全部、または部分的かつ順次的に読み出され、ＲＡＭ４２に記憶（ロード）される。
【００６２】
ただし、メモリカード２８のＲＯＭ２８ａには、ゲーム以外の他のアプリケーションについてのプログラムおよび当該アプリケーションの実行に必要な画像データが記憶される。また、必要に応じて、音（音楽）データが記憶されてもよい。かかる場合には、ゲーム装置１０では、当該アプリケーションが実行される。
【００６３】
ＧＰＵ４４およびＧＰＵ４６は、それぞれ、描画手段の一部を形成し、たとえばシングルチップＡＳＩＣで構成され、ＣＰＵコア３４からのグラフィックスコマンド（作画命令）を受け、そのグラフィックスコマンドに従って画像データを生成する。ただし、ＣＰＵコア３４は、グラフィックスコマンドに加えて、画像データの生成に必要な画像生成プログラム（ゲームプログラムに含まれる。）をＧＰＵ４４およびＧＰＵ４６のそれぞれに与える。
【００６４】
また、ＧＰＵ４４には、第１のビデオＲＡＭ（以下、「ＶＲＡＭ」という。）５２が接続され、ＧＰＵ４６には、第２のＶＲＡＭ５４が接続される。ＧＰＵ４４およびＧＰＵ４６が作画コマンドを実行するにあたって必要なデータ（画像データ：ポリゴンやテクスチャ等のデータ）は、ＧＰＵ４４およびＧＰＵ４６が、それぞれ、第１のＶＲＡＭ５２および第２のＶＲＡＭ５４にアクセスして取得する。
【００６５】
なお、ＣＰＵコア３４は、描画に必要な画像データをＧＰＵ４４およびＧＰＵ４６を介して第１のＶＲＡＭ５２および第２のＶＲＡＭ５４に書き込む。ＧＰＵ４４はＶＲＡＭ５２にアクセスして描画のための画像データを作成し、ＧＰＵ４６はＶＲＡＭ５４にアクセスして描画のための画像データを作成する。
【００６６】
ＶＲＡＭ５２およびＶＲＡＭ５４は、ＬＣＤコントローラ５０に接続される。ＬＣＤコントローラ５０はレジスタ５６を含み、レジスタ５６はたとえば１ビットで構成され、ＣＰＵコア３４の指示によって「０」または「１」の値（データ値）を記憶する。ＬＣＤコントローラ５０は、レジスタ５６のデータ値が「０」である場合には、ＧＰＵ４４によって作成された画像データをＬＣＤ１２に出力し、ＧＰＵ４６によって作成された画像データをＬＣＤ１４に出力する。また、ＬＣＤコントローラ５０は、レジスタ５６のデータ値が「１」である場合には、ＧＰＵ４４によって作成された画像データをＬＣＤ１４に出力し、ＧＰＵ４６によって作成された画像データをＬＣＤ１２に出力する。
【００６７】
なお、ＬＣＤコントローラ５０は、ＶＲＡＭ５２およびＶＲＡＭ５４から直接画像データを読み出したり、ＧＰＵ４４およびＧＰＵ４６を介してＶＲＡＭ５２およびＶＲＡＭ５４から画像データを読み出したりする。
【００６８】
Ｉ／Ｆ回路４８には、操作スイッチ２２，タッチパネル２４およびスピーカ３６ａ，３６ｂが接続される。ここで、操作スイッチ２２は、上述したスイッチ２２ａ，２２ｂ，２２ｃ，２２ｄ，２２ｅ，２２ｆ，２２ｇ，２２Ｌおよび２２Ｒであり、操作スイッチ２２が操作されると、対応する操作信号（操作データ）がＩ／Ｆ回路４８を介してＣＰＵコア３４に入力される。また、タッチパネル２４からの座標データがＩ／Ｆ回路４８を介してＣＰＵコア３４に入力される。さらに、ＣＰＵコア３４は、ゲーム音楽（ＢＧＭ）、効果音またはゲームキャラクタの音声（擬制音）などのゲームに必要な音データをＲＡＭ４２から読み出し、Ｉ／Ｆ回路４８を介してスピーカ３６ａ，３６ｂから出力する。
【００６９】
図３は、この実施例の仮想ゲームをプレイする場合に、図１に示したゲーム装置１０の使用例を示す図解図である。図３から分かるように、この実施例では、ゲーム装置１０は、図１に示した状態から反時計周り（左周り）に９０度回転させた状態で使用される。したがって、ＬＣＤ１２とＬＣＤ１４（タッチパネル２４）とが横並びに配置される。この実施例では、３次元仮想空間に設けられたゲームフィールドがＬＣＤ１２とＬＣＤ１４とを合わせた１つの画面（ゲーム画面）で表示される。
【００７０】
図４は、この実施例の仮想ゲーム（パズルゲーム）をプレイする場合に、ＬＣＤ１２およびＬＣＤ１４に表示されるゲーム画面１００の例が示される。このゲーム画面１００は、ＬＣＤ１２の表示画面１０２とＬＣＤ１４の表示画面１０４とによって構成される。また、表示画面１０４に複数のピースオブジェクト１０６がマトリックス状に並んで配置されている。ピースオブジェクト１０６は、長方形であり、板状に形成される。ただし、図４では、ピースオブジェクト１０６の形状および大きさを分かり易く示すために、外枠を記載してあるが、ピースオブジェクト１０６自体は無色透明である。なお、ピースオブジェクト１０６には背景色と同じ色が付されてもよく、また他の色が付されてもよい。また、この実施例では、表示画面１０２および表示画面１０４のそれぞれに、縦方向に最大５つのピースオブジェクト１０６を表示することができ、横方向に最大６つのピースオブジェクト１０６を表示することができる。つまり、ゲームフィールドには、最大で５（行）×１２（列）のピースオブジェクト１０６を表示することができる。
【００７１】
図５に示すように、３次元仮想空間には、２次元平面状のゲームフィールド５００が設けられ、その一部がＬＣＤ１２およびＬＣＤ１４を用いてゲーム画面として表示される。ゲームフィールド５００には、複数（５×１２）のグリッド５０２がマトリックス状に配置される。図５では、分かり易く示すために、グリッド５０２を可視表示されるように示しているが、このグリッド５０２は不可視オブジェクトであり、実際のゲーム画面（図４等参照）では表示されることはない。各グリッド５０２には、識別情報（グリッドインデックス）が割り当てられており、グリッドインデックスを用いて、グリッド５０２に格納されているピースオブジェクト１０６の種類が識別可能に管理されている（後述するピース配置テーブル：図１９（Ｂ）参照）。たとえば、グリッドインデックスは、括弧付きの数字で示される行番号と列番号との組で表わされる。たとえば、左上の隅に設けられるグリッド５０２のグリッドインデックスは（１，１）で示され、右下の隅に設けられるグリッド５０２のグリッドインデックスは（５，１２）で示される。詳細な説明は省略するが、他のグリッド５０２のグリッドインデックスについても同様である。
【００７２】
ただし、グリッド５０２にピースオブジェクト１０６が格納されていない場合には、何も格納されていない旨の情報（たとえば、「null」）が当該グリッド５０２のグリッドインデックスに対応して管理（記憶）される。
【００７３】
図４に戻って、ゲーム画面１００では、表示画面１０２の上部にベストスコアを表示する表示部１０８が設けられる。さらに、ゲーム画面１００では、表示画面１０４の上部に時間（ゲーム開始からの経過時間）を表示する表示部１１０およびノルマを表示する表示部１１２が設けられる。
【００７４】
この実施例のパズルゲームでは、ピースオブジェクト１０６を移動させると、その移動に応じて、移動後のピースオブジェクト１０６の表示態様が変化される。具体的には、ピースオブジェクト１０６に表示された数字または記号が左右反転または上下反転される。そして、プレイヤによって、上下（縦）方向または左右（横）方向に一直線上に並ぶ２つ以上のピースオブジェクト１０６の範囲が選択され、選択された範囲の２つ以上のピースオブジェクト１０６に表示された数字の総和が所定値（たとえば、１０）になると、当該２つ以上のピースオブジェクト１０６はゲームフィールドから消去される。ただし、ピースオブジェクト１０６が消去されたり、所定時間が経過したりすると、新しいピースオブジェクト１０６がゲームフィールドに補充される。このようにして、制限時間内に、ノルマで示される数のピースオブジェクト１０６が消去されると、ゲームクリアとなる。一方、ノルマで示される数のピースオブジェクト１０６を消去する前に、制限時間を超えてしまったり、ゲームフィールド５００のすべてのグリッド５０２（表示画面１０２および１０４の全体）にピースオブジェクト１０６が表示されてしまったりすると、ゲームオーバとなる。以下、この実施例のパズルゲームについて詳細に説明することにする。
【００７５】
ゲームが開始されると、図示しない初期のゲーム画面（初期画面）がＬＣＤ１２およびＬＣＤ１４に表示される。この初期画面には、たとえば、５（行）×３（列）のピースオブジェクト１０６が表示される。ただし、これらのピースオブジェクト１０６は、初期画面（ＬＣＤ１４）の右端に詰めた状態で表示される。
【００７６】
プレイヤは、スティック２６等を用いて、所望のピースオブジェクト１０６を指示し、ピースオブジェクト１０６を表示画面１０４内で移動させる。ただし、この実施例では、プレイヤは上下（縦）または左右（横）に隣接する２つのピースオブジェクト１０６を指示し、この指示に従って選択された２つのピースオブジェクト１０６の配置位置が入れ替わるように、それぞれのピースオブジェクト１０６が移動される。
【００７７】
図面では分かり難いが、タッチオフの状態（リリース状態）から所望のピースオブジェクト１０６を指示（タッチオンないしタップ）すると、当該所望のピースオブジェクト１０６が選択される。図４ではプレイヤの指示に従って選択されたピースオブジェクト１０６を太線枠で示してある。ただし、選択されたピースオブジェクトを色付きの線の枠で示してもよいし、選択されたピースオブジェクト１０６全体を色反転させたり、色や輝度を強調させたりしてもよい。または、何らかの指示画像（マーカ）を選択されたピースオブジェクト１０６の前面に表示するようにしてもよい。つまり、選択されたピースオブジェクト１０６が識別可能に表示される。このようにして、１つ目のピースオブジェクト１０６（以下、説明の便宜上、「第１ピースオブジェクト１０６」と言うことがある。）が選択される。
【００７８】
なお、実際のパズルゲームにおいては、後述するように、第１ピースオブジェクト１０６および第２ピースオブジェクト１０６が選択された後に、それらの回転処理が実行されるとき、および消去範囲の始点としてのピースオブジェクト１０６が選択されたときに、選択されたピースオブジェクト１０６は太線枠で表示される。
【００７９】
プレイヤが、第１ピースオブジェクト１０６の選択に続いて、ドラッグ（スティック２６等をタッチパネル２４上でスライドさせること）により、第１ピースオブジェクト１０６の上、下、左または右側に隣接する他のピースオブジェクト１０６をタップすると、当該他のピースオブジェクト１０６が２つ目のピースオブジェクト１０６（以下、説明の都合上、「第２ピースオブジェクト１０６」と言うことがある。）として選択される。
【００８０】
このようにして、２つのピースオブジェクト１０６が選択されると、これら２つのピースオブジェクト１０６の配置位置が入れ替えられる。この実施例では、上述したように、３次元仮想空間に２次元のゲームフィールド５００が設けられる。また、上述したように、移動後のピースオブジェクト１０６の表示態様を、移動前の表示態様に対して左右反転または上下反転で表示するようにしてある。したがって、この実施例では、第１ピースオブジェクト１０６と第２ピースオブジェクト１０６とは、それらの中間に想定される軸を中心に１８０度回転することによって、第１ピースオブジェクト１０６と第２ピースオブジェクト１０６との配置位置が入れ替えられる。このとき、第１ピースオブジェクト１０６および第２ピースオブジェクト１０６は、裏返しになるため、回転方向に応じて、表示態様が左右反転または上下反転される。
【００８１】
具体的には、第１ピースオブジェクト１０６と第２ピースオブジェクト１０６とが横並びである場合には、これらのピースオブジェクト１０６は横方向に回転される。図６（Ａ）に示すように、第１ピースオブジェクト１０６が左側であり、第２ピースオブジェクト１０６が右側である場合には、第１ピースオブジェクト１０６が手前側（視点側）をプレイヤから見て左から右に移動するように回転し、第２ピースオブジェクト１０６が奥側をプレイヤから見て右から左に移動するように回転される。ただし、回転軸（縦軸）を中心に、１８０度回転される。以下、ピースオブジェクト１０６を回転させる場合において、同様である。
【００８２】
たとえば、プレイヤが左側のピースオブジェクト１０６をタップした後に、右方向にドラッグすると、左側のピースオブジェクト１０６が第１ピースオブジェクトとして選択され、右側のピースオブジェクト１０６が第２ピースオブジェクトとして選択される。
【００８３】
また、図６（Ｂ）に示すように、第１ピースオブジェクト１０６が右側であり、第２ピースオブジェクト１０６が左側である場合には、第１ピースオブジェクト１０６が手前側（視点側）をプレイヤから見て右から左に移動するように回転され、第２ピースオブジェクト１０６が奥側をプレイヤから見て左から右に移動するように回転される。
【００８４】
たとえば、プレイヤが右側のピースオブジェクト１０６をタップした後に、左方向にドラッグすると、右側のピースオブジェクト１０６が第１ピースオブジェクトとして選択され、左側のピースオブジェクト１０６が第２ピースオブジェクトとして選択される。
【００８５】
また、第１ピースオブジェクト１０６と第２ピースオブジェクト１０６とが縦並びである場合には、これら２つのピースオブジェクト１０６は縦方向に回転される。図７（Ａ）に示すように、第１ピースオブジェクト１０６が上側であり、第２ピースオブジェクト１０６が下側である場合には、第１ピースオブジェクト１０６が手前側（視点側）をプレイヤから見て上から下に移動するように回転され、第２ピースオブジェクト１０６が奥側をプレイヤから見て下から上に移動するように回転される。
【００８６】
たとえば、プレイヤが上側のピースオブジェクト１０６をタップした後に、下方向にドラッグすると、上側のピースオブジェクト１０６が第１ピースオブジェクトとして選択され、下側のピースオブジェクト１０６が第２ピースオブジェクトとして選択される。
【００８７】
また、図７（Ｂ）に示すように、第１ピースオブジェクト１０６が下側であり、第２ピースオブジェクト１０６が上側である場合には、第１ピースオブジェクト１０６が手前側（視点側）をプレイヤから見て下から上に移動するように回転され、第２ピースオブジェクト１０６が奥側をプレイヤから見て上から下に移動するように回転される。
【００８８】
たとえば、プレイヤが下側のピースオブジェクト１０６をタップした後に、上方向にドラッグすると、下側のピースオブジェクト１０６が第１ピースオブジェクトとして選択され、上側のピースオブジェクト１０６が第２ピースオブジェクトとして選択される。
【００８９】
なお、図６および図７においては、ピースオブジェクト１０６が回転する方向を分かり易く示すために、ピースオブジェクト１０６の形状を少し斜めに傾けて図示してあるが、実際には、ピースオブジェクト１０６の形状が斜めに傾くことはない。
【００９０】
また、この実施例では、図８（Ａ）に示すように、ピースオブジェクト１０６の上面（視点側の面）には、７セグメント表示により、数字およびそれを線対称または点対称にした記号を表示するようにしてある。この実施例では、ピースオブジェクト１０６の上面にすべてのセグメント１０６ａ，１０６ｂ，１０６ｃ，１０６ｄ，１０６ｅ，１０６ｆ，１０６ｇが表示されているように示してあるが、実際には、数字または記号として表示されるセグメント１０６ａ−１０６ｇのみが描画される。したがって、上述したように、ピースオブジェクト１０６が１８０度回転（左右反転または上下反転）されると、それに表示された数字または記号も１８０度回転される。つまり、表示態様が変化される。
【００９１】
なお、この実施例では、ピースオブジェクト１０６の上面に、７セグメント表示の数字または記号を描画するようにしてあるため、回転処理によって、ピースオブジェクト１０６が裏返しにされると、その後、ピースオブジェクトの上面に、左右反転または上下反転された数字または記号を描画し直すようにしてある。
【００９２】
たとえば、図８（Ｂ）に示すように、数字の「２」が表示されたピースオブジェクト１０６が左右（横）方向に１８０度回転されると、当該ピースオブジェクト１０６には数字の「５」が表示される。一方、数字の「５」が表示されたピースオブジェクト１０６が左右方向に１８０度回転されると、当該ピースオブジェクト１０６には数字の「２」が表示される。このように、ピースオブジェクト１０６に表示される数字や記号は、当該ピースオブジェクト１０６が左右回転される前後において、縦軸を中心として線対称になる。
【００９３】
また、図９に示すように、数字の「９」が表示されたピースオブジェクト１０６が上下（縦）方向に１８０度回転されると、当該ピースオブジェクト１０６には数字の「９」を上下反転した（数字の「６」を左右反転した）記号が表示される。一方、数字の「９」を上下反転した（「６」を左右反転した）記号が表示されたピースオブジェクト１０６が上下方向に１８０度回転されると、当該ピースオブジェクト１０６には数字の「９」が表示される。このように、ピースオブジェクト１０６に表示される数字や記号は、当該ピースオブジェクト１０６が上下回転される前後において、横軸を中心として線対称になる。
【００９４】
なお、詳細な説明および図示は省略するが、他の数字についても同様である。ただし、左右対称および上下対称である数字の「０」や「８」は、左右反転または上下反転しても、表示態様は変化しない。また、上下対称である数字の「１」や「３」は上下反転しても、表示態様は変化しないが、左右反転すると、数字の「１」や「３」を左右反転した記号で表示される。ただし、数字の「１」は左右反転しても、数字の「１」として認識することができるが、表示されるセグメント（後述する表示パターン）が異なるため、この実施例では、数字の「１」を左右反転した記号として認識するようにしてある。
【００９５】
また、図示は省略するが、ピースオブジェクト１０６を左右反転または上下反転させた後に、さらに当該ピースオブジェクト１０６を上下反転または左右反転させると、当該ピースオブジェクト１０６は元の位置（グリッド５０２）から斜め方向に移動され、元のピースオブジェクト１０６に表示された数字や記号は、移動後のピースオブジェクト１０６において、点対称で表示される。
【００９６】
したがって、たとえば、図４に示した状態において、第１ピースオブジェクト１０６が選択され、続けて、プレイヤが下方向にドラッグすると、図１０のゲーム画面１５０に示すように、第１ピースオブジェクト１０６（説明の便宜上、これ以降では、参照符号を「１０６ｍ」とする）と第２ピースオブジェクト１０６（説明の便宜上、これ以降では、参照符号を「１０６ｎ」とする）とが縦方向に回転する。これによって、第１ピースオブジェクト１０６ｍと第２ピースオブジェクト１０６ｎとは、配置位置が入れ替えられるとともに、表示態様が変化される。具体的には、数字の「２」が表示された第１ピースオブジェクト１０６ｍは、１つ下側のグリッド５０２に移動されるとともに上下反転され、その上面には数字の「５」に表示が変更される。一方、数字の「１」が表示された第２ピースオブジェクト１０６ｎは、１つ上側のグリッド５０２に移動されるとともに上下反転されるが、その上面には同じく数字の「１」が表示される。
【００９７】
また、図１１に示す他のゲーム画面２００において、スティック２６によって数字の「６」が表示された第１ピースオブジェクト１０６ｍを選択した後に、下方向にドラッグして、第１ピースオブジェクト１０６ｍの下側のピースオブジェクト１０６を第２ピースオブジェクト１０６ｎとして選択したとする。すると、図１２のゲーム画面２５０に示すように、数字の「６」が表示された第１ピースオブジェクト１０６ｍは、１つ下側のグリッド５０２に移動されるとともに上下反転され、その上面には数字の「６」を上下反転した（「９」を左右反転した）記号が表示される。一方、数字の「４」が表示された第２ピースオブジェクト１０６ｎは、１つ上側のグリッド５０２に移動されるとともに上下反転され、その上面には数字の「４」を上下反転した記号が表示される。
【００９８】
なお、この実施例では、図１２に示すように、ピースオブジェクト１０６の上面に、数字ではなく、記号が表示される場合には、その記号をグレーアウトで表示するようにしてある。これは、数字と数字以外の記号とを分かり易く示すためである。したがって、数字と同様にグレーアウトせずに表示するようにしても構わない。
【００９９】
また、左右方向にドラッグした場合のゲーム画面は省略するが、上下方向にドラッグした場合と、ピースオブジェクト１０６の移動方向および反転方向が異なる以外は同じである。
【０１００】
上述のようにして、左右方向や上下方向にドラッグして、２つのピースオブジェクト１０６の配置位置を入れ替えて、所望のピースオブジェクト１０６を移動させることができる。また、このパズルゲームでは、上述したように、縦方向または横方向に並ぶ２つ以上のピースオブジェクト１０６に表示された数字の総和が所定値になると、当該２つ以上のピースオブジェクト１０６をゲーム画面から消去することができる。プレイヤは、その２つ以上のピースオブジェクト１０６のうち、両端（始点と終点）に有る２つのピースオブジェクト１０６を個別に指示（選択）して、消去するべき２つ以上のピースオブジェクト１０６（消去範囲）を指定する。
【０１０１】
たとえば、図１３のゲーム画面３００に示すように、一方端（始点）のピースオブジェクト１０６が選択され、その後、図１４のゲーム画面３５０に示すように、他方端（終点）のピースオブジェクト１０６が選択される。ただし、この実施例では、始点のピースオブジェクト１０６を選択した後に、ドラッグすると、ピースオブジェクト１０６の配置位置および表示態様が変化されるため、消去範囲を指定する場合には、消去範囲の両端に在るピースオブジェクト１０６の各々を個別にタッチ（タップ）する必要がある。
【０１０２】
なお、図１４では、プレイヤによって指示された消去範囲に在る複数のピースオブジェクト１０６を点線枠で囲んである。
【０１０３】
ただし、消去範囲は、上下方向または左右方向に一直線上に並ぶ２つ以上のピースオブジェクト１０６で指定されるため、一直線上に並んでいない２つのピースオブジェクト１０６が選択された場合には、消去範囲は指定されない。つまり、消去範囲の指定は失敗である。また、この実施例では、後述するように、消去範囲に含まれるすべてのピースオブジェクト１０６に表示された数字の総和が所定値であるか否かを判断するようにしてあるため、消去範囲に含まれるすべてのピースオブジェクト１０６において数字が表示されている必要がある。したがって、数字を左右反転または上下反転した記号が表示されたピースオブジェクト１０６が消去範囲に含まれている場合にも、消去は範囲の指定は失敗となる。消去範囲の指定に失敗した場合には、最後に指示された（他方端の）ピースオブジェクト１０６が、第１ピースオブジェクト１０６ｍまたは他の消去範囲を指定するための始点のピースオブジェクト１０６として選択される。
【０１０４】
消去範囲の両端のピースオブジェクト１０６が選択されると、この両端のピースオブジェクト１０６を含み、その間に配置されるすべてのピースオブジェクト１０６に表示された数字の総和が算出される。つまり、両端を結ぶ直線上に存在するピースオブジェクト１０６に表示された数字の総和が算出されるのである。そして、総和が所定値であるかどうかが判断される。
【０１０５】
総和が所定値であれば、図１５のゲーム画面４００に示すように、両端のピースオブジェクト１０６およびその間のすべてのピースオブジェクト１０６が消去される。つまり、両端のピースオブジェクト１０６およびその間のすべてのピースオブジェクト１０６は、ゲーム画面４００（ゲームフィールド５００）から消去される。ピースオブジェクト１０６が消去されると、右側に空きのグリッド５０２が在るピースオブジェクト１０６はゲーム画面４００の右方向に移動される。したがって、図１５に示すように、数字の「３」が表示されたピースオブジェクト１０６がゲーム画面４００の右方向に移動される。
【０１０６】
また、ピースオブジェクト１０６が消去されると、消去されたピースオブジェクト１０６の数だけ、ノルマの数が減算される。このとき、表示領域１１２に表示されたノルマの数が更新される。また、このとき、ピースオブジェクト１０６の消去に成功したことを示すゲーム画面や音（効果音）を出力するようにしてもよい。たとえば、消去範囲に含まれるすべてのピースオブジェクト１０６の全体または消去範囲に含まれるすべてのピースオブジェクト１０６に表示された数字のみをフラッシュさせた後に、当該消去範囲に含まれるすべてのピースオブジェクト１０６を消去することができる。または、ピースオブジェクト１０６を消去した後に、消去に成功した旨のメッセージをゲーム画面（４００）上に表示することもできる。
【０１０７】
一方、総和が所定値でなければ、両端のピースオブジェクト１０６およびその間のすべてのピースオブジェクト１０６は、消去されない。このとき、他方端（終点）のピースオブジェクト１０６は、消去範囲の指定に失敗した場合と同様に、第１ピースオブジェクト１０６ｍまたは他の消去範囲の始点のピースオブジェクト１０６として選択される。このとき、ピースオブジェクト１０６の消去に失敗したことを示すゲーム画面や音（効果音）を出力するようにしてもよい。
【０１０８】
図１６は、図２に示したＲＡＭ４２のメモリマップ７０を示す図解図である。図１６に示すように、ＲＡＭ４２は、プログラム記憶領域７２およびデータ記憶領域７４を含む。プログラム記憶領域７２には、パズルゲームプログラムが記憶され、このパズルゲームプログラムは、メイン処理プログラム７２０、画像生成プログラム７２２、画像表示プログラム７２４、音再生プログラム７２６、入力判定プログラム７２８、ピース操作プログラム７３０、消去判定プログラム７３２およびピース移動プログラム７３４などによって構成される。
【０１０９】
メイン処理プログラム７２０は、この実施例の仮想ゲーム（パズルゲーム）のメインルーチンを処理するためのプログラムである。画像生成プログラム７２２は、後述する画像データ７４２（図１７参照）を用いて、ＬＣＤ１２およびＬＣＤ１４にゲーム画面（１００，１５０，２００，２５０，３００，３５０，４００など）を表示するためのゲーム画像を生成するためのプログラムである。画像表示プログラム７２４は、画像生成プログラム７２２に従って生成されたゲーム画像をゲーム画面（１００−４００など）としてＬＣＤ１２およびＬＣＤ１４に表示するためのプログラムである。
【０１１０】
音再生プログラム７２６は、後述する音データ７４４（図１７参照）を用いて、効果音や音楽（ＢＧＭ）などのゲームに必要な音を再生（出力）するためのプログラムである。入力判定プログラム７２８は、タッチオン（タップ）されているか、または、タッチオフされているか、或いは、ドラッグされているかを判定するためのプログラムである。たとえば、入力判定プログラム７２８に従って後述するタップフラグ７６２がオンまたはオフされる。タッチオフの状態（リリース状態）では、タップフラグ７６２はオフされ、タッチオンの状態（タップ状態）では、タップフラグ７６２はオンされる。また、タップフラグ７６２がオンの状態で、タッチパネル２４から入力される座標データが変化する場合には、入力操作がドラッグであると判定される。
【０１１１】
ピース操作プログラム７３０は、プレイヤの指示（入力操作）に従って、ピースオブジェクト１０６を選択したり、ピースオブジェクト１０６を移動させたり、ピースオブジェクト１０６の表示態様を変化させたりするためのプログラムである。ただし、この実施例では、ピース操作プログラム７３０に従って、ピースオブジェクト１０６を回転させることにより、回転の前後で当該ピースオブジェクト１０６に表示された数字等が線対称または点対称となるように、その表示を変化させることにより、当該ピースオブジェクト１０６の表示態様が変化される。
【０１１２】
消去判定プログラム７３２は、ピースオブジェクト１０６を消去するか否かを判定するためのプログラムである。上述したように、この実施例では、プレイヤが選択した直線上に並ぶ２つ以上のピースオブジェクト１０６に表示された数字の総和が所定値であるかどうかで、それらのピースオブジェクト１０６を消去するかどうかを判定する。
【０１１３】
ピース移動プログラム７３４は、ピースオブジェクト１０６を補充したり、ゲームフィールド５００上に存在するピースオブジェクト１０６のうち、同じ行の右側に空きグリッド５０２が有るピースオブジェクト１０６を右方向に移動させたりするためのプログラムである。ただし、この実施例では、ピースオブジェクト１０６は、最もピースオブジェクト１０６が少ない行に補充され、最もピースオブジェクト１０６が少ない行が複数有る場合には、より上の行に補充される。これは単なる一例であり、空きのグリッド５０２が有る行に、ランダムにまたは上の行から順番に、ピースオブジェクト１０６を補充するようにしてもよい。
【０１１４】
なお、図示は省略するが、パズルゲームプログラムは、バックアッププログラムなども含む。バックアッププログラムは、プレイヤの指示や所定のゲームイベントに応じて、ゲームデータ（途中データや結果データ）をメモリカード２８のＲＡＭ２８ｂに記憶（セーブ）するためのプログラムである。
【０１１５】
図１７は、図１６に示したデータ記憶領域７４の具体的な内容を示す図解図である。この図１７に示すように、データ記憶領域７４には、入力バッファ７４０が設けられる。入力バッファ７４０は、タッチパネル２４から入力される座標データを時系列に従って記憶（一時記憶）する。この入力バッファ７４０に記憶される座標データは、入力判定プログラム７２８に従う入力判定処理で参照されたり、プレイヤが指示しているゲーム画面上のオブジェクト（ピースオブジェクト１０６など）を判断するために参照されたりする。
【０１１６】
また、データ記憶領域７４には、画像データ７４２、音データ７４４、グリッドインデックスデータ７４６、回転テーブルデータ７４８、属性テーブルデータ７５０およびピース配置テーブルデータ７５２が記憶される。さらに、データ記憶領域７４には、消去判定フラグ７５４、タップフラグ７５６および時間カウンタ７５８が設けられる。
【０１１７】
画像データ７４２は、ゲーム画像を生成するためのポリゴンデータやテクスチャデータなどのデータである。音データ７４４は、ゲームに必要な音を生成するためのデータや音楽（ＢＧＭ）についてのデータである。グリッドインデックスデータ７４６は、ゲームフィールド５００に配置されたグリッド５０２のそれぞれに割り当てられたグリッドインデックスを各グリッド５０２に対応して記憶したデータである。上述したように、グリッドインデックスは、行と列とを示す２つの数字で示される。
【０１１８】
回転テーブルデータ７４８は、ピースオブジェクト１０６に表示される数字や記号を表すパターン（表示パターン）を回転前と回転後とで対応付けて記載したテーブルについてのデータである。ここで、表示パターンは、７桁の２進数で表わされ、各桁はピースオブジェクト１０６に設定されるセグメント１０６ａ−１０６ｇに対応する。この実施例では、左端の桁から右端の桁に向かって順に、セグメント１０６ａ，１０６ｂ，１０６ｃ，１０６ｄ，１０６ｅ，１０６ｆ，１０６ｇに対応する。また、各桁において、「１」は対応するセグメント（１０６ａ−１０６ｇ）の表示を意味し、「０」は対応するセグメント（１０６ａ−１０６ｇ）の非表示を意味する。
【０１１９】
図１８には、回転テーブルデータ７４８に従う回転テーブルが示される。この回転テーブルでは、回転前の表示パターンは、上から順に、数字や記号としての「１」，「２」，「３」，「４」，「５」，「６」，「７」，「８」，「９」，「０」…に対応する。回転後の表示パターンは、回転する方向に応じて４つの表示パターンに分類される。後述するように、変数ＰＯＳには、第１ピースオブジェクト１０６ｍの配置位置を基準とした場合の第２ピースオブジェクト１０６ｎの配置位置（または、第１ピースオブジェクト１０６ｍの移動方向）に対応する所定値（ＲＩＧＨＴ（右），ＬＥＦＴ（左），ＴＯＰ（上），ＢＯＴＴＯＭ（下））が入力され、各所定値に応じた回転後の表示パターンに従って回転後のピースオブジェクト１０６の上面に数字や記号が表示される。
【０１２０】
図１７に戻って、属性テーブルデータ７５０は、セグメント１０６ａ−１０６ｇの各々を表示または非表示する表示パターンに対応する属性を示すテーブルについてのデータである。この実施例では、属性として、数字が記述される。具体的には、属性テーブルデータ７５０に従う属性テーブルは、図１９（Ａ）に示されるように、表示パターンに対応して属性情報としての数字が記載される。この属性テーブルは、ピースオブジェクト１０６の表記が数字であるかどうかを判定するために用いられる。具体的には、ピースオブジェクト１０６の表示パターンが、属性テーブルに記載された表示パターンに合致すれば数字であり、その合致する表示パターンに対応して記載された数字が当該ピースオブジェクト１０６に表示されていることが分かる。また、ピースオブジェクト１０６の表示パターンが、属性テーブルに記載された表示パターンに合致しなければ、当該ピースオブジェクト１０６に記号が表示されていることが分かる。
【０１２１】
図１７に戻って、ピース配置テーブルデータ７５２は、グリッドインデックスに対応してピース情報の記述されたテーブルについてのデータである。このピース配置テーブルデータ７５２に従うピース配置テーブルは、図１９（Ｂ）に示される。ただし、ピース情報は、各グリッド５０２にピースオブジェクト１０６が格納されているかどうかを示す情報、または格納されているピースオブジェクト１０６の表示パターンを示す情報を意味する。グリッド５０２にピースオブジェクト１０６が格納されていない場合には、当該グリッド５０２を示すグリッドインデックスに対応してピース情報として「ｎｕｌｌ」が記載される。一方、グリッド５０２にピースオブジェクト１０６が格納されている場合には、当該グリッド５０２を示すグリッドインデックスに対応してピース情報として当該ピースオブジェクト１０６の表示パターンが記載される。
【０１２２】
図１７に戻って、消去判定フラグ７５４は、後述する消去判定処理（図２０，図２７，図２８）を実行するかどうかを判断するためのフラグである。この消去判定フラグ７５４は、たとえば、１ビットのレジスタで構成される。消去判定処理を実行する場合には、消去判定フラグ７５４は成立（オン）され、レジスタにデータ値「１」が記憶される。一方、消去判定処理を実行しない場合には、消去判定フラグ７５４は不成立（オフ）され、レジスタにデータ値「０」が記憶される。ただし、消去判定フラグ７５４は、後述するピース操作処理（図２１−図２６）においてオン／オフされる。
【０１２３】
タップフラグ７５６は、プレイヤがタッチパネル２４上をタップ（タッチオン）しているかどうかを判断するためのフラグである。このタップフラグ７５６もまた、１ビットのレジスタで構成される。プレイヤがタッチパネル２４をタップ（タッチオン）している場合には、タップフラグ７５６はオンされ、レジスタにデータ値「１」が記憶される。一方、プレイヤがタッチパネル２４をリリース（タッチオフ）している場合には、タップフラグ７５６はオフされ、レジスタにデータ値「０」が記憶される。
【０１２４】
時間カウンタ７５８は、所定時間をカウントするためのカウンタ（ダウンカウンタ）である。この時間カウンタ７５８は、新しいピースオブジェクト１０６を補充する時間間隔をカウントするために用いられる。
【０１２５】
なお、図示は省略するが、データ記憶領域７４には、パズルゲームに必要な他のデータが記憶され、また、パズルゲームに必要な他のフラグやカウンタ（タイマ）も設けられる。
【０１２６】
図２０は、図２に示したＣＰＵコア３４のメイン処理を示すフロー図である。図２０に示すように、ＣＰＵコア３４はメイン処理を開始すると、ステップＳ１で、初期化処理を実行する。ここでは、ＣＰＵコア３４は、パズルゲームの初期画面を表示する。なお、図示は省略したが、上述したように、初期画面では、たとえば、５（行）×３（列）のピースオブジェクト１０６が表示画面１０４の右端側に表示される。また、ＣＰＵコア３４は、変数Ａ，Ｂ，Ｃを空にするとともに、タップフラグ７５４をオフし、時間カウンタ７５８をリセットおよびスタートする。後で詳細に説明するが、変数Ａは、第１ピースオブジェクト１０６ｍまたは消去範囲の終点のピースオブジェクト１０６についての変数であり、変数Ｂは、第２ピースオブジェクト１０６ｎについての変数であり、そして、変数Ｃは、消去範囲の始点のピースオブジェクト１０６についての変数である。
【０１２７】
続いて、ステップＳ３で、後述するピース操作処理（図２１−図２６参照）を実行し、ステップＳ５で、後述する消去判定処理（図２７および図２８参照）を実行し、ステップＳ７で、後述するピース移動処理（図２９参照）を実行する。
【０１２８】
そして、ステップＳ９で、ゲームクリアであるかどうかを判断する。この実施例では、ＣＰＵコア３４は、ノルマで示される所定数のピースオブジェクト１０６を消去したかどうかを判断する。ステップＳ９で“ＹＥＳ”であれば、つまりノルマで示される所定数のピースオブジェクト１０６を消去すれば、ゲームクリアであると判断して、ステップＳ１１で、ゲームクリア画面を表示し、メイン処理を終了する。
【０１２９】
図示は省略するが、たとえば、ゲームクリア画面は、ゲームクリアを示すテキストが表示されたり、ゲームクリアを示す演出がなされたりする。また、ゲームクリア画面が表示されるのみならず、ゲームクリアを示す音（効果音）や音楽が出力されるようにしても良い。
【０１３０】
一方、ステップＳ９で“ＮＯ”であれば、つまりノルマで示される所定数のピースオブジェクト１０６を消去していなければ、ゲームクリアでないと判断して、ステップＳ１３で、ゲームオーバであるかどうかを判断する。この実施例では、ＣＰＵコア３４は、制限時間を超えたり、全グリッド５０２にピースオブジェクト１０６が格納されたりしたかどうかを判断する。
【０１３１】
なお、図示しないカウンタ（タイマ）によってゲーム開始からの経過時間がカウントされ、このタイマの値が制限時間を超えたかどうかを判断するのである。また、ピース配置テーブルを参照して、全グリッド５０２にピースオブジェクト１０６が格納されたかどうかを判断する。ただし、ピース配置テーブルのピース情報がすべて表示パターンである場合に、全グリッド５０２にピースオブジェクト１０６が格納されていると判断される。
【０１３２】
ステップＳ１３で“ＮＯ”であれば、つまり制限時間を超えておらず、ピースオブジェクト１０６が格納されていないグリッド５０２が１つ以上有る場合には、ゲームオーバでないと判断して、ステップＳ３に戻る。一方、ステップＳ１３で“ＹＥＳ”であれば、つまり制限時間を超えたり、全グリッド５０２にピースオブジェクト１０６が格納されたりすると、ゲームオーバであると判断して、ステップＳ１５で、ゲームオーバ画面を表示して、メイン処理を終了する。
【０１３３】
図示は省略するが、たとえば、ゲームオーバ画面は、ゲームオーバを示すテキストが表示されたり、ゲームオーバを示す演出がなされたりする。また、ゲームオーバ画面が表示されるのみならず、ゲームオーバを示す音（効果音）や音楽が出力されるようにしても良い。
【０１３４】
図２１−図２６は、図２０に示したステップＳ３のピース操作処理のフロー図である。図２１に示すように、ＣＰＵコア３４はピース操作処理を開始すると、ステップＳ３１で、消去判定フラグ７５４をオフする。次のステップＳ３３では、タップ状態であるかどうかを判断する。ここでは、ＣＰＵコア３４は、入力バッファ７４０を参照して、タッチパネル２４から座標データが入力されているかどうかを検出し、現フレームにおける座標データが入力されている場合には、タップ状態であると判断し、現フレームにおける座標データが入力されていない場合には、リリース状態であると判断する。
【０１３５】
ステップＳ３３で“ＮＯ”であれば、つまりタップ状態でなければ、リリース状態であると判断して、後述する図２６のステップＳ８７に進む。一方、ステップＳ３３で“ＹＥＳ”であれば、つまりタップ状態であれば、ステップＳ３５で、タップ位置（タッチオンの位置）を検出する。この実施例では、ＬＣＤ１４の解像度とタッチパネル２４の検出精度とを同じにしてあるので、同一の座標系にしておけば、タッチパネル２４から入力された座標データをそのままＬＣＤ１４の画面上のタップ位置を示す座標データとして用いることができる。
【０１３６】
続いて、図２２に示すステップＳ３７では、タップ位置がグリッド５０２上であるかどうかを判断する。ステップＳ３７で“ＮＯ”であれば、つまりタップ位置がグリッド５０２上でなければ、ピースオブジェクト１０６を指示していないと判断して、そのままメイン処理にリターンする。一方、ステップＳ３７で“ＹＥＳ”であれば、つまりタップ位置がグリッド５０２上であれば、ステップＳ３９で、タップフラグ７５６がオフであるかどうかを判断する。つまり、ここでは、ＣＰＵコア３４は、リリース状態（タッチオフの状態）からタップ状態（タッチオンの状態）になったかどうかを判断しているのである。
【０１３７】
ステップＳ３９で“ＮＯ”であれば、つまりタップフラグ７５６がオンであれば、タップ状態が継続していると判断して、図２３に示すステップＳ５３に進む。一方、ステップＳ３９で“ＹＥＳ”であれば、つまりタップフラグ７５６がオフであれば、リリース状態からタップ状態に変化したと判断して、ステップＳ４１で、タップフラグ７５６をオンし、ステップＳ４３で、タップ位置のグリッド５０２にピースオブジェクト１０６が格納されているかどうかを判断する。ここでは、ＣＰＵコア３４は、ピース配置テーブルデータ７５２を参照して、タップ位置のグリッド５０２のグリッドインデックスに対応するピース情報として、ｎｕｌｌが記載されているかどうかを判断する。以下、同様である。
【０１３８】
ステップＳ４３で“ＮＯ”であれば、つまりタップ位置のグリッド５０２のグリッドインデックスに対応するピース情報として、ｎｕｌｌが記載されていれば、タップ位置のグリッド５０２にピースオブジェクト１０６が格納されていないと判断して、そのままメイン処理にリターンする。
【０１３９】
一方、ステップＳ４３で“ＹＥＳ”であれば、つまりタップ位置のグリッド５０２のグリッドインデックスに対応するピース情報として、表示パターンが記載されていれば、タップ位置のグリッド５０２にピースオブジェクト１０６が格納されていると判断して、ステップＳ４５で、タップ位置のグリッド５０２のグリッドインデックスと、当該グリッド５０２に格納されているピースオブジェクト１０６のピース情報（表示パターン）とを取得する。
【０１４０】
次のステップＳ４７では、ステップＳ４５で取得したグリッドインデックスとピース情報（表示パターン）とを変数Ａに格納する。つまり、第１ピースオブジェクト１０６ｍまたは消去範囲の終点のピースオブジェクト１０６が選択される。たとえば、変数Ａは、１４桁の２進数で示され、先頭（左端から）の３桁にグリッドインデックスの行数（１−５）を示す値と、次の４桁にグリッドインデックスの列数（１−１２）を示す値と、さらに次の７桁にセグメント１０６ａ−１０６ｇの表示／非表示を示す表示パターンの値とが記載される。後述する変数Ｂおよび変数Ｃも同様である。
【０１４１】
ただし、この実施例では、プレイヤが選択可能なピースオブジェクト１０６は、ＬＣＤ１４に表示された６列目から１２列目に配置されるピースオブジェクト１０６であるため、グリッドインデックスの列数（６−１２）を示す値は３桁で表現することも可能である。
【０１４２】
そして、ステップＳ４９で、変数Ｃに値が格納されているかどうかを判断する。ここでは、ＣＰＵコア３４は、２つの点（ピースオブジェクト１０６）が、個別にタップ（タッチオン）されることにより、消去範囲が指定されたかどうかを判断している。ステップＳ４９で“ＮＯ”であれば、つまり変数Ｃに値が格納されていなければ、そのままメイン処理にリターンする。一方、ステップＳ４９で“ＹＥＳ”であれば、つまり変数Ｃに値が格納されていれば、ステップＳ５１で、消去判定フラグ７５４をオンしてから、メイン処理にリターンする。
【０１４３】
上述したように、タップフラグ７５６がオンである場合には、タップ状態が継続していると判断し、ステップＳ３９で“ＮＯ”となり、図２３に示すステップＳ５３で、タップ位置のグリッド５０２と、変数Ａに格納されたグリッドインデックスが示すグリッド５０２とが一致するかどうかを判断する。つまり、ＣＰＵコア３４は、プレイヤがドラッグしているかどうかを判断しているのである。
【０１４４】
ステップＳ５３で“ＹＥＳ”であれば、つまりタップ位置のグリッド５０２と、変数Ａに格納されたグリッドインデックスが示すグリッド５０２とが一致する場合には、プレイヤはドラッグしていないと判断して、図２２に示したように、メイン処理にリターンする。一方、ステップＳ５３で“ＮＯ”であれば、つまりタップ位置のグリッド５０２と、変数Ａに格納されたグリッドインデックスが示すグリッド５０２とが一致しなければ、プレイヤはドラッグしていると判断して、ステップＳ５５で、変数Ａに格納されたグリッドインデックスが示すグリッド５０２を基準とした場合における、タップ位置のグリッド５０２の位置を検出する。簡単に説明すると、各グリッドのグリッドインデックスを参照して、行数が小さい方のグリッド５０２が上側であり、逆に行数が大きい方のグリッド５０２が下側であり、また、列数が小さい方のグリッド５０２が左側であり、逆に列数が大きい方のグリッド５０２が右側である。
【０１４５】
続くステップＳ５７では、ステップＳ５５で検出した位置が上下左右のいずれかであるかどうかを判断する。ステップＳ５７で“ＮＯ”であれば、つまり変数Ａに格納されたグリッドインデックスが示すグリッド５０２を基準とした場合における、タップ位置のグリッド５０２の位置が斜め方向である場合には、検出した位置が上下左右のいずれの方向でもないと判断して、そのままメイン処理にリターンする。
【０１４６】
なお、この実施例では、ステップＳ５７で“ＮＯ”と判断された場合、つまり斜め方向にドラッグした場合には、そのままメイン処理にリターンするようにしてある。このため、プレイヤがドラッグを継続し、次フレーム以降において、上下左右の方向に隣接するグリッド５０２をタップし、当該グリッド５０２にピースオブジェクト１０６が格納されている場合には、当該ピースオブジェクト１０６が第２ピースオブジェクト１０６ｎとして選択されるのである。つまり、必ずしも直線的にドラッグする必要はないのである。
【０１４７】
一方、ステップＳ５７で“ＹＥＳ”であれば、つまり変数Ａに格納されたグリッドインデックスが示すグリッド５０２を基準とした場合における、タップ位置のグリッド５０２の位置が上下左右のいずれかの方向である場合には、検出した位置が上下左右のいずれかの方向であると判断して、ステップＳ５９で、２つのグリッド５０２が隣接しているかどうかを判断する。ここでは、２つのグリッド５０２のグリッドインデックスの行数および列数の各々を比較した場合に、それらの差の絶対値の和が「１」であるかどうかを判断する。これは、２つのグリッド５０２が隣接する場合には、グリッドインデックスのうち、行数または列数が「１」だけずれているためである。
【０１４８】
ステップＳ５９で“ＮＯ”であれば、つまり２つのグリッド５０２が隣接していなければ、そのままメイン処理にリターンする。一方、ステップＳ５９で“ＹＥＳ”であれば、つまり２つのグリッド５０２が隣接していれば、ステップＳ６１で、タップ位置のグリッド５０２にピースオブジェクト１０６が格納されているかどうかを判断する。
【０１４９】
ステップＳ６１で“ＮＯ”であれば、つまりタップ位置のグリッド５０２のグリッドインデックスに対応するピース情報として、ｎｕｌｌが記載されていれば、タップ位置のグリッド５０２にピースオブジェクト１０６が格納されていないと判断して、そのままメイン処理にリターンする。
【０１５０】
一方、ステップＳ６１で“ＹＥＳ”であれば、つまりタップ位置のグリッド５０２のグリッドインデックスに対応するピース情報として、表示パターンが記載されていれば、タップ位置のグリッド５０２にピースオブジェクト１０６が格納されていると判断して、図２４に示すステップＳ６３で、タップ位置のグリッド５０２のグリッドインデックスと、当該グリッド５０２に格納されているピースオブジェクト１０６のピース情報（表示パターン）とを取得する。
【０１５１】
なお、ステップＳ５５およびステップＳ５７，Ｓ５９，Ｓ６１で“ＹＥＳ”と判断されることによって、第１ピースオブジェクト１０６ｍと第２ピースオブジェクト１０６ｎとの位置関係が検出されるのである。
【０１５２】
次のステップＳ６５では、ステップＳ６３で取得したグリッドインデックスとピース情報（表示パターン）とを変数Ｂに格納する。つまり、第２ピースオブジェクト１０６ｎが選択される。次のステップＳ６７では、図２３に示したステップＳ５５で検出した位置に応じて、変数ＰＯＳに所定値を代入して、図２５に示すステップＳ６９に進む。このステップＳ６７では、ＣＰＵコア３４は、検出した位置が右であれば、変数ＰＯＳにＲＩＧＨＴを代入し、検出した位置が左であれば、変数ＰＯＳにＬＥＦＴを代入し、検出した位置が上であれば、変数ＰＯＳにＴＯＰを代入し、そして検出した位置が下であれば、変数ＰＯＳにＢＯＴＴＯＭを代入する。
【０１５３】
なお、ステップＳ５５において、斜め方向の位置が検出された場合には、ステップＳ５７で“ＮＯ”と判断されるため、ステップＳ６７では、必ず上、下、左または右に対応する値が変数ＰＯＳに代入される。
【０１５４】
図２５に示すように、ステップＳ６９では、変数ＰＯＳにＲＩＧＨＴが代入されているかどうかを判断する。ステップＳ６９で“ＹＥＳ”であれば、つまり変数ＰＯＳにＲＩＧＨＴが代入されていれば、ステップＳ７１で、第１ピースオブジェクト１０６ｍと第２ピースオブジェクト１０６ｎとを、第１ピースオブジェクト１０６ｍが右方向に移動するように１８０度回転させて、ステップＳ８３に進む。ステップＳ７１では、図６（Ａ）に示したように、第１ピースオブジェクト１０６ｍがプレイヤから見て手前側を通り、第２ピースオブジェクト１０６ｎが奥側を通るように、第１ピースオブジェクト１０６ｍと第２ピースオブジェクト１０６ｎとは、その中間に設定される縦軸を中心に１８０度回転される。
【０１５５】
なお、詳細な説明は省略するが、ピースオブジェクト１０６が回転される場合には、計算シミュレーションによってその様子が描画され、ゲーム画面に表示される。また、後述するように、ピースオブジェクト１０６が回転した後に、変数Ａと変数Ｂとが更新され、これに従って、回転後のピースオブジェクト１０６の上面に、回転後の表示パターンに従う数字または記号が描画（再描画）される。以下、ピースオブジェクト１０６を回転させる場合において同様である。
【０１５６】
また、ステップＳ６９で“ＮＯ”であれば、つまり変数ＰＯＳにＲＩＧＨＴが代入されていなければ、ステップＳ７３で、変数ＰＯＳにＬＥＦＴが代入されているかどうかを判断する。ステップＳ７３で“ＹＥＳ”であれば、つまり変数ＰＯＳにＬＥＦＴが代入されている場合には、ステップＳ７５で、第１ピースオブジェクト１０６ｍと第２ピースオブジェクト１０６ｎとを、第１ピースオブジェクト１０６ｍが左方向に移動するように１８０度回転させて、ステップＳ８３に進む。ステップＳ７５では、図６（Ｂ）に示したように、第１ピースオブジェクト１０６ｍがプレイヤから見て手前側を通り、第２ピースオブジェクト１０６ｎが奥側を通るように、第１ピースオブジェクト１０６ｍと第２ピースオブジェクト１０６ｎとは、その中間に設定される縦軸を中心に１８０度回転される。
【０１５７】
また、ステップＳ７３で“ＮＯ”であれば、つまり変数ＰＯＳにＬＥＦＴが代入されていなければ、ステップＳ７７で、変数ＰＯＳにＢＯＴＴＯＭが代入されているかどうかを判断する。ステップＳ７７で“ＹＥＳ”であれば、つまり変数ＰＯＳにＢＯＴＴＯＭが代入されていれば、ステップＳ７９で、第１ピースオブジェクト１０６ｍと第２ピースオブジェクト１０６ｎとを、第１ピースオブジェクト１０６ｍが下方向に移動するように１８０度回転させて、ステップＳ８３に進む。ステップＳ７９では、図７（Ａ）に示したように、第１ピースオブジェクト１０６ｍがプレイヤから見て手前側を通り、第２ピースオブジェクト１０６ｎが奥側を通るように、第１ピースオブジェクト１０６ｍと第２ピースオブジェクト１０６ｎとは、その中間に設定される横軸を中心に１８０度回転される。
【０１５８】
一方、ステップＳ７７で“ＮＯ”であれば、つまり変数ＰＯＳにＴＯＰが代入されていれば、ステップＳ８１で、第１ピースオブジェクト１０６ｍと第２ピースオブジェクト１０６ｎとを、第１ピースオブジェクト１０６ｍが上方向に移動するように１８０度回転させて、ステップＳ８３に進む。ステップＳ８１では、図７（Ｂ）に示したように、第１ピースオブジェクト１０６ｍがプレイヤから見て手前側を通り、第２ピースオブジェクト１０６ｎが奥側を通るように、第１ピースオブジェクト１０６ｍと第２ピースオブジェクト１０６ｎとは、その中間に設定される横軸を中心に１８０度回転される。
【０１５９】
ステップＳ８３では、回転テーブルを参照して、配置位置を入れ替えられた第１ピースオブジェクト１０６ｍと第２ピースオブジェクトｎとを格納する２つのグリッド５０２のピース情報と、変数Ａおよび変数Ｂに格納されるピース情報とを更新する。つまり、２つのグリッド５０２のそれぞれと、変数Ａおよび変数Ｂのそれぞれとについて、回転前の表示パターンを、回転後の表示パターンに変更する。ただし、回転後の表示パターンは、変数ＰＯＳに代入されている所定値に応じて回転テーブルに従って決定される。
【０１６０】
次のステップＳ８５では、配置位置を入れ替えた２つのピースオブジェクト１０６の数字または記号を再描画する。具体的には、１８０度回転したことにより、各ピースオブジェクト１０６が裏返しになっているため、ＣＰＵコア３４は、この各ピースオブジェクト１０６の上面側に回転後の表示パターンに従って数字または記号を描画し直すのである。
【０１６１】
次のステップＳ８７では、変数Ａに変数Ｂの値を格納して、図２２に示すように、メイン処理にリターンする。つまり、ステップＳ８７では、移動後の第１ピースオブジェクト１０６ｍが格納されるグリッド５０２のグリッドインデックスおよびピース情報（表示パターン）が変数Ａに格納されるのである。したがって、プレイヤがドラッグすることにより、連続的にピースオブジェクト１０６（第１ピースオブジェクト１０６ｍ）が移動される場合にも、隣接するピースオブジェクト１０６（第２ピースオブジェクト１０６ｎ）との間で配置位置を順次入れ替えることができる。
【０１６２】
また、図２１に示したように、タップ状態でなければ、ステップＳ３３で“ＮＯ”となり、図２６に示すステップＳ８９で、リリースされたかどうかを判断する。ここでは、ＣＰＵコア３４は、タップフラグ７５６がオンであるかどうかを判断するのである。つまり、直前のフレームでタップ状態であり、現在のフレームでタップ状態でない場合に、リリースされたと判断するようにしてある。したがって、直前のフレームおよび現在のフレームでタップ状態でない場合には、リリースされたとは判断されない。
【０１６３】
ステップＳ８９で“ＮＯ”であれば、つまりタップフラグ７５６がオフであれば、プレイヤによるタッチ操作が無いと判断して、そのまま図２２に示すように、メイン処理にリターンする。一方、ステップＳ８９で“ＹＥＳ”であれば、つまりタップフラグ７５６がオンであれば、リリースされたと判断し、ステップＳ９１で、タップフラグ７５６をオフする。
【０１６４】
続くステップＳ９３では、変数Ｂに値が格納されているかどうかを判断する。つまり、ここでは、ＣＰＵコア３４は、プレイヤがドラッグしていたか否かを判断しているのである。これは、ステップＳ９７に示すように、ドラッグした後にリリースした場合に、最後に指示したグリッド５０２に格納されたピースオブジェクト１０６を消去範囲の始点のピースオブジェクト１０６として選択させないようにするためである。
【０１６５】
ステップＳ９３で“ＮＯ”であれば、つまり変数Ｂに値が格納されていなければ、ドラッグされていないと判断して、ステップＳ９５で、変数Ｃに変数Ａの値を格納して、メイン処理にリターンする。つまり、消去範囲を指定するための始点のピースオブジェクト１０６が設定される。一方、ステップＳ９３で“ＹＥＳ”であれば、つまり変数Ｂに値が格納されていれば、ドラッグされていたと判断して、ステップＳ９７で、変数Ｂの値を空にして、メイン処理にリターンする。つまり、ドラッグ後にリリースされた場合には、消去範囲を指定するための始点のピースオブジェクト１０６は設定されない。
【０１６６】
図２７および図２８は、図２０に示したステップＳ５の消去判定処理のフロー図である。図２７に示すように、ＣＰＵコア３４は、消去判定処理を開始すると、ステップＳ１１１で、消去判定フラグ７５４がオンであるかどうかを判断する。ステップＳ１１１で“ＮＯ”であれば、つまり消去判定フラグ７５４がオフであれば、消去判定を行わないと判断して、図２８に示すように、そのままメイン処理にリターンする。一方、ステップＳ１１１で“ＹＥＳ”であれば、つまり消去判定フラグ７５４がオンであれば、消去判定を行うと判断して、ステップＳ１１３で、変数Ａと変数Ｃとが示すグリッド５０２が一直線上に並んでいるかどうかを判断する。ここでは、ＣＰＵコア３４は、変数Ａおよび変数Ｃに格納されたグリッドインデックスを参照して、行数または列数が一致するかどうかを判断する。
【０１６７】
ステップＳ１１３で“ＮＯ”であれば、つまりグリッドインデックスの行数および列数のいずれも異なる場合には、変数Ａと変数Ｃとが示すグリッド５０２が一直線上に並んでいないと判断して、そのままメイン処理にリターンする。一方、ステップＳ１１３で“ＹＥＳ”であれば、つまりグリッドインデックスの行数または列数が一致する場合には、変数Ａと変数Ｃとが示すグリッド５０２が一直線上に並んでいると判断して、ステップＳ１１５で、変数Ａと変数Ｃとが示すグリッド５０２に格納されたピースオブジェクト１０６およびそれらの間に配置されたすべてのピースオブジェクト１０６の表記が数字であるかどうかを判断する。
【０１６８】
このステップＳ１１５では、ＣＰＵコア３４は、ピース配置テーブルデータ７５２を参照して、変数Ａと変数Ｃとが示すグリッド５０２に格納されたピースオブジェクト１０６のピース情報と、それらのピースオブジェクト１０６の間に配置されたピースオブジェクト１０６のピース情報とを読み出す。
【０１６９】
ただし、変数Ａと変数Ｃとが示すグリッド５０２に格納されたピースオブジェクト１０６の間に配置されたピースオブジェクト１０６のピース情報は、次のようにして得られる。変数Ａと変数Ｃとが示すグリッド５０２のグリッドインデックスの行数が一致する場合には、当該行数でありかつそれらのグリッドインデックスの間の列数で示される、グリッドインデックスに対応して記載されたピース情報がピース配置テーブルから取得される。一方、変数Ａと変数Ｃとが示すグリッド５０２のグリッドインデックスの列数が一致する場合には、当該列数でありかつそれらのグリッドインデックスの間の行数で示される、グリッドインデックスに対応して記載されたピース情報がピース配置テーブルから取得される。
【０１７０】
そして、ＣＰＵコア３４は、属性テーブルデータ７５０を参照して、読み出したすべてのピース情報の属性を取得し、取得した属性が数字であるかどうかを判断する。ただし、ピース情報がｎｕｌｌであったり、数字以外の表示パターンであったりする場合には、表記が数字ではないことを示す属性が取得される。
【０１７１】
ステップＳ１１５で“ＮＯ”であれば、つまり取得した属性のうちいずれか１つでも数字では無い属性が有れば、消去範囲の指定に失敗したと判断して、ステップＳ１１９で、変数Ｃに変数Ａの値を格納する。つまり、消去範囲の指定に失敗した場合には、その消去範囲を指定したときの終点のピースオブジェクト１０６を、第１ピースオブジェクト１０６ｍないし次の（他の）消去範囲の指定のための始点のピースオブジェクト１０６として設定するのである。
【０１７２】
一方、ステップＳ１１５で“ＹＥＳ”であれば、つまり取得したすべての属性が数字を示していれば、ステップＳ１１７で、取得したすべての数字の総和が１０であるかどうかを判断する。ステップＳ１１７で“ＮＯ”であれば、取得したすべての数字の総和が１０でなければ、消去失敗（消去範囲の指定に失敗した）と判断して、そのままステップＳ１１９に進む。一方、ステップＳ１１７で“ＹＥＳ”であれば、つまり取得したすべての数字の総和が１０であれば、消去成功であり、図２８に示すステップＳ１２１で、得点処理を実行する。詳細な説明は省略するが、この実施例では、ＣＰＵコア３４は、得点処理として、ノルマに記載された数から今回消去したピースオブジェクト１０６の数だけ減算する。
【０１７３】
次にステップＳ１２３では、消去処理を実行する。ここでは、上述したように、ＣＰＵコア３４は、消去範囲に含まれる複数のピースオブジェクト１０６の各々の数字のみ、または消去範囲に含まれる複数のピースオブジェクト１０６の全体をフラッシュさせた後に、当該複数のピースオブジェクト１０６をゲーム画面（ゲームフィールド５００）から消去する。このとき、消去される様子を示す音（効果音，音楽）が出力されてもよい。ただし、消去範囲に含まれる複数のピースオブジェクト１０６は、変数Ａと変数Ｃとが示すグリッド５０２に格納された２つのピースオブジェクト１０６と、それらの間に配置されているすべてのピースオブジェクト１０６とである。
【０１７４】
なお、この消去処理は一例であり、たとえば、消去するピースオブジェクト１０６をその場で回転（たとえば、１８０度回転，３６０度回転）させてから、ゲーム画面から消去するようにしてもよい。このような演出は、ゲームの開発者やプログラマによって任意に決定される事項である。
【０１７５】
そして、ステップＳ１２５で、変数Ａ，変数Ｂ，変数Ｃを空にして、メイン処理にリターンする。
【０１７６】
なお、この実施例では、ステップＳ１１５およびステップＳ１１７で“ＮＯ”である場合には、そのままステップＳ１１９に進むようにしてあるが、消去範囲の指定に失敗した旨や消去失敗である旨の演出を実行（画面表示および音（効果音，音楽）の出力の少なくとも一方を実行）して、ステップＳ１１９に進むようにしてもよい。
【０１７７】
図２９は図２０に示したステップＳ７のピース移動処理のフロー図である。図２９に示すように、ＣＰＵコア３４は、ピース移動処理を開始すると、ステップＳ１５１で、時間カウンタ７５８がタイムアップしたかどうかを判断する。つまり、新しいピースオブジェクト１０６を補充するタイミングになったかどうかを判断する。
【０１７８】
ステップＳ１５１で“ＮＯ”であれば、つまり時間カウンタ７５８がタイムアップしていなければ、そのままステップＳ１５７に進む。一方、ステップＳ１５１で“ＹＥＳ”であれば、つまり時間カウンタ７５８がタイムアップすれば、ステップＳ１５３で、最も空きの有る行の１列目のグリッド５０２に新しいピースオブジェクト１０６を補充する。ただし、最も空きの有る行が複数行有る場合には、行番号の小さい（上の）行に新しいピースオブジェクト１０６が補充される。
【０１７９】
次のステップＳ１５５では、時間カウンタ７５８をリセットおよびスタートして、ステップＳ１５７に進む。つまり、ステップＳ１５５の処理が実行されることにより、次の新しいピースオブジェクト１０６を補充するまでの時間間隔のカウントが開始されるのである。
【０１８０】
なお、この実施例では、時間カウンタ７５８には所定時間が設定されるが、所定時間はゲームレベルやゲーム開始からの時間などの所定の条件に応じて、可変的に設定することができる。たとえば、ゲームレベルが高くなるにつれて、または、ゲーム開始からの経過時間が長くなるにつれて、所定時間を短く設定したり、逆に所定時間を長く設定したりすることができる。
【０１８１】
続いて、ステップＳ１５７では、着目するピースオブジェクト１０６が右端のグリッド５０２に到達したかどうかを判断する。ここで、着目するピースオブジェクト１０６は、ゲームフィールド５００に存在する１つまたは複数のピースオブジェクト１０６のうちの１つのピースオブジェクト１０６を意味する。したがって、ステップＳ１５７以降の処理は、ゲームフィールド５００に存在するすべてのピースオブジェクト１０６のそれぞれについて並列で実行されるのである。
【０１８２】
ステップＳ１５７で“ＹＥＳ”であれば、つまり着目するピースオブジェクト１０６が右端のグリッド５０２に到達していれば、ステップＳ１６３で、ピースオブジェクト１０６を当該右端のグリッド５０２に固定して、メイン処理にリターンする。このとき、ピース配置テーブルが更新され、当該右端のグリッド５０２のグリッドインデックスに対応して、着目するピースオブジェクト１０６のピース情報が記憶される。また、着目するピースオブジェクト１０６が移動前に格納されていたグリッド５０２のグリッドインデックスに対応して、ｎｕｌｌの情報が記憶される。
【０１８３】
一方、ステップＳ１５７で“ＮＯ”であれば、つまり着目するピースオブジェクト１０６が右端のグリッド５０２に到達していなければ、ステップＳ１５９で、着目するピースオブジェクト１０６が格納されているグリッド５０２の右側のグリッド５０２にピースオブジェクト１０６が格納されているかどうかを判断する。
【０１８４】
ステップＳ１５９で“ＹＥＳ”であれば、つまり着目するピースオブジェクト１０６が格納されたグリッド５０２の右側のグリッド５０２にピースオブジェクト１０６が格納されている場合には、当該着目するピースオブジェクト１０６を移動できないと判断して、ステップＳ１６３に進む。一方、ステップＳ１５９で“ＮＯ”であれば、つまり着目するピースオブジェクト１０６が格納されたグリッド５０２の右側のグリッド５０２にピースオブジェクト１０６が格納されていない場合には、当該着目するピースオブジェクト１０６を移動させることができると判断して、ステップＳ１６１で、着目するピースオブジェクト１０６を、現在格納されているグリッド５０２の１つ右側のグリッド５０２に移動させて、メイン処理にリターンする。ステップＳ１６１においても、ピース配置テーブルが更新され、着目するピースオブジェクト１０６が移動前に格納されていたグリッド５０２の１つ右側のグリッド５０２のグリッドインデックスに対応して、当該着目するピースオブジェクト１０６のピース情報が記憶される。また、着目するピースオブジェクト１０６が移動前に格納されていたグリッド５０２のグリッドインデックスに対応して、ｎｕｌｌの情報が記憶される。
【０１８５】
なお、この実施例では、１つ右側のグリッド５０２にピースオブジェクト１０６を移動させるようにしてあるが、隣接するグリッド５０２間の距離を何等分かに分割して、１フレームで移動する距離を短くして、徐々にピースオブジェクト１０６を移動させるようにしてもよい。
【０１８６】
この実施例によれば、ピースオブジェクトの配置位置をドラッグによって変更すると、配置位置のみならず、表示態様を変化させるので、簡単な操作で、より複雑で面白味の有るパズルゲームをプレイすることができる。
【０１８７】
なお、この実施例では、ピースオブジェクトの上面に数字やそれを線対称または点対称にした記号を表示するようにして、ピースオブジェクトの表示態様を変化させるようにしたが、これに限定されるべきでない。
【０１８８】
たとえば、２次元のゲームフィールドに配置したピースオブジェクトに表示された数字や記号を線対称や点対称にすることにより、表示態様を変化させるようにしたが、３次元仮想空間においては、面対称にすることにより、表示態様を変化させることも可能である。
【０１８９】
また、たとえば、ピースオブジェクトの上面に文字（ひらがな、カタカナ、アルファベットなど）を表示するようにしてもよい。かかる場合には、ピースオブジェクトの移動に伴って、文字を線対称または点対称にした記号を表示するようにすることができる。かかる場合には、一直線上に並ぶ複数のピースオブジェクトに記載された文字列によって、２文字以上の単語が生成された場合に、当該複数のピースオブジェクトを消去することができる。
【０１９０】
また、ピースオブジェクトに数字や文字を表示する場合には、ピースオブジェクトの移動方向ないし回転方向によって、異なる数字や文字が表示されるようにしてもよい。
【０１９１】
たとえば、ピースオブジェクトに数字が表示されている場合に、当該ピースオブジェクトを１つ右のグリッドに移動させると、その数字が１加算され、逆に１つ左のグリッドに移動させると、その数字が１減算される。また、このピースオブジェクトを１つ上のグリッドに移動させると、その数字が２加算され、逆に１つ下のグリッドに移動させると、その数字が２減算される。ただし、ピースオブジェクトに「０」−「９」の数字を表示する場合には、上記の規則に従えば、「９」が表示されたピースオブジェクトを１つ右のグリッドに移動させると、その数字は「０」に変化され、また、「０」が表示されたピースオブジェクトを１つ左のグリッドに移動させると、数字は「９」に変化されるようにすればよい。上下方向にピースオブジェクトを移動させる場合も同様である。
【０１９２】
さらに、ピースオブジェクトには、数字や文字に代えて、図形、記号または特定のキャラクタ（アニメキャラクタ）を表示するようにしてもよい。かかる場合には、同じ図形、同じ記号、または同じ特定のキャラクタが表示される、一直線上に並ぶ複数のピースオブジェクト１０６や隣接する複数のピースオブジェクト１０６の塊を消去するようにすることができる。ただし、複数のピースオブジェクト１０６が、一直線上に並んだり、塊として配置されたりしている場合のみならず、たとえば、それらの配置によって所定の記号や文字などの所定の配置パターンとなっている場合にも、それら複数のピースオブジェクト１０６を消去するようにしてもよい。
【０１９３】
さらにまた、ピースオブジェクトに色や模様を付して、移動方向ないし回転方向によって、異なる色や模様が付されるようにしてもよい。かかる場合には、同じ色や同じ模様で表示される、一直線上に並ぶ複数のピースオブジェクト１０６や隣接する複数のピースオブジェクト１０６の塊を消去するようにすることができる。
【０１９４】
また、単に、同じ図形、同じ記号、または同じ特定のキャラクタが表示されたピースオブジェクトや同じ色、同じ模様が付されたピースオブジェクトを消去するのではなく、一直線上に並ぶ個数や塊の個数を限定してもよい。
【０１９５】
このように、ピースオブジェクトの表示内容やピースオブジェクトに色や模様を付す場合には、それに応じた回転テーブルや属性テーブルを作成しておけばよい。また、文字列を単語として認識する場合には、消去判定のために、想定される単語を記載した単語帳ないし辞書のデータを作成しておく必要がある。
【０１９６】
また、この実施例では、ドラッグにより、入れ替える２つのピースオブジェクトを選択し、個別のタップ（クリック）により、消去範囲の始点と終点とのピースオブジェクトを選択するようにしたが、これらの操作は逆であっても構わない。
【０１９７】
さらに、この実施例では、３次元仮想空間にゲームフィールドを設けるため、選択された２つのピースオブジェクトを回転させて配置位置を入れ替えるようにしたが、これに限定される必要はない。たとえば、仮想空間は２次元でもよい。また、選択された２つのピースオブジェクトを入れ替える場合には、回転させることなく、単に、それらの間の軸を中心に、移動の前後で表示態様が対称となるように変化させるようにしてもよい。
【０１９８】
さらにまた、この実施例では、消去範囲をプレイヤが指定するようにしたが、２つのピースオブジェクトの配置位置および表示態様が変化されたときに、複数のピースオブジェクトが所定の消去条件を満たす場合に、自動的に当該複数のピースオブジェクトを消去するようにしてもよい。このとき、たとえば、配置位置および表示態様の変化されたピースオブジェクトを含む複数のピースオブジェクトが所定の消去条件を満たすかどうかが判断される。
【０１９９】
また、この実施例では、ピースオブジェクトに、数字や記号が表示される場合についてのみ説明したが、ピースオブジェクトに特殊な機能を割り当てるようにしてもよい。
【０２００】
たとえば、特殊な機能を割り当てられたピースオブジェクトが消去されるときに、消去範囲に含まれるピースオブジェクトのみならず、その特殊な機能が割り当てられたピースオブジェクトや消去範囲に隣接するピースオブジェクトも消去する機能を、ピースオブジェクトに割り当てることができる。また、一方向にしか移動できない機能や一度グリッドに固定されると移動できない機能を、ピースオブジェクトに割り当てることもできる。さらには、特殊な機能を割り当てられたピースオブジェクトを消去すると制限時間が延長される機能を、ピースオブジェクトに割り当てることもできる。このような特殊な機能が割り当てられたピースオブジェクトでは、表示される数字や記号またはピースオブジェクト自体の色を、通常のピースオブジェクトや他の特殊な機能が割り当てられたピースオブジェクトとの間で異なる色で表示すれば、プレイヤはその機能を容易に識別することができる。
【０２０１】
さらに、この実施例では、２つのピースオブジェクトを選択して、それらの配置位置が入れ替えられるようにしたが、これに限定される必要はない。単に１つのピースオブジェクトを空きのグリッドに移動させて、移動した方向に応じてピースオブジェクトの表示態様を変化させるようにすることができる。たとえば、ピースオブジェクトを左や右に移動させた場合には、ピースオブジェクトを左右反転させ、ピースオブジェクトを上や下に移動させた場合には、ピースオブジェクトを上下反転させ、ピースオブジェクトを斜めに移動させた場合には、ピースオブジェクトを左右反転させるとともに上下反転させて、配置位置と表示態様とを変化させることができる。
【０２０２】
さらに、この実施例では、ポインティングデバイスとして、タッチパネルを用いるようにしたが、ペンライト、ペンタブレット、タッチパッド、コンピュータマウスのような他のポインティングデバイスを用いることも可能である。ただし、かかる場合に、ゲーム画面上に、マウスポインタのような指示画像を表示する必要がある。
【０２０３】
ただし、ポインティングデバイスに限定される必要はなく、十字キーとプッシュボタンとの組み合わせで、ピースオブジェクトを選択することができる。かかる場合には、ゲーム画面にカーソルのような指示画像を表示し、十字キーで指示画像を移動させ、所望のピースオブジェクトを指示している状態でプッシュボタン（たとえば、Ａボタン）を押す（オンする）と、当該ピースオブジェクトを選択することができる。
【０２０４】
さらに、ゲーム装置の構成は、上述の実施例の構成に限定されるべきでない。たとえば、ＬＣＤは１つでもよく、タッチパネルは２つのＬＣＤのそれぞれに設けるようにしてもよい。さらには、タッチパネルはゲーム装置に接続される周辺機器であっても良い。
【０２０５】
さらにまた、ゲーム装置は、携帯型のゲーム装置に限定される必要はなく、ゲーム機能を備える携帯電話機、ゲーム機能を備えるコンピュータ、据え置き型のゲーム装置、アーケードゲーム機などであっても構わない。
【図面の簡単な説明】
【０２０６】
【図１】図１はこの発明のゲーム装置の一実施例を示す図解図である。
【図２】図２は図１に示すゲーム装置の電気的な構成を示すブロック図である。
【図３】図３は図１に示すゲーム装置を用いてゲームプレイする場合の使用状態を示す図解図である。
【図４】図４は図３に示すゲーム装置に表示されるゲーム画面の一例を示す図解図である。
【図５】図５はこの実施例のパズルゲームのゲームフィールドおよびグリッドインデックスを説明するための図解図である。
【図６】図６はこの実施例のパズルゲームのピースオブジェクトの左右方向への回転の仕方を説明するための図解図である。
【図７】図７はこの実施例のパズルゲームのピースオブジェクトの上下方向への回転の仕方を説明するための図解図である。
【図８】図８はこの実施例のパズルゲームのピースオブジェクトおよびこのピースオブジェクトが左右方向に回転した場合の表示態様の変化の例を示す図解図である。
【図９】図９はこの実施例のパズルゲームのピースオブジェクトが上下方向に回転した場合の表示態様の変化の例を示す図解図である。
【図１０】図１０は図３に示すゲーム装置に表示されるゲーム画面の第２の例を示す図解図である。
【図１１】図１１は図３に示すゲーム装置に表示されるゲーム画面の第３の例を示す図解図である。
【図１２】図１２は図３に示すゲーム装置に表示されるゲーム画面の第４の例を示す図解図である。
【図１３】図１３は図３に示すゲーム装置に表示されるゲーム画面の第５の例を示す図解図である。
【図１４】図１４は図３に示すゲーム装置に表示されるゲーム画面の第６の例を示す図解図である。
【図１５】図１５は図３に示すゲーム装置に表示されるゲーム画面の第７の例を示す図解図である。
【図１６】図１６は図２に示すＲＡＭのメモリマップの一例を示す図解図である。
【図１７】図１７は図１６に示すデータ記憶領域の具体的な内容を示す図解図である。
【図１８】図１８は図１７に示す回転テーブルデータが示す回転テーブルの具体例を示す図解図である。
【図１９】図１９は図１７に示す属性テーブルデータが示す属性テーブルおよびピース配置テーブルデータが示すピース配置テーブルの具体例を示す図解図である。
【図２０】図２０は図２に示すＣＰＵコアのメイン処理を示すフロー図である。
【図２１】図２１は図２に示すＣＰＵコアのピース操作処理の一部を示すフロー図である。
【図２２】図２２は図２に示すＣＰＵコアのピース操作処理の他の一部であって、図２１に後続するフロー図である。
【図２３】図２３は図２に示すＣＰＵコアのピース操作処理のその他の一部であって、図２２に後続するフロー図である。
【図２４】図２４は図２に示すＣＰＵコアのピース操作処理のさらに他の一部であって、図２３に後続するフロー図である。
【図２５】図２５は図２に示すＣＰＵコアのピース操作処理の他の一部であって、図２４に後続するフロー図である。
【図２６】図２６は図２に示すＣＰＵコアのピース操作処理のその他の一部であって、図２１に後続するフロー図である。
【図２７】図２７は図２に示すＣＰＵコアの消去判定処理の一部を示すフロー図である。
【図２８】図２８は図２に示すＣＰＵコアの消去判定処理の他の一部であって、図２７に後続するフロー図である。
【図２９】図２９は図２に示すＣＰＵコアのピース移動処理を示すフロー図である。
【符号の説明】
【０２０７】
１０  …ゲーム装置
１２，１４  …ＬＣＤ
１６，１６ａ，１６ｂ  …ハウジング
２２  …操作スイッチ
２４  …タッチパネル
２６  …スティック
２８  …メモリカード
２８ａ  …ＲＯＭ
２８ｂ，４２  …ＲＡＭ
３４  …ＣＰＵコア
３６ａ，３６ｂ  …スピーカ
４４，４６  …ＧＰＵ
４８  …Ｉ／Ｆ回路
５０  …ＬＣＤコントローラ
５２，５４  …ＶＲＡＭ
【図１】
2010068970.tif 000003
【図２】
2010068970.tif 000004
【図３】
2010068970.tif 000005
【図４】
2010068970.tif 000006
【図５】
2010068970.tif 000007
【図６】
2010068970.tif 000008
【図７】
2010068970.tif 000009
【図８】
2010068970.tif 000010
【図９】
2010068970.tif 000011
【図１０】
2010068970.tif 000012
【図１１】
2010068970.tif 000013
【図１２】
2010068970.tif 000014
【図１３】
2010068970.tif 000015
【図１４】
2010068970.tif 000016
【図１５】
2010068970.tif 000017
【図１６】
2010068970.tif 000018
【図１７】
2010068970.tif 000019
【図１８】
2010068970.tif 000020
【図１９】
2010068970.tif 000021
【図２０】
2010068970.tif 000022
【図２１】
2010068970.tif 000023
【図２２】
2010068970.tif 000024
【図２３】
2010068970.tif 000025
【図２４】
2010068970.tif 000026
【図２５】
2010068970.tif 000027
【図２６】
2010068970.tif 000028
【図２７】
2010068970.tif 000029
【図２８】
2010068970.tif 000030
【図２９】
2010068970.tif 000031