(57)【特許請求の範囲】
【請求項１】
複数の動くオブジェクトが配置された画面内で任意の位置を指定する位置指定手段を有するゲーム装置のコンピュータを、
前記位置指定手段によって指定される位置を繰り返し検出する位置検出手段、
前記位置検出手段によって検出された位置に沿って前記画面上に線を描画していく線描画手段、
前記位置検出手段によって検出された位置が前記画面内のいずれかのオブジェクトとの間で接触条件を満足する度に当該オブジェクトを前記線上に配列していくオブジェクト配列手段、
前記オブジェクト配列手段によって線上に配列されたオブジェクトを当該線の末尾方向へ第１速度で移動させるオブジェクト移動手段、
前記線描画手段によって描画された線を先頭から前記第１速度よりも速い第２速度で消去していく線消去手段、および
前記線消去手段および前記オブジェクト移動手段の処理に関連して前記線の先頭が当該線上のオブジェクトに追い付く前に、当該線上のオブジェクトの配列が所定の配列との間で一致条件を満足した場合に、クリア処理を実行するクリア手段として機能させる、ゲームプログラム。
【請求項２】
前記画面にはゴール領域がさらに配置されており、  前記クリア手段は、前記線の先頭が当該線上のオブジェクトに追い付く前に当該線上のオブジェクトの配列が所定の配列との間で一致条件を満足した場合に、前記位置検出手段によって検出された位置が前記ゴール領域との間で接触条件を満足したとき前記クリア処理を実行する、請求項１記載のゲームプログラム。
【請求項３】
前記ゲーム装置のコンピュータを、前記線描画手段によって描画された線が交差してループが生じたとき当該ループを除去する除去手段としてさらに機能させる、請求項１記載のゲームプログラム。
【請求項４】
前記ゲーム装置のコンピュータを、前記除去手段によるループの除去に関連して当該ループ上に存在するオブジェクトを開放する開放手段としてさらに機能させる、請求項３記載のゲームプログラム。
【請求項５】
前記複数のオブジェクトには異なる色が付与されており、
前記配列は色に関する配列である、請求項１ないし４のいずれかに記載のゲームプログラム。
【請求項６】
前記ゲーム装置のコンピュータを、前記線描画手段によって描画された線が交差してループが生じたとき当該ループ内に位置するオブジェクトを複数のオブジェクトに分離する分離手段としてさらに機能させる、請求項５記載のゲームプログラム。
【請求項７】
前記ゲーム装置のコンピュータを、前記線描画手段によって描画された線が交差してループが生じたとき当該ループ内に位置する複数のオブジェクトを１つに合成する合成手段としてさらに機能させる、請求項５または６記載のゲームプログラム。
【請求項８】
前記合成手段は、複数のオブジェクトを１つに合成する際に、当該複数のオブジェクトの色を混合した混合色を合成後のオブジェクトに付与する、請求項７記載のゲームプログラム。
【請求項９】
前記線描画手段によって描画される線には長さ制限が設定されており、
前記ゲーム装置のコンピュータを、前記線描画手段によって描画された線の長さが前記長さ制限をオーバーしたときゲームオーバー処理を実行するゲームオーバー手段としてさらに機能させる、請求項１または３記載のゲームプログラム。
【請求項１０】
前記画面内の少なくとも１つのオブジェクトは、前記位置検出手段によって検出された位置から逃げ回るように動く、請求項１記載のゲームプログラム。
【請求項１１】
前記画面内の少なくとも１つのオブジェクトは、前記位置検出手段によって検出された位置に近寄ってくるように動く、請求項１記載のゲームプログラム。
【請求項１２】
前記画面内の少なくとも１つのオブジェクトは、当該画面の周縁，前記線または他のオブジェクトと接触するとき向きを逆転させて動き、
前記画面内の別の少なくとも１つのオブジェクトは、当該画面の周縁，前記線または他のオブジェクトを素通りして動く、請求項１記載のゲームプログラム。
【請求項１３】
前記画面の少なくとも一部に暗闇領域が配置され、
前記暗闇領域内に入ったオブジェクトは色が区別不能となる、請求項５記載のゲームプログラム。
【請求項１４】
前記オブジェクトの特定部位は前記暗闇領域内でも視認可能である、請求項１３記載のゲームプログラム。
【請求項１５】
前記暗闇領域内に描画された線および当該線の周囲には視認可能領域が確保される、請求項１３記載のゲームプログラム。
【請求項１６】
前記視認可能領域は前記線の末尾で拡大している、請求項１５記載のゲームプログラム。
【請求項１７】
複数の動くオブジェクトが配置された画面内で任意の位置を指定する位置指定手段、
前記位置指定手段によって指定される位置を繰り返し検出する位置検出手段、
前記位置検出手段によって検出された位置に沿って前記画面上に線を描画していく線描画手段、
前記位置検出手段によって検出された位置が前記画面内のいずれかのオブジェクトとの間で接触条件を満足する度に当該オブジェクトを前記線上に配列していくオブジェクト配列手段、
前記オブジェクト配列手段によって線上に配列されたオブジェクトを当該線の末尾方向へ第１速度で移動させるオブジェクト移動手段、
前記線描画手段によって描画された線を先頭から前記第１速度よりも速い第２速度で消去していく線消去手段、および
前記線消去手段および前記オブジェクト移動手段の処理に関連して前記線の先頭が当該線上のオブジェクトに追い付く前に、当該線上のオブジェクトの配列が所定の配列との間で一致条件を満足した場合に、クリア処理を実行するクリア手段を備える、ゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ゲームプログラムおよびゲーム装置に関し、特にたとえば、画面内の任意の点を指定するポインティングデバイスの操作に応じて、複数のオブジェクトを所定の順序に配列する、ゲームプログラムおよびゲーム装置に関する。
【背景技術】
【０００２】
従来のこの種のゲームプログラムおよびゲーム装置が特許文献１に開示されている。この背景技術では、マウス操作に応じて、プレイヤオブジェクトにノンプレイヤオブジェクトが順次連結される。
【０００３】
詳しくは、マウス入力情報に応じてプレイヤオブジェクトを移動させ、プレイヤオブジェクトとノンプレイヤオブジェクトとの当たりを判定し、そして当たったと判定されたとき、ノンプレイヤオブジェクトが所定状態でなければそのノンプレイヤオブジェクトの状態を所定状態に変化させる一方、ノンプレイヤオブジェクトが所定状態であればそのノンプレイヤオブジェクトをプレイヤオブジェクトに連結する、という一連のゲーム処理が繰り返し実行される。また、連結数に応じてプレイヤオブジェクトに能力が与えられ、連結パターンが目標パターンと一致すればゲームクリアとなる。
【特許文献１】特開２００７−２２２２８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１の背景技術では、ゲーム処理に現時点でのマウス入力情報を利用するものの、現時点までのマウス入力情報の履歴つまりマウスの軌跡は特に利用されなかった。軌跡を利用することで、ゲームの戦略性および趣向性がさらに増すものと期待される。
【０００５】
それゆえに、この発明の主たる目的は、新規な、ゲームプログラムおよびゲーム装置を提供することである。
【０００６】
本発明の他の目的は、位置指定手段で指定される点の軌跡を利用して、複数のオブジェクトを所定の順序に配列するゲームの戦略性および趣向性を高めることができる、ゲームプログラムおよびゲーム装置を提供することである。
【課題を解決するための手段】
【０００７】
この発明は、上記の課題を解決するために、以下の構成を採用した。
【０００８】
第１の発明は、複数の動くオブジェクトが配置された画面内で任意の位置を指定する位置指定手段を有するゲーム装置のコンピュータを、位置指定手段によって指定される位置を繰り返し検出する位置検出手段、位置検出手段によって検出された位置に沿って画面上に線を描画していく線描画手段、位置検出手段によって検出された位置が画面内のいずれかのオブジェクトとの間で接触条件を満足する度に当該オブジェクトを線上に配列していくオブジェクト配列手段、オブジェクト配列手段によって線上に配列されたオブジェクトを当該線の末尾方向へ第１速度で移動させるオブジェクト移動手段、線描画手段によって描画された線を先頭から第１速度よりも速い第２速度で消去していく線消去手段、および線消去手段およびオブジェクト移動手段の処理に関連して線の先頭が当該線上のオブジェクトに追い付く前に、当該線上のオブジェクトの配列が所定の配列との間で一致条件を満足した場合に、クリア処理を実行するクリア手段として機能させる、ゲームプログラムである。
【０００９】
第１の発明では、プレイヤが、画面内で動くオブジェクトを位置指定手段で順次指定していくと、ゲーム装置のコンピュータは、その指定された位置つまり軌跡に沿って画面に線を描画しながら、指定されたオブジェクトを線上に配列していく。また、線上でオブジェクトを末尾方向に移動させつつ、オブジェクトの移動速度（Ｖ１）よりも速い速度（Ｖ２＞Ｖ１）で線を先頭から削除していく。そして、線の先頭が線上のオブジェクトに追い付く前に線上に所定のオブジェクト配列が形成さたとき、クリア処理を実行する。
【００１０】
第１の発明によれば、プレイヤは、位置指定手段でオブジェクトを指定すると共に線の描画も行いながら、なおかつ線上で複数のオブジェクトを所定の順序に配列することが求められるので、複数のオブジェクトを所定の順序に配列するゲームの戦略性および趣向性を高めることができる。
【００１１】
第２の発明は、第１の発明に従属するゲームプログラムであって、画面にはゴール領域がさらに配置されており、クリア手段は、線の先頭が当該線上のオブジェクトに追い付く前に当該線上のオブジェクトの配列が所定の配列の配列との間で一致条件を満足した場合に、位置検出手段によって検出された位置がゴール領域との間で接触条件を満足したときクリア処理を実行する。
【００１２】
第２の発明では、クリア処理は配列が一致条件を満足しかつ位置が接触条件を満足したとき実行される。
【００１３】
第２の発明によれば、プレイヤは、オブジェクトを所定の順序に配列するのに加えて、さらにゴール領域に接触することが求められるので、戦略性および趣向性をより高めることができる。
【００１４】
第３の発明は、第１の発明に従属するゲームプログラムであって、ゲーム装置のコンピュータを、線描画手段によって描画された線が交差してループが生じたとき当該ループを除去する除去手段としてさらに機能させる。
【００１５】
第３の発明によれば、線が交差したときそのループ部分を除去するので、画面上で線が交錯することがなくなる。このような線の交差によるループ除去は、戦略性および趣向性にも寄与する。
【００１６】
第４の発明は、第３の発明に従属するゲームプログラムであって、ゲーム装置のコンピュータを、除去手段によるループの除去に関連して当該ループ上に存在するオグジェクトを開放する開放手段としてさらに機能させる。
【００１７】
第４の発明では、ループの除去に伴い、ループ上に存在するオグジェクトが開放される。
【００１８】
第４の発明によれば、配列を間違えた場合に、意図的に線を交差させてループ上のオブジェクトを開放し、改めて配列し直すことができるので、戦略性および趣向性をさらに高めることができる。
【００１９】
第５の発明は、第１ないし第４のいずれかの発明に従属するゲームプログラムであって、複数のオブジェクトには異なる色が付与されており、配列は色に関する配列である。
【００２０】
第５の発明では、プレイヤは、オブジェクトを“赤，青，黄”など所定の色順に配列することになる。なお、配列は、色以外に、たとえば“大，中，小”といった大きさや“丸，三角，四角”といった形状に関するものでもよく、これらの組み合わせに関するものでもよい。さらには、模様，明るさ，透明度など、視覚的に区別可能なものであれば、どのような態様の配列でもよい。
【００２１】
第６の発明は、第５の発明に従属するゲームプログラムであって、ゲーム装置のコンピュータを、線描画手段によって描画された線が交差してループが生じたとき当該ループ内に位置するオブジェクトを複数のオブジェクトに分離する分離手段としてさらに機能させる。
【００２２】
第６の発明では、線が交差してループができると、ループで囲まれたエリア内に位置するオブジェクトが複数のオブジェクトに分離される。
【００２３】
第６の発明によれば、プレイヤは、所望のオブジェクトを囲むように線を交差させることで、そのオブジェクトを複数に分離することができる。
【００２４】
第７の発明は、第５または第６の発明に従属するゲームプログラムであって、ゲーム装置のコンピュータを、線描画手段によって描画された線が交差してループが生じたとき当該ループ内に位置する複数のオブジェクトを１つに合成する合成手段としてさらに機能させる。
【００２５】
第７の発明では、線が交差してループができると、ループで囲まれたエリア内に位置する複数のオブジェクトが１つに合成される。
【００２６】
第７の発明によれば、プレイヤは、所望の複数のオブジェクトを囲むように線を交差させることで、そのオブジェクトを１つに合成することができる。
【００２７】
第８の発明は、第７の発明に従属するゲームプログラムであって、合成手段は、複数のオブジェクトを１つに合成する際に、当該複数のオブジェクトの色を混合した混合色を合成後のオブジェクトに付与する。
【００２８】
第８の発明では、合成後のオブジェクトの色は、合成前の複数のオブジェクトの色の混合色となる。
【００２９】
第８の発明によれば、オブジェクトに多様な色を与えることができる。
【００３０】
なお、ある実施例では、第１オブジェクト（テンくん）を囲むように線を交差させることで、その第１オブジェクトを２つの第２オブジェクト（プチテンくん）に分離し、また、２つの第２オブジェクトを囲むように線を交差させることで、その２つの第２オブジェクトを第１オブジェクトに合成する。たとえば、第１オブジェクトで“青，紫，赤”の配列を作る場合に、画面には赤青２色の第１オブジェクトしかないとき、赤の第１オブジェクトを２つの第２オブジェクトに分離し、青の第１オブジェクトを２つの第２オブジェクトに分離して、得られた赤および青の２つの第２オブジェクトを合成する。これにより、紫の第１オブジェクトが得られるので、第１オブジェクトで“青，紫，赤”の配列を作ることが可能となる。
【００３１】
第９の発明は、第１または第３の発明に従属するゲームプログラムであって、線描画手段によって描画される線には長さ制限が設定されており、ゲーム装置のコンピュータを、線描画手段によって描画された線の長さが長さ制限をオーバーしたときゲームオーバー処理を実行するゲームオーバー手段としてさらに機能させる。
【００３２】
第９の発明では、線の長さが長さ制限をオーバーすれば、ゲームオーバーとなる。
【００３３】
第９の発明によれば、プレイヤは、さらに線の描画速度をコントロールすることも求められるので、戦略性および趣向性をより高めることができる。また、上記第３の発明と組み合わせれば、プレイヤは、線の長さの調節のために、線を交差させてループ部分を除去するテクニックが使えるので、戦略性および趣向性をよりいっそう高めることができる。
【００３４】
第１０の発明は、第１の発明に従属するゲームプログラムであって、画面内の少なくとも１つのオブジェクトは、位置検出手段によって検出された位置から逃げ回るように動く。
【００３５】
第１０の発明では、プレイヤが指定しようとするオブジェクトが逃げ回ることがある。
【００３６】
第１０の発明によれば、プレイヤは、オブジェクトの動きを封じるように線を描画するテクニックが使えるので、戦略性および趣向性をより高めることができる。
【００３７】
第１１の発明は、第１の発明に従属するゲームプログラムであって、画面内の少なくとも１つのオブジェクトは、位置検出手段によって検出された位置に近寄ってくるように動く。
【００３８】
第１１の発明では、所望のオブジェクトとは別のオブジェクトが近寄ってくる結果、プレイヤは、所望のオブジェクトを指定することが困難になる場合がある。
【００３９】
第１１の発明によれば、プレイヤは、オブジェクトの動きを封じるように線を描画するテクニックが使えるので、戦略性および趣向性をより高めることができる。
【００４０】
第１２の発明は、第１の発明に従属するゲームプログラムであって、画面内の少なくとも１つのオブジェクトは、当該画面の周縁，線または他のオブジェクトと接触するとき向きを逆転させて動き、画面内の別の少なくとも１つのオブジェクトは、当該画面の周縁，線または他のオブジェクトを素通りして動く。
【００４１】
第１２の発明では、あるオブジェクトは画面の周縁，線または他のオブジェクトと接触しそうになると向きを変えるが、別のオブジェクトはそれらを素通りすることがある。
【００４２】
第１２の発明によれば、画面内に滞在する時間が短いオブジェクトが登場することで、ゲームの困難性が増大する。
【００４３】
第１３の発明は、第５の発明に従属するゲームプログラムであって、画面の少なくとも一部に暗闇領域が配置され、暗闇領域内に入ったオブジェクトは色が区別不能となる。
【００４４】
第１３の発明によれば、プレイヤは、暗闇領域内に入りそうなオブジェクトの色を記憶するといった対応が求められるので、戦略性および趣向性をより高めることができる。
【００４５】
第１４の発明は、第１３の発明に従属するゲームプログラムであって、オブジェクトの特定部位は暗闇領域内でも視認可能である。
【００４６】
第１４の発明によれば、暗闇領域内にオブジェクトがいれば、色は区別できなくても存在はわかるので、ゲームの困難性を緩和できる。
【００４７】
第１５の発明は、第１３の発明に従属するゲームプログラムであって、暗闇領域内に描画された線および当該線の周囲には視認可能領域が確保される。
【００４８】
第１５の発明によれば、線上に配列されたオブジェクトや線の周囲に位置するオブジェクトは視認可能であり、色も区別することができるので、ゲームの困難性を緩和できる。
【００４９】
第１６の発明は、第１５の発明に従属するゲームプログラムであって、視認可能領域は線の末尾で拡大している。
【００５０】
第１６の発明によれば、視認可能領域は線の末尾つまりプレイヤが現在指定している位置で拡大しているので、ゲームの困難性をさらに緩和できる。
【００５１】
第１７の発明は、複数の動くオブジェクトが配置された画面内で任意の位置を指定する位置指定手段、位置指定手段によって指定される位置を繰り返し検出する位置検出手段、位置検出手段によって検出された位置に沿って画面上に線を描画していく線描画手段、位置検出手段によって検出された位置が画面内のいずれかのオブジェクトとの間で接触条件を満足する度に当該オブジェクトを線上に配列していくオブジェクト配列手段、オブジェクト配列手段によって線上に配列されたオブジェクトを当該線の末尾方向へ第１速度で移動させるオブジェクト移動手段、線描画手段によって描画された線を先頭から第１速度よりも速い第２速度で消去していく線消去手段、および線消去手段およびオブジェクト移動手段の処理に関連して線の先頭が当該線上のオブジェクトに追い付く前に、当該線上のオブジェクトの配列が所定の配列との間で一致条件を満足した場合に、クリア処理を実行するクリア手段を備える、ゲーム装置である。
【００５２】
第１７の発明によっても、第１の発明と同様に、複数のオブジェクトを所定の順序に配列するゲームの戦略性および趣向性を高めることができる。
【発明の効果】
【００５３】
この発明によれば、ポインティングデバイスで指定される点の軌跡を利用して、複数のオブジェクトを連結するゲームの戦略性および趣向性を高めることができる、ゲームプログラムおよびゲーム装置が実現される。
【００５４】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００５５】
【図１】この発明の一実施例であるゲーム装置の外観図であり、開状態における正面を示す。
【図２】ゲーム装置の外観図であり、開状態における側面を示す。
【図３】ゲーム装置の外観図であり、（Ａ）は閉状態における一方側面を、（Ｂ）は閉状態における上面を、（Ｃ）は閉状態における他方側面を、そして（Ｄ）は閉状態における下面をそれぞれ示す。
【図４】ゲーム装置がユーザによって把持された様子を示す図解図である。
【図５】ゲーム装置の電気的構成の一例を示すブロック図である。
【図６】オブジェクトの色を示すテーブルであり、（Ａ）がテンくんの色を示し、（Ｂ）がプチテンくんの色を示す。
【図７】オブジェクトおよびフィールドの種類を示すテーブルである。
【図８】線上に所定の配列が完成したか否かを判定するための情報であり、（Ａ）がゴール条件に対応するテンくんの配列を示し、（Ｂ）が線上にいるテンくんリストを示す。
【図９】あるステージにおけるゲームの展開を示す図解図であり、ゲーム画面は（Ａ）〜（Ｃ）のように変化する。
【図１０】図９に続く展開を示す図解図であり、ゲーム画面は（Ａ）〜（Ｃ）のように変化する。
【図１１】図１０に続く展開を示す図解図であり、ゲーム画面は（Ａ）〜（Ｂ）のように変化する。
【図１２】ゲームの別の展開を示す図解図であり、図１１（Ａ）と対比される。
【図１３】線が交差（ループが発生）した場合の処理を示す図解図であり、線および線上のオブジェクトは（Ａ）〜（Ｃ）のように変化する。
【図１４】線の交差を利用したオブジェクトの分離および生成ならびにグレーへの変色を示す図解図であり、（Ａ）がテンくんからプチテンくんへの分離を示し、（Ｂ）がプチテンくんからテンくんへの合成を示し、（Ｃ）がテンくんのグレーへの変色を示す。
【図１５】他のステージにおけるゲーム画面を示す図解図である。
【図１６】メインメモリのメモリマップの一部を示す図解図である。
【図１７】ＣＰＵ動作の一部を示すフロー図である。
【図１８】ＣＰＵ動作の他の一部を示すフロー図である。
【図１９】ＣＰＵ動作のその他の一部を示すフロー図である。
【図２０】ＣＰＵ動作のさらにその他の一部を示すフロー図である。
【図２１】ＣＰＵ動作の他の一部を示すフロー図である。
【図２２】ＣＰＵ動作のその他の一部を示すフロー図である。
【図２３】ＣＰＵ動作のさらにその他の一部を示すフロー図である。
【図２４】ＣＰＵ動作の他の一部を示すフロー図である。
【発明を実施するための形態】
【００５６】
図１〜図３には、本発明の一実施例であるゲーム装置１０の外観が示される。ゲーム装置１０は折り畳み型のゲーム装置であり、図１および図２は、開いた状態（開状態）におけるゲーム装置１０を示し、図３は、閉じた状態（閉状態）におけるゲーム装置１０を示している。また、図１は、開状態におけるゲーム装置１０の正面図であり、図２は、開状態におけるゲーム装置の側面図である。ゲーム装置１０は、２つの表示装置（ＬＣＤ１２および１４）および２つのカメラ（カメラ１６および１８）を有し、カメラによって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりすることができる。
【００５７】
ゲーム装置１０は、開いた状態において両手または片手で把持することができるような小型のサイズとされる。
【００５８】
ゲーム装置１０は、下側ハウジング２０および上側ハウジング２２という２つのハウジングを有する。下側ハウジング２０と上側ハウジング２２とは、開閉可能（折り畳み可能）に接続されている。この実施例では、各ハウジング２０および２２はともに横長の長方形の板状形状であり、互いの長辺部分で回転可能に接続されている。
【００５９】
上側ハウジング２２は、下側ハウジング２０の上側の一部で回動自在に支持されている。これによって、ゲーム装置１０は、閉状態（下側ハウジング２０と上側ハウジング２２とのなす角度が約０°の状態（図３参照））と、開状態（下側ハウジング２０と上側ハウジング２２とのなす角度が約１８０°の状態（図２参照））とをとることができる。ユーザは通常、開状態でゲーム装置１０を使用し、ゲーム装置１０を使用しない場合には閉状態としてゲーム装置１０を保管する。また、ゲーム装置１０は、上記閉状態および開状態のみでなく、下側ハウジング２０と上側ハウジング２２とのなす角度を、ヒンジに発生する摩擦力などによって閉状態と開状態との間の任意の角度に維持することができる。つまり、上側ハウジング２２を下側ハウジング２０に対して任意の角度で静止させることができる。
【００６０】
まず、下側ハウジング２０に設けられる構成について説明する。図１に示すように、ゲーム装置１０は、下側ＬＣＤ（液晶表示装置）１２を有する。下側ＬＣＤ１２は横長形状であり、長辺方向が下側ハウジング２０の長辺方向に一致するように配置される。下側ＬＣＤ１２は下側ハウジング２０に収納される。下側ＬＣＤ１２は、下側ハウジング２０の内側面に設けられる。したがって、ゲーム装置１０を使用しない場合には閉状態としておくことによって、下側ＬＣＤ１２の画面が汚れたり傷ついたりすることを防止することができる。なお、この実施例では表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置など、他の任意の表示装置を利用してもよい。また、ゲーム装置１０は任意の解像度の表示装置を利用することができる。なお、ゲーム装置１０を撮像装置として利用する場合、下側ＬＣＤ１２は主に、カメラ１６または１８で撮像されている画像をリアルタイムに表示（スルー表示）するために用いられる。
【００６１】
下側ハウジング２０の内側面はほぼ平面状に形成される。当該内側面の中央には、下側ＬＣＤ１２を露出させるための開口部２０ｂが形成される。当該開口部２０ｂの左側（図示ｙ軸負側）には開口部２０ｃが形成され、当該開口部２０ｂの右側には開口部２０ｄが形成される。開口部２０ｂおよび２０ｃは、各キートップ（各ボタン２４ａ〜２４ｅの上面）を露出させるためのものである。そして、下側ハウジング２０の内部に収納される下側ＬＣＤ１２の画面が開口部２０ｂから露出し、各キートップが開口部２０ｃおよび２０ｄから露出される。このように、下側ハウジング２０の内側面には、中央に設けられる下側ＬＣＤ１２用の開口部２０ｂの左右両側に非画面領域（図１に示す点線領域Ａ１およびＡ２。具体的には、各ボタン２４ａ〜２４ｅを配置するための領域；ボタン配置領域）がそれぞれ設けられる。
【００６２】
下側ハウジング２０には、入力装置として、各ボタン２４ａ〜２４ｉおよびタッチパネル２８が設けられる。図１に示されるように、各ボタン２４ａ〜２４ｉのうち、方向入力ボタン２４ａ、ボタン２４ｂ、ボタン２４ｃ、ボタン２４ｄ、ボタン２４ｅ、および電源ボタン２４ｆは、下側ハウジング２０の内側面に設けられる。方向入力ボタン２４ａは例えば選択操作等に用いられ、各ボタン２４ｂ〜２４ｅは例えば決定操作やキャンセル操作等に用いられる。電源ボタン２４ｆは、ゲーム装置１０の電源をオン／オフするために用いられる。ここでは、方向入力ボタン２４ａおよび電源ボタン２４ｆは、下側ハウジング２０の中央付近に設けられる下側ＬＣＤ１２に対して一方の側（図１では左側）に設けられ、ボタン２４ｂ〜２４ｅは下側ＬＣＤ１２に対して他方の側（図１では右側）に設けられる。方向入力ボタン２４ａおよびボタン２４ｂ〜２４ｅは、ゲーム装置１０に対する各種操作を行うために用いられる。
【００６３】
図３（Ａ）は閉状態におけるゲーム装置１０の左側面図であり、図３（Ｂ）は当該ゲーム装置１０の正面図であり、図３（Ｃ）は当該ゲーム装置１０の右側面図であり、そして図３（Ｄ）は当該ゲーム装置１０の背面図である。図３（Ｃ）に示されるように、また、図３（Ａ）に示されるように、音量ボタン２４ｉは、下側ハウジング２０の左側面に設けられる。音量ボタン２４ｉは、ゲーム装置１０が備えるスピーカ３４の音量を調整するために用いられる。また、図３（Ｄ）に示されるように、ボタン２４ｈは、下側ハウジング２０の上面の右端部に設けられる。ボタン２４ｇは、下側ハウジング２０の上面の左端部に設けられる。各ボタン２４ｇおよび２４ｈは、ゲーム装置１０に対して例えば撮影指示操作（シャッタ操作）を行うために用いられる。各ボタン２４ｇおよび２４ｈの両方をシャッターボタンとして機能させてもよく、この場合、右利きのユーザはボタン２４ｈを使用し、左利きのユーザはボタン２４ｇを使用することができ、いずれのユーザにも使い勝手が良い。なお、ゲーム装置１０は、各ボタン２４ｇおよび２４ｈを常にシャッターボタンとして有効としておいてもよいし、右利きか左利きかの設定をして（メニュープログラムなどによりユーザに設定入力をさせ、設定されたデータを記憶しておく）、右利き設定のときにはボタン２４ｈのみ有効とし、左利き設定のときにはボタン２４ｇのみ有効とするようにしてもよい。
【００６４】
図１に示されるように、ゲーム装置１０は、各操作ボタン２４ａ〜２４ｉとは別の入力装置として、タッチパネル２８をさらに備えている。タッチパネル２８は、下側ＬＣＤ１２の画面上に装着されている。なお、この実施例では、タッチパネル２８は抵抗膜方式のタッチパネルである。ただし、タッチパネルは抵抗膜方式に限らず、任意の押圧式のタッチパネルを用いることができる。この実施例では、タッチパネル２８として、下側ＬＣＤ１２の解像度と同解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル２８の解像度と下側ＬＣＤ１２の解像度が一致している必要はない。また、下側ハウジング２０の右側面には挿入口３０（図１および図３（Ｄ）に示す点線）が設けられている。挿入口３０は、タッチパネル２８に対する操作を行うために用いられるタッチペン３６を収納することができる。なお、タッチパネル２８に対する入力は通常タッチペン３６を用いて行われるが、タッチペン３６に限らずユーザの指でタッチパネル２８を操作することも可能である。
【００６５】
図２や図３（Ｃ）に示されるように、下側ハウジング２０の右側面には開閉可能なカバー部１１ｂが設けられる。このカバー部１１ｂの内側には、メモリカード３８ａを挿入するための挿入口（２点鎖線）、およびゲーム装置１０とメモリカード３８ａとを電気的に接続するためのコネクタ（図示せず）が設けられる。メモリカード３８ａは、コネクタに着脱自在に装着される。メモリカード３８ａは、例えば、ゲーム装置１０によって撮像された画像のデータを記憶（保存）するために用いられる。
【００６６】
さらに、下側ハウジング２０の上側面には、メモリカード３８ｂを挿入するための挿入口（１点鎖線）、およびゲーム装置１０とメモリカード３８ｂとを電気的に接続するためのコネクタ（図示せず）が設けられる。メモリカード３８ｂは、例えば、ゲーム装置１０で動作するプログラムを記憶するために用いられる。
【００６７】
図１に示されるように、下側ハウジング２０の軸部２０ａの左側部分には、３つのＬＥＤ２６ａ〜２６ｃが取り付けられる。ここで、ゲーム装置１０は他の機器や同種の他のゲーム装置（図示せず）との間で無線通信を行うことが可能であり、第１ＬＥＤ２６ａは、無線通信が確立している場合に点灯する。第２ＬＥＤ２６ｂは、ゲーム装置１０の充電中に点灯する。第３ＬＥＤ２６ｃは、ゲーム装置１０の電源がオンである場合に点灯する。したがって、３つのＬＥＤ２６ａ〜２６ｃによって、ゲーム装置１０の通信確立状況、充電状況、および、電源のオン／オフ状況をユーザに通知することができる。
【００６８】
以上に説明したように、下側ハウジング２０には、ゲーム装置１０に対する操作入力を行うための入力装置（タッチパネル２８および各ボタン２４ａ〜２４ｉ）が設けられる。したがって、ユーザは、ゲーム装置１０を使用する際には下側ハウジング２０を把持してゲーム装置１０に対する操作を行うことができる。図４は、ユーザがゲーム装置１０を両手で把持した様子を示す図である。図４に示すように、ユーザは、各ＬＣＤ１２および１４がユーザの方向を向く状態で、両手の掌と中指、薬指および小指とで下側ハウジング２０の側面および外側面（内側面の反対側の面）を把持する。このように把持することで、ユーザは、下側ハウジング２０を把持したまま、各ボタン２４ａ〜２４ｅに対する操作を親指で行い、ボタン２４ｇおよび２４ｈに対する操作を人差し指で行うことができる。
【００６９】
一方、上側ハウジング２２には、画像を撮像するための構成（カメラ）、および、撮像した画像を表示するための構成（表示装置）が設けられる。以下、上側ハウジング２２に設けられる構成について説明する。
【００７０】
図１に示すように、ゲーム装置１０は、上側ＬＣＤ１４を有する。上側ＬＣＤ１４は上側ハウジング２２に収納される。上側ＬＣＤ１４は横長形状であり、長辺方向が上側ハウジング２２の長辺方向に一致するように配置される。上側ＬＣＤ１４は、上側ハウジング２２の内側面（ゲーム装置１０が閉状態となった場合に内側となる面）に設けられる。したがって、ゲーム装置１０を使用しない場合には閉状態としておくことによって、上側ＬＣＤ１４の画面が汚れたり傷ついたりすることを防止することができる。なお、下側ＬＣＤ１２と同様、上側ＬＣＤ１４に代えて、他の任意の方式および任意の解像度の表示装置を利用してもよい。なお、他の実施形態においては、上側ＬＣＤ１４上にもタッチパネルを設けてもよい。
【００７１】
また、ゲーム装置１０は、２つのカメラ１６および１８を有する。各カメラ１６および１８はともに上側ハウジング２２に収納される。図１に示されるように、内側カメラ１６は、上側ハウジング２２の内側面に取り付けられる。一方、図３（Ｂ）に示されるように、外側カメラ１８は、内側カメラ１６が取り付けられる面の反対側の面、すなわち、上側ハウジング２２の外側面（ゲーム装置１０が閉状態となった場合に外側となる面）に取り付けられる。これによって、内側カメラ１６は、上側ハウジング２２の内側面が向く方向を撮像することが可能であり、外側カメラ１８は、内側カメラ１６の撮像方向の逆方向、すなわち、上側ハウジング２２の外側面が向く方向を撮像することが可能である。以上のように、この実施例では、２つのカメラ１６および１８が撮像方向が互いに逆方向となるように設けられる。したがって、ユーザはゲーム装置１０を持ち替えることなく、異なる２方向を撮像することができる。例えば、ユーザは、ゲーム装置１０からユーザの方を見た景色を内側カメラ１６で撮影することができるとともに、ゲーム装置１０からユーザの反対側の方向を見た景色を外側カメラ１８で撮影することができる。
【００７２】
また、内側カメラ１６は、上側ハウジング２２の下側の中央部に形成される軸部２２ａの中央に取り付けられる。つまり、内側カメラ１６は、２つのハウジング２０および２２が接続される部分の中央に取り付けられる。したがって、ゲーム装置１０を開状態にした場合、内側カメラ１６は、２つのＬＣＤ１２および１４の間に配置されることになる（図１参照）。換言すれば、内側カメラ１６は、ゲーム装置１０の中心付近に配置されることになる。なお、「ゲーム装置１０の中心」とは、ゲーム装置１０の操作面（開状態における各ハウジング２０および２２の内側面からなる面）の中心という意味である。なお、内側カメラ１６は、ＬＣＤ１２および１４の横方向の中心付近に配置されているということもできる。
この実施例では、ゲーム装置１０を開状態にした場合に内側カメラ１６はゲーム装置１０の中心付近に配置されるので、ユーザは、内側カメラ１６によってユーザ自身を撮影する場合、ユーザがゲーム装置１０に正対する位置でゲーム装置１０を把持すればよい。つまり、通常の把持位置でゲーム装置を把持すれば、ユーザは撮像範囲の中心付近に位置することになり、ユーザ自身を撮像範囲内に収めることが容易になる。
【００７３】
また、図３（Ｂ）に示されるように、外側カメラ１８は、ゲーム装置１０を開状態とした場合において上側ハウジング２２の上部（下側ハウジング２０から遠い側の部分）に配置される。なお、外側カメラ１８は、ゲーム装置１０を把持するユーザを撮影するものではないので、ゲーム装置１０の中心に設ける必要性は高くない。
【００７４】
また、図１または図３（Ｂ）に示されるように、マイク３２は、上側ハウジング２２に収納されている。具体的には、マイク３２は、上側ハウジング２２の軸部２２ａに取り付けられる。この実施例では、マイク３２は、内側カメラ１６の周囲（図ではｙ軸の側方）に取り付けられ、より具体的には、内側カメラ１６からｙ軸正方向側の側方に取り付けられる。また、軸部２２ａにおいては、マイク３２がゲーム装置１０外部の音を検知することができるように、マイク３２に対応する位置（内側カメラ１６の側方）にマイクロフォン用孔２２ｃが設けられる。なお、マイク３２は下側ハウジング２０に収納されてもよい。たとえば、マイクロフォン用孔２２ｃを下側ハウジング２０の内側面、具体的には下側ハウジング２０の内側面の左下部分（ボタン配置領域Ａ１）に設け、マイク３２を、下側ハウジング２０内における、マイクロフォン用孔２２ｃの近傍に配置することができる。また、マイク３２は、その集音方向（感度が最大となる方向）が内側カメラ１６の撮像方向（光軸）と略並行（言い換えれば集音方向および撮像方向がそれぞれｚ軸と略並行）となる向きに取り付けられる。これによって、内側カメラ１６の撮像範囲内で発せられた音声は、マイク３２によって好適に捉えられる。すなわち、マイク３２による音声入力の検出と内側カメラ１６の撮像画像によるユーザの検出とを同時行うことができるとともに、検出の精度を向上させることができる。
【００７５】
図３（Ｂ）に示されるように、上側ハウジング２２の外側面には、第４ＬＥＤ２６ｄが取り付けられる。第４ＬＥＤ２６ｄは、外側カメラ１８の周囲（この実施例では、外側カメラ１８の右側）に取り付けられる。第４ＬＥＤ２６ｄは、内側カメラ１６または外側カメラ１８によって撮影が行われた（シャッターボタンが押下された）時点で点灯する。また、内側カメラ１６または外側カメラ１８によって動画が撮影される間点灯する。第４ＬＥＤ２６ｄによって、ゲーム装置１０による撮影が行われた（行われている）ことを撮影対象者に通知することができる。
【００７６】
また、上側ハウジング２２の内側面はほぼ平面状に形成される。図１に示すように、当該内側面の中央には、上側ＬＣＤ１４を露出させるための開口部２２ｂが形成される。上側ハウジング２２の内部に収納される上側ＬＣＤ１４の画面は、開口部２２ｂから露出する。また、上記開口部２２ｂの左右両側には音抜き孔２２ｄがそれぞれ１つずつ形成される。音抜き孔２２ｄの奥の上側ハウジング２２内にはスピーカ３４が収納されている。音抜き孔２２ｄは、スピーカ３４からの音を外部に放出するための孔である。
【００７７】
このように、上側ハウジング２２の内側面には、中央に設けられる上側ＬＣＤ１４用の開口部２２ｂの左右両側に非画面領域（図１に示す点線領域Ｂ１およびＢ２。具体的には、スピーカ３４を配置するための領域；スピーカ配置領域）がそれぞれ設けられる。２つの音抜き孔２２ｄは、左右方向については、各スピーカ配置領域の左右方向における中央部付近に配置され、上下方向については、各スピーカ配置領域の下部領域（下側ハウジング２０に近い側の領域）に配置される。
【００７８】
なお、上記のように、下側ハウジング２０および上側ハウジング２２に左右方向に関して同じ位置に非画面領域をそれぞれ設けたことで、ゲーム装置１０は、図４に示すような横持ちで把持される場合だけでなく、縦持ち（図４に示す状態からゲーム装置１０を左または右回りに９０°回転させた状態）で把持される場合にも持ちやすい構成となっている。
【００７９】
以上に説明したように、上側ハウジング２２には、画像を撮像するための構成であるカメラ１６および１８、および、撮像された画像を表示するための表示手段である上側ＬＣＤ１４が設けられる。一方、下側ハウジング２０には、ゲーム装置１０に対する操作入力を行うための入力装置（タッチパネル２８および各ボタン２４ａ〜２４ｉ）が設けられる。したがって、ゲーム装置１０を撮像装置として使用する際には、ユーザは、上側ＬＣＤ１４に表示される撮像画像（カメラによって撮像された画像）を見ながら、下側ハウジング２０を把持して入力装置に対する入力を行うことができる。
【００８０】
また、上側ハウジング２２のカメラ１６近傍には、音声を入力するための構成であるマイク３２が設けられており、したがってゲーム装置１０は、録音装置としても使用可能である。さらに、ユーザがマイク３２を通して音声入力を行い、ゲーム装置１０はこのマイク入力情報に基づいてゲーム処理やゲーム以外のアプリケーション処理を実行することもできる。
【００８１】
図５は、ゲーム装置１０の内部構成（電気的構成）を示すブロック図である。図５に示すように、ゲーム装置１０は、ＣＰＵ４２、メインメモリ４８、メモリ制御回路５０、保存用データメモリ５２、プリセットデータ用メモリ５４、メモリカードインターフェース（メモリカードＩ／Ｆ）４４、無線通信モジュール５６、ローカル通信モジュール５８、リアルタイムクロック（ＲＴＣ）６０、電源回路４６、およびインターフェース回路（Ｉ／Ｆ回路）４０等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング２０（または上側ハウジング２２でもよい）内に収納される。
【００８２】
ＣＰＵ４２は、各種のプログラムを実行するための情報処理手段である。ゲーム装置１０を撮像装置として利用する場合には、そのためのプログラムがゲーム装置１０内のメモリ（例えば保存用データメモリ５２）に記憶される。ＣＰＵ４２が当該プログラムを実行することで、ゲーム装置１０は撮影装置として機能する。なお、ＣＰＵ４２によって実行されるプログラムは、ゲーム装置１０内のメモリに予め記憶されていてもよいし、メモリカード３８ｂから取得されてもよいし、他の機器等との通信によって他の機器等から取得されてもよい。
【００８３】
ＣＰＵ４２には、メインメモリ４８、メモリ制御回路５０、およびプリセットデータ用メモリ５４が接続される。また、メモリ制御回路５０には保存用データメモリ５２が接続される。メインメモリ４８は、ＣＰＵ４２のワーク領域やバッファ領域として用いられる記憶手段である。すなわち、メインメモリ４８は、ゲーム処理やアプリケーション処理に用いられる各種データを記憶したり、外部（メモリカード３８ｂや他の機器等）から取得されるプログラムを記憶したりする。この実施例では、メインメモリ４８として例えばＰＳＲＡＭ（Ｐｓｅｕｄｏ−ＳＲＡＭ）を用いる。保存用データメモリ５２は、ＣＰＵ４２によって実行されるプログラムや各カメラ１６および１８によって撮像された画像のデータ等を記憶するための記憶手段である。保存用データメモリ５２は、例えばＮＡＮＤ型フラッシュメモリで構成される。メモリ制御回路５０は、ＣＰＵ４２の指示に従って、保存用データメモリ５２に対するデータの読み出しおよび書き込みを制御する回路である。プリセットデータ用メモリ５４は、ゲーム装置１０において予め設定される各種パラメータ等のデータ（プリセットデータ）を記憶するための記憶手段である。プリセットデータ用メモリ５４としては、ＳＰＩ（Ｓｅｒｉａｌ  Ｐｅｒｉｐｈｅｒａｌ  Ｉｎｔｅｒｆａｃｅ）バスによってＣＰＵ４２と接続されるフラッシュメモリを用いることができる。
【００８４】
メモリカードＩ／Ｆ４４はＣＰＵ４２に接続される。メモリカードＩ／Ｆ４４は、コネクタに装着されたメモリカード３８ａおよび３８ｂに対するデータの読み出しおよび書き込みをＣＰＵ４２の指示に従って行う。この実施例では、各カメラ１６および１８によって撮像された画像データがメモリカード３８ａに書き込まれたり、メモリカード３８ａに記憶された画像データがメモリカード３８ａから読み出されて保存用データメモリ５２に記憶されたりする。また、メモリカード３８ｂに記憶されているプログラムやデータを読み出してメインメモリ４８に転送したりもする。
【００８５】
無線通信モジュール５６は、例えばＩＥＥＥ８０２．１１．ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。また、ローカル通信モジュール５８は、所定の通信方式たとえば赤外線方式により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール５６およびローカル通信モジュール５８はＣＰＵ４２に接続される。ＣＰＵ４２は、無線通信モジュール５６を用いてインターネット２０２を介して他の機器との間でデータを送受信したり、ローカル通信モジュール５８を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【００８６】
なお、ローカル通信モジュール５８は、この実施例ではゲーム装置１０に内蔵されるようになっているが、例えばメモリカード３８ｂに設けてもよい。この場合、ＣＰＵ４２は、メモリカードＩ／Ｆ４４を介して通信の制御を行うことになる。
【００８７】
また、ＣＰＵ４２には、ＲＴＣ６０および電源回路４６が接続される。ＲＴＣ６０は、時間をカウントしてＣＰＵ４２に出力する。ＣＰＵ４２は、ＲＴＣ６０によって計時された時間に基づいて、現在時刻（日付）を計算したり、画像取り込み等の動作タイミングを検知したりする。電源回路４６は、ゲーム装置１０が有する電源（電池；下ハウジングに収納される）からの電力を制御し、ゲーム装置１０の各部品に電力を供給する。
【００８８】
また、ゲーム装置１０は、マイク３２およびスピーカ３４を備えている。マイク３２およびスピーカ３４はそれぞれＩ／Ｆ回路４０に接続される。マイク３２は、ユーザの音声を検知して音声信号をＩ／Ｆ回路４０に出力する。スピーカ３４は、Ｉ／Ｆ回路４０からの音声信号に応じた音声を出力する。Ｉ／Ｆ回路４０はＣＰＵ４２に接続される。また、タッチパネル２８はＩ／Ｆ回路４０に接続される。Ｉ／Ｆ回路４０は、マイク３２およびスピーカ３４の制御を行う音声制御回路と、タッチパネルの制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するＡ／Ｄ変換およびＤ／Ａ変換を行ったり、音声信号を所定の形式の音声データに変換したりする。変換された音声データは、メインメモリ４８の音声エリア（図示せず）に書き込まれる。ゲーム装置１０を録音装置として利用する場合には、音声エリアに格納された音声データは、後にメモリ制御回路５０を介して保存用データメモリ５２に書き込まれる（必要に応じてさらに、メモリカードＩ／Ｆ４４を介してメモリカード３８ａに記録される）。また、音声エリアに格納された音声データ（マイク入力情報）は、各種のゲーム処理にも利用される。タッチパネル制御回路は、タッチパネル２８からの信号に基づいて所定の形式のタッチ位置データを生成してＣＰＵ４２に出力する。タッチ位置データは、タッチパネル２８の入力面のうちで入力が行われた位置の座標を示す。なお、タッチパネル制御回路は、タッチパネル２８からの信号の読み込み、および、タッチ位置データの生成を所定時間に１回の割合で行う。ＣＰＵ４２は、タッチ位置データを取得することにより、タッチパネル２８に対して入力が行われた位置を知ることができる。
【００８９】
操作部２４は、上記各ボタン２４ａ〜２４ｉからなり、ＣＰＵ４２に接続される。操作部２４からＣＰＵ４２へは、各ボタン２４ａ〜２４ｉに対する入力状況（押下されたか否か）を示す操作データが出力される。ＣＰＵ４２は、操作部２４から操作データを取得することによって、操作部２４に対する入力に従った処理を実行する。
【００９０】
各カメラ１６および１８はＣＰＵ４２に接続される。各カメラ１６および１８は、ＣＰＵ４２の指示に従って画像を撮像し、撮像した画像データをＣＰＵ４２に出力する。ＣＰＵ４２は、各カメラ１６および１８からの画像データをメインメモリ４８の画像エリア（図示せず）に書き込む。ゲーム装置１０を撮像装置として利用する場合には、画像エリアに格納された画像データは、後にメモリ制御回路５０を介して保存用データメモリ５２に書き込まれる（必要に応じてさらに、メモリカードＩ／Ｆ４４を介してメモリカード３８ａに記録される）。また、画像エリアに格納された画像データは、各種のゲーム処理にも利用される。
【００９１】
また、各ＬＣＤ１２および１４はＣＰＵ４２に接続される。各ＬＣＤ１２および１４はＣＰＵ４２の指示に従って画像を表示する。ゲーム装置１０を撮像装置として利用する場合、ＣＰＵ４２は、各カメラ１６および１８のいずれかから取得した画像を上側ＬＣＤ１４に表示させ、所定の処理によって生成した操作画面を下側ＬＣＤ１２に表示させる。ゲーム装置１０でゲームをプレイする場合には、ＬＣＤ１２および１４の一方または両方にゲーム画像が表示される。
【００９２】
以上のように構成されたゲーム装置１０で、この実施例のパズルゲームを実行するとき、下側ＬＣＤ１２には、たとえば図９（Ａ）〜図１１（Ｂ）に示すような画面Ｓｎが表示される。図９（Ａ）の画面Ｓｎはゲーム開始直後の画面つまり初期画面であり、この初期画面がパズルゲームの進行に従って図９（Ｂ）〜図１１（Ｂ）のように変化する。パズルゲームは、図１１（Ｂ）の画面Ｓｎが表示された後に終了される。
【００９３】
図９（Ａ）〜図１１（Ｂ）に共通して、画面ＳｎにはフィールドＦｄが配置され、このフィールドＦｄ内の所定位置たとえば上端付近に、長細いチューブのような形状を有するゴールエリアＧｌが設けられる。なお、ゴールエリアＧｌの所定位置ここでは左下には、ゴール条件（図８（Ａ）参照）が満足されたとき入り口（Ｅｎｔ：図１０（Ｃ）参照）が形成される。ゴールエリアＧｌ内の右奥には、ゴール条件を示すオブジェクト配列（“テンくん”の配列）Ａｒが描画される。フィールドＦｄ内（のゴールエリアＧｌ以外のエリア）には、テンくん１００およびモップン１０２といったオブジェクトが配置される。
【００９４】
このパズルゲームで連結すべき対象はテンくん１００であり、テンくん１００には、図６（Ａ）に示すように、赤，黄，青，オレンジ，緑，紫およびグレーの７色がある。これらのうち、赤，黄および青が基本の３色であり、オレンジ，緑および紫は、基本の３色のうち任意の２色を混合して得られる混合色である。また、テンくん１００からは、図１４（Ａ）に示すように、２つのプチテンくん１０４が生成される。プチテンくん１０４には、図６（Ｂ）に示すように、赤，黄，青つまり基本の３色がある。
【００９５】
具体的には、所定の条件が満足されたとき、１つのテンくん１００が２つのプチテンくん１０４に分離される。分離にあたっては、テンくん１００の色が各プチテンくん１０４に受け継がれる。また、所定の条件が満足されたとき、任意の２つのプチテンくん１０４が１つのプチテンくん１０４に合成される。合成にあたっては、２つのプチテンくん１０４の色が混合される。たとえば、赤と青のプチテンくん１０４が合成されると、紫のテンくん１００が得られる。同様に、青と黄のプチテンくん１０４が合成されると緑のテンくん１００が得られ、黄と赤のプチテンくん１０４が合成されるとオレンジのテンくん１００が得られる。
【００９６】
以上を前提に、まず、このパズルゲームの基本的な流れを説明する。パズルゲームが起動されると、最初、たとえば図９（Ａ）のような初期画面Ｓｎが下側ＬＣＤ１４に表示される。この初期画面Ｓｎでは、フィールドＦｄ内に赤，青および黄の３色のテンくん１００が適宜な数（ここでは各１個）、適宜な位置に配置されている。各テンくん１００は、任意の向きに所定速度（Ｖ１）で移動しており、画面ＳｎないしフィールドＦｄの周縁（壁）や他のテンくん１００などに接触すると、その向きが逆転する。また、ゴール条件に対応するテンくんの配列Ａｒとして、先頭から“青，赤”の順序を示す“（先頭）青⇒赤”が描画されている。
【００９７】
次に、プレイヤがタッチペン３６等で画面Ｓｎにタッチオンしてスライド操作を開始すると、図９（Ｂ）に示すように、画面Ｓｎにタッチ軌跡に沿って線Ｌｎが描画される。ここで、線Ｌｎの先頭つまりタッチオン位置には黒丸が、線Ｌｎの末尾つまり現在のタッチ位置には矢印が付されている。プレイヤがタッチアップすると、線Ｌｎの描画は停止され、描画された線Ｌｎは消去される。また、プレイヤは、基本的には線Ｌｎが交差しないようにスライド操作を行うが、意図的に交差させる場合もある（図１３，図１４参照：詳細は後述）。また、テンくん１００の向きは、線Ｌｎに接触したときにも逆転する。したがって、適当な線Ｌｎを描くことで、テンくん１００の動きを制限することもできる。
【００９８】
線Ｌｎの描画開始から所定時間が経過すると、図９（Ｃ）に示すように、線Ｌｎの先頭つまりタッチオン位置（黒丸）にモップン１０２が出現する。モップン１０２は、図１０（Ａ）に示すように、線Ｌｎ上を一定速度で末尾つまり現在のタッチ位置（矢）方向に移動しつつ線Ｌｎを消していく。つまり、スライド操作に応じて線Ｌｎを描画していく一方で、描画された線Ｌｎからは、モップン１０２が移動した分の軌跡が除去されていく。モップン１０２は、線Ｌｎの描画が停止すると、線Ｌｎと一緒に画面Ｓｎから消去される。
【００９９】
次に、プレイヤは、スライド操作を継続して、ペン先を所望のテンくん１００たとえば青のテンくん１００の位置へと移動させる。ペン先つまり現在のタッチ位置が青のテンくん１００の位置に到達すると、図１０（Ｂ）に示すように、青のテンくん１００は線Ｌｎに捕捉される。こうして線Ｌｎに捕捉されたテンくん１００は、“線上にいるテンくんリスト”（８４：図８（Ｂ）参照）に登録される。これにより、線上にいるテンくんリスト８４は、“無”から“赤”に更新される（図８（Ｂ）参照）。
【０１００】
ここで、線上にいるテンくんリスト８４は、新たなテンくん１００が登録される度に、ゴールエリアＧｌに提示されているゴール条件と比較される。この時点では、線上にいるテンくんリスト８４の配列は、ゴール条件に対応するテンくんの配列Ａｒと一致していないので、ゴールエリアＧｌに入り口Ｅｎｔは形成されておらず、さらにテンくん１００を連結する必要がある。
【０１０１】
引き続きスライド操作が行われ、タッチ位置がさらに赤のテンくん１００の位置に到達すると、図１０（Ｃ）に示すように、今度は赤のテンくん１００が線Ｌｎに捕捉される。こうして、線Ｌｎ上には、先頭から青，赤というテンくん１００の配列が形成され、線上にいるテンくんリスト８４は、“赤”から“（先頭）青⇒赤”に更新される（図８（Ｂ）参照）。
【０１０２】
この時点で、線上にいるテンくんリスト８４の配列はゴール条件の配列Ａｒと一致したため、ゴールエリアＧｌの入り口Ｅｎｔが開放される。プレイヤは、引き続きスライド操作を行い、図１１（Ａ）に示すように、ペン先を入り口Ｅｎｔに向けて移動させる。そして、図１１（Ｂ）に示すように、ペン先つまり現在のタッチ位置が入り口Ｅｎｔに到達すると、クリア条件が満足されたと判定され、クリア処理が実行される。
【０１０３】
なお、図示は省略するが、クリア処理では、線Ｌｎ上のテンくん１００が、末尾側から順番に（つまり赤，青の順に）、入り口Ｅｎｔを通ってゴールエリアＧｌ内に入っていく。以上で、このステージはクリアとなり、次のステージが開始される。
【０１０４】
なお、線上にいるテンくんリスト８４の配列がゴール条件の配列Ａｒと一致する前に、モップン１０２（線の先頭）が線Ｌｎ上にいるテンくん１００に追いつくと、図１２に示すように、線Ｌｎはモップン１０２と共に画面Ｓｎから消去され、そして線Ｌｎ上のテンくん１００は開放される。したがって、プレイヤは、最初から配列を作り直すことになる。
【０１０５】
また、図１３（Ａ）に示すように、描画中に線Ｌｎが交差した場合には、図１３（Ｂ）に示すように、線Ｌｎ上に生じたループＬｐが削除され、そして図１３（Ｃ）に示すように、ループＬｐ上のテンくん１００は開放される。したがって、テンくん１００を捕捉する順序（配列）を間違えた場合には、意図的に線を交差させてループＬｐ上のテンくん１００を開放し、改めて配列し直すこともできる。
【０１０６】
以降のステージでは、より困難なゴール条件が設定され、テンくん１００やモップン１０２の種類は多様化する。フィールドＦｄに暗闇Ｂｋ（図１５参照）が現れることもある。
【０１０７】
図７には、このパズルゲームに登場するオブジェクト（テンくん１００およびモップン１０２）の動き方、およびフィールドＦｄの種類が示される。まず、テンくん１００には、先述のような“通常”のテンくんおよび“プチテンくん”（１０２）に加え、ペン先つまりタッチ位置が接近すると“逃げ回る”テンくん，タッチ位置に“近寄ってくる”テンくん，および壁や他のテンくんを素通りして“飛び跳ねる”テンくんの合計５種類がある。次に、モップン１０２には、先述のように線Ｌｎ上を所定速度で“動く”モップンに加え、線Ｌｎの先頭に“止まっている”モップンが存在する。そして、フィールドＦｄには、先述のように全部透明な“通常”のフィールドに加え、画面Ｓｎの一部でオブジェクトが見えにくくなる“一部暗闇”のフィールドおよび画面Ｓｎの全部でオブジェクトが見えにくくなる“全部暗闇”のフィールドが存在する。
【０１０８】
以下、いくつかの主要なステージについて説明する。たとえば、あるステージでは、ゴール条件に対応するテンくんの配列Ａｒとして“（先頭）青⇒紫⇒赤”が設定される。この場合も、基本的には上記と同様の操作によって、線Ｌｎ上に“（先頭）青⇒紫⇒赤”のようなテンくんの配列を形成すればよい。しかし、初期画面Ｓｎには赤青黄３色のテンくん１００しか登場せず、紫のテンくん１００がいない。そこで、赤青２色のテンくん１００を各々プチテンくん１０４（同色）に分離して、得られた赤青２色のプチテンくんを合成することで、紫のテンくん１００を生成することになる。
【０１０９】
具体的には、図１４（Ａ）に示すように、任意の色（たとえば赤）のテンくん１００を囲むように線Ｌｎを交差させると、線Ｌｎで囲まれた（つまりループＬｐ内の）テンくん１００は、自身と同じ色（たとえば赤）の２つのプチテンくん１０４に分離する。したがって、赤のテンくん１００および青のテンくん１００の各々について、このような線Ｌｎの交差による分離を順次行えば、赤青２色各２個のプチテンくん１０４が生成される。
【０１１０】
一方、図１４（Ｂ）に示すように、異なる色（たとえば赤青２色）の２つのプチテンくん１０４を囲むように線Ｌｎを交差させると、ループＬｐ内の２つのプチテンくん１０４は１つのテンくん１００に合成される。このとき、テンくん１００の色は、その異なる２色の合成色（たとえば紫）となる。なお、２つのプチテンくん１０４が同じ色（たとえば青）であれば、テンくん１００の色も同じ色（たとえば青）となる。したがって、赤青２色のプチテンくん１０４について、このような線Ｌｎの交差による合成を行えば、紫のテンくん１００が生成される。
【０１１１】
これにより、ゴール条件の配列Ａｒを構成する要素が全て揃ったので、図９（Ａ）〜図１１（Ｂ）と同様の手順で線Ｌｎ上に“（先頭）青⇒紫⇒赤”の配列を形成し、この配列をゴールエリアＧｌへと導けばよい。
【０１１２】
なお、線Ｌｎを交差させたとき、ループＬｐ内に存在するプチテンくんの数が１または３以上であれば、このときループＬｐ内に存在するテンくん（０匹または２匹以上：ここでは、便宜上、テンくんが１匹も含まれていない状態を“０匹含まれている”と称する）がグレーのテンくんに変化する。プチテンくんは変化せず、ループは消滅する。
【０１１３】
グレーへの変色の一例を図１４（Ｃ）に示す。この例では、ループＬｐ内にプチテンくんが１匹とテンくんが２匹含まれているので、２匹のテンくんがグレーに変化している。グレーに変色したテンくんは、変化から所定時間が経過すると、元の色に戻る。このような変色によって、画面Ｓｎに視覚的な変化が与えられる。また、グレーのテンくんは、ゴール条件の配列Ａｒに含まれないので、グレーである時間をある程度長くすれば、配列形成の困難性を一時的に高める効果も期待できる。
【０１１４】
また、あるステージでは、図１５に示すように、フィールドＦｄの一部が暗闇Ｂｋとなる。さらに、図示は省略するが、フィールドＦｄの全部が暗闇Ｂｋとなるステージもある。いずれの場合も、暗闇Ｂｋでは、線Ｌｎに連結されていないテンくんは、目２０４以外は見えなくなり、そこに存在していることは認識できるものの、色の区別が困難となる。詳しくは、線Ｌｎの周囲に、暗闇Ｂｋに隠れない透明領域２０２が確保されており、このため、線Ｌｎの先頭２００に位置するモップン１０２および線Ｌｎに連結されたテンくん１００は、暗闇でも見ることができる。また、透明領域１０２は、線Ｌｎの末尾２００つまり現在のタッチ位置で大きく広がっており、このため、現在のタッチ位置（ペン先）の周囲は常に見通すことができる。
【０１１５】
また、あるステージでは、ペン先つまり現在のタッチ位置が接近すると“逃げ回る”テンくんが登場する。このようなテンくんは、ペン先で捕まえる（触れる）ことが困難なので、たとえば線Ｌｎで周りを囲うようにして動きを封じつつ捕まえる方法が有効である。
【０１１６】
また、あるステージでは、ペン先つまり現在のタッチ位置に“近寄ってくる”テンくんが登場する。このようなテンくんがいると、所望のテンくんの捕捉が困難になるので、線Ｌｎで行く手を阻む方法が有効である。
【０１１７】
また、あるステージでは、フィールドＦｄの壁や他のテンくんを素通りして“飛び跳ねる”テンくんも登場する。線Ｌｎで動きを制限する方法も使えないため、捕捉には高い技量が要求される。
【０１１８】
また、あるステージでは、線Ｌｎの先頭に“止まっている”モップンが登場する。この場合、モップンによって線Ｌｎが消去されないため、線Ｌｎが錯綜しないように考えながら線Ｌｎを描く必要がある。また、図１３に示した交差による線の削除が有効である。
【０１１９】
また、あるステージでは、線Ｌｎの長さが所定長（たとえば２００ドット）以下に制限される。この場合、線Ｌｎを描く速さが速すぎると、線Ｌｎの長さが制限をオーバーしてしまい、ゲームオーバーとなる。したがって、線Ｌｎが消される速度つまりモップンの移動速度Ｖ２とのバランスを考慮しながら、長さが所定長をーバーしないように線Ｌｎを描く必要がある。
【０１２０】
以上のような動作は、ゲーム装置１０のＣＰＵ４２が、メインメモリ４８に記憶された図１６に示すようなプログラムおよびデータに基づいて、図１７〜図２４に示すようなフローに従う処理を実行することにより実現される。
【０１２１】
すなわち、この実施例のパズルゲームを実行するとき、図１５に示すように、メインメモリ４８には、プログラムエリア４８ａおよびデータエリア４８ｂが形成され、プログラムエリア４８ａにゲームプログラム７０および入出力制御プログラム７２などが格納される。
【０１２２】
ゲームプログラム７０は、ＣＰＵ４２を介して各種ハードウェア（１２〜４０，４４〜６０）を制御してパズルゲームを実現するメインのソフトウェアプログラムであり、図１７〜図２４のフローに対応している。入出力制御プログラム７２は、ゲームプログラム７０によって利用されるサブのソフトウェアプログラムであり、主としてＬＣＤ１２および１４，操作部２４，Ｉ／Ｆ回路４０などを制御してタッチ入力，ボタン入力，画像出力などを実現する。
【０１２３】
データエリア４８ｂは、ステージ情報７４，タッチ座標７６，線情報７８，テンくん情報８０，モップン情報８２，線上にいるテンくんリスト８４および時間情報８６などが記憶される。ステージ情報７４は、各ステージで採用されるゲーム条件を示す情報であり、ステージ１情報７４１，ステージ２情報７４２，ステージ３情報７４３…を含む。
【０１２４】
ステージ１情報７４１には、フィールドの種類，線の長さ制限，制限時間，テンくんの速度（Ｖ１），モップンの速度（Ｖ２），およびゴール条件（Ａｒ）などが記述される。テンくんの種類は、図７に示した５種類のいずれか１つであり、モップンの種類は、図７に示した２種類のいずれか１つであり、そしてフィールドの種類は、図７に示した３種類のいずれか１つである。
【０１２５】
線の長さ制限には、無制限の場合は“無”が、制限がある場合はその制限長（定数：たとえば２００ドット）が記述される。制限時間は、ゲーム開始からゲームオーバーとなるまでの時間であり、たとえば１分３０秒などのように記述される。テンくんの速度（Ｖ１）は、テンくん１００がフィールドＦｄ内もしくは線Ｌｎ上を移動する速度であり、たとえば１０ドット／秒のように記述される。モップンの速度（Ｖ２＞Ｖ１）は、モップン１０２が線Ｌｎを消しながら移動する速度であり、たとえば１５ドット／秒のように記述される。ゴール条件には、図８（Ａ）に示すように、所定のテンくんの配列Ａｒ（図９（Ａ）参照）が記述されている。
【０１２６】
なお、ステージ２情報７４２，ステージ３情報７４３…にも同様の要素が記述される。
【０１２７】
また、図示は省略するが、ステージ情報７４の一部、たとえば線の長さ制限，制限時間などは、後述する時間情報８６と共に、必要に応じて上側ＬＣＤ１４に表示されてよい。
【０１２８】
タッチ座標７６は、タッチパネル２８の出力を所定周期でサンプリングした一連の座標データであり、タッチオン（タッチ開始）位置から現在のタッチ位置に至る最新のタッチ軌跡（つまり現時点で画面Ｓｎに描画されている線Ｌｎ）を示す。線情報７６には、線Ｌｎの長さ，交差（ループＬｐ）の有無などが記述される。線Ｌｎの長さおよび交差の有無は、１フレーム毎にタッチ座標７６に基づいて計算され、最新の値に更新される。
【０１２９】
テンくん情報８０には、画面Ｓｎ内の各テンくん１００について、色，種類（動き方）、位置および方向が記述される。色は、図６（Ａ）に示した７色のいずれか１つ（定数）であるが、図１４に示したような分離または合成に応じて変更され得る。位置および方向は、１フレーム毎に所定のアルゴリズムに基づいて計算され、最新の値に更新される。
【０１３０】
モップン情報８２は、画面Ｓｎ内のモップン１０２について、種類（動き方），位置および方向が記述される。位置および方向は、１フレーム毎に所定のアルゴリズムに基づいて計算され、最新の値に更新される。
【０１３１】
線上にいるテンくんリスト８４は、現時点で線Ｌｎ上に配置されているテンくんの配列を示すリストであり、一例が図８（Ｂ）に示されている。その内容は、新たなテンくんが加わる度に更新される。時間情報８６は、ゲーム開始からの経過時間を示す情報であり、所定の周期で（たとえば６フレームつまり０．１秒毎に）更新される。ゲーム中に参照される各種の時間、たとえば線Ｌｎが描画され始めてからの経過時間なども、この時間情報８６に基づいて計算される。
【０１３２】
ゲームプログラム７０が起動されると、図１７に示すステップＳ１〜Ｓ２３の処理が１フレーム周期で繰り返し実行される。図１７を参照して、ＣＰＵ４２は、まずステップＳ１で、ステージ情報７４およびテンくん情報８０に基づいて、たとえば図９（Ａ）に示すようなゲーム画面をＬＣＤ１２に初期表示する。次に、ステップＳ３で現在のタッチ位置（タッチ座標）を検出し、データエリア４８ｂのタッチ座標７６および線情報７８を更新する。さらに、ステップＳ５で、たとえば図９（Ｂ）に示すように、画面Ｓｎに線Ｌｎを描画（データエリア４８ｂの線情報７８を更新）し、そしてステップＳ７で、線が交差したときの処理（図１８：後述）を実行する。ステップＳ７の処理結果は、データエリア４８ｂのテンくん情報８０，線上にいるテンくんリスト８４等に反映される。
【０１３３】
次に、ステップＳ９でタッチ座標とテンくんの接触処理（図１９：後述）を実行し、さらに、ステップＳ１１でモップン処理（図２０：後述）を、ステップＳ１３では線上のテンくんの移動処理（図２１：後述）を、ステップＳ１５ではフィールド上のテンくんの移動処理（図２２：後述）を、順次実行する。ステップＳ９〜Ｓ１５の処理結果は、データエリア４８ｂの線情報７８，テンくん情報８０，モップン情報８２および線上にいるテンくんリスト８４等に適宜反映される。
【０１３４】
そして、ステップＳ１７でクリア条件の判定処理（図２３：後述）を実行した後、クリア条件が満たされたか否かをステップＳ１９で判別する。なお、ステップＳ１７の判定処理の結果はフラグで示され、ステップＳ１９の判別は、このフラグを参照して行われる。ステップＳ１９でＹＥＳであれば、この処理は終了される。
【０１３５】
ステップＳ１９でＮＯであれば、ステップＳ２１でゲームオーバーの判定処理（図２４：後述）を実行し、そしてゲームオーバーか否かを次のステップＳ２３で判別する。なお、ステップＳ２１の判定処理の結果はフラグで示され、ステップＳ２３の判別は、このフラグを参照して行われる。ステップＳ２３でＹＥＳであれば、この処理は終了される。
【０１３６】
ステップＳ２３でＮＯであれば、ステップＳ１に戻ってゲーム画面を更新表示する。つまり、現在のフレームの画面Ｓｎに代えて、次のフレームの画面ＳｎがＬＣＤ１２に表示される。先に実行されたステップＳ３〜Ｓ１５の処理結果つまりデータエリア４８ｂの更新内容は、この時点でゲーム画面に反映される。以降、クリア条件を満たすか、あるいはゲームオーバーとなるまで、同様の処理が繰り返し実行される。
【０１３７】
上記ステップＳ７つまり線が交差したときの処理は、詳しくは図１８のサブルーチンに従って実行される。まずステップＳ３１で、線Ｌｎが交差したか否かを線情報７８に基づいて判別し、ここでＮＯであれば、メインルーチン（図１７参照）に復帰する。ステップＳ３１でＹＥＳであれば、ステップＳ３３で、交差により生じたループＬｐ内（ループＬｐで囲まれた領域の内部）にテンくんが１匹だけ含まれるか否かを判別する。ステップＳ３３でＮＯであればステップＳ３７に進む一方、ＹＥＳであれば、ステップＳ３５でそのテンくんをプチテンくん２匹に分離する（図１４（Ａ）参照）。そして分離後、ステップＳ４７に進む。
【０１３８】
ステップＳ３７では、ループＬｐ内にプチテンくんが２匹だけ含まれるか否かを判別する。ステップＳ３７でＮＯであればステップＳ４１に進む一方、ＹＥＳであれば、ステップＳ３９でそれら２匹のプチテンくんをテンくん１匹に合成する（図１４（Ｂ）参照）。そして合成後、ステップＳ４７に進む。
【０１３９】
ステップＳ４１では、ループＬｐ内にプチテンくんが含まれる否かを判別する。したがって、判別結果は、ループＬｐ内にプチテンが１匹以上含まれていればＹＥＳ、１匹も含まれていなければＮＯとなるが、ステップＳ４１は、ステップＳ３３およびＳ３７で共にＮＯの後の処理なので、ＹＥＳの場合、ループＬｐ内には、プチテンくんが１匹だけまたは３匹以上含まれており、さらにテンくんが０匹または２匹以上含まれていることになる。なお、ここでは便宜上、１匹も含まれていない状態を“０匹含まれている”と称する。
【０１４０】
そこで、ステップＳ４１でＹＥＳの場合、ステップＳ４３に進んで、ループＬｐ内の０匹または２匹以上のテンくんをグレーのテンくんに変化させる（図１４（Ｃ）参照）。なお、プチテンくんの色に変化はない。そして、グレーに変色したテンくんが所定フレーム後（たとえば６０フレーム後）に元の色に戻るように、次のステップＳ４５で設定する。したがって、グレーのテンくんは、たとえば１秒後に元の色に戻ることになる。設定後、ステップＳ４７に進む。
【０１４１】
一方、ステップＳ４１でＮＯの場合、ループＬｐ内には、何も含まれていない（プチテンくんもテンくんも０匹）か、またはテンくんが２匹以上含まれていることになるが、何も起こることなくステップＳ４７に進む。
【０１４２】
ステップＳ４７では、たとえば図１３（Ｂ）あるいは図１４（Ａ）〜図１４（Ｃ）に示すように、線ＬｎからループＬｐを消去する。そして、次のステップＳ４９で、たとえば図１３（Ｃ）に示すように、ループＬｐ上のテンくんを開放（線上にいるテンくんリスト８４から削除）する。なお、線Ｌｎ上のループＬｐとは異なる部分に配置されていたテンくんは、このとき開放されない。開放されたテンくんは、以降、任意の方向に移動する。開放後、メインルーチンに復帰する。
【０１４３】
上記ステップＳ９つまりタッチ座標とテンくんの接触処理は、詳しくは図１９のサブルーチンに従って実行される。まずステップＳ５１で、ペン先つまり現在のタッチ位置がテンくんに接触したか否かを、タッチ座標７６およびテンくん情報８０に基づいて判別する。ここでＮＯであれば、何もせずにメインルーチンに復帰する。ステップＳ５１でＹＥＳであれば、ステップＳ５３で、その接触したテンくんを線上にいるテンくんリスト８４に追加する（図８（Ｂ）参照）。追加後、メインルーチンに復帰する。
【０１４４】
上記ステップＳ１１つまりモップン処理は、詳しくは図２０のサブルーチンに従って実行される。まずステップＳ６１で、モップンが出現しているか否かをモップン情報８２に基づいて判別し、ＹＥＳであればステップＳ６７に進む。ステップＳ６１でＮＯであれば、ステップＳ６３に移り、線Ｌｎが描画され始めて一定時間以上経過したか否かを時間情報８６に基づいてさらに判別する。ここでもＮＯであれば、メインルーチンに復帰する。
【０１４５】
ステップＳ６３でＹＥＳであれば、ステップＳ６５で、たとえば図９（Ｃ）に示すように、描画した線Ｌｎの先頭にモップン１０２を出現させる（モップン情報８２を更新する）。その後、メインルーチンに復帰する。
【０１４６】
ステップＳ６７では、線Ｌｎが描画されているか否かを線情報７８に基づいて判別し、ここでＮＯであれば、ステップＳ６９で画面Ｓｎからモップン１０２を除去（モップン情報８２を更新）した後、メインルーチンに復帰する。
【０１４７】
ステップＳ６７でＹＥＳであれば、ステップＳ７１に進んで、モップン１０２を線Ｌｎ上で速度（Ｖ２）分だけ移動させる（モップン情報８２を更新する）。モップン１０２の速度Ｖ２は、ステージ情報７４に記述されている。次に、ステップＳ７３で、たとえば図１０（Ｃ）に示すように、線Ｌｎからモップン１０２の移動した軌跡分を除去する（線情報７８を更新する）。そして、ステップＳ７５で、たとえば図１２に示すようにモップン１０２が線Ｌｎ上のテンくん１００に追いついたか否かを、線情報７８，テンくん情報８０およびモップン情報８２等に基づいて判別する。ここでＮＯであれば、メインルーチンに復帰する。
【０１４８】
ステップＳ７５でＹＥＳであれば、ステップＳ７７で、図１２に示すように画面Ｓｎから線Ｌｎを除去し、そしてステップＳ７９で線Ｌｎ上のテンくん１００を開放（線上にいるテンくんリスト８４から削除）する。開放されたテンくん１９９は、以降、任意の方向に移動する。その後、メインルーチンに復帰する。
【０１４９】
上記ステップＳ１３つまり線上のテンくんの移動処理は、詳しくは図２１のサブルーチンに従って実行される。まずステップＳ８１で、線Ｌｎ上にテンくん１００がいるか否かを線上にいるテンくんリスト８４に基づいて判別し、ＮＯであればメインルーチンに復帰する。ステップＳ８１でＹＥＳであれば、ステップＳ８３で、線上のテンくんの場所（線上にいるテンくんリスト８４に登録されているテンくん１００の現在位置）に線Ｌｎがあるか否かをさらに線情報７８およびテンくん情報８０等に基づいて判別し、ここでもＹＥＳであればステップＳ８７に進む。なお、線上のテンくんの場所に線Ｌｎがないのは、線Ｌｎが交差してその一部（ループＬｐ）が除去された場合（Ｓ４９）か、またはモップン１０２が線Ｌｎ上のテンくん１００に追いついて線Ｌｎが除去された場合（Ｓ７９）である。
【０１５０】
ステップＳ８３でＮＯであれば、ステップＳ８５で、該当するテンくんを線上にいるテンくんリスト８４から削除し、そしてメインルーチンに復帰する。ステップＳ８３でＹＥＳであれば、たとえば図１０（Ｂ），図１０（Ｃ）等に示すように、線Ｌｎ上にいるテンくんを速度（Ｖ１）分だけ線Ｌｎの末尾方向へ移動させる（テンくん情報８０を更新する）。テンくんの速度Ｖ１は、ステージ情報７４に記述されている。その後、メインルーチンに復帰する。
【０１５１】
上記ステップＳ１５つまりフィールド上のテンくんの移動処理は、詳しくは図２２のサブルーチンに従って実行される。まずステップＳ９１で、フィールド上のテンくん１００（線Ｌｎ上のものを除く）を、ステージ情報７４に記述されたテンくんの動き方で速度（Ｖ１）分だけ移動させる（テンくん情報８０を更新する）。なお、ここではフィールドＦｄ内のテンくんも線Ｌｎ上のテンくんも同じ速度Ｖ１で移動させているが、速度は、フィールドＦｄ内と線Ｌｎ上とで異なってもよく、テンくん毎に設定されてもよい。
【０１５２】
次に、ステップＳ９３で、テンくんが壁つまり画面Ｓｎの周縁と接触するか否かをテンくん情報８０に基づいて判別し、ここでＹＥＳであればステップＳ９９に進む。ステップＳ９３でＮＯであれば、ステップＳ９５で、テンくんが線Ｌｎと接触するか否かをさらにタッチ座標７６および線情報７８に基づいて判別する。ステップＳ９５の判別結果がＹＥＳであればステップＳ９９に進む一方、ＮＯであれば、テンくんが他のテンくんと接触するか否かをさらにステップＳ９７で判別する。ステップＳ９７でもＮＯであれば、ステップＳ１０１に進んで、テンくんの向きをランダムに変化させ（テンくん情報８０を更新し）、メインルーチンに復帰する。ステップＳ９７でＹＥＳであれば、ステップＳ９９に進む。
【０１５３】
ステップＳ９９では、テンくんの向きを逆転させる（テンくん情報８０を更新する）。そして、メインルーチンに復帰する。
【０１５４】
上記ステップＳ１７つまりクリア条件の判定処理は、詳しくは図２２のサブルーチンに従って実行される。まずステップＳ１１１で、線上にいるテンくんリスト８４が、ステージ情報７４に記述されたゴール条件（Ａｒ）を満たしているか否かを判別する。たとえば、ゴール条件が、図８（Ａ）に示すように“（先頭）青⇒赤”である場合、線上にいるテンくんリスト８４が、図８（Ｂ）に示すように“無”から“赤”を経て“（先頭）青⇒赤”へと変化して、両者の配列が一致した時点で、ゴール条件を満たした（ＹＥＳ）と判別される。ステップＳ１１１でＮＯ（配列が不一致）であれば、メインルーチンに復帰する。
【０１５５】
ステップＳ１１１でＹＥＳであれば、ステップＳ１１３で、現時点のタッチ位置（タッチ座標）がゴールＧｌと接触したか否かをタッチ座標７６に基づいて判別し、ここでもＹＥＳであれば、ステップＳ１１５で、クリア条件を満たす旨のフラグを立てた後、メインルーチンに復帰する。
【０１５６】
なお、より特定的には、ステップＳ１１１でＹＥＳの後、たとえば図１０（Ｃ）に示すように、ゴールエリアＧｌの入り口Ｅｎｔを開放し、そしてステップＳ１１３で、たとえば図１１（Ｂ）に示すように、タッチ座標７６の末尾（現在のタッチ位置）がゴールエリアＧｌの入り口Ｅｎｔに到達したか否かを判別してもよい。
【０１５７】
上記ステップＳ２１つまりゲームオーバーの判定処理は、詳しくは図２２のサブルーチンに従って実行される。まずステップＳ１２１で、ゲーム開始からの経過時間が制限時間をオーバーしたか否かを時間情報８６に基づいて判別し、ＹＥＳであればステップＳ１２７に進む。ステップＳ１２１でＮＯであれば、ステップＳ１２３で、線Ｌｎの長さに制限があるか否かをステージ情報７４に基づいて判別し、ここでもＮＯであれば、メインルーチンに復帰する。
【０１５８】
ステップＳ１２３でＹＥＳであれば、ステップＳ１２５で、線Ｌｎの長さが制限長をオーバーしたか否かを線情報７８に基づいてさらに判別する。ステップＳ１２５の判別結果がＮＯであればメインルーチンに復帰する一方、ＹＥＳであればステップＳ１２７に進む。
【０１５９】
ステップＳ１２７では、ゲームオーバー条件を満たす旨のフラグを立てる。その後、メインルーチンに復帰する。
【０１６０】
以上から明らかなように、この実施例では、ゲーム装置１０は、複数の動くオブジェクト１００が配置された画面Ｓｎ内で任意の位置を指定するタッチパネル２８を有する。ゲーム装置１０のＣＰＵ４２は、メインメモリ４８に記憶されたゲームプログラム７０の制御下で、タッチパネル２８によって指定される位置を繰り返し検出し（Ｓ３）、検出された位置に沿って画面Ｓｎ上に線Ｌｎを描画していき（Ｓ５）、検出された位置が画面Ｓｎ内のいずれかのテンくん１００と接触する度に当該テンくん１００を線Ｌｎ上に配列していき（Ｓ５１，Ｓ５３）、線Ｌｎ上に配列されたテンくん１００を線Ｌｎの末尾方向へ速度Ｖ１で移動させる（Ｓ８７）一方、描画された線Ｌｎを先頭から速度Ｖ１よりも速い速度Ｖ２（＞Ｖ１）で消去していき（Ｓ７３）、そして線消去およびオブジェクト移動の両処理に関連して線Ｌｎの先頭が線Ｌｎ上のテンくん１００に追い付く前に、線Ｌｎ上のテンくん１００の配列がゴール条件の配列（所定のテンくんの配列Ａｒ）との間で一致条件を満足した場合に（Ｓ１１１：ＹＥＳ）、クリア処理を実行する（Ｓ１１５）。
【０１６１】
すなわち、プレイヤが、画面Ｓｎ内で動くテンくん１００をタッチパネル２８で順次指定していくと、ゲーム装置１０のＣＰＵ４２は、その指定された位置つまり軌跡に沿って画面Ｓｎに線Ｌｎを描画しながら、指定されたテンくん１００を線Ｌｎ上に配列していく。また、線Ｌｎ上でテンくん１００を末尾方向に移動させつつ、その移動速度（Ｖ１）よりも速い速度（Ｖ２＞Ｖ１）で線Ｌｎを先頭から削除していく。そして、線Ｌｎの先頭が線Ｌｎ上のテンくん１００に追い付く前に線Ｌｎ上に所定のテンくんの配列Ａｒが形成さたとき、クリア処理を実行する。
【０１６２】
したがって、この実施例によれば、プレイヤは、タッチパネル２８でテンくん１００を指定すると共に線Ｌｎの描画も行いながら、なおかつ複数のテンくん１００を線Ｌｎ上で所定の順序に配列することが求められるので、複数のオブジェクトを所定の順序に配列するゲームの戦略性および趣向性を高めることができる。
【０１６３】
以上では、ゲーム装置１０について説明したが、この発明は、コンピュータ（ＣＰＵ）を備える画像処理装置（ゲーム機のほか、たとえばＰＣ，ＰＤＡ，携帯電話機など）に適用できる。各処理が複数のコンピュータ等によって分散処理されるようなゲームシステムにも適用可能である。
【符号の説明】
【０１６４】
１０  …ゲーム装置
１２，１４  …（下側，上側）ＬＣＤ
１６，１８  …（第１，第２）カメラ
４２  …ＣＰＵ
４８  …メインメモリ
１００  …テンくん
１０２  …モップン
１０４  …プチテンくん
Ｓｎ  …画面
Ｆｄ  …フィールド
Ｌｎ  …線
Ｌｐ  …ループ
Ｇｌ  …ゴール
Ａｒ  …ゴール条件に対応するテンくんの配列
Ｂｋ  …暗闇
【図１】
0005498817.tif 000002
【図２】
0005498817.tif 000003
【図３】
0005498817.tif 000004
【図４】
0005498817.tif 000005
【図５】
0005498817.tif 000006
【図６】
0005498817.tif 000007
【図７】
0005498817.tif 000008
【図８】
0005498817.tif 000009
【図９】
0005498817.tif 000010
【図１０】
0005498817.tif 000011
【図１１】
0005498817.tif 000012
【図１２】
0005498817.tif 000013
【図１３】
0005498817.tif 000014
【図１４】
0005498817.tif 000015
【図１５】
0005498817.tif 000016
【図１６】
0005498817.tif 000017
【図１７】
0005498817.tif 000018
【図１８】
0005498817.tif 000019
【図１９】
0005498817.tif 000020
【図２０】
0005498817.tif 000021
【図２１】
0005498817.tif 000022
【図２２】
0005498817.tif 000023
【図２３】
0005498817.tif 000024
【図２４】
0005498817.tif 000025