(57)【要約】【課題】  表示された複数の画像を配置することによって、仮想空間に存在するオブジェクトの全体像を推測しつつパズルを解くことができるパズルゲームのゲームプログラムを提供する。【解決手段】  操作信号に応じて素片を移動させる態様で表示し、複数の素片が配置されたときに整合性データを参照してパズルゲームに正答したか否かを判断し、パズルゲームに正答したときには、複数の素片によってオブジェクトが整合して仮想空間に存在する態様で表示手段において表示する。【選択図】  図１５
2011136049.tif 000002
【特許請求の範囲】
【請求項１】
パズルゲームを実行するためのゲームプログラムであって、
複数の素片と、前記複数の素片が並べられる集合立体とが表示される表示手段と、
プレイヤによって操作され、操作に応じた操作信号を発する操作手段と、
前記操作信号から発せられた前記操作信号に応じて、以下の（１−１）〜（１−３）の処理を実行して、前記複数の素片と前記集合立体とを前記表示手段に表示する制御手段と、
前記パズルゲームの正答を定めた整合性データと、前記複数の素片の各々に表示される画像の画像データと、が記憶された記憶手段と、を有するゲーム装置において実行され、
前記整合性データは、前記パズルゲームが正答であるときに前記集合立体に並べられた素片の配置の関係を示すデータであり、
前記画像データは、前記表示手段において、仮想空間にオブジェクトが存在する態様で前記複数の素片の各々で表示するためのデータであるゲームプログラム。
（１−１）  前記操作信号に応じて前記素片を移動させる態様で表示する処理、
（１−２）  前記複数の素片が並べられたときに、前記整合性データを参照して、パズルゲームに正答したか否かを判断する処理、及び
（１−３）  前記パズルゲームに正答したときには、前記複数の素片によって前記オブジェクトが整合して仮想空間に存在する態様で前記表示手段において表示する処理。
【請求項２】
前記複数の素片の各々は、平面形状を有する平面素片であり、
前記画像データは、前記平面素片の表面に沿って前記オブジェクトを連続的に移動する態様で表示するための動画データである請求項１に記載のゲームプログラム。
【請求項３】
前記複数の素片の各々は、平面形状を有する平面素片であり、
前記集合立体は、前記集合立体の外形を画定しかつ透視可能な複数の立体表面を有し、
前記画像データは、前記集合立体の内側の仮想空間に存在するオブジェクトを前記複数の立体表面の各々を介して仮想カメラによって撮影したものとして得られた三次元立体画像データであって、
前記（１−１）の処理は、
（３−１）  前記操作信号に応じて平面素片を移動させて複数の立体表面のいずれかに並べる処理であり、
前記（１−３）の処理は、
（３−３）  前記パズルゲームに正答したときには、前記集合立体に並べられた前記平面素片によって前記集合立体の内側の仮想空間においてオブジェクトが整合して存在する態様で前記表示手段において表示する処理である請求項１に記載のゲームプログラム。
【請求項４】
前記複数の素片の各々は、立体形状を有する立体素片であり、
前記集合立体は、前記集合立体の外形を画定しかつ透視可能な複数の立体表面を有し、
前記画像データは、前記集合立体の内側の仮想空間に存在するオブジェクトを前記複数の立体表面の各々を介して仮想カメラによって撮影したものとして得られた三次元立体画像データであって、
前記（１−１）の処理は、
（４−１）  前記操作信号に応じて、立体素片を移動させて前記集合立体を組み立てる処理であり、
前記（１−３）の処理は、
（４−３）  前記パズルゲームに正答したときには、前記集合立体として組み立てられた前記立体素片によって、前記集合立体の内側の仮想空間においてオブジェクトが整合して存在する態様で前記表示手段において表示する処理である請求項１に記載のゲームプログラム。
【請求項５】
仮想カメラは、前記集合立体の高さ方向の複数の位置に配置された複数の仮想撮影カメラであり、
前記三次元立体画像データは、前記複数の仮想撮影カメラの各々に応じた高さで前記集合立体の中心からの距離を一定に保ちつつ前記複数の仮想撮影カメラの各々が前記集合立体を周回して撮影したデータである請求項４に記載のゲームプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
仮想空間に存在するオブジェクトを表示してパズルを解くゲームプログラムに関する。
【背景技術】
【０００２】
従来、観賞する者に所定の映像を視認させる映像シミュレーション装置があった。この従来の映像シミュレーション装置は、観賞する者の全体を覆うように形成されたスクリーンに各種の画像を表示することによって、観賞する者が、その場所に実際にいるという錯覚を起こす程に高い臨場感を味わえるようにしたものであった（たとえば、特許文献１参照）。
【０００３】
また、プレイヤの競技姿勢を検出して、検出した競技姿勢に応じて又は任意に、ディスプレイ装置に表示する映像の視点を変化させて三次元立体画像を表示する遊技装置があった（たとえば、特許文献２参照）。
【０００４】
さらに、車両に乗ってプレイするレースゲームを行うゲーム装置もあった。このゲーム装置は、三次元空間で車両が移動するときの車両の傾きをリアルタイムで反映して、三次元立体画像を表示するものであった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平７−１２９７８９号公報
【特許文献２】特開平７−１１６３４３号公報
【特許文献３】特開平１０−２１４２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の映像シミュレーション装置は、観賞する者の全体を覆うように形成されたスクリーンを要していたため、装置全体が大きくならざるを得なかった。ゲームセンタなどの店舗のように、一定の位置に設置せざるを得なかった。また、観賞する者が操作して進めるものではなかったため、観賞する者を積極的に参加させることができず、飽きられやすい可能性があった。
【０００７】
また、プレイヤの競技姿勢に応じて又は任意に視点を変化させる遊技装置は、視点を異ならしめた単一の三次元立体画像をディスプレイに表示するものであり、プレイヤは、表示された単一の画像のみを視認してゲームを進めるものであった。このため、各種の視点の方向からの情報を用いてオブジェクトを推定するものではなかった。
【０００８】
さらに、三次元空間で車両が移動するときの車両の傾きをリアルタイムで反映して、三次元立体画像を表示するものも、同様に、単一の画像のみを視認してゲームを進めるものであり、各種の視点の方向からの情報を用いてオブジェクトを推定するものではなかった。
【０００９】
本発明は、上述の点に鑑みてなされたものであり、その目的とするところは、表示された複数の画像を配置することによって、仮想空間に存在するオブジェクトの全体像を推測しつつパズルを解くことができるパズルゲームのゲームプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
本発明の実施の形態に係る特徴は、
パズルゲームを実行するためのゲームプログラムであって、
複数の素片と、前記複数の素片が配置される集合立体とが表示される表示手段と、
プレイヤによって操作され、操作に応じた操作信号を発する操作手段と、
前記操作信号から発せられた前記操作信号に応じて、以下の（１−１）〜（１−３）の処理を実行して、前記複数の素片と前記集合立体とを前記表示手段に表示する制御手段と、
前記パズルゲームの正答を定めた整合性データと、前記複数の素片の各々に表示される画像の画像データと、が記憶された記憶手段と、を有するゲーム装置において実行され、
前記整合性データは、前記パズルゲームが正答であるときに前記集合立体に並べられた素片の配置の関係を示すデータであり、
前記画像データは、前記表示手段において、仮想空間にオブジェクトが存在する態様で前記複数の素片の各々で表示するためのデータであることである。
（１−１）  前記操作信号に応じて、前記素片を移動させる態様で表示する処理、
（１−２）  前記複数の素片が並べられたときに、前記整合性データを参照して、パズルゲームに正答したか否かを判断する処理、及び
（１−３）  前記パズルゲームに正答したときには、前記複数の素片によって前記オブジェクトが整合して仮想空間に存在する態様で前記表示手段において表示する処理。
【００１１】
この構成によれば、予め定められた整合性データを用いてパズルゲームに正答したか否かを判断するので、正答したか否かを迅速かつ的確に判別することができる。また、パズルゲームに正答したときに表示されるであろうオブジェクトの全体の画像を推測しながら、素片を集合立体に配置してパズルゲームを解いていくので、新しい立体組み立てパズルを提供することができる。さらに、パズルゲームに正答したときには、仮想空間においてオブジェクトの全体が整合して表示されるので、パズルに正答したか否かを容易に判断することができる。
【００１２】
また、本発明の実施の形態に係る特徴は、上述した構成において、
前記複数の素片の各々は、平面形状を有する平面素片であり、
前記画像データは、前記平面素片の表面に沿って前記オブジェクトを連続的に移動する態様で表示するための動画データであることである。
【００１３】
この構成によれば、オブジェクトは移動する態様で平面素片の表面に沿って表示されるので、時間的に変化する画像が平面素片に表示され、正答となるオブジェクトの画像を推測することが困難になり面白みのあるパズルゲームを提供することができる。
【００１４】
本発明は、これらに限定されるものではないが、実施の形態を参照しつつ、本発明のプログラムをゲームシステム１００で実行する場合の具体例を簡単に説明する。
【００１５】
例えば、集合立体として、本実施の形態の図１０に示すような多面体（正六面体）を採用した場合に、前記素片を前記操作手段で操作して、前記整合性データと一致させて正答となるように素片の画像を移動させることで、ゲームシステム１００の表示手段（ディスプレイ１３４）上でゲームが実行される。そして、前記表示手段に表示された前記素片は、前記正六面体の面の各々と同一形状であり、オブジェクトを移動させる映像を表示するスクリーンとして機能する。本発明のゲームプログラムを、ゲームシステム１００の制御手段であるＣＰＵ１４０によって実行することで、このスクリーンとして機能する素片上でオブジェクトが連続的に移動する態様を、前記素片ごとに割り当てられたムービデータ（画像データ）を再生することによって実現する。
【００１６】
そして、このスクリーンとして機能する素片に表示する画像データは、たとえば、図１６のように、オブジェクトであるフィッシュ（魚）が矩形状の各素片の辺を跨って移動する態様で表示されるように生成されて、ゲームシステム１００の内部メインメモリ１４２ｅや外部メインメモリ１４６に記憶されている。この内部メインメモリ１４２ｅや外部メインメモリ１４６に記憶される画像データは、プレイヤに正答を推測させるために、正答となる素片と素片とを連結する辺を跨って動的にオブジェクトが移動する画像データとして予め用意しておくことが好ましい。
【００１７】
つまり、素片内のみを移動するオブジェクトを表示する部分的な画像データを、素片の各々に割り当てるのではなく、素片に跨ってオブジェクトが移動する態様の全体的な画像データを予め用意しておくことが、パズルを完成させてプレイヤに解き易くするための重要な要素となる。例えば、後述する図１５の（ｂ）の素片Ａと素片Ｂとに示したように、素辺Ｂの左辺近くのオブジェクトとしての魚Ｆ２の頭部分が欠如しているが、その頭部分に相当するオブジェクトとしての魚Ｆ１の頭が素片Ａに表示されていることから、素片Ａと素片Ｂとを連結させるように操作することが正答になるであろうと、プレイヤに推測させることができる。
【００１８】
さらに、本発明の実施の形態に係る特徴は、上述した構成において、
前記複数の素片の各々は、平面形状を有する平面素片であり、
前記集合立体は、前記集合立体の外形を画定しかつ透視可能な複数の立体表面を有し、
前記画像データは、前記集合立体の内側の仮想空間に存在するオブジェクトを前記複数の立体表面の各々を介して仮想カメラによって撮影したものとして得られた三次元立体画像データであって、
前記（１−１）の処理は、
（３−１）  前記操作信号に応じて平面素片を移動させて複数の立体表面のいずれかに並べる処理であり、
前記（１−３）の処理は、
（３−３）  前記パズルゲームに正答したときには、前記集合立体に並べられた前記平面素片によって前記集合立体の内側の仮想空間においてオブジェクトが整合して存在する態様で前記表示手段において表示する処理であることである。
【００１９】
この構成によれば、パズルゲームに正答したときには、集合立体の内側に形成された仮想空間にオブジェクトが整合して存在するように表示されるので、現実感のあるオブジェクトの画像を表示することができるとともに、現実感のある画像を見るためにパズルゲームに正答しようとする動機をプレイヤに与えることができる。また、三次元立体画像データを用いたことによって立体的なオブジェクトの画像を表示できるので、正答となるオブジェクトの全体の形状や大きさや色などを推測することを難しくして面白みのあるパズルゲームを提供することができる。
【００２０】
さらにまた、本発明の実施の形態に係る特徴は、上述した構成において、
前記複数の素片の各々は、立体形状を有する立体素片であり、
前記集合立体は、前記集合立体の外形を画定しかつ透視可能な複数の立体表面を有し、
前記画像データは、前記集合立体の内側の仮想空間に存在するオブジェクトを前記複数の立体表面の各々を介して仮想カメラによって撮影したものとして得られた三次元立体画像データであって、
前記（１−１）の処理は、
（４−１）  前記操作信号に応じて、立体素片を移動させて前記集合立体を組み立てる処理であり、
前記（１−３）の処理は、
（４−３）  前記パズルゲームに正答したときには、前記集合立体として組み立てられた前記立体素片によって、前記集合立体の内側の仮想空間においてオブジェクトが整合して存在する態様で前記表示手段において表示する処理であることである。
【００２１】
この構成によれば、立体形状を有する立体素片によって集合立体を組み立てるので、パズルをより難しくすることができる。また、三次元立体画像データを用いたことにより、集合立体だけでなく立体素片にも立体的なオブジェクトの画像を表示できるので、現実感のある画像を表示して、正答となるオブジェクトの全体の形状や大きさや色などを推測することをさらに難しくして、より面白みのあるパズルゲームを提供することができる。
【００２２】
また、本発明の実施の形態に係る特徴は、上述した構成において、
仮想カメラは、前記集合立体の高さ方向の複数の位置に配置された複数の仮想撮影カメラであり、
前記三次元立体画像データは、前記複数の仮想撮影カメラの各々に応じた高さで前記集合立体の中心からの距離を一定に保ちつつ前記複数の仮想撮影カメラの各々が前記集合立体を周回して撮影したデータであることである。
【００２３】
この構成によれば、三次元立体画像データは、集合立体を仮想的に周回して撮影したものとして生成した画像データであるので、複数の立体素片の各々に表示する画像を、回転角度方向を異ならしめて表示することができる。このようにしたことにより、複数の立体素片の並びだけでなく、複数の立体素片の各々の回転角度も調整しつつパズルを解く必要があるので、正答となるオブジェクトの全体の形状や大きさや色などの推測をさらに難しくしたパズルゲームを提供することができる。
【発明の効果】
【００２４】
表示された複数の画像を配置することによって、仮想空間に存在するオブジェクトの全体像を推測しつつパズルを解くことができるパズルゲームを提供することができる。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施の形態におけるゲームシステム１００を示す概略図である。
【図２】ゲームシステム１００の電気的な構成を示すブロック図である。
【図３】コントローラ１２２の外観を示す図である。
【図４】図３に示すコントローラ１２２の電気的な構成を示すブロック図である。
【図５】第１の実施の形態のパズルゲームであり、ＣＰＵ１４０によって実行されるパズルゲームの基本処理を示すフローチャートである。
【図６】第１の実施の形態のパズルゲームの初期化を行うためのサブルーチンを示すフローチャートである。
【図７】第１の実施の形態のパズルゲームのコントローラ操作のためのサブルーチンを示すフローチャートである。
【図８】第１の実施の形態のパズルゲームのディスプレイ表示のためのサブルーチンを示すフローチャートである。
【図９】第１の実施の形態のパズルゲームのテーブル更新の処理のためのサブルーチンを示すフローチャートである。
【図１０】第１の実施の形態のパズルゲームで用いる立方体を示す斜視図である。
【図１１】第１の実施の形態のパズルゲームで用いる動画データの表示領域（ａ）と、表示面の面番号及び表示面の各々を構成する辺の辺番号（ｂ）とを示す図である。
【図１２】第１の実施の形態のパズルゲームで用いる整合性成立テーブルを示す表である。
【図１３】第１の実施の形態のパズルゲームで用いる貼り付け結果テーブルを示す表である。
【図１４】第１の実施の形態のパズルゲームで用いる判定用テーブルを示す表である。
【図１５】第１の実施の形態のパズルゲームの例を示す図である。
【図１６】第１の実施の形態のパズルゲームの例を示す図である。
【図１７】第２の実施の形態のパズルゲームの例を示す図である。
【図１８】第２の実施の形態のパズルゲームの例を示す図である。
【図１９】第３の実施の形態のパズルゲームの初期化を行うためのサブルーチンを示すフローチャートである。
【図２０】第３の実施の形態のパズルゲームのコントローラ操作のためのサブルーチンを示すフローチャートである。
【図２１】第３の実施の形態のパズルゲームのディスプレイ表示のためのサブルーチンを示すフローチャートである。
【図２２】第３の実施の形態パズルゲームのテーブル更新の処理のためのサブルーチンを示すフローチャートである。
【図２３】第３の実施の形態のパズルゲームで用いる整合性成立テーブルを示す表である。
【図２４】第３の実施の形態のパズルゲームで用いる判定用テーブルを示す表である。
【図２５】第３の実施の形態のパズルゲームの例を示す図である。
【図２６】第３の実施の形態のパズルゲームの例を示す図である。
【発明を実施するための形態】
【００２６】
＜＜＜＜本実施の形態によるゲームプログラムの概略＞＞＞＞
【００２７】
本発明の実施の形態に係る特徴は、
パズルゲームを実行するためのゲームプログラムであり、表示手段と操作手段と制御手段と記憶手段と、を有するゲーム装置において実行されるゲームプログラムである。
【００２８】
表示手段には、複数の素片と集合立体とが表示される。素片は、面で構成された面素片や、立体で構成された立体素片がある。面素片や立体素片を構成する面は、平面でも曲面でもよい。ゲームを進めることによって、集合立体に複数の素片が配置される。
【００２９】
操作手段は、プレイヤによって操作されることができ、そのプレイヤによる操作に応じた操作信号を発する。
【００３０】
制御手段は、操作信号から発せられた操作信号に応じて、後述する（１−１）〜（１−３）の処理を実行する。さらに、制御手段は、これらの（１−１）〜（１−３）の処理を実行することによって、上述した複数の素片と集合立体とを表示するための表示制御信号を表示手段に出力する。
【００３１】
記憶手段は、整合性データと画像データとを記憶する。整合性データは、パズルゲームの正答を定めたデータであり、予め定められたデータである。具体的には、整合性データは、集合立体に並べられた素片の配置の関係を示すデータであり、パズルゲームが正答であるときの配置の関係を示すデータである。この素片の配置は、素片の並び方や組合せや素片の向きなどの情報であり、整合性データは、パズルゲームが正答であるときの素片の配置を示す情報である。この整合性データを参照することによって、パズルゲームに正答できたか否かを判断することができる。
【００３２】
この整合性データは、素片が集合立体に並べられたときに、隣り合うべき素片の配置の関係を示すデータであるのが好ましい。さらに、整合性データは、素片そのものを識別するための識別情報と、素片が面素片である場合には、面素片を構成する辺を識別する識別情報と、素片が立体素片である場合には、立体素片を構成する面や辺を識別する識別情報とからなるものが好ましい。このような情報を用いることによって、パズルゲームが正答であるときの素片の並び方や組合せや素片の向きなどを特定できる整合性データを定めることができる。
【００３３】
また、画像データは、複数の素片の各々に表示される画像のデータである。さらに、仮想空間にオブジェクトが存在する態様で複数の素片の各々で表示するためのデータである。素片は、表示手段に表示される画像であり、その表示された素片（素片の画像）の大きさや形状や向きに適合するように、画像データに記憶されたオブジェクトの画像が素片（素片の画像）に重ねあわされて表示される。具体的には、画像データに記憶されたオブジェクトの画像は、座標変換や陰面処理などの各種の画像処理を画像データに施して、素片（素片の画像）に重なるように表示手段に表示される。
【００３４】
上述したように、制御手段は、（１−１）〜（１−３）の処理を実行する。
（１−１）の処理は、操作手段から発せられた操作信号に応じて、表示手段において素片を移動させる態様で表示する処理である。また、（１−２）の処理は、複数の素片が集合立体に並べられたときに、整合性データを参照して、パズルゲームに正答したか否かを判断する処理である。さらに、（１−３）の処理は、パズルゲームに正答したときには、集合立体に並べられた複数の素片によってオブジェクトが整合して仮想空間に存在するように表示手段に表示する処理である。
【００３５】
この構成によれば、予め定められた整合性データを用いてパズルゲームに正答したか否かを判断するので、正答したか否かを迅速かつ的確に判別することができる。また、パズルゲームに正答したときに表示されるであろうオブジェクトの全体の画像を推測しながら、素片を集合立体に並べてパズルゲームを解いていくので、新しい立体組み立てパズルを提供することができる。さらに、パズルゲームに正答したときには、仮想空間においてオブジェクトの全体が整合して表示されるので、パズルに正答したか否かを容易に判断することができる。
【００３６】
仮想空間に存在するオブジェクトは表示対象物であればよく、人間や動物などのキャラクタや車両などの可動体などの動的な対象物でも、建物や岩などの静的な対象物でもよい。また、オブジェクトの数は、１つでも複数でもよく、パズルゲームとして興趣を高めることができるものであればよい。
【００３７】
また、「整合」とは、集合立体に並べられた複数の素片によって、オブジェクトを示す画像を連続的に表示できたり又は矛盾なく表示できたりすることをいう。オブジェクトの形状や大きさや色などを静的な特徴や属性について連続的に表示できたり又は矛盾なくオブジェクトを示す画像を表示できたりすることだけでなく、オブジェクトが移動する態様で表示される場合には、その移動の態様が連続的に表示できたり又は矛盾なく表示できたりすることもいう。
【００３８】
また、本発明の実施の形態に係る特徴は、上述した構成において、前記複数の素片の各々は、平面形状を有する平面素片である。さらに、前記画像データは、前記オブジェクトを連続的に移動する態様で表示するための動画データである。この動画データを用いてオブジェクトを表示したときには、平面素片の表面に沿ってオブジェクトが移動するように表示される。
【００３９】
この構成によれば、オブジェクトは移動する態様で平面素片の表面に沿って表示されるので、時間的に変化する画像が平面素片に表示され、正答となるオブジェクトの画像を推測することが困難になり面白みのあるパズルゲームを提供することができる。
【００４０】
さらに、本発明の実施の形態に係る特徴は、上述した構成において、複数の素片の各々は、平面形状を有する平面素片である。さらに、集合立体は複数の立体表面を有する。集合立体は、これらの複数の立体表面によって外形が画定される。これらの複数の立体表面の各々は透視可能である。透視可能とは、立体表面を介して、立体表面の一の側（たとえば外側）から他の側（たとえば内側）を視認することができることをいう。
【００４１】
さらにまた、この場合の画像データは三次元立体画像データである。この三次元立体画像データは、集合立体の内側の仮想空間に存在するオブジェクトを仮想カメラによって撮影したものとして得られたデータである。上述したように、集合立体は複数の立体表面を有し、仮想カメラによる撮影は、複数の立体表面の各々を介して行われたものである。たとえば、集合立体が六面体である場合には、立体表面は六面ある。したがって、この場合には、画像データは、第一の立体表面を介して仮想的に撮影されたとして生成された第一の三次元立体画像データと、第二の立体表面を介して仮想的に撮影されたとして生成された第二の三次元立体画像データと、第三の立体表面を介して仮想的に撮影されたとして生成された第三の三次元立体画像データと、第四の立体表面を介して仮想的に撮影されたとして生成された第四の三次元立体画像データと、第五の立体表面を介して仮想的に撮影されたとして生成された第五の三次元立体画像データと、第六の立体表面を介して仮想的に撮影されたとして生成された第六の三次元立体画像データとからなる。
【００４２】
また、上述した（１−１）の処理は、
（３−１）  操作手段から発せられた操作信号に応じて平面素片を移動させて複数の立体表面のいずれかに並べる処理である。
【００４３】
さらに、上述した（１−３）の処理は、
（３−３）  パズルゲームに正答したときには、オブジェクトが整合して存在する態様で表示手段において表示する処理である。オブジェクトは、集合立体の内側の仮想空間に存在するものであり、パズルゲームに正答したときには、集合立体に並べられた平面素片によって仮想空間でオブジェクトが整合して存在するように表示される。
【００４４】
この構成によれば、パズルゲームに正答したときには、集合立体の内側に形成された仮想空間にオブジェクトが整合して存在するように表示されるので、現実感のあるオブジェクトの画像を表示することができるとともに、現実感のある画像を見るためにパズルゲームに正答しようとする動機をプレイヤに与えることができる。また、三次元立体画像データを用いたことによって立体的なオブジェクトの画像を表示できるので、正答となるオブジェクトの全体の形状や大きさや色などを推測することを難しくして面白みのあるパズルゲームを提供することができる。
【００４５】
さらにまた、本発明の実施の形態に係る特徴は、上述した構成において、複数の素片の各々は、立体形状を有する立体素片である。さらに、集合立体は複数の立体表面を有する。これらの複数の立体表面によって集合立体の外形が画定される。なお、複数の立体表面は、辺や角などによって分離されている必要はなく、一体に構成された単一の立体表面を適宜分けて、複数の立体表面としてもよい。識別可能な複数の立体表面であればよい。さらに、これらの複数の立体表面の各々は透視可能である。上述したように、透視可能とは、立体表面を介して、立体表面の一の側（たとえば外側）から他の側（たとえば内側）を視認することができることをいう。
【００４６】
さらに、また、この場合の画像データも三次元立体画像データである。この三次元立体画像データは、集合立体の内側の仮想空間に存在するオブジェクトを仮想カメラによって撮影したものとして得られたデータである。上述したように、集合立体は複数の立体表面を有し、仮想カメラによる撮影は、複数の立体表面の各々を介して行われたものである。たとえば、集合立体が三つの立体表面からなる場合には、画像データは、第一の立体表面を介して仮想的に撮影されたとして生成された第一の三次元立体画像データと、第二の立体表面を介して仮想的に撮影されたとして生成された第二の三次元立体画像データと、第三の立体表面を介して仮想的に撮影されたとして生成された第三の三次元立体画像データとからなる。
【００４７】
また、上述した（１−１）の処理は、
（４−１）  操作手段から発せられた操作信号に応じて立体素片を移動させて前記集合立体を組み立てる処理である。
さらに、（１−３）の処理は、
（４−３）  パズルゲームに正答したときには、オブジェクトが整合して存在する態様で表示手段において表示する処理である。オブジェクトは、集合立体の内側の仮想空間に存在するものであり、パズルゲームに正答したときには、集合立体として組み立てられた立体素片によって、仮想空間でオブジェクトが整合して存在するように表示される。
【００４８】
この構成によれば、立体形状を有する立体素片によって集合立体を組み立てるので、パズルをより難しくすることができる。また、三次元立体画像データを用いたことにより、集合立体だけでなく立体素片にも立体的なオブジェクトの画像を表示できるので、現実感のある画像を表示して、正答となるオブジェクトの全体の形状や大きさや色などを推測することをさらに難しくして、より面白みのあるパズルゲームを提供することができる。
【００４９】
また、本発明の実施の形態に係る特徴は、上述した構成において、仮想カメラは、集合立体の高さ方向の複数の位置に配置された複数の仮想撮影カメラである。また、三次元立体画像データは、複数の仮想撮影カメラの各々に応じた高さで集合立体の中心からの距離を一定に保ちつつ複数の仮想撮影カメラの各々が集合立体を周回して撮影したデータである。
【００５０】
この構成によれば、三次元立体画像データは、集合立体を仮想的に周回して撮影したものとして生成した画像データであるので、複数の立体素片の各々に表示する画像を、回転角度方向を異ならしめて表示することができる。このようにしたことにより、複数の立体素片の並びだけでなく、複数の立体素片の各々の回転角度も調整しつつパズルを解く必要があるので、正答となるオブジェクトの全体の形状や大きさや色などの推測をさらに難しくしたパズルゲームを提供することができる。
【００５１】
以下に、本発明の実施例について図面に基づいて説明する。本実施の形態は、第１の実施の形態〜第３の実施の形態からなる。以下では、第１の実施の形態〜第３の実施の形態に共通する説明では、これらを単に本実施の形態と称する。
【００５２】
＜＜＜＜第１の実施の形態〜第３の実施の形態のゲームの概略＞＞＞＞
まず、第１の実施の形態〜第３の実施の形態のゲームの概略について簡単に説明する。
【００５３】
第１の実施の形態によるゲームは、複数の表示面（面素片）を並べることによって仮想空間に存在するオブジェクトを組み立てるパズルゲームである。具体的には、仮想空間で複数の表示面（面素片）によってオブジェクトを組み立て、オブジェクトが整合して表示できたときにパズルが解けたとするパズルゲームである（図１５及び図１６参照）。
【００５４】
また、表示面（面素片）の各々を構成する辺と辺との一致データ（整合性データ）を保持している。さらに、この表示面（面素片）の各々に表示する二次元画像データは、動画データであるものが好ましく、表示面の各々によって表示されるオブジェクト（たとえば、複数のキャラクタ）が移動するように表示される動画データが好ましい。
【００５５】
第２の実施の形態によるゲームは、画像が表示されている複数の表示面（面素片）を並べることによって集合立体を組み立てるパズルゲームである。表示面（面素片）に表示される画像データは、複数の表示平面の各々を透視平面として、これらの透視平面の各々を介して撮像したり視認したりしたものとして生成されたデータである。このパズルゲームは、対応する表示面（面素片）の各々に画像を表示し、表示面（面素片）によって集合立体が組み立てられて、集合立体の内側を示す映像として、集合立体の全ての表示面（面素片）において画像が整合して表示できたときにパズルが解けたとするパズルゲームである（図１７参照）。
【００５６】
たとえば、仮想空間に集合立体を配置し、この集合立体に対して、複数視点（カメラ）を設定し、各々のカメラ視点で透視変換した二次元画像データを記憶している。この二次元画像データは、多角形の形状を有する透視面を介したものとして形成されたデータである。さらに、透視面の各々の辺の組み合わせを示す移動先のデータを記憶する。集合立体を複数の視点で透視変換して形成された複数の二次元画像データに基づいて、移動元の画像を複数表示する一方、この移動元の画像をプレイヤの操作に応じて移動先の立体画像の複数の面に移動して貼り付ける操作がなされると、その移動面と移動元の画像との一致関係を予め記憶した一致データに基づいて、成功／失敗を判定するプログラムを記憶している。
【００５７】
第３の実施の形態によるゲームは、画像が表示されている複数の立体素片を並べて集合立体を組み立てるパズルゲームである。立体素片に表示される画像のデータは、複数の立体素片の各々を構成する面を透視面として、これらの透視面の各々を介して撮像したり視認したりしたものとして生成されたデータである。このパズルゲームは、対応する表示面の各々に動画を表示し、表示面によって集合立体が組み立てられて、集合立体の内側を示す映像として、集合立体の全ての表示面において動画が整合して表示できたときにパズルが解けたとするゲームである（図２５参照）。
【００５８】
たとえば、仮想空間内に高さのある集合立体を配置し、その集合立体の高さ方向に複数の視点を配置し、この視点を高さのある集合立体に対して、各視点間距離を一定に保ったまま３６０度移動させて生成された帯状の画像データを生成する。そして、ゲームが開示されると、視点ごとに分離した状態の集合立体の表面の各々に、帯状の画像データをテクスチャマッピングして立体画像を表示する。表示された立体画像を高さ方向に積み重ねる操作をプレイヤのゲーム入力に応じて実行し、予め記憶された立体画像データの高さ方向での一致データに基づいてゲームの成功・失敗を判定するプログラムを記憶している。
【００５９】
＜＜＜本発明の実施の形態におけるゲームシステム１００＞＞＞
図１は、本発明の実施の形態におけるゲームシステム１００を示す概略図である。このゲームシステム１００は、後述する第１の実施の形態〜第３の実施の形態で共通する。なお、図１〜図４に示すゲームシステム１００は、本実施の形態によるゲームを実行する一例として示したゲームシステムであり、他のゲームシステムでも本実施の形態によるゲームを実行することができる。
【００６０】
＜＜ゲームシステム１００の概略＞＞
ゲームシステム１００は、ゲーム装置１１２（ビデオゲーム装置）及びコントローラ１２２を含む。なお、本実施の形態におけるゲーム装置１１２は、最大で４つのコントローラ１２２と通信をすることができる。また、ゲーム装置１１２と複数のコントローラ１２２の各々とは、無線によって通信をすることができる。たとえば、無線通信は、Ｂｌｕｅｔｏｏｔｈ（登録商標）規格に従って実行される。なお、赤外線や無線ＬＡＮなど他の規格に従って実行される無線通信でもよい。さらに、ゲーム装置１１２と複数のコントローラ１２２の各々とを有線で接続してもよい。
【００６１】
ゲーム装置１１２は、略直方体のハウジング１１４を有する。このハウジング１１４の前面にはディスク挿入用スロット１１６が形成されている。プレイヤは、ゲームプログラム等を記憶した光ディスク１１８をディスクスロット１１６から挿入することができる。ディスクスロット１１６から挿入された光ディスク１１８は、ハウジング１１４内のディスクドライブ１５４（図２参照）に案内されて装着される。また、ディスクスロット１１６の周囲には、ＬＥＤ（図示せず）と導光板（図示せず）とが配置されており、各種の処理に応じて、ディスクスロット１１６を照明することができる。
【００６２】
また、ゲーム装置１１２のハウジング１１４の前面の上部には、電源ボタン１２０ａ及びリセットボタン１２０ｂが設けられている。また、ハウジング１１４の前面の下部には、イジェクトボタン１２０ｃが設けられている。
【００６３】
上述したリセットボタン１２０ｂとイジェクトボタン１２０ｃとの間の位置であり、ディスクスロット１１６の近傍の位置には、外部メモリカード用コネクタカバー１２８が設けられている。外部メモリカード用コネクタカバー１２８の内側には、外部メモリカード用コネクタ１６２（図２参照）が設けられている。外部メモリカード用コネクタ１６２には、外部メモリカード（以下、「メモリカード」と称する）を着脱可能に設けることができる。メモリカードは、光ディスク１１８から読み出したゲームプログラム等を一時的に記憶したり、ゲームシステム１００を利用してプレイしたゲームのゲームデータ（ゲームの結果データ又は途中データ）を保存したりするために用いられる。
【００６４】
上述したゲームデータをメモリカードに保存することに代えて、たとえば、ゲーム装置１１２の内部に設けられるフラッシュメモリ１４４（図２参照）のような内部メモリに保存してもよい。また、内部メモリのバックアップメモリとしてメモリカードを用いてもよい。さらに、ゲーム装置１１２は、ゲーム以外の他のアプリケーションを実行することも可能であり、このようなゲーム以外の他のアプリケーションで用いるデータをメモリカードに保存してもよい。
【００６５】
なお、メモリカードとしては、汎用のＳＤカードを用いることができるが、メモリスティックやマルチメディアカード（登録商標）のような他の汎用のメモリカードを用いることもできる。
【００６６】
ゲーム装置１１２のハウジング１１４の後面には、ＡＶコネクタ１５８（図２参照）が設けられている。ＡＶコネクタ１５８には、ＡＶケーブル１３２ａを接続することができる。ＡＶケーブル１３２ａを介して、ディスプレイ１３４及びスピーカ１３４ａをゲーム装置１１２に接続することができる。このディスプレイ１３４及びスピーカ１３４ａは、典型的にはカラーテレビジョン受像機である。カラーテレビジョン受像機は、ビデオ入力端子と音声入力端子とを有する。ＡＶケーブル１３２ａを介して、ゲーム装置１１２からの映像信号がビデオ入力端子に入力され、ゲーム装置１１２からの音声信号が音声入力端子に入力される。このようにしたことで、ディスプレイ１３４の画面上に、たとえば三次元（３Ｄ）ビデオゲームのゲーム画像を表示することができ、左右のスピーカ１３４ａからゲーム音楽や効果音などのステレオゲーム音声を出力することができる。
【００６７】
ゲーム装置１１２の電源は、一般的なＡＣアダプタ（図示せず）によって与えられる。ＡＣアダプタは家庭用の標準的な壁ソケットに差し込まれ、ゲーム装置１１２は、家庭用電源（商用電源）を、駆動に適した低いＤＣ電圧信号に変換する。なお、電源としてバッテリを用いてもよい。
【００６８】
以下では、ゲームシステム１００でプレイヤがゲームをする手順を説明する。まず、プレイヤは、ゲーム装置１１２の電源をいれ、次いで、ビデオゲーム（または、プレイしたいと思う他のアプリケーション）のプログラムが記録されている光ディスク１１８を、ゲーム装置１１２のディスクドライブ１５４に装着する。
【００６９】
光ディスク１１８がディスクドライブ１５４に装着されたことに応じて、ゲーム装置１１２は、その光ディスク１１８に記録されているプログラムに基づいてビデオゲーム若しくは他のアプリケーションを実行し始める。たとえば、後述するパズルゲームのプログラムを光ディスク１１８から読み出して実行する。
【００７０】
プレイヤは、コントローラ１２２を操作して、プレイヤが所望する動作をゲーム装置１１２にさせる。たとえば、プレイヤが入力手段１２６のどれかを操作することによって、ゲーム装置１１２はゲームや他のアプリケーションをスタートさせる。また、入力手段１２６に対する操作以外にも、プレイヤがコントローラ１２２自体を動かすことにより、動画によって描かれているオブジェクトをプレイヤが所望する方向に移動させたり、３Ｄのゲーム世界におけるプレイヤの視点（カメラ位置）を変化させたりすることができる。
【００７１】
ただし、ビデオゲームや他のアプリケーションのプログラムは、ゲーム装置１１２の内部メモリ（フラッシュメモリ１４４（図２参照））に、予め記憶（インストール）させておき、内部メモリから実行するようにしてもよい。このようにした場合に、光ディスク１１８のような記憶媒体に記憶されたプログラムを内部メモリにインストールしてもよいし、通信によってダウンロードされたプログラムを内部メモリにインストールしてもよい。
【００７２】
また、光ディスク１１８として、映像や音声などのコンテンツが記録されたＤＶＤがある。このようなＤＶＤをゲーム装置１１２のディスクドライブ１５４に装着した場合には、ＤＶＤに記憶されているコンテンツを再生することができる。たとえば、ＤＶＤに記憶されているコンテンツの再生が始まると、再生する内容を選択するためのメニュー画面が表示される。メニュー画面が表示されているときに、コントローラ１２２を振る（動かす）ことにより、メニュー画面に表示されたカーソルないしマウスポインタのような指示画像を移動させて、所望の内容（ボタン画像ないしアイコン）を選択（指示）し、所望の内容を選択した状態で、いずれかの操作手段１２６を操作することにより、選択した所望の内容に従ってコンテンツの再生指示を入力することができる。
【００７３】
たとえば、再生指示に応じて、コンテンツの本編が最初から再生されたり、コンテンツの指定されたチャプターが再生されたり、コンテンツの特典映像が再生されたりする。本編の再生中では、コントローラ１２２を動かすことにより、再生画面に表示される操作パネルのボタン画像ないしアイコンを選択（指定）し、一時停止（再生）、早送り、早戻し、チャプター（プログラム）のスキップ（頭出し）のような再生に関する操作（以下、「再生操作」という。）を行うことができる。このような場合には、コントローラ１２２は、いわゆるポインティングデバイスとして機能する（第１モード）。また、コントローラ１２２の一部の操作手段１２６には、予め再生操作についての役割が与えられており、該当する操作手段１２６を操作することにより、再生操作を行うこともできる。このような場合には、コントローラ１２２は、ＤＶＤプレイヤとして機能するゲーム装置１１２のいわゆるリモコンとして機能する（第２モード）。
【００７４】
なお、通常、ＤＶＤを再生することでメニュー画面が表示されている状態では、上述したような再生操作は禁止されている。このため、本実施の形態では、ＤＶＤのメニュー画面が表示されている場合には、コントローラ１２２から再生操作についての操作入力があっても、操作入力を無効にするようにしてある。
【００７５】
また、ゲーム装置１１２でゲームをプレイしたり、ゲーム以外の他のアプリケーションを実行したり、ＤＶＤを再生したりするような処理内容の選択は、ゲーム装置１１２の起動時に表示されるメニュー画面（ＤＶＤの再生時のメニュー画面とは異なる。）で選択することができる。
【００７６】
＜＜ゲームシステム１００の構成＞＞
図２は、ビデオゲームシステム１００の電気的な構成を示すブロック図である。
【００７７】
ハウジング１１４内の各コンポーネントはプリント基板に実装されている。図２に示すように、ゲーム装置１１２にはＣＰＵ１４０が設けられ、ＣＰＵ１４０はゲームプロセッサとして機能する。ＣＰＵ１４０にはシステムＬＳＩ４２が接続されている。このシステムＬＳＩ４２には、外部メインメモリ１４６、ＲＯＭ／ＲＴＣ１４８、ディスクドライブ１５４及びＡＶ  ＩＣ１５６が接続されている。
【００７８】
外部メインメモリ１４６は、ゲームプログラム等のプログラムを記憶したり、各種データを記憶したりして、ＣＰＵ１４０のワーク領域やバッファ領域として機能する。ＲＯＭ／ＲＴＣ１４８は、いわゆるブートＲＯＭであり、ゲーム装置１１２の起動用のプログラムが組み込まれるとともに、時間をカウントする時計回路が設けられる。ディスクドライブ１５４は、光ディスク１１８からプログラム、画像データや音声データ等を読み出し、ＣＰＵ１４０の制御の下で、後述する内部メインメモリ１４２ｅ又は外部メインメモリ１４６に書き込む。
【００７９】
システムＬＳＩ１４２には、入出力プロセッサ１４２ａ、ＧＰＵ(Graphics Processor Unit)１４２ｂ、ＤＳＰ(Digital Signal Processor)１４２ｃ、ＶＲＡＭ１４２ｄ及び内部メインメモリ１４２ｅが設けられ、これらは内部バス（図示せず）によって互いに接続されている。入出力プロセッサ（Ｉ／Ｏプロセッサ）１４２ａは、データの送受信を実行したり、データのダウンロードを実行したりする。データの送受信やダウンロードについては後述する。
【００８０】
ＧＰＵ１４２ｂは、描画手段の一部を形成し、ＣＰＵ１４０からのグラフィクスコマンド(作画命令)を受信し、そのコマンドに従ってゲーム画像データを生成する。ＣＰＵ１４０は、このようなグラフィクスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラムをＧＰＵ１４２ｂに送信する。
【００８１】
上述したように、ＧＰＵ１４２ｂにはＶＲＡＭ１４２ｄが接続されている。ＧＰＵ１４２ｂが作画コマンドを実行するにあたって必要なデータ（画像データ：ポリゴンデータやテクスチャデータなどのデータ）は、ＧＰＵ１４２ｂがＶＲＡＭ１４２ｄにアクセスして取得する。ただし、ＣＰＵ１４０は、描画に必要な画像データを、ＧＰＵ１４２ｂを介してＶＲＡＭ１４２ｄに書き込む。ＧＰＵ１４２ｂは、ＶＲＡＭ１４２ｄにアクセスして描画のためのゲーム画像データを作成する。
【００８２】
本実施の形態では、ＧＰＵ１４２ｂがゲーム画像データを生成する場合について説明するが、ゲームアプリケーション以外の任意のアプリケーションを実行する場合には、ＧＰＵ１４２ｂは当該任意のアプリケーションについての画像データを生成する。
【００８３】
また、ＤＳＰ１４２ｃは、オーディオプロセッサとして機能し、内部メインメモリ１４２ｅや外部メインメモリ１４６に記憶されるサウンドデータや音波形（音色）データを用いて、スピーカ１３４ａから出力する音、音声或いは音楽に対応するオーディオデータを生成する。
【００８４】
上述したように生成されたゲーム画像データ及びオーディオデータは、ＡＶ  ＩＣ１５６によって読み出され、ＡＶコネクタ１５８を介してディスプレイ１３４及びスピーカ１３４ａに出力される。したがって、ゲーム画面がディスプレイ１３４に表示され、ゲームに必要な音（音楽）がスピーカ１３４ａから出力される。
【００８５】
また、入出力プロセッサ１４２ａには、フラッシュメモリ１４４、無線通信モジュール１５０及び無線コントローラモジュール１５２が接続されるとともに、拡張コネクタ１６０及び外部メモリカード用コネクタ１６２が接続されている。また、無線通信モジュール１５０にはアンテナ１５０ａが接続され、無線コントローラモジュール１５２にはアンテナ１５２ａが接続されている。
【００８６】
入出力プロセッサ１４２ａは、無線通信モジュール１５０を介して、ネットワークに接続される他のゲーム装置や各種サーバと通信することができる。なお、ネットワークを介さずに、直接的に他のゲーム装置と通信することもできる。入出力プロセッサ１４２ａは、定期的にフラッシュメモリ１４４にアクセスし、ネットワークへ送信する必要があるデータ（以下、「送信データ」と称する）の有無を検出し、送信データが有る場合には、無線通信モジュール１５０及びアンテナ１５０ａを介してネットワークに送信する。
【００８７】
また、入出力プロセッサ１４２ａは、他のゲーム装置から送信されるデータ（以下、「受信データ」と称する）を、ネットワーク、アンテナ１５０ａ及び無線通信モジュール１５０を介して受信し、受信データをフラッシュメモリ１４４に記憶する。なお、受信データが一定の条件を満たさない場合には、受信データはそのまま破棄される。さらに、入出力プロセッサ１４２ａは、ダウンロードサーバからダウンロードしたデータ（以下、「ダウンロードデータ」と称する）をネットワーク、アンテナ１５０ａ及び無線通信モジュール１５０を介して受信し、そのダウンロードデータをフラッシュメモリ１４４に記憶する。
【００８８】
また、入出力プロセッサ１４２ａは、コントローラ１２２から送信される入力データをアンテナ１５２ａ及び無線コントローラモジュール１５２を介して受信し、内部メインメモリ１４２ｅ又は外部メインメモリ１４６のバッファ領域に記憶（一時記憶）する。入力データは、ＣＰＵ１４０の処理（たとえば、ゲーム処理）によって利用された後、バッファ領域から消去される。
【００８９】
なお、この実施例では、上述したように、無線コントローラモジュール１５２は、Bluetooth規格に従ってコントローラ１２２との間で通信を行う。
【００９０】
さらに、入出力プロセッサ１４２ａには、拡張コネクタ１６０及び外部メモリカード用コネクタ１６２が接続されている。拡張コネクタ１６０は、ＵＳＢやＳＣＳＩのようなインターフェイスのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、コントローラ１２２とは異なる他のコントローラのような周辺機器を接続したりすることができる。また、拡張コネクタ１６０に有線ＬＡＮアダプタを接続し、無線通信モジュール１５０に代えて当該有線ＬＡＮを利用することもできる。外部メモリカード用コネクタ１６２には、メモリカードのような外部記憶媒体を接続することができる。したがって、たとえば、入出力プロセッサ１４２ａは、拡張コネクタ１６０や外部メモリカード用コネクタ１６２を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。
【００９１】
図１にも示したように、ゲーム装置１１２（ハウジング１１４）には、電源ボタン１２０ａ、リセットボタン１２０ｂ及びイジェクトボタン１２０ｃが設けられている。電源ボタン１２０ａは、システムＬＳＩ１４２に接続されている。プレイヤによって電源ボタン１２０ａが操作されると、システムＬＳＩ１４２には、ゲーム装置１１２の各コンポーネントに電源が供給され、通常の通電状態となる通常モードになる。一方、電源ボタン１２０ａがオフされると、システムＬＳＩ１４２には、ゲーム装置１１２の一部のコンポーネントのみに電源が供給され、消費電力を必要最低限に抑えるスタンバイモードになる。
【００９２】
本実施の形態では、スタンバイモードが設定された場合には、システムＬＳＩ１４２は、入出力プロセッサ１４２ａ、フラッシュメモリ１４４、外部メインメモリ１４６、ＲＯＭ／ＲＴＣ１４８及び無線通信モジュール１５０、無線コントローラモジュール１５２以外のコンポーネントに対して、電源供給を停止する指示を行う。したがって、スタンバイモードであるときには、ＣＰＵ１４０がアプリケーションを実行することはない。
【００９３】
なお、スタンバイモードであるときでも、システムＬＳＩ１４２には電源が供給されるが、ＧＰＵ１４２ｂ、ＤＳＰ１４２ｃ及びＶＲＡＭ１４２ｄへのクロックの供給を停止することにより、これらを駆動しないようにして、消費電力を低減することができる。
【００９４】
また、ゲーム装置１１２のハウジング１１４内部には、ＣＰＵ１４０やシステムＬＳＩ１４２などのＩＣの熱を外部に排出するためのファン（図示せず）が設けられている。スタンバイモードでは、このファンも停止される。
【００９５】
ただし、スタンバイモードを利用したくない場合には、スタンバイモードを利用しない設定にしておくことにより、電源ボタン１２０ａがオフされたときに、すべての回路コンポーネントへの電源供給が完全に停止される。
【００９６】
また、通常モードとスタンバイモードとの切り替えは、コントローラ１２２の電源スイッチ１２６ｈのオン／オフの切り替えによって、遠隔操作によって行うことが可能である。当該遠隔操作を行わない場合には、スタンバイモードにおいて無線コントローラモジュール１５２ａへの電源供給を行わない設定にしてもよい。
【００９７】
また、リセットボタン１２０ｂもシステムＬＳＩ１４２に接続されている。リセットボタン１２０ｂが押されると、システムＬＳＩ１４２は、ゲーム装置１１２の起動プログラムを再起動する。イジェクトボタン１２０ｃは、ディスクドライブ１５４に接続されている。イジェクトボタン１２０ｃが押されると、ディスクドライブ１５４から光ディスク１１８が排出される。
【００９８】
図３はコントローラ１２２の外観を示す図であり、図３（Ａ）はコントローラ１２２の先端面を示し、図３（Ｂ）はコントローラ１２２の上面を示し、図３（Ｃ）はコントローラ１２２の右側面を示し、図３（Ｄ）はコントローラ１２２の下面を示し、そして、図３（Ｅ）はコントローラ１２２の後端面を示す。
【００９９】
図３（Ａ）〜図３（Ｅ）に示すように、コントローラ１２２は、たとえばプラスチック成型によって形成されたハウジング１２２ａを有している。ハウジング１２２ａは、略直方体形状であり、プレイヤが片手で把持可能な大きさである。ハウジング１２２ａ（コントローラ１２２）には、入力手段（複数のボタンないしスイッチ）１２６が設けられている。具体的には、図３（Ｂ）に示すように、ハウジング１２２ａの上面には、十字キー１２６ａ、１ボタン１２６ｂ、２ボタン１２６ｃ、Ａボタン１２６ｄ、−ボタン１２６ｅ、ＨＯＭＥボタン１２６ｆ、＋ボタン１２６ｇ及び電源スイッチ１２６ｈが設けられている。また、図３（Ｃ）及び図３（Ｄ）に示すように、ハウジング１２２ａの下面には、傾斜面が形成されており、この傾斜面に、Ｂトリガスイッチ１２６ｉが設けられている。
【０１００】
十字キー１２６ａは４方向プッシュスイッチであり、矢印で示す４つの方向、前（又は上）、後ろ（又は下）、右及び左の操作部を含む。この操作部のいずれか１つを操作することによって、プレイヤによって操作可能なキャラクタやオブジェクト（プレイヤキャラクタやプレイヤオブジェクト）の移動方向を指示したり、カーソルの移動方向を指示したり、単に方向を指示したりすることができる。また、ゲーム装置１１２でＤＶＤをプレイし、コントローラ１２２をリモコンとして用いる場合には、左の操作部を操作することによって、早戻しを指示することができ、右の操作部を操作することによって、早送りを指示することができる。
【０１０１】
１ボタン１２６ｂ及び２ボタン１２６ｃは、それぞれ、押しボタンスイッチである。たとえば三次元ゲーム画像を表示する際の視点位置や視点方向、すなわち仮想カメラの位置や画角を調整する等のゲームの操作に使用される。又は、１ボタン１２６ｂ及び２ボタン１２６ｃは、Ａボタン１２６ｄ及びＢトリガスイッチ１２６ｉと同じ操作或いは補助的な操作をする場合に用いるようにしてもよい。
【０１０２】
Ａボタンスイッチ１２６ｄは、押しボタンスイッチであり、プレイヤキャラクタ又はプレイヤオブジェクトに、方向指示以外の動作、すなわち、打つ（パンチ）、投げる、つかむ（取得）、乗る、ジャンプするなどの任意のアクションをさせるために使用される。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かすなどを指示することができる。また、ロールプレイングゲーム（ＲＰＧ）やシミュレーションＲＰＧにおいては、アイテムの取得、武器やコマンドの選択及び決定等を指示することができる。
【０１０３】
また、Ａボタンスイッチ１２６ｄは、コントローラ１２２をポインティングデバイスとして用いる場合には、ゲーム画面上でポインタ（指示画像）が指示するアイコンないしボタン画像の決定を指示するために使用される。たとえば、アイコンやボタン画像が決定されると、これらに対応して予め設定されている指示ないし命令（コマンド）を入力することができる。さらに、ゲーム装置１１２でＤＶＤをプレイし、コントローラ１２２をリモコンとして用いる場合には、Ａボタンスイッチ１２６ｄは、再生又は一時停止を指示することができる。
【０１０４】
−ボタン１２６ｅ、ＨＯＭＥボタン１２６ｆ、＋ボタン１２６ｇ及び電源スイッチ１２６ｈもまた、押しボタンスイッチである。−ボタン１２６ｅは、ゲームモードを選択するために使用される。ＨＯＭＥボタン１２６ｆは、ゲームメニュー（メニュー画面）を表示するために使用される。＋ボタン１２６ｇは、ゲームを開始（再開）したり、一時停止したりするなどのために使用される。電源スイッチ１２６ｈは、ゲーム装置１１２の電源を遠隔操作によってオン／オフするために使用される。また、ゲーム装置１１２でＤＶＤをプレイし、コントローラ１２２をリモコンとして用いる場合には、−ボタン１２６ｅ及び＋ボタン１２６ｇは、スキップ（頭出し）するために用いられる。具体的には、−ボタン１２６ｅは、チャプターを戻すために使用され、＋ボタン１２６ｇは、チャプターを送るために使用される。
【０１０５】
本実施の形態では、コントローラ１２２自体をオン／オフするための電源スイッチは設けていない。コントローラ１２２の入力手段１２６のいずれかを操作することによってコントローラ１２２はオンとなり、一定時間（たとえば、３０秒）以上操作しなければ自動的にオフとなる。
【０１０６】
Ｂトリガスイッチ１２６ｉもまた、押しボタンスイッチであり、主として、弾を撃つなどのトリガを模した入力を行ったり、コントローラ１２２で選択した位置を指定したりするために使用される。また、Ｂトリガスイッチ１２６ｉを押し続けると、プレイヤオブジェクトの動作やパラメータを一定の状態に維持することもできる。また、一定の場合には、Ｂトリガスイッチ１２６ｉは、通常のＢボタンと同様に機能し、Ａボタン１２６ｄによって決定したアクションやコマンドなどを取り消すなどのために使用される。
【０１０７】
また、図３（Ｅ）に示すように、ハウジング１２２ａの後端面には外部拡張コネクタ１２２ｂが設けられ、また、図３（Ｂ）に示すように、ハウジング１２２ａの上面の後端面側にはインジケータ１２２ｃが設けられている。外部拡張コネクタ１２２ｂは、コントローラ１２２とは異なる拡張コントローラ（図示せず）を接続するためなどに使用される。インジケータ１２２ｃは、たとえば、４つのＬＥＤで構成される。たとえば、インジケータ１２２ｃでは、４つのうちのいずれか１つを点灯させることにより、点灯したＬＥＤに応じて、コントローラ１２２の識別情報（コントローラ番号）を示すことができる。また、インジケータ１２２ｃでは、点灯させるＬＥＤの個数によってコントローラ１２２の電池残量を示すこともできる。
【０１０８】
さらに、コントローラ１２２は、撮像情報演算部１８０（図４参照）を有する。図３（Ａ）に示すように、ハウジング１２２ａの先端面には撮像情報演算部１８０の光入射口１２２ｄが設けられている。また、コントローラ１２２は、スピーカ１８６（図４参照）を有する、このスピーカ１８６は、図３（Ｂ）に示すように、ハウジング１２２ａの上面であり、１ボタン１２６ｂとＨＯＭＥボタン１２６ｆとの間に設けられる音抜き孔１２２ｅに対応して、ハウジング１２２ａの内部に設けられている。
【０１０９】
なお、図３（Ａ）〜図３（Ｅ）に示したコントローラ１２２の形状や、各入力手段１２６の形状、数及び設置位置等は単なる一つの例を示したに過ぎない。
【０１１０】
図４は、コントローラ１２２の電気的な構成を示すブロック図である。コントローラ１２２はプロセッサ１７０を含む。プロセッサ１７０には、内部バス（図示せず）によって、外部拡張コネクタ１２２ｂ、入力手段１２６、メモリ１７２、加速度センサ１７４、無線モジュール１７６、撮像情報演算部１８０、ＬＥＤ１８２（インジケータ１２２ｃ）、バイブレータ１８４、スピーカ１８６及び電源回路１８８が接続されている。また、無線モジュール１７６には、アンテナ１７８が接続されている。
【０１１１】
また、上述したように、インジケータ１２２ｃは４つのＬＥＤ１８２によって構成される。
【０１１２】
プロセッサ１７０は、コントローラ１２２の全体を制御する。入力手段１２６、加速度センサ１７４及び撮像情報演算部１８０によって入力された情報（入力情報）を、入力データとして無線モジュール１７６及びアンテナ１７８を介してゲーム装置１１２に送信（入力）する。このとき、プロセッサ１７０は、メモリ１７２を作業領域ないしバッファ領域として用いる。また、上述した入力手段１２６（１２６ａ−１２６ｉ）からの操作信号（操作データ）は、プロセッサ１７０に入力され、プロセッサ１７０は操作データを一旦メモリ１７２に記憶する。
【０１１３】
加速度センサ１７４は、コントローラ１２２の縦方向（ｙ軸方向）、横方向（ｘ軸方向）及び前後方向（ｚ軸方向）の３軸で各々の加速度を検出する。この加速度センサ１７４は、典型的には、静電容量式の加速度センサであるが、他の方式のものを用いるようにしてもよい。
【０１１４】
たとえば、加速度センサ１７４は、第１の所定時間毎に、ｘ軸、ｙ軸、ｚ軸の各々についての加速度（ａｘ、ａｙ、ａｚ）を検出し、検出した加速度のデータ（加速度データ）をプロセッサ１７０に入力する。たとえば、加速度センサ１７４は、各軸方向の加速度を、−２．０ｇ〜２．０ｇ（ｇは重力加速度である。以下、同じ。）の範囲で検出する。プロセッサ１７０は、加速度センサ１７４から与えられる加速度データを、第２の所定時間毎に検出し、一旦メモリ１７２に記憶する。
【０１１５】
プロセッサ１７０は、操作データ、加速度データ及び後述するマーカ座標データの少なくとも１つを含む入力データを作成し、作成した入力データを、第３の所定時間（たとえば、５ｍｓｅｃ）毎にゲーム装置１１２に送信する。
【０１１６】
なお、本実施の形態では、加速度センサ１７４は、ハウジング１２２ａ内部の基板上の十字キー１２６ａが配置される付近に設けられている。
【０１１７】
無線モジュール１７６は、たとえば、Bluetooth規格に基づいて、所定周波数の搬送波を入力データで変調し、その微弱電波信号をアンテナ１７８から放射する。すなわち、入力データは、無線モジュール１７６によって微弱電波信号に変調されてアンテナ１７８（コントローラ１２２）から送信される。微弱電波信号は、上述したゲーム装置１１２に設けられた無線コントローラモジュール１５２によって受信される。受信された微弱電波は、復調及び復号の処理を施され、したがって、ゲーム装置１１２（ＣＰＵ１４０）は、コントローラ１２２からの入力データを取得することができる。そして、ＣＰＵ１４０は、取得した入力データとアプリケーションプログラム（ゲームプログラム）とに従ってアプリケーションの処理（ゲーム処理）を行う。
【０１１８】
＜＜＜＜第１の実施の形態〜第３の実施の形態の特徴＞＞＞＞
以下では、後述する第１の実施の形態〜第３の実施の形態の各々の特徴について説明する。
【０１１９】
＜＜＜第１の実施の形態＞＞＞
＜第１の実施の形態のゲームの手順＞
まず、第１の実施の形態によるゲームプログラムが実行されると、ディスプレイ１３４の画面の右側には、６つの表示面（複数の素片）の画像が表示され、画面の左側には、集合立体の画像が表示される。第１の実施の形態における「立体」（集合立体）の具体的な形状は立方体であり（図１０参照）、「６つの表示面」の各々の具体的な形状は正方形である（図１１参照）。したがって、第１の実施の形態によるゲームプログラムが実行されると、図１５及び図１６に示すように、ディスプレイ１３４の画面の右側には、正方形の「６つの表示面」の画像が表示され、画面の左側には、立方体の「立体」の画像が表示される。上述した正方形の形状を有する６つの表示面が、「複数の素片」に対応し、立方体の形状を有する立体が「集合立体」に対応する。
【０１２０】
この第１の実施の形態のパズルゲームは、ディスプレイ１３４の映像によって示される仮想空間において、正方形の形状を有する「６つの表示面」を組み合わせて並べることによって、立方体の形状を有する「立体」を組み立てるパズルゲームである。言い換えれば、第１の実施の形態のパズルゲームは、仮想空間で、正方形の形状を有する「６つの表示面」の各々を面素片として、立方体の形状を有する「立体」を構成する６つの面に、順次貼り付けていくパズルゲームである。第１の実施の形態では、「立体」を構成する６つの面Ｃ１、Ｃ２、Ｃ３、Ｃ４、Ｃ５及びＣ６を「立体表面」（図１０参照）と称し、動画が表示される面素片であって、「立体表面」に貼り付けられる６つの面Ｐ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５及びＰ６を「表示面」（図１１参照）と称する。「立体表面」は、立方体の形状の「立体」の外形を画定する表面である。なお、「表示面」を「立体表面」に貼り付けることができるので、「立体表面」の大きさ及び形状は、「表示面」の大きさ及び形状と同じである。
【０１２１】
図１１（ｂ）に示すように、６つの表示面Ｐ１〜Ｐ６の各々は、正方形の形状を有する。表示面Ｐ１は、４つの辺Ｐ１−Ｌ１、Ｐ１−Ｌ２、Ｐ１−Ｌ３及びＰ１−Ｌ４を有する。表示面Ｐ２は、４つの辺Ｐ２−Ｌ１、Ｐ２−Ｌ２、Ｐ２−Ｌ３及びＰ２−Ｌ４を有する。表示面Ｐ３は、４つの辺Ｐ３−Ｌ１、Ｐ３−Ｌ２、Ｐ３−Ｌ３及びＰ３−Ｌ４を有する。表示面Ｐ４は、４つの辺Ｐ４−Ｌ１、Ｐ４−Ｌ２、Ｐ４−Ｌ３及びＰ４−Ｌ４を有する。表示面Ｐ５は、４つの辺Ｐ５−Ｌ１、Ｐ５−Ｌ２、Ｐ５−Ｌ３及びＰ５−Ｌ４を有する。表示面Ｐ６は、４つの辺Ｐ６−Ｌ１、Ｐ６−Ｌ２、Ｐ６−Ｌ３及びＰ６−Ｌ４を有する。
【０１２２】
上述した表示面Ｐ１〜Ｐ６の「Ｐ１〜Ｐ６」が、表示面を識別するための面番号となる。また、辺Ｐ１−Ｌ１〜Ｐ１−Ｌ４、Ｐ２−Ｌ１〜Ｐ２−Ｌ４、Ｐ３−Ｌ１〜Ｐ３−Ｌ４、Ｐ４−Ｌ１〜Ｐ４−Ｌ４、Ｐ５−Ｌ１〜Ｐ５−Ｌ４及びＰ６−Ｌ１〜Ｐ６−Ｌ４が、辺を識別するための辺番号となる。これらの面番号と辺番号とは、後述する図１３に示す貼り付け結果テーブルや、図１４に示す判定用テーブルを書き込む情報である。
【０１２３】
また、図１０に示すように、立方体の６つの立体表面Ｃ１〜Ｃ６の各々も、正方形の形状を有する。立体表面Ｃ１は、４つの辺Ｃ１−Ｌ１、Ｃ１−Ｌ２、Ｃ１−Ｌ３及びＣ１−Ｌ４を有する。立体表面Ｃ２は、４つの辺Ｃ２−Ｌ１、Ｃ２−Ｌ２、Ｃ２−Ｌ３及びＣ２−Ｌ４を有する。立体表面Ｃ３は、４つの辺Ｃ３−Ｌ１、Ｃ３−Ｌ２、Ｃ３−Ｌ３及びＣ３−Ｌ４を有する。立体表面Ｃ４は、４つの辺Ｃ４−Ｌ１、Ｃ４−Ｌ２、Ｃ４−Ｌ３及びＣ４−Ｌ４を有する。立体表面Ｃ５は、４つの辺Ｃ５−Ｌ１、Ｃ５−Ｌ２、Ｃ５−Ｌ３及びＣ５−Ｌ４を有する。立体表面Ｃ６は、４つの辺Ｃ６−Ｌ１、Ｃ６−Ｌ２、Ｃ６−Ｌ３及びＣ６−Ｌ４を有する。上述したように、６つの立体表面Ｃ１〜Ｃ６によって立方体の外形が画定される。
【０１２４】
上述した立体表面Ｃ１〜Ｃ６の「Ｃ１〜Ｃ６」が、立体表面を識別するための面番号となる。また、辺Ｃ１−Ｌ１〜Ｃ１−Ｌ４、Ｃ２−Ｌ１〜Ｃ２−Ｌ４、Ｃ３−Ｌ１〜Ｃ３−Ｌ４、Ｃ４−Ｌ１〜Ｃ４−Ｌ４、Ｃ５−Ｌ１〜Ｃ５−Ｌ４及びＣ６−Ｌ１〜Ｃ６−Ｌ４が、辺を識別するための辺番号となる。これらの面番号と辺番号とは、後述する図１３に示す貼り付け結果テーブルや、図１４に示す判定用テーブルで用いる情報である。
【０１２５】
ディスプレイ１３４の右側に表示されている６つの表示面（表示面Ｐ１〜Ｐ６）には、各種の動画が表示される。これらの６つの表示面Ｐ１〜Ｐ６を適切に組み合わせて、立方体を組み立てることができたときには、組み立てられた立方体の６つの面（組み合わされた表示面）の全体で動画を連続的にかつ矛盾なく表示することができる。言い換えれば、正方形の形状を有する６つの表示面Ｐ１〜Ｐ６を、立方体を構成する６つの立体表面Ｃ１〜Ｃ６に適切に貼り付けることができたときには、貼り付けられた６つの表示面Ｐ１〜Ｐ６によって立方体の全体で動画を連続的にかつ矛盾なく表示することができる。具体的には、表示面Ｐ１〜Ｐ６を立方体に適切に貼り付けることができたときには、動画によって表示面Ｐ１〜Ｐ６に描かれる移動可能なオブジェクト（例えば、物体）は、一の表示面とその一の表示面に隣接する他の表示面との境界を形成する辺を跨いで、一の表示面から他の表示面に連続的に移動する態様で表示される。このパズルゲームは、表示面を立方体に適切に貼り付けることができたときにパズルが解けたとするゲームである。
【０１２６】
第１の実施の形態によるゲームプログラムのパズルゲームは、表示面の表面に各種の移動可能なオブジェクトが存在するとして生成した動画データを用いる。したがって、動画データによって、表示面に動画が表示されたときには、プレイヤは、表示面の表面に沿ってオブジェクトが移動するように視認できる。第１の実施の形態によるゲームプログラムのパズルゲームは、このような動画を表示面に表示して、表示面の表面に沿って移動する態様で表示されたオブジェクトの画像をヒントにして、表示面を組み合わせたり表示面を立方体に貼り合わせたりして、パズルを解くゲームである。なお、この第１の実施の形態によるゲームプログラムで用いる動画データは、表示面の表面のみに存在するオブジェクトだけでなく、表示面の表面から所定の深さまでの、所定の厚さを有する領域内を移動可能なオブジェクトが存在するとして生成した動画データでもよい。
【０１２７】
このように、第１の実施の形態によるゲームプログラムで用いる動画のデータは、表示面の表面に沿って二次元に移動可能なオブジェクトの画像や、二次元に近い範囲でのみ移動可能なオブジェクトの画像を表示する動画データである。したがって、表示面を立方体に適切に貼り付けてパズルを解けたときには、あくまでも立方体の表面に沿ってオブジェクトが移動する態様の動画が表示されるため、一の表示面から他の表示面にオブジェクトが移るときには、一の表示面と他の表示面と境界（辺）においてオブジェクトが折れ曲がるようにして表示される。
【０１２８】
後述する図１２は、整合性成立テーブルを示す表である。この整合性成立テーブルは、表示面を立方体に適切に貼り付けることができたときの表示面の面番号及び辺番号と、立体表面の面番号及び辺番号との関係を記憶するテーブルであり、パズルの正答の関係を記憶するテーブルである。この整合性の関係は、予め定められて光ディスク１１８に記憶されており、パズルゲームの起動とともに、内部メインメモリ１４２ｅや外部メインメモリ１４６に展開される。表示面を立方体に適切に貼り付けることができたときには、この整合性の関係を全て満たし、パズルを解くことができたと判断することができる。
【０１２９】
これに対して、６つの表示面Ｐ１〜Ｐ６を適切に貼り付けることができなかった場合には、貼り付けられた６つの表示面Ｐ１〜Ｐ６によって立方体の全体で動画を連続的にかつ矛盾なく表示することができない。言い換えれば、６つの表示面Ｐ１〜Ｐ６を適切に貼り付けることができなかったときには、動画によって表示面に描かれる移動可能なオブジェクトは、一の表示面からその一の表示面に隣接する他の表示面に連続的に移動する態様で表示されない。たとえば、一の表示面で移動するように描かれているオブジェクトは、その一の表示面の一の辺に到達したときに徐々に消失するとともに、その一の表示面の一の辺と隣接してない他の辺から他の表示面に徐々に現れる態様で表示される。このように、６つの表示面を適切に貼り付けることができなかった場合には、立方体に貼り付けられた６つの表示面の少なくとも一部で、整合性のない動画が表示される。
【０１３０】
＜動画データ＞
上述したように、第１の実施の形態によるゲームプログラムを実行することによって、プレイヤはパズルゲームを行うことができる。このパズルゲームは、正方形の形状を有する６つの表示面Ｐ１〜Ｐ６を、立方体を構成する６つの立体表面Ｃ１〜Ｃ６に適切に貼り付けることができたときには、貼り付けられた６つの表示面Ｐ１〜Ｐ６によって立方体の全体で動画を連続的にかつ矛盾なく表示して、パズルが解けたとするゲームである。したがって、第１の実施の形態によるゲームプログラムは、６つの表示面Ｐ１〜Ｐ６が適切に貼り付けられたときには、連続的にかつ矛盾なく動画を表示できるような動画データを用いる。
【０１３１】
たとえば、このような動画データとして、図１１（ａ）に示したような立方体の展開図の全体の領域で連続的に動画を表示できる動画データを用いればよい。図１１（ａ）は、立方体に貼り付けられた６つの表示面Ｐ１〜Ｐ６を仮想的に展開したときの展開図である。６つの表示面Ｐ１〜Ｐ６が立方体に適切に貼り付けられたときには、図１１（ａ）に示した展開図の全体においても、連続的に動画を表示されることになる。したがって、このような展開図の全体の領域で連続的に動画を表示できる動画データを生成して、内部メインメモリ１４２ｅや外部メインメモリ１４６に記憶させればよい。なお、動画データは、複数の一定のものを光ディスク１１８に予め記憶させておいて内部メインメモリ１４２ｅや外部メインメモリ１４６に展開するようにしても、パズルゲームを開始する度に生成して内部メインメモリ１４２ｅや外部メインメモリ１４６に記憶させるようにしてもよい。
【０１３２】
上述したように、図１１（ａ）に示したような立方体の展開図の全体の領域で連続的に動画を表示できる動画データを生成して内部メインメモリ１４２ｅや外部メインメモリ１４６に記憶させておく。動画データのうち、６つの表示面Ｐ１〜Ｐ６（図１１（ａ）参照）の各々に対応する部分を、ＶＲＡＭ１４２ｄに書き込むことによって、６つの表示面Ｐ１〜Ｐ６の各々に対応させて動画を表示することができる。
【０１３３】
なお、図１５や図１６に示すように、６つの表示面Ｐ１〜Ｐ６は、立方体に貼り付けられたときには、表示面Ｐ１〜Ｐ６に対して斜め方向から視認されたように表示される。したがって、三次元立体動画データとして生成しておき、視点の方向に応じて定めたデータをＶＲＡＭ１４２ｄに書き込むようにするのが好ましい。また、図１１（ａ）に示した６つの表示面Ｐ１〜Ｐ６の展開図の形状は一つの例を示したに過ぎず、他の形状となるように、６つの表示面Ｐ１〜Ｐ６を展開させてもよい。その場合には、その展開図の形状に合わせて動画データを生成して記憶させればよい。なお、このような動画データは、三次元立体画像データであるものが好ましい。
【０１３４】
＜パズルゲームにおける操作＞
上述したように、第１の実施の形態によるゲームプログラムが実行されると、ディスプレイ１３４の画面の右側には、６つの表示面Ｐ１〜Ｐ６が表示され、画面の左側には、立方体（立体表面Ｃ１〜Ｃ６）の画像が表示される（図１５（ａ））。プレイヤは、コントローラ１２２を操作することによって、ディスプレイ１３４の画面の右側に表示されている６つの表示面Ｐ１〜Ｐ６のうちの１つを選択する（図１５（ｂ）又は図１６（ｃ））。さらに、プレイヤは、コントローラ１２２を操作することによって、画面の左側に表示されている立方体を回転させ、プレイヤが所望する立方体の立体表面の１つを視認しやすくなるように表示させる（図１５（ｂ）又は図１６（ａ））。
【０１３５】
また、上述したように、コントローラ１２２を操作することによって、画面の左側に配置されている立方体を回転させるように立方体の画像を表示することができる。したがって、選択した１つの表示面を立方体の立体表面の１つに単に貼り付けるだけでなく、選択した１つの表示面の４つの辺を、プレイヤが所望する立方体の立体表面の辺と対応付けて、選択した１つの表示面を貼り付けることができる（図１５（ｃ）又は図１６（ｂ））。
【０１３６】
なお、表示面の貼り付けの作業は、ディスプレイ１３４において、選択した１つの表示面を、立方体の一の立体表面に対して所定の距離以内の近くまで移動させれば、その一の立体表面が指定されたものとして、選択した１つの表示面を立方体の一の立体表面に移動させて貼り付けたように表示するのが好ましい。このようにすることで、貼り付け作業を容易にすることができるとともに、ゲームを迅速に進めることができる。
【０１３７】
さらに、この表示面の貼り付け操作を、６つの表示面の全てを立方体の立体表面に貼り付けるまで行う。上述したように、立方体を構成する立体表面に６つの表示面の全てを適切に貼り付けることができたときに、立方体の全ての立体表面において、６つの表示面の動画を連続的にかつ矛盾なく表示することができ、パズルが完成する。パズルが完成したときには、その旨がディスプレイ１３４に表示される。
【０１３８】
また、６つの表示面の全てを立方体の立体表面に貼り付けても、立方体の立体表面の少なくとも一部において表示面の動画を連続的にかつ矛盾なく表示できなかった場合には、パズルは完成しない。この場合には、パズルが完成していない旨をディスプレイ１３４に表示するとともに、再挑戦するか否かの旨がディスプレイ１３４に表示される。
【０１３９】
＜＜第１の実施の形態のゲームの処理＞＞
【０１４０】
＜ゲーム実行基本処理＞
図５は、ＣＰＵ１４０によって実行されるゲーム実行基本処理を示すフローチャートである。この図５に示すサブルーチンは、ゲームシステムの基本プログラムなどから呼び出されて実行される。
【０１４１】
最初に、ＣＰＵ１４０は、ディスプレイ１３４にゲームの初期画面を表示する（ステップＳ５１１）。たとえば、ステップＳ５１１の処理によって、デモ画面や操作方法やルールなどを示す画像がディスプレイ１３４に表示される。
【０１４２】
次に、ＣＰＵ１４０は、ゲームが開始されたか否かを判断する（ステップＳ５１３）。この判断処理は、プレイヤがコントローラ１２２に所定の操作をしたか否かで判断する処理である。ゲームが開始されていないと判別したときには（ＮＯ）、ステップＳ５１３に処理を戻す。一方、ゲームが開始されたと判別したときには（ＹＥＳ）、ＣＰＵ１４０は、後述する図６に示すゲーム初期化処理のサブルーチンを呼び出して実行する（ステップＳ５１５）。
【０１４３】
次に、ＣＰＵ１４０は、後述する図７に示すコントローラ操作処理のサブルーチンを呼び出して実行し（ステップＳ５１７）、次いで、後述する図８に示すディスプレイ表示処理のサブルーチンを呼び出して実行し（ステップＳ５１９）、後述する図９に示すテーブル更新処理のサブルーチンを呼び出して実行する（ステップＳ５２１）。
【０１４４】
次に、ゲームが終了したか否かを判断する（ステップＳ５２３）。このステップＳ５２３の判断処理は、全ての表示面Ｐ１〜Ｐ６が立体に貼り付けられたか否かを判断する処理である。ＣＰＵ１４０は、ゲームが終了していないと判別したときには（ＮＯ）、上述したステップＳ５１７に処理を戻し、ゲームを続行する。
【０１４５】
一方、ＣＰＵ１４０は、ゲームが終了したと判別したときには（ＹＥＳ）、ゲームによって行われたパズルが完成したか否かを判断する（ステップＳ５２５）。パズルが完成したか否かの判断は、パズルが完成したことを示す完成情報によって判断することができる。完成情報は、パズルが完成したことを示す情報であり、たとえば、フラグの値である。フラグの値が０のときには、パズルが完成していないことを示し、フラグの値が１のときには、パズルが完成していることを示す。なお、完成情報の変更は、図９のステップＳ９２１で処理される。
【０１４６】
ＣＰＵ１４０は、ステップＳ５２５の判断処理で、パズルが完成していないと判別したときには（ＮＯ）、パズルが完成していないことを示す旨をディスプレイ１３４に表示し（ステップＳ５２７）、プレイヤが再挑戦するか否かを判断する（ステップＳ５２９）。ステップＳ５２９の判断は、プレイヤがコントローラ１２２に所定の操作をしたか否かで判断する処理である。プレイヤが再挑戦すると判別したときには（ＹＥＳ）、上述したステップＳ５１７に処理を戻す。一方、プレイヤが再挑戦しないと判別したときには（ＮＯ）、本サブルーチンを終了して、ゲームシステムの基本プログラムに処理を戻す。
【０１４７】
上述したステップＳ５２５の判断処理で、パズルが完成したと判別したときには（ＹＥＳ）、パズルが完成したことを示す旨をディスプレイ１３４に表示し（ステップＳ５３１）、本サブルーチンを終了して、ゲームシステムの基本プログラムに処理を戻す。
【０１４８】
＜ゲーム初期化処理＞
図６は、上述した図５のステップＳ５１５の処理で呼び出されて実行されるゲームの初期化を行うためのサブルーチンを示すフローチャートである。このサブルーチンもＣＰＵ１４０によって実行される。
【０１４９】
最初に、ＣＰＵ１４０は、６つの表示面Ｐ１〜Ｐ６に表示する動画の基本構成を決定する（ステップＳ６１１）。この処理は、たとえば、動画の背景や、対象物であるキャラクタの種類と数や、他の表示物の数や位置などを決定する。ステップＳ６１１の処理によって、動画データが生成される。上述したように、動画データは、図１１（ａ）の展開図の全体の領域（Ｐ１〜Ｐ６）で連続的に動画を表示できるデータである。
【０１５０】
次に、ＣＰＵ１４０は、６つの表示面Ｐ１〜Ｐ６の各々の表示位置及び回転角度を決定する（ステップＳ６１３）。上述したように、パズルゲームが開始されると、図１５及び図１６に示すように、ディスプレイ１３４の画面の右側には、６つの表示面Ｐ１〜Ｐ６の画像が表示される。パズルゲームであるので、このディスプレイ１３４の画面の右側に表示する６つの表示面Ｐ１〜Ｐ６の表示位置やその回転角度は、パズルゲームが開始されるたびに異なるようにするのが好ましい。ステップＳ６１３の処理は、パズルゲームが開始されるたびに異なるようにするために、６つの表示面Ｐ１〜Ｐ６の表示位置やその回転角度を定める処理である。
【０１５１】
第１の実施の形態では、図１５及び図１６に示すように、６つの表示面Ｐ１〜Ｐ６の表示位置は、３行２列の６箇所である。また、６つの表示面Ｐ１〜Ｐ６の回転角度は、０度、９０度、１８０度及び２７０度の４通りである。回転角度は、６箇所の表示位置の各々で定めることができる。なお、第１の実施の形態では、６つの表示面Ｐ１〜Ｐ６の形状を正方形としたので、回転角度を上述した４通りにしたが、６つの表示面Ｐ１〜Ｐ６の形状を他の形状にしたときには、その形状に応じて回転角度も適宜変更するのが好ましい。
【０１５２】
上述したステップＳ６１３の処理によって決定された表示位置に、回転角度によって定まる向きで６つの表示面Ｐ１〜Ｐ６の各々をディスプレイ１３４に表示することができる。この表示位置及び回転角度は、乱数を発生させてその値に応じて決定するのが好ましい。このようにすることで、ゲームを実行するたびに異なる条件で開始することができ、パズルを面白くすることができる。
【０１５３】
次いで、ＣＰＵ１４０は、ステップＳ６１３の処理で決定した表示位置に回転角度が示す向きで６つの表示面の各々をディスプレイ１３４に表示する（ステップＳ６１５）。次に、表示面Ｐ１〜Ｐ６がまだ貼り付けられていない立体の画像をディスプレイ１３４に表示し（ステップＳ６１７）、本サブルーチンを終了する。本サブルーチンを実行することによって、たとえば、図１５（ａ）に示すような画面がディスプレイ１３４に表示される。
【０１５４】
＜コントローラ操作処理＞
図７は、上述した図５のステップＳ５１７の処理で呼び出されて実行されるコントローラ操作のためのサブルーチンを示すフローチャートである。このサブルーチンもＣＰＵ１４０によって実行される。なお、以下に示すフローチャートは、操作の一例を示すものであり、他のボタンやキーなどを用いて操作してもよい。
【０１５５】
最初に、プレーヤによってコントローラ１２２が操作されたか否かを判断する（ステップＳ７１１）。このステップＳ７１１の判断処理は、コントローラ１２２から所定の無線信号を示す電波が発せられたか否かを判断する処理である。プレーヤによってコントローラ１２２が操作されていないと判別したときには（ＮＯ）、上述した図５のステップＳ５１７に処理を戻す。
【０１５６】
一方、プレーヤによってコントローラ１２２が操作されたと判別したときには（ＹＥＳ）、コントローラ１２２から発せられた無線信号を受信しコマンドを解析する（ステップＳ７１３）。
【０１５７】
コントローラ１２２から受信したコマンドが、表示面選択コマンドであるか否かを判断する（ステップＳ７１５）。表示面選択コマンドであると判別したときには（ＹＥＳ）、その１つの表示面を選択する（ステップＳ７１７）。たとえば、マウスポインタのようなポインタ画像をディスプレイ１３４に表示し、プレイヤがコントローラ１２２を操作することによって、そのポインタ画像を移動させて表示面を選択することができる。たとえば、図１５（ｂ）、（ｃ）又は図１６（ｃ）に示すように、正方形の枠状のポインタ画像が表示されて、そのポインタ画像によって表示面を選択することができる。
【０１５８】
次に、プレイヤによって選択された表示面を識別するために面番号を内部メインメモリ１４２ｅや外部メインメモリ１４６に記憶させ（ステップＳ７１９）、本サブルーチンを終了する。たとえば、６つの表示面は、表示面Ｐ１〜Ｐ６であり、これらのＰ１〜Ｐ６を、表示面を識別するための面番号として用いる。したがって、プレイヤによって表示面Ｐ３が選択されたときには、内部メインメモリ１４２ｅや外部メインメモリ１４６に面番号「Ｐ３」が記憶される。
【０１５９】
上述したステップＳ７１５の判断処理で、コントローラ１２２から受信したコマンドが表示面選択コマンドでないと判別したときには（ＮＯ）、コントローラ１２２から受信したコマンドが表示面移動コマンドであるか否かを判断する（ステップＳ７２１）。コントローラ１２２から受信したコマンドが表示面移動コマンドであると判別したときには（ＹＥＳ）、ポインタ画像を移動させた距離と方向とを検出し（ステップＳ７２３）、その距離と方向とを内部メインメモリ１４２ｅや外部メインメモリ１４６に記憶させ（ステップＳ７２５）、本サブルーチンを終了する。
【０１６０】
このステップＳ７２５の処理で内部メインメモリ１４２ｅや外部メインメモリ１４６に記憶させた距離と方向とに応じて、後述する図８のステップＳ８１５の処理では、ポインタ画像とともに、選択した表示面の画像を表示する。すなわち、内部メインメモリ１４２ｅや外部メインメモリ１４６に記憶させた方向に沿って、内部メインメモリ１４２ｅや外部メインメモリ１４６に記憶させた距離だけ移動する態様で、選択した表示面の画像を表示する。
【０１６１】
上述したステップＳ７２１の判断処理で、コントローラ１２２から受信したコマンドが表示面移動コマンドでないと判別したときには（ＮＯ）、コントローラ１２２から受信したコマンドが立方体回転コマンドであるか否かを判断する（ステップＳ７２７）。コントローラ１２２から受信したコマンドが立方体回転コマンドであると判別したときには（ＹＥＳ）、プレイヤによって十字キー１２６ａが押された方向を検出し（ステップＳ７２９）、その方向を内部メインメモリ１４２ｅや外部メインメモリ１４６に記憶させ（ステップＳ７３１）、本サブルーチンを終了する。一方、コントローラ１２２から受信したコマンドが立方体回転コマンドでないと判別したときには（ＮＯ）、上述した図５のステップＳ５１７に処理を戻す。
【０１６２】
このステップＳ７３１の処理で内部メインメモリ１４２ｅや外部メインメモリ１４６に記憶させた方向に応じて、後述する図８のステップＳ８２９又はＳ８３１の処理では、立方体が回転するように表示する。すなわち、内部メインメモリ１４２ｅや外部メインメモリ１４６に記憶させた方向に沿って回転する態様で、立方体の画像を表示する。
【０１６３】
＜ディスプレイ表示処理＞
図８は、上述した図５のステップＳ５１９の処理で呼び出されて実行されるディスプレイ表示のためのサブルーチンを示すフローチャートである。このサブルーチンもＣＰＵ１４０によって実行される。
【０１６４】
最初に、表示面の１つが選択されたか否かを判断する（ステップＳ８１１）。この判断は、上述したステップＳ７１５と同様に、表示面選択コマンドを受信した否かの判断である。表示面の１つが選択されたと判別したときには（ＹＥＳ）、ポインタ画像が移動したか否かを判断する（ステップＳ８１３）。この判断は、上述したステップＳ７２１と同様に、表示面移動コマンドを受信した否かの判断である。ポインタ画像が移動していないと判別したときには（ＮＯ）、直ちに本サブルーチンを終了する。
【０１６５】
一方、ポインタ画像が移動したと判別したときには（ＹＥＳ）、ポインタ画像が移動した距離及び方向に応じて、選択された表示面の画像が移動する態様で表示する（ステップＳ８１５）。ポインタ画像が移動した距離及び方向は、上述したステップＳ７２５の処理で内部メインメモリ１４２ｅや外部メインメモリ１４６に記憶させた距離及び方向である。この処理によって、図１５（ｂ）→図１５（ｃ）や、図１６（ｃ）のように、選択された表示面の画像が移動するように表示される。
【０１６６】
次に、選択された表示面が、表示されている立方体の近くまで移動したか否かを判断する（ステップＳ８１７）。この判断は、選択された表示面と立方体との間の距離が、所定の距離より短くなったか否かを判断する処理である。選択された表示面が、立方体の近くまで移動したと判別したときには（ＹＥＳ）、選択された表示面の画像が、立方体の立体表面の画像に貼り付けられる態様で表示し（ステップＳ８１９）、本サブルーチンを終了する。このようにすることで、貼り付け作業を容易にでき、ゲームを迅速に進めることができる。たとえば、この処理によって、図１５（ｃ）や図１６（ｂ）のように、選択された表示面の画像が、立方体の立体表面の画像に貼り付けられる態様で表示される。
【０１６７】
一方、ステップＳ８１７の判断処理で、選択された表示面が、表示されている立方体の近くまで移動していないと判別したときには（ＮＯ）、選択された表示面が立方体から離れるように移動したか否かを判断する（ステップＳ８２１）。この判断は、選択された表示面と立方体との間の距離が、所定の距離以上になったか否かを判断する処理である。選択された表示面が立方体から離れるように移動したと判別したときには（ＹＥＳ）、選択された表示面の画像を、立方体の立体表面の画像から剥がれる態様で表示し（ステップＳ８２３）、本サブルーチンを終了する。また、上述したステップＳ８２１の判断処理で、選択された表示面が立方体から離れるように移動していないと判別したときには（ＮＯ）、直ちに本サブルーチンを終了する。
【０１６８】
上述したステップＳ８１１の判断処理で、表示面の１つが選択されていないと判別したときには（ＮＯ）、十字キー１２６ａが押されたか否かを判断する（ステップＳ８２５）。十字キー１２６ａが押されていないと判別したときには（ＮＯ）、直ちに本サブルーチンを終了する。
【０１６９】
十字キー１２６ａが押されたと判別したときには（ＹＥＳ）、少なくとも１つ表示面が立方体の立体表面に貼り付けられているか否かを判断する（ステップＳ８２７）。少なくとも１つ表示面が立方体の立体表面に貼り付けられていると判別したときには（ＹＥＳ）、十字キー１２６ａが押された方向に応じて、貼り付けられた表示面とともに立方体が回転する態様で表示し（ステップＳ８２９）、本サブルーチンを終了する。この処理によって、図１５（ｃ）及び図１６（ａ）〜図１６（ｃ）に示すように、表示面が貼り付けられた立方体の画像が回転する態様で表示される。
【０１７０】
一方、少なくとも１つの表示面が立方体の立体表面に貼り付けられていないと判別したときには（ＮＯ）、十字キー１２６ａが押された方向に応じて、立方体が回転する態様で表示し（ステップＳ８３１）、本サブルーチンを終了する。この処理によって、図１５（ａ）及び図１５（ｂ）に示すように、表示面が貼り付けられていない立方体の画像が回転する態様で表示される。
【０１７１】
＜テーブル更新処理＞
図９は、上述した図５のステップＳ５２１の処理で呼び出されて実行されるテーブル更新処理のためのサブルーチンを示すフローチャートである。このサブルーチンもＣＰＵ１４０によって実行される。
【０１７２】
最初に、表示面が立方体に貼り付けられたか否かを判断する（ステップＳ９１１）。表示面が立方体に貼り付けられたと判別したときには（ＹＥＳ）、貼り付けられた表示面の向きを検出して、表示面の面番号と辺の辺番号とを、図１３に示す貼り付け結果テーブルに書き込み（ステップＳ９１３）、面番号と辺の辺番号とを用いて、図１４に示す判定用テーブルを更新する（ステップＳ９１５）。上述したように、貼り付け結果テーブルや判定用テーブルに書き込む面番号や辺番号は、表示面Ｐ１〜Ｐ６や、辺Ｐ１−Ｌ１〜Ｐ１−Ｌ４、Ｐ２−Ｌ１〜Ｐ２−Ｌ４、Ｐ３−Ｌ１〜Ｐ３−Ｌ４、Ｐ４−Ｌ１〜Ｐ４−Ｌ４、Ｐ５−Ｌ１〜Ｐ５−Ｌ４又はＰ６−Ｌ１〜Ｐ６−Ｌ４である。
【０１７３】
図１３に示す貼り付け結果テーブルや、図１４に示す判定用テーブルに示すように、立方体の立体表面の面番号や辺番号は予め書き込まれている。すなわち、立体表面Ｃ１〜Ｃ６、並びに辺Ｃ１−Ｌ１〜Ｃ１−Ｌ４、Ｃ２−Ｌ１〜Ｃ２−Ｌ４、Ｃ３−Ｌ１〜Ｃ３−Ｌ４、Ｃ４−Ｌ１〜Ｃ４−Ｌ４、Ｃ５−Ｌ１〜Ｃ５−Ｌ４及びＣ６−Ｌ１〜Ｃ６−Ｌ４は、結果テーブルや判定用テーブルに書き込まれている。
【０１７４】
プレイヤによって選択された表示面が、立方体の立体表面に貼り付けられたときには、ステップＳ９１３の処理によって、貼り付け結果テーブルにおいて、プレイヤによって選択された表示面を識別する面番号が、その表示面が貼り付けられた立体表面を識別する面番号に対応する記憶領域に書き込まれる。たとえば、プレイヤによって表示面Ｐ５が選択されて、立体表面Ｃ１に貼り付けられたときには、貼り付け結果テーブルの、立体表面Ｃ１に対応する記憶領域に「Ｐ５」が書き込まれる（図１３参照）。
【０１７５】
さらに、プレイヤによって選択された表示面が、立方体の立体表面に貼り付けられたときには、ステップＳ９１３の処理によって、貼り付け結果テーブルにおいて、選択された表示面の回転角度や立方体の回転方向に応じて定まる辺の辺番号が、その表示面が貼り付けられた立体表面の辺を識別する辺番号に対応する記憶領域に書き込まれる。たとえば、プレイヤによって表示面Ｐ５が選択されて、立体表面Ｃ１に貼り付けられたときに、表示面の回転角度や立方体の回転方向とによって、表示面Ｐ５の辺Ｐ５−Ｌ１が立体表面Ｃ１の辺Ｃ１−Ｌ２に対応し、表示面Ｐ５の辺Ｐ５−Ｌ２が立体表面Ｃ１の辺Ｃ１−Ｌ３に対応し、表示面Ｐ５の辺Ｐ５−Ｌ３が立体表面Ｃ１の辺Ｃ１−Ｌ４に対応し、表示面Ｐ５の辺Ｐ５−Ｌ４が立体表面Ｃ１の辺Ｃ１−Ｌ１に対応する場合には、貼り付け結果テーブルにおいて、立体表面Ｃ１の辺Ｃ１−Ｌ２に対応する記憶領域に辺番号「Ｐ５−Ｌ１」が書き込まれ、立体表面Ｃ１の辺Ｃ１−Ｌ３に対応する記憶領域に辺番号「Ｐ５−Ｌ２」が書き込まれ、立体表面Ｃ１の辺Ｃ１−Ｌ４に対応する記憶領域に辺番号「Ｐ５−Ｌ３」が書き込まれ、立体表面Ｃ１の辺Ｃ１−Ｌ１に対応する記憶領域に辺番号「Ｐ５−Ｌ４」が書き込まれる（図１３参照）。
【０１７６】
上述したステップＳ９１３の処理によって、貼り付け結果テーブルが更新された後、ステップＳ９１５の処理によって、判定用テーブルが更新される。上述したように、貼り付け結果テーブルが更新された場合には、図１４に示すように、判定用テーブルの表示面対応辺関係の辺Ｃ１−Ｌ１に対応する記憶領域に、辺番号「Ｐ５−Ｌ４」が書き込まれ、辺Ｃ１−Ｌ２に対応する記憶領域に、辺番号「Ｐ５−Ｌ１」が書き込まれ、辺Ｃ１−Ｌ３に対応する記憶領域に、辺番号「Ｐ５−Ｌ２」が書き込まれ、辺Ｃ１−Ｌ４に対応する記憶領域に、辺番号「Ｐ５−Ｌ３」が書き込まれる。
【０１７７】
次に、全ての表示面が立方体に貼り付けられたか否かを判断する（ステップＳ９１７）。全ての表示面が立方体に貼り付けられていないと判別したときには（ＮＯ）、直ちに本サブルーチンを終了する。一方、全ての表示面が立方体に貼り付けられたと判別したときには（ＹＥＳ）、パズルが完成したか否かを判断する（ステップＳ９１９）。なお、全ての表示面が立方体の立体表面に貼り付けられたときには、図１３に示す貼り付け結果テーブル及び図１４に示す判定用テーブルの記憶領域の全てに、立体表面とその辺とに対応する面番号と辺番号とが記憶される。
【０１７８】
ステップＳ９１９の判断処理におけるパズルが完成したか否かの判断は、判定用テーブルに記憶された関係が、整合性成立テーブルの全ての関係を満たすか否かである。図１２に示すように、整合性成立テーブルは、表示面Ｐ１〜Ｐ６を立方体に適切に貼り付けることができたときの表示面の面番号及び辺番号と、立体表面の面番号及び辺番号との関係を記憶するテーブルである。この図１２に示した整合性成立テーブルの関係を全て満たしたときには、貼り付けられた６つの表示面Ｐ１〜Ｐ６によって立方体の全体で動画を連続的にかつ矛盾なく表示することができる。したがって、ステップＳ９１９の判断処理は、判定用テーブルに記憶された関係の各々が、整合性成立テーブルのいずれかに該当するか否かを判断する処理である。たとえば、１つの表示面でも一致しない場合には、その表示面では、整合性のない動画が表示される。たとえば、一の表示面で移動するように描かれたオブジェクトの画像が、その一の表示面の一の辺に到達したときに徐々に消失するとともに、そのオブジェクトの画像が、その一の表示面の一の辺と隣接してない他の辺から他の表示面に徐々に現れる態様で表示される。
【０１７９】
上述したステップＳ９１９の判断処理で、パズルが完成していないと判別したときには（ＮＯ）、直ちに本サブルーチンを終了する。一方、パズルが完成したと判別したときには（ＹＥＳ）、完成情報を生成し（ステップＳ９２１）、本サブルーチンを終了する。完成情報は、パズルが完成したことを示す情報であり、フラグなどの変数とするのが好ましい。
【０１８０】
上述したステップＳ９１１の判断処理で、表示面が立方体に貼り付けられていないと判別したときには（ＮＯ）、表示面が立方体から剥がされたか否かを判断する（ステップＳ９２３）。表示面が立方体から剥がされていないと判別したときには（ＮＯ）、直ちに本サブルーチンを終了する。
【０１８１】
表示面が立方体から剥がされたと判別したときには（ＹＥＳ）、剥がされた表示面を示す面番号と、その表示面の辺の辺番号とを、図１３に示す貼り付け結果テーブルから削除し（ステップＳ９２５）、面番号と辺の辺番号とを用いて、図１４に示す判定用テーブルを更新し（ステップＳ９２７）、本サブルーチンを終了する。
【０１８２】
この第１の実施の形態によるパズルゲームによれば、プレイヤは、オブジェクト（たとえば、キャラクタ）が表示面で移動する移動方向を視認して、オブジェクトの移動方向をヒントにして、組み合わせるべき表示面や、立方体に貼り付けるべき表示面を推察しつつ、パズルを解くことができる全く新しい立体パズルを提供できる。
【０１８３】
なお、第１の実施の形態では、「立体」の具体的な形状として立方体である場合を示したが、同じ形状の複数の表示面に組み合わせて組み立てることができるものであればよい。また、六面体と五面体とからなる、いわゆるサッカーボールのように、異なる形状の表示面を組み合わせて組み立てる「立体」でもよい。
【０１８４】
上述したように、第１の実施の形態によるゲームプログラムで用いる動画のデータは、表示面の表面に沿って二次元に移動可能なオブジェクトの画像や、二次元に近い範囲でのみ移動可能なオブジェクトの画像を表示する動画データである。したがって、表示面を立方体に適切に貼り付けてパズルを解けたときには、あくまでも立方体の表面に沿ってオブジェクトが移動する態様の動画が表示されるため、一の表示面から他の表示面にオブジェクトが移るときには、一の表示面と他の表示面と境界（辺）においてオブジェクトが折れ曲がるようにして表示される。
【０１８５】
なお、上述した第１の実施の形態によるゲームプログラムでは動画のデータを用いた場合を示したが、静止画のデータを用いて表示面に静止画を表示してもよい。このような場合であっても、「立体」を示す静止画像を連続的に表示できたり又は矛盾なく表示できたりすれば、パズルが解けたとすることができる。
【０１８６】
＜＜＜第２の実施の形態＞＞＞
上述したように、図１〜図４に示したゲームシステム１００は、第２の実施の形態においても共通する。したがって、第２の実施の形態によるゲームプログラムは、ゲームシステム１００において制御されて実行され、プレイヤによってパズルゲームが行われる。
【０１８７】
＜第２の実施の形態のゲームの手順＞
まず、第２の実施の形態によるゲームプログラムが実行されると、ディスプレイ１３４の画面の右側には、６つの表示面（複数の素片）の画像が表示され、画面の左側には、立体（集合立体）の画像が表示される。第１の実施の形態と同様に、第２の実施の形態における「立体」の具体的な形状は立方体であり（図１０参照）、「６つの表示面」の各々の具体的な形状は正方形である（図１１参照）。したがって、第２の実施の形態によるゲームプログラムが実行されると、図１７に示すように、ディスプレイ１３４の画面の右側には、正方形の「６つの表示面」の画像が表示され、画面の左側には、立方体の「立体」の画像が表示される。上述した正方形の形状を有する６つの表示面が、「複数の素片」に対応し、立方体の形状を有する立体が「集合立体」に対応する。
【０１８８】
この第２の実施の形態のパズルゲームも、ディスプレイ１３４の映像によって示される仮想空間において、正方形の形状を有する「６つの表示面」を組み合わせて並べることによって、立方体の形状を有する「立体」を組み立てるパズルゲームである。第２の実施の形態のパズルゲームは、仮想空間で、正方形の形状を有する「６つの表示面」の各々を面素片として、立方体の形状を有する「立体」を構成する６つの面に、順次貼り付けていくパズルゲームである。第１の実施の形態と同様に、第２の実施の形態においても、「立体」を構成する６つの面Ｃ１、Ｃ２、Ｃ３、Ｃ４、Ｃ５及びＣ６を「立体表面」（図１０参照）と称し、動画が表示される面素片であって、「立体表面」に貼り付けられる６つの面Ｐ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５及びＰ６を「表示面」（図１１参照）と称する。第１の実施の形態と同様に、「立体表面」は、立方体の形状の「立体」の外形を画定する表面である。なお、「表示面」を「立体表面」に貼り付けることができるので、「立体表面」の大きさ及び形状は、「表示面」の大きさ及び形状と同じである。
【０１８９】
したがって、第２の実施の形態においても、第１の実施の形態と同様に、表示面Ｐ１〜Ｐ６の「Ｐ１〜Ｐ６」が、表示面を識別するための面番号となる。また、辺Ｐ１−Ｌ１〜Ｐ１−Ｌ４、Ｐ２−Ｌ１〜Ｐ２−Ｌ４、Ｐ３−Ｌ１〜Ｐ３−Ｌ４、Ｐ４−Ｌ１〜Ｐ４−Ｌ４、Ｐ５−Ｌ１〜Ｐ５−Ｌ４及びＰ６−Ｌ１〜Ｐ６−Ｌ４が、辺を識別するための辺番号となる。同様に、立体表面Ｃ１〜Ｃ６の「Ｃ１〜Ｃ６」が、立体表面を識別するための面番号となる。また、辺Ｃ１−Ｌ１〜Ｃ１−Ｌ４、Ｃ２−Ｌ１〜Ｃ２−Ｌ４、Ｃ３−Ｌ１〜Ｃ３−Ｌ４、Ｃ４−Ｌ１〜Ｃ４−Ｌ４、Ｃ５−Ｌ１〜Ｃ５−Ｌ４及びＣ６−Ｌ１〜Ｃ６−Ｌ４が、辺を識別するための辺番号となる。第１の実施の形態と同様に、これらの面番号と辺番号とは、上述した図１３に示す貼り付け結果テーブルや、図１４に示す判定用テーブルを書き込む情報である。
【０１９０】
第２の実施の形態においても、ディスプレイ１３４の右側に表示されている６つの表示面（表示面Ｐ１〜Ｐ６）には、各種の動画が表示される。これらの６つの表示面Ｐ１〜Ｐ６を適切に組み合わせて、立方体を組み立てることができたときには、組み立てられた立方体の６つの面（組み合わされた表示面）の全体で動画を連続的にかつ矛盾なく表示することができる。言い換えれば、正方形の形状を有する６つの表示面Ｐ１〜Ｐ６を、立方体を構成する６つの立体表面Ｃ１〜Ｃ６に適切に貼り付けることができたときには、貼り付けられた６つの表示面Ｐ１〜Ｐ６によって立方体の全体で動画を連続的にかつ矛盾なく表示することができる。
【０１９１】
上述した第１の実施の形態では、６つの表示面Ｐ１〜Ｐ６の各々には、表示面の表面に沿ってオブジェクトが移動する態様の動画が表示されるものであった。これに対して、第２の実施の形態では、６つの表示面Ｐ１〜Ｐ６を透明なガラスのような透視面であるとして、立方体の内側に仮想的に配置されたオブジェクトを視認できる（透視できる）態様となるように、６つの表示面Ｐ１〜Ｐ６にオブジェクトの画像を表示する。なお、立方体の内側とは、立方体を構成する立体表面Ｃ１〜Ｃ６によって画定される領域を含む範囲をいう。したがって、６つの表示面Ｐ１〜Ｐ６を、立方体を構成する６つの立体表面Ｃ１〜Ｃ６に適切に貼り付けることができたときには、立方体に貼り付けられた６つの表示面Ｐ１〜Ｐ６に表示される画像によって、立方体の内側に仮想的に配置されたオブジェクトの画像を連続的にかつ矛盾なく表示することができる。このように、６つの表示面Ｐ１〜Ｐ６を適切に貼り付けることができたときには、６つの表示面Ｐ１〜Ｐ６に表示されたオブジェクトの画像によって、プレイヤは立方体の内側にオブジェクトが配置されたように視認することができるので、現実感のある画像を表示することができる。
【０１９２】
＜動画データ＞
上述したように、第２の実施の形態においても、ゲームプログラムを実行することによって、プレイヤはパズルゲームを行うことができる。上述したように、このパズルゲームは、正方形の形状を有する６つの表示面Ｐ１〜Ｐ６を、立方体を構成する６つの立体表面Ｃ１〜Ｃ６に適切に貼り付けることができたときには、貼り付けられた６つの表示面Ｐ１〜Ｐ６によって立方体の全体で動画を連続的にかつ矛盾なく表示して、パズルが解けたとするゲームである。したがって、第２の実施の形態によるゲームプログラムでも、６つの表示面Ｐ１〜Ｐ６が適切に貼り付けられたときには、連続的にかつ矛盾なく動画を表示できるような動画データを用いる。
【０１９３】
第２の実施の形態では、図１１（ｂ）に示したような６つの表示面Ｐ１〜Ｐ６の各々に所定の画像データを割り当て、６つの表示面Ｐ１〜Ｐ６を立方体の６つの立体表面Ｃ１〜Ｃ６に適切に貼り付けることができたときに、貼り付けられた表示面Ｐ１〜Ｐ６に表示される動画によって、立方体の全体で連続的に動画を表示できる動画データを用いればよい。図１１（ｂ）は、内部メインメモリ１４２ｅや外部メインメモリ１４６の所定の記憶領域に形成されたデータ領域を模式的に示す図であり、６つの表示面Ｐ１〜Ｐ６の各々の画像データが割り当てられて記憶される領域を示す図である。
【０１９４】
したがって、このような６つの表示面Ｐ１〜Ｐ６の各々に割り当てる所定の画像データを生成して、内部メインメモリ１４２ｅや外部メインメモリ１４６に記憶させればよい。なお、動画データは、複数の一定のものを光ディスク１１８に予め記憶させておいて内部メインメモリ１４２ｅや外部メインメモリ１４６に展開するようにしても、パズルゲームを開始する度に生成して内部メインメモリ１４２ｅや外部メインメモリ１４６に記憶させるようにしてもよい。
【０１９５】
６つの表示面Ｐ１〜Ｐ６の各々に割り当てた所定の画像データを、ＶＲＡＭ１４２ｄに書き込むことによって、６つの表示面Ｐ１〜Ｐ６の各々に対応させて動画を表示することができる。
【０１９６】
６つの表示面Ｐ１〜Ｐ６の各々に割り当てる動画データは、図１８に示すようにして生成すればよい。図１８に示すように、オブジェクトが配置されている仮想空間に、オブジェクトの像を仮想的に撮影するための仮想カメラを設置し、仮想カメラによってオブジェクトを撮影して仮想的に得られるデータを画像データ（動画データ）として用いる。
【０１９７】
具体的には、立方体を構成する６つの立体表面Ｃ１〜Ｃ６の各々を望むように６つの仮想カメラＭ１〜Ｍ６を、オブジェクトが配置されている仮想空間に設置する。仮想カメラＭ１は、立体表面Ｃ１を介してオブジェクトの像を仮想的に撮影する。仮想カメラＭ２は、立体表面Ｃ２を介してオブジェクトの像を仮想的に撮影する。仮想カメラＭ３は、立体表面Ｃ３を介してオブジェクトの像を仮想的に撮影する。仮想カメラＭ４は、立体表面Ｃ４を介してオブジェクトの像を仮想的に撮影する。仮想カメラＭ５は、立体表面Ｃ５を介してオブジェクトの像を仮想的に撮影する。仮想カメラＭ６は、立体表面Ｃ６を介してオブジェクトの像を仮想的に撮影する。
【０１９８】
さらに、たとえば、仮想カメラＭ１によって撮影されて仮想的に得られた画像データ（動画データ）を表示面Ｐ１に割り当てる。仮想カメラＭ２によって撮影されて仮想的に得られた画像データ（動画データ）を表示面Ｐ２に割り当てる。仮想カメラＭ３によって撮影されて仮想的に得られた画像データ（動画データ）を表示面Ｐ３に割り当てる。仮想カメラＭ４によって撮影されて仮想的に得られた画像データ（動画データ）を表示面Ｐ４に割り当てる。仮想カメラＭ５によって撮影されて仮想的に得られた画像データ（動画データ）を表示面Ｐ５に割り当てる。仮想カメラＭ６によって撮影されて仮想的に得られた画像データ（動画データ）を表示面Ｐ６に割り当てる。なお、このような動画データは、三次元立体画像データであるものが好ましい。
【０１９９】
このように構成した場合には、表示面Ｐ１を立体表面Ｃ１に貼り付け、表示面Ｐ２を立体表面Ｃ２に貼り付け、表示面Ｐ３を立体表面Ｃ３に貼り付け、表示面Ｐ４を立体表面Ｃ４に貼り付け、表示面Ｐ５を立体表面Ｃ５に貼り付け、表示面Ｐ６を立体表面Ｃ６に貼り付けたときに、貼り付けられた表示面Ｐ１〜Ｐ６によって、立方体の内側に仮想的に配置されたオブジェクトの画像を連続的にかつ矛盾なく表示することができ、パズルが解けたことになる。
【０２００】
第２の実施の形態によるゲームプログラムにおいても、パズルを解くことができたか否かの判断は、第１の実施の形態と同様に、図１２に示した整合性成立テーブルを用いて判断することができる。整合性成立テーブルは、表示面を立方体に適切に貼り付けることができたときの表示面の面番号及び辺番号と、立体表面の面番号及び辺番号との関係を記憶するテーブルであり、パズルの正答の関係を記憶するテーブルである。この整合性の関係は、予め定められて光ディスク１１８に記憶されており、パズルゲームの起動とともに、内部メインメモリ１４２ｅや外部メインメモリ１４６に展開される。表示面を立方体に適切に貼り付けることができたときには、この整合性の関係を全て満たし、パズルを解くことができたと判断することができる。
【０２０１】
＜＜第２の実施の形態のゲームの処理＞＞
第２の実施の形態のゲームの処理は、第１の実施の形態のゲームの処理と同様に、図５のゲーム実行基本処理と、図６のゲーム初期化処理と、図７のコントローラ操作処理と、図８のディスプレイ表示処理と、図９のテーブル更新処理とを実行する。
【０２０２】
第２の実施の形態でも、図１７（ｂ）に示すように、６つの表示面Ｐ１〜Ｐ６の表示位置は、３行２列の６箇所である。また、６つの表示面Ｐ１〜Ｐ６の回転角度は、０度、９０度、１８０度及び２７０度の４通りである。回転角度は、６箇所の表示位置の各々で定めることができる。なお、第２の実施の形態でも、６つの表示面Ｐ１〜Ｐ６の形状を正方形としたので、回転角度を上述した４通りにしたが、６つの表示面Ｐ１〜Ｐ６の形状を他の形状にしたときには、その形状に応じて回転角度も適宜変更するのが好ましい。
【０２０３】
このようにすることで、第２の実施の形態でも、図６に示したゲーム初期化処理のサブルーチンにおけるステップＳ６１３の処理によって決定された表示位置に、回転角度による向きで６つの表示面Ｐ１〜Ｐ６の各々をディスプレイ１３４に表示することができる。この表示位置及び回転角度は、乱数を発生させてその値に応じて決定するのが好ましい。このようにすることで、ゲームを実行するたびに異なる条件で開始することができ、パズルを面白くすることができる。
【０２０４】
また、図９に示したテーブル更新処理において、整合性成立テーブルを用いて、６つの表示面Ｐ１〜Ｐ６を立方体の６つの立体表面Ｃ１〜Ｃ６に適切に貼り付けることができたか否かを判断することができる。すなわち、第２の実施の形態においても、第１の実施の形態と同様に、図９に示したテーブル更新処理を実行することで、図１３に示した貼り付け結果テーブル及び図１４に示した判定用テーブルの表示面の面番号と辺の辺番号とを更新して、図１２に示した整合性成立テーブルを用いて、６つの表示面Ｐ１〜Ｐ６を適切に貼り付けることができたか否かを判断することができる。
【０２０５】
上述したように、第１の実施の形態によるゲームプログラムで用いる動画のデータは、表示面の表面などの二次元に移動可能なオブジェクトの画像や、二次元に近い範囲でのみ移動可能なオブジェクトの画像を表示する動画データであった。このため、表示面を立方体に貼り付けてパズルを解いたときには、あくまでも立方体の表面に沿ってオブジェクトが移動する態様の動画が表示されるため、一の表示面から他の表示面にオブジェクトが移るときに、折れ曲がるようにして表示され、現実感の薄いオブジェクトの画像が立方体に表示された。
【０２０６】
これに対して、第２の実施の形態によるゲームプログラムのパズルゲームは、立方体に内側に配置されたオブジェクトを視認する（透視する）ような態様で、オブジェクトの画像を表示面に表示するので、現実感のあるオブジェクトの画像を立方体に貼り付けられた表示面によって表示することができる。
【０２０７】
なお、上述した第２の実施の形態によるゲームプログラムでは動画のデータを用いた場合を示したが、静止画のデータを用いて表示面に静止画を表示してもよい。このような場合であっても、「立体」を示す静止画像を連続的に表示できたり又は矛盾なく表示できたりすれば、パズルが解けたとすることができる。
【０２０８】
＜＜＜第３の実施の形態＞＞＞
上述したように、図１〜図４に示したゲームシステム１００は、第３の実施の形態においても共通する。したがって、第３の実施の形態によるゲームプログラムは、ゲームシステム１００において制御されて実行され、プレイヤによってパズルゲームが行われる。
【０２０９】
＜第３の実施の形態のゲームの手順＞
まず、第３の実施の形態によるゲームプログラムが実行されると、ディスプレイ１３４の画面の右側には、３つの仮想的な「立体素片」の画像が表示され、画面の左側には、１つの仮想的な「集合立体」の画像が表示される。「集合立体」は、仮想空間において、３つの「立体素片」が配置されて形成された立体である。
【０２１０】
第３の実施の形態において、「集合立体」の全体的な形状は、所定の高さを有する円柱であり（図２５（ａ）参照）、３つの「立体素片」の各々の具体的な形状は、「集合立体」の円柱の高さよりも高さが低くかつ「集合立体」の円柱と半径が同じ円柱である（図２５（ｂ）参照）。したがって、第３の実施の形態によるゲームプログラムが実行されると、図２６に示すように、ディスプレイ１３４の画面の右側には、低い高さの円柱形状の３つの「立体素片」の画像が表示され、画面の左側には、「立体素片」よりも高い高さを有する円柱形状の「集合立体」の画像が表示される。
【０２１１】
第３の実施の形態によるゲームプログラムのパズルゲームは、第１の実施の形態や第２の実施の形態とは異なり、ディスプレイ１３４の映像によって示される仮想空間において、円柱形状を有する複数の「立体素片」を並べたり組み合わせたりすることによって、「立体素片」の高さよりも高い高さを有する円柱形状を有する「集合立体」を組み立てるゲームである。すなわち、上述した第１の実施の形態や第２の実施の形態のパズルゲームは、ディスプレイ１３４の映像によって示される仮想空間において、正方形の「面素片」を組み合わせて、所定の大きさと形状とを有する立体を組み立てるゲームであったが、第３の実施の形態のパズルゲームは、仮想空間において、「立体素片」を並べたり組み合わせたりして、所定の大きさと形状とを有する「集合立体」を組み立てるゲームである。
【０２１２】
上述したように、第３の実施の形態のパズルゲームは、円柱形状の３つの「立体素片」を並べたり組み合わせたりすることによって、円柱形状の「集合立体」を組み立てるゲームである。したがって、３つの「立体素片」を高さ方向に適切な順序で並べることで、「集合立体」を完成させることができる。また、３つの「立体素片」も「集合立体」も円柱形状を有するので、高さ方向に沿って延在する円柱の中心軸の周りに所定の角度だけ回転させて、３つの「立体素片」を配置することもできる。したがって、パズルゲームの初期化処理で、３つの「立体素片」の軸の周り角度を異ならしめて３つの「立体素片」を配置することによって、３つの「立体素片」が高さ方向に適切な順序となるように並べるだけでなく、３つの「立体素片」が中心軸の周りに適切な角度にもなるように配置して、「集合立体」を完成させるパズルゲームにすることができる。
【０２１３】
第３の実施の形態においては、円柱形状の「集合立体」を構成し、動画が表示される３つの立体の素片の各々を立体素片Ｅ１、Ｅ２及びＥ３（図２５（ｂ）参照）と称する。また、立体素片Ｅ１の上側の辺をＥ１−Ｌ１と称し下側の辺をＥ１−Ｌ２と称する。立体素片Ｅ２の上側の辺をＥ２−Ｌ１と称し下側の辺をＥ２−Ｌ２と称する。立体素片Ｅ３の上側の辺をＥ３−Ｌ１と称し下側の辺をＥ３−Ｌ２と称する。これらのＥ１−Ｌ１、Ｅ１−Ｌ２、Ｅ２−Ｌ１、Ｅ２−Ｌ２、Ｅ３−Ｌ１及びＥ３−Ｌ２が、立体素片Ｅ１、Ｅ２及びＥ３の辺を識別するための辺番号となる。この辺番号は、後述する図２４に示す判定用テーブルに書き込む情報である。なお、第３の実施の形態においては、辺番号には、立体素片を識別するためのＥ１、Ｅ２及びＥ３も含まれており、辺番号を指定することによって、立体素片とその辺とを特定することができる。また、第３の実施の形態においては、第１の実施の形態や第２の実施の形態のパズルゲームとは異なり、３つの「立体素片」の適切な順序は、一義的に定まるため、貼り付け結果テーブルを用いずに、判定用テーブル（図２４参照）のみを用いることができる。
【０２１４】
第３の実施の形態のパズルゲームでは、ディスプレイ１３４の右側に表示されている３つの立体素片Ｅ１〜Ｅ３には、各種の動画が表示される。これらの３つの立体素片Ｅ１〜Ｅ３を適切な順序でかつ適切な角度で並べて、円柱形状の「集合立体」を完成させることができたときには、並べられた３つの立体素片Ｅ１〜Ｅ３の全体で動画を連続的にかつ矛盾なく表示することができる。
【０２１５】
第３の実施の形態では、円柱形状の「集合立体」の表面（円筒状の表面）を透明なガラスのような透視面であるとして、「集合立体」の内側に仮想的に配置されたオブジェクトを視認できる（透視できる）態様となるように、３つの立体素片Ｅ１〜Ｅ３にオブジェクトの画像を表示する。ここで、「集合立体」の内側とは、円柱形状の「集合立体」を構成する円筒状の表面によって画定される領域を含む範囲をいう。なお、円柱は、円筒のみならず、円筒を挟む２つの底面も有するので、円筒状の表面のみならず、２つの底面を含めて画定される領域を、「集合立体」の内側としてもよい。
【０２１６】
したがって、３つの立体素片Ｅ１〜Ｅ３を適切に並べることができたときには、３つの立体素片Ｅ１〜Ｅ３に表示される画像によって、円柱形状の「集合立体」の内側に仮想的に配置されたオブジェクトの画像を連続的にかつ矛盾なく表示することができる。このように、３つの立体素片Ｅ１〜Ｅ３を適切に並べることができたときには、３つの立体素片Ｅ１〜Ｅ３に表示されたオブジェクトの画像によって、プレイヤは円柱形状の「集合立体」の内側にオブジェクトが配置されたように視認することができるので、現実感のある画像を表示することができる。
【０２１７】
＜動画データ＞
上述したように、第３の実施の形態においても、ゲームプログラムを実行することによって、プレイヤはパズルゲームを行うことができる。上述したように、このパズルゲームは、円柱の形状を有する３つの立体素片Ｅ１〜Ｅ３を適切な順序でかつ適切な角度で並べることができたときには、並べられた３つの立体素片Ｅ１〜Ｅ３によって、円柱形状の「集合立体」の全体で動画を連続的にかつ矛盾なく表示して、パズルが解けたとするゲームである。したがって、第３の実施の形態によるゲームプログラムでも、３つの立体素片Ｅ１〜Ｅ３が適切に並べられたときに、連続的にかつ矛盾なく動画を表示できるような動画データを用いる。
【０２１８】
第３の実施の形態では、図２５（ｃ）に示したような３つの立体素片Ｅ１〜Ｅ３の画像データ領域の各々に所定の画像データを割り当てる。この図２５（ｃ）は、内部メインメモリ１４２ｅや外部メインメモリ１４６の所定の記憶領域に形成されたデータ領域を模式的に示す図であり、３つの立体素片Ｅ１〜Ｅ３の各々の画像データが割り当てられて記憶される領域を示す図である。３つの立体素片Ｅ１〜Ｅ３を適切に並べることができたときに、並べられた３つの立体素片Ｅ１〜Ｅ３に表示される動画によって、円柱形状の「集合立体」の全体で連続的でかつ矛盾なく動画を表示できる動画データを用いればよい。なお、このような動画データは、三次元立体画像データであるものが好ましい。
【０２１９】
したがって、このような３つの立体素片Ｅ１〜Ｅ３の各々に割り当てる所定の画像データを生成して、内部メインメモリ１４２ｅや外部メインメモリ１４６に記憶させればよい。なお、動画データは、複数の一定のものを光ディスク１１８に予め記憶させておいて内部メインメモリ１４２ｅや外部メインメモリ１４６に展開するようにしても、パズルゲームを開始する度に生成して内部メインメモリ１４２ｅや外部メインメモリ１４６に記憶させるようにしてもよい。
【０２２０】
３つの立体素片Ｅ１〜Ｅ３の各々に割り当てた所定の画像データを、ＶＲＡＭ１４２ｄに書き込むことによって、３つの立体素片Ｅ１〜Ｅ３の各々に対応させて動画を表示することができる。
【０２２１】
３つの立体素片Ｅ１〜Ｅ３の各々に割り当てる動画データは、図２５（ａ）及び図２５（ｂ）に示すようにして生成すればよい。図２５（ａ）に示すように、オブジェクトが配置されている仮想空間に、オブジェクトの像を仮想的に撮影するための仮想カメラを設置し、仮想カメラによってオブジェクトを撮影したものとして仮想的に得られるデータを画像データ（動画データ）として用いる。
【０２２２】
具体的には、円柱形状の「集合立体」を構成する３つの立体表面Ｄ１〜Ｄ３の各々を望むように、３つの仮想カメラＭ１〜Ｍ３を、オブジェクトが配置されている仮想空間に設置する。３つの立体表面Ｄ１〜Ｄ３は、円柱形状の「集合立体」の円筒部分の外形を画定する表面である。図２５（ａ）に示すように、オブジェクトが配置されている仮想空間において、３つの仮想カメラＭ１〜Ｍ３の各々を、円柱形状の「集合立体」の高さ方向に異なる位置に設置する。
【０２２３】
立体表面Ｄ１〜Ｄ３の各々は、円柱形状を有しており、高さ方向に沿って延在する中心軸を有する。仮想カメラＭ１は、立体表面Ｄ１の高さ方向の略中央に、かつ、立体表面Ｄ１の中心軸から所定の半径の位置に、かつ、中心軸の周りに３６０度に亘って回転可能に、かつ、立体表面Ｄ１に向かって設置されている。仮想カメラＭ２は、立体表面Ｄ２の高さ方向の略中央に、かつ、立体表面Ｄ２の中心軸から所定の半径の位置に、かつ、中心軸の周りに３６０度に亘って回転可能に、かつ、立体表面Ｄ２に向かって設置されている。仮想カメラＭ１は、立体表面Ｄ３の高さ方向の略中央に、かつ、立体表面Ｄ３の中心軸から所定の半径の位置に、かつ、中心軸の周りに３６０度に亘って回転可能に、かつ、立体表面Ｄ３に向かって設置されている。
【０２２４】
仮想カメラＭ１は、立体表面Ｄ１の表面（透視可能な面であるとして）を介してオブジェクトの像を、立体表面Ｄ１の中心軸の周りで回転しつつ仮想的に撮影する。仮想カメラＭ２は、立体表面Ｄ２の表面（透視可能な面であるとして）を介してオブジェクトの像を、立体表面Ｄ２の中心軸の周りで回転しつつ仮想的に撮影する。仮想カメラＭ３は、立体表面Ｄ３の表面（透視可能な面であるとして）を介してオブジェクトの像を、立体表面Ｄ３の中心軸の周りで回転しつつ仮想的に撮影する。仮想カメラＭ１〜Ｍ３の各々によってオブジェクトを仮想的に撮影されたとして生成した画像データは、内部メインメモリ１４２ｅや外部メインメモリ１４６の所定の記憶領域（図２５（ｃ）参照）に記憶させる。なお、仮想空間に配置されたオブジェクトは、仮想空間内で移動できるので、内部メインメモリ１４２ｅや外部メインメモリ１４６の記憶領域に記憶させる動画データは、所定のタイミングごとに更新する。このようにすることで、仮想空間で移動するオブジェクトを表示することができる。
【０２２５】
さらに、たとえば、仮想カメラＭ１によって撮影されて仮想的に得られた画像データ（動画データ）を立体素片Ｅ１に割り当てる。仮想カメラＭ２によって撮影されて仮想的に得られた画像データ（動画データ）を立体素片Ｅ２に割り当てる。仮想カメラＭ３によって撮影されて仮想的に得られた画像データ（動画データ）を立体素片Ｅ３に割り当てる。立体表面Ｄ１〜Ｄ３は、円筒形状を有するので、上述したように生成した画像データ（動画データ）を、座標変換や陰面処理やテクスチャマッピングなどの画像処理を施すによって、円筒形状に適合させて、円筒形状を有する立体表面Ｄ１〜Ｄ３の表面に画像を貼り付けるようにして仮想空間に存在するオブジェクトを表示すればよい。
【０２２６】
なお、内部メインメモリ１４２ｅや外部メインメモリ１４６の所定の記憶領域（図２５（ｃ）参照）に記憶された画像データは、長尺な矩形状の画像を表示できるように構成されているが、上述したように、座標変換などの画像処理を施すによって、円筒形状に変形して、円筒表面に画像を貼り付けるような態様で画像を表示することができる。
【０２２７】
このように画像データ（動画データ）を生成して内部メインメモリ１４２ｅや外部メインメモリ１４６の所定の記憶領域（図２５（ｃ）参照）に記憶させておくことにより、構成した場合には、立体素片Ｅ１を立体表面Ｄ１の位置に配置し、立体素片Ｅ２を立体表面Ｄ２の位置に配置し、立体素片Ｅ３を立体表面Ｄ３の位置に配置したときに、オブジェクトの画像を連続的にかつ矛盾なく表示することができ、パズルが解けたことになる。具体的には、上から、立体素片Ｅ１、Ｅ２及びＥ３の順に並べ、かつ、立体素片Ｅ１、Ｅ２及びＥ３の中心軸が一致するように又は同心状に配置し、これらの立体素片を適切な角度となるように並べたときに、並べられた立体素片Ｅ１、Ｅ２及びＥ３によって、円柱形状の「集合立体」の内側に仮想的に配置されたオブジェクトの画像を連続的にかつ矛盾なく表示することができ、パズルが解けたことになる。
【０２２８】
第３の実施の形態によるゲームプログラムにおいても、パズルを解くことができたか否かの判断は、第１の実施の形態や第２の実施の形態と同様に、図２３に示す整合性成立テーブルを用いて判断することができる。図２３に示す整合性成立テーブルは、３つの立体素片Ｅ１〜Ｅ３を適切に並べることができたときの辺番号の関係を記憶するテーブルであり、パズルの正答の関係を記憶するテーブルである。
【０２２９】
上述したように、第３の実施の形態においては、辺番号には、立体素片を識別するためのＥ１、Ｅ２及びＥ３も含まれており、辺番号を指定することによって、立体素片とその辺とを特定することができる。したがって、整合性成立テーブルには、辺番号の並びの関係を記憶させればよい。たとえば、図２３に示した例では、辺番号は、上から順に、Ｅ１−Ｌ１、Ｅ１−Ｌ２、Ｅ２−Ｌ１、Ｅ２−Ｌ２、Ｅ３−Ｌ１及びＥ３−Ｌ２として定められて、整合性成立テーブルに記憶されている。この整合性の関係は、予め定められて光ディスク１１８に記憶されており、パズルゲームの起動とともに、内部メインメモリ１４２ｅや外部メインメモリ１４６に展開される。立体素片を集合立体に適切に貼り付けることができたときには、この整合性の関係を全て満たし、パズルを解くことができたと判断することができる。
【０２３０】
また、上述したように、第３の実施の形態のパズルゲームは、３つの立体素片Ｅ１〜Ｅ３が適切な順序となるように並べるだけでなく、３つの立体素片Ｅ１〜Ｅ３が適切な角度にもなるように配置して、「集合立体」を完成させるゲームである。したがって、パズルを解くことができたか否かの判断は、辺番号による判断だけでなく、３つの立体素片Ｅ１〜Ｅ３の全てが適切な角度で並べられたか否かの判断も要する。
【０２３１】
３つの立体素片Ｅ１〜Ｅ３の角度は、パズルゲームの初期化処理によって、初期値が定められる。また、プレイヤがコントローラ１２２を操作することによって、３つの立体素片Ｅ１〜Ｅ３を操作に応じて回転させることができ、そのときの角度を定めることができる。３つの立体素片Ｅ１〜Ｅ３の角度は、内部メインメモリ１４２ｅや外部メインメモリ１４６の所定の記憶領域に記憶される。３つの立体素片Ｅ１〜Ｅ３が並べられたときには、内部メインメモリ１４２ｅや外部メインメモリ１４６の所定の記憶領域から、３つの立体素片Ｅ１〜Ｅ３の角度を読み出し、それらの全てが一致するか否かを判断すればよい。
【０２３２】
なお、３つの立体素片Ｅ１〜Ｅ３は、連続的に回転できるようにはせずに、所定の角度ごとに回転できるようにすることで回転方向の位置合わせの操作を容易にすることができる。また、回転できる所定の角度を適宜定めることによって、回転方向の位置合わせの操作の困難性を決めることができる。たとえば、所定の角度を９０度ごとにしたときには、大雑把に回転方向を定めればよいので、回転方向の位置合わせの操作を容易にすることができる。一方、所定の角度を５度ごとにしたときには、細かく回転方向を定めなければならないので、回転方向の位置合わせの操作を困難にすることができる。
【０２３３】
＜＜第３の実施の形態のゲームの処理＞＞
第３の実施の形態のゲームの処理は、第１の実施の形態のゲームや第２の実施の形態のゲームの処理と同様に、図５のゲーム実行基本処理と、図１９のゲーム初期化処理と、図２０のコントローラ操作処理と、図２１のディスプレイ表示処理と、図２２のテーブル更新処理とを、同様に実行すればよい。
【０２３４】
上述した図５に示したゲーム実行基本処理を実行することによって、第３の実施の形態によるパズルゲームを行うことができる。
【０２３５】
＜ゲーム初期化処理＞
図１９は、第３の実施の形態におけるゲーム初期化処理のサブルーチンを示すフローチャートであり、上述した図５のステップＳ５１５の処理で呼び出されて実行される。このサブルーチンもＣＰＵ１４０によって実行される。
【０２３６】
最初に、ＣＰＵ１４０は、３つの立体素片Ｅ１〜Ｅ３に表示する動画の基本構成を決定する（ステップＳ１９１１）。この処理は、上述したステップＳ６１１の処理と同様に、たとえば、動画の背景や、対象物であるキャラクタの種類と数や、他の表示物や数やら位置などを決定する。このステップＳ１９１１の処理によって、動画データが生成される。上述したように、動画データは、図２５（ｃ）に示した３つの立体素片Ｅ１〜Ｅ３の画像データ領域で表示できるデータである。
【０２３７】
次に、ＣＰＵ１４０は、３つの立体素片Ｅ１〜Ｅ３の各々の表示位置及び回転角度を決定する（ステップＳ１９１３）。上述したように、パズルゲームが開始されると、図２６に示すように、ディスプレイ１３４の画面の右側には、３つの立体素片Ｅ１〜Ｅ３の画像が表示される。パズルゲームであるので、このディスプレイ１３４の画面の右側に表示する３つの立体素片Ｅ１〜Ｅ３の表示位置やその回転角度は、パズルゲームが開始されるたびに異なるようにするのが好ましい。ステップＳ１９１３の処理は、パズルゲームが開始されるたびに異なるようにするために、３つの立体素片Ｅ１〜Ｅ３の表示位置やその回転角度を定める処理である。
【０２３８】
第３の実施の形態では、図２５（ｂ）や図２６に示すように、３つの立体素片Ｅ１〜Ｅ３の表示位置は、３行１列の３箇所である。また、上述したように、３つの「立体素片」も「集合立体」も円柱形状を有するので、高さ方向に沿って延在する円柱の中心軸の周りに所定の角度だけ回転させて、３つの立体素片Ｅ１〜Ｅ３を配置することもできる。ステップＳ１９１３の処理で決定する回転角度は、３つの立体素片Ｅ１〜Ｅ３の中心軸の周りの回転角度である。
【０２３９】
上述したステップＳ１９１３の処理によって決定された表示位置に、回転角度による向きで３つの立体素片Ｅ１〜Ｅ３の各々をディスプレイ１３４に表示することができる。この表示位置及び回転角度は、乱数を発生させてその値に応じて決定するのが好ましい。このようにすることで、ゲームを実行するたびに異なる条件で開始することができ、パズルを面白くすることができる。
【０２４０】
次いで、ＣＰＵ１４０は、ステップＳ１９１３の処理で決定した表示位置に回転角度が示す向きで３つの立体素片Ｅ１〜Ｅ３の各々をディスプレイ１３４に表示する（ステップＳ１９１５）。次に、３つの立体素片Ｅ１〜Ｅ３がまだ配置されていない「集合立体」の画像をディスプレイ１３４に表示し（ステップＳ１９１７）、本サブルーチンを終了する。本サブルーチンを実行することによって、たとえば、図２６に示すような画面がディスプレイ１３４に表示される。
【０２４１】
＜コントローラ操作処理＞
図２０は、第３の実施の形態におけるコントローラ操作処理のサブルーチンを示すフローチャートであり、上述した図５のステップＳ５１７の処理で呼び出されて実行される。このサブルーチンもＣＰＵ１４０によって実行される。
【０２４２】
最初に、プレーヤによってコントローラ１２２が操作されたか否かを判断する（ステップＳ２０１１）。このステップＳ２０１１の判断処理は、上述したステップＳ７１１と同様に、コントローラ１２２から所定の無線信号を示す電波が発せられたか否かを判断する処理である。プレーヤによってコントローラ１２２が操作されていないと判別したときには（ＮＯ）、上述した図５のステップＳ５１７に処理を戻す。
【０２４３】
一方、プレーヤによってコントローラ１２２が操作されたと判別したときには（ＹＥＳ）、コントローラ１２２から発せられた無線信号を受信しコマンドを解析する（ステップＳ２０１３）。
【０２４４】
コントローラ１２２から受信したコマンドが、立体素片選択コマンドであるか否かを判断する（ステップＳ２０１５）。立体素片選択コマンドであると判別したときには（ＹＥＳ）、３つの立体素片Ｅ１〜Ｅ３から１つの立体素片を選択する（ステップＳ２０１７）。たとえば、マウスポインタのようなポインタ画像をディスプレイ１３４に表示し、プレイヤがコントローラ１２２を操作することによって、そのポインタ画像を移動させて立体素片を選択することができる。たとえば、正方形の枠状のポインタ画像がディスプレイ１３４に表示されて、そのポインタ画像によって立体素片を選択することができる。
【０２４５】
次に、プレイヤによって選択された立体素片を識別するために素片番号を内部メインメモリ１４２ｅや外部メインメモリ１４６に記憶させ（ステップＳ２０１９）、本サブルーチンを終了する。たとえば、３つの立体素片Ｅ１〜Ｅ３の「Ｅ１〜Ｅ３」を、立体素片を識別するための素片番号として用いる。したがって、プレイヤによって立体素片Ｅ３が選択されたときには、内部メインメモリ１４２ｅや外部メインメモリ１４６に面番号「Ｅ３」が記憶される。
【０２４６】
上述したステップＳ２０１５の判断処理で、コントローラ１２２から受信したコマンドが立体素片選択コマンドでないと判別したときには（ＮＯ）、コントローラ１２２から受信したコマンドが立体素片移動コマンドであるか否かを判断する（ステップＳ２０２１）。コントローラ１２２から受信したコマンドが立体素片移動コマンドであると判別したときには（ＹＥＳ）、ポインタ画像を移動させた距離と方向とを検出し（ステップＳ２０２３）、その距離と方向とを内部メインメモリ１４２ｅや外部メインメモリ１４６に記憶させ（ステップＳ２０２５）、本サブルーチンを終了する。
【０２４７】
また、上述したように、プレイヤがコントローラ１２２を操作することによって、３つの立体素片Ｅ１〜Ｅ３を操作に応じて回転させることができ、そのときの角度を定めることができる。３つの立体素片Ｅ１〜Ｅ３の回転角度は、上述したステップＳ２０２５の処理によって、内部メインメモリ１４２ｅや外部メインメモリ１４６の所定の記憶領域に記憶される。
【０２４８】
このステップＳ２０２５の処理で内部メインメモリ１４２ｅや外部メインメモリ１４６に記憶させた距離と方向とに応じて、後述する図２１のステップＳ２１１５の処理では、ポインタ画像とともに、選択された立体素片の画像を表示する。すなわち、内部メインメモリ１４２ｅや外部メインメモリ１４６に記憶させた方向に沿って、内部メインメモリ１４２ｅや外部メインメモリ１４６に記憶させた距離だけ移動する態様で、選択した立体素片の画像を表示する。
【０２４９】
上述したステップＳ２０２１の判断処理で、コントローラ１２２から受信したコマンドが立体素片移動コマンドでないと判別したときには（ＮＯ）、コントローラ１２２から受信したコマンドが集合立体回転コマンドであるか否かを判断する（ステップＳ２０２７）。コントローラ１２２から受信したコマンドが集合立体回転コマンドであると判別したときには（ＹＥＳ）、プレイヤによって十字キー１２６ａが押された方向を検出し（ステップＳ２０２９）、その方向を内部メインメモリ１４２ｅや外部メインメモリ１４６に記憶させ（ステップＳ２０３１）、本サブルーチンを終了する。一方、コントローラ１２２から受信したコマンドが集合立体回転コマンドでないと判別したときには（ＮＯ）、上述した図５のステップＳ５１７に処理を戻す。
【０２５０】
このステップＳ２０３１の処理で内部メインメモリ１４２ｅや外部メインメモリ１４６に記憶させた方向に応じて、後述する図２１のステップＳ２１２９又はＳ２１３１の処理では、集合立体が回転するように表示する。すなわち、内部メインメモリ１４２ｅや外部メインメモリ１４６に記憶させた方向に沿って回転する態様で、集合立体の画像を表示する。上述したように、集合立体も円柱形状を有するので、集合立体の高さ方向に沿って延在する中心軸の周りに所定の角度だけ回転させる。
【０２５１】
＜ディスプレイ表示処理＞
図２１は、第３の実施の形態におけるディスプレイ表示処理のサブルーチンを示すフローチャートであり、上述した図５のステップＳ５１９の処理で呼び出されて実行される。このサブルーチンもＣＰＵ１４０によって実行される。
【０２５２】
最初に、立体素片の１つが選択されたか否かを判断する（ステップＳ２１１１）。この判断は、上述したステップＳ２０１５と同様に、立体素片選択コマンドを受信した否かの判断である。立体素片の１つが選択されたと判別したときには（ＹＥＳ）、ポインタ画像が移動したか否かを判断する（ステップＳ２１１３）。この判断は、上述したステップＳ２０２１と同様に、立体素片移動コマンドを受信した否かの判断である。ポインタ画像が移動していないと判別したときには（ＮＯ）、直ちに本サブルーチンを終了する。
【０２５３】
一方、ポインタ画像が移動したと判別したときには（ＹＥＳ）、ポインタ画像が移動した距離及び方向に応じて、選択された立体素片の画像が移動する態様で表示する（ステップＳ２１１５）。ポインタ画像が移動した距離及び方向は、上述したステップＳ２０２５の処理で内部メインメモリ１４２ｅや外部メインメモリ１４６に記憶させた距離及び方向である。この処理によって、ディスプレイ１３４において、選択された立体素片の画像が移動する態様で表示される。上述したように、ステップＳ２０２５の処理によって、３つの立体素片Ｅ１〜Ｅ３の回転角度が、内部メインメモリ１４２ｅや外部メインメモリ１４６の所定の記憶領域に記憶されており、ステップＳ２１１５で、回転角度を読み出すことにより、選択された立体素片は、読み出した回転角度だけ回転した態様で表示される。
【０２５４】
次に、選択された立体素片が、表示されている集合立体の近くまで移動したか否かを判断する（ステップＳ２１１７）。この判断は、選択された立体素片と集合立体との間の距離が、所定の距離より短くなったか否かを判断する処理である。選択された立体素片が、集合立体の近くまで移動したと判別したときには（ＹＥＳ）、選択された立体素片の画像が、集合立体の所定の位置に配置される態様で表示し（ステップＳ２１１９）、本サブルーチンを終了する。
【０２５５】
たとえば、選択された立体素片の画像が、集合立体の上側に近づいたときには、選択された立体素片の画像を集合立体の上側に配置される態様で表示する。また、選択された立体素片の画像が、集合立体の中間に近づいたときには、選択された立体素片の画像を集合立体の中間に配置される態様で表示する。さらに、選択された立体素片の画像が、集合立体の下側に近づいたときには、選択された立体素片の画像を集合立体の下側に配置される態様で表示する。このようにすることで、立体素片の配置の作業を容易にでき、ゲームを迅速に進めることができる。たとえば、この処理によって、ディスプレイ１３４において、選択された立体素片の画像が、集合立体の所定の位置に配置される態様で表示される。
【０２５６】
一方、ステップＳ２１１７の判断処理で、選択された立体素片が、集合立体の近くまで移動していないと判別したときには（ＮＯ）、選択された立体素片が集合立体から離れるように移動したか否かを判断する（ステップＳ２１２１）。この判断は、選択された立体素片と集合立体との間の距離が、所定の距離以上になったか否かを判断する処理である。選択された立体素片が集合立体から離れるように移動したと判別したときには（ＹＥＳ）、選択された立体素片の画像を、集合立体から離隔する態様で表示し（ステップＳ２１２３）、本サブルーチンを終了する。また、上述したステップＳ２１２１の判断処理で、選択された立体素片が集合立体から離れるように移動していないと判別したときには（ＮＯ）、直ちに本サブルーチンを終了する。
【０２５７】
上述したステップＳ２１１１の判断処理で、立体素片の１つが選択されていないと判別したときには（ＮＯ）、十字キー１２６ａが押されたか否かを判断する（ステップＳ２１２５）。十字キー１２６ａが押されていないと判別したときには（ＮＯ）、直ちに本サブルーチンを終了する。
【０２５８】
十字キー１２６ａが押されたと判別したときには（ＹＥＳ）、少なくとも１つの立体素片が集合立体に配置されているか否かを判断する（ステップＳ２１２７）。少なくとも１つの立体素片が集合立体に配置されていると判別したときには（ＹＥＳ）、十字キー１２６ａが押された方向に応じて、配置された立体素片とともに集合立体が回転する態様で表示し（ステップＳ２１２９）、本サブルーチンを終了する。この処理によって、ディスプレイ１３４において、立体素片が配置された集合立体の画像が回転する態様で表示される。
【０２５９】
一方、少なくとも１つの立体素片が集合立体に配置されていないと判別したときには（ＮＯ）、十字キー１２６ａが押された方向に応じて、集合立体が回転する態様で表示し（ステップＳ２１３１）、本サブルーチンを終了する。この処理によって、ディスプレイ１３４において、立体素片が配置されていない集合立体の画像が回転する態様で表示される。
【０２６０】
＜テーブル更新処理＞
図２２は、第３の実施の形態におけるテーブル更新処理のサブルーチンを示すフローチャートであり、上述した図５のステップＳ５２１の処理で呼び出されて実行される。このサブルーチンもＣＰＵ１４０によって実行される。
【０２６１】
最初に、立体素片が集合立体に配置されたか否かを判断する（ステップＳ２２１１）。立体素片が集合立体に配置されたと判別したときには（ＹＥＳ）、配置された立体素片の辺番号と回転角度とを、図２４に示す判定用テーブルに書き込む（ステップＳ２２１３）。上述したように、判定用テーブルに書き込む辺番号は、Ｅ１−Ｌ１、Ｅ１−Ｌ２、Ｅ２−Ｌ１、Ｅ２−Ｌ２、Ｅ３−Ｌ１及びＥ３−Ｌ２である。上述したように、立体素片Ｅ１、Ｅ２及びＥ３の順に並べ、かつ、立体素片Ｅ１、Ｅ２及びＥ３の中心軸が一致するように又は同心状に配置し、これらの立体素片を適切な角度となるように並べたときに、並べられた立体素片Ｅ１、Ｅ２及びＥ３によって、円柱形状の「集合立体」の内側に仮想的に配置されたオブジェクトの画像を連続的にかつ矛盾なく表示することができ、パズルが解けたことになる。
【０２６２】
図２４の判定用テーブルに示した例で、順番の「１」は、集合立体の上側を示し、順番の「２」は、集合立体の中間を示し、順番の「３」は、集合立体の下側を示す。したがって、プレイヤによって選択された立体素片が集合立体の上側に配置されたときには、ステップＳ２２１３の処理によって、「１」に対応する辺番号の記憶領域及び回転角度の記憶領域に、辺番号及び回転角度が記憶される。また、プレイヤによって選択された立体素片が集合立体の中間に配置されたときには、ステップＳ２２１３の処理によって、「２」に対応する辺番号の記憶領域及び回転角度の記憶領域に、辺番号及び回転角度が記憶される。さらに、プレイヤによって選択された立体素片が集合立体の下側に配置されたときには、ステップＳ２２１３の処理によって、「３」に対応する辺番号の記憶領域及び回転角度の記憶領域に、辺番号及び回転角度が記憶される。
【０２６３】
図２４に示した判定用テーブルに示した例では、「２」に対応する辺番号の記憶領域及び回転角度の記憶領域に、辺番号Ｅ３−Ｌ２及びＥ３−Ｌ１と回転角度１５０度とが記憶されている。
【０２６４】
次に、全ての立体素片が集合立体に配置されたか否かを判断する（ステップＳ２２１５）。全ての立体素片が集合立体に配置されていないと判別したときには（ＮＯ）、直ちに本サブルーチンを終了する。一方、全ての立体素片が集合立体に配置されたと判別したときには（ＹＥＳ）、パズルが完成したか否かを判断する（ステップＳ２２１７）。なお、全ての立体素片が集合立体に配置されたときには、図２４に示す判定用テーブルの記憶領域の全てに、辺番号と回転角度とが記憶される。
【０２６５】
ステップＳ２２１７の判断処理におけるパズルが完成したか否かの判断は、判定用テーブルに記憶された辺番号が、図２３に示す整合性成立テーブルのものと一致し、かつ、判定用テーブルに記憶された回転角度の全てが同じであるか否かである。図２３に示すように、整合性成立テーブルは、３つの立体素片Ｅ１〜Ｅ３を適切な順序でかつ適切な角度で並べることができたときの辺番号の関係を記憶するテーブルである。判定用テーブルに記憶された辺番号が、図２３に示した整合性成立テーブルのものと一致し、かつ、判定用テーブルに記憶された回転角度の全てが同じであるときには、集合立体に配置された３つの立体素片Ｅ１〜Ｅ３によって集合立体の全体で動画を連続的にかつ矛盾なく表示することができる。したがって、整合性成立テーブルの辺番号が１つでも一致しない場合には、集合立体では、整合性のない動画が表示される。
【０２６６】
上述したステップＳ２２１７の判断処理で、パズルが完成していないと判別したときには（ＮＯ）、直ちに本サブルーチンを終了する。一方、パズルが完成したと判別したときには（ＹＥＳ）、完成情報を生成し（ステップＳ２２１９）、本サブルーチンを終了する。完成情報は、パズルが完成したことを示す情報であり、フラグなどの変数とするのが好ましい。
【０２６７】
上述したステップＳ２２１１の判断処理で、立体素片が集合立体に配置されていないと判別したときには（ＮＯ）、立体素片が集合立体から離隔したか否かを判断する（ステップＳ２２２１）。立体素片が集合立体から離隔していないと判別したときには（ＮＯ）、直ちに本サブルーチンを終了する。
【０２６８】
立体素片が集合立体から離隔したと判別したときには（ＹＥＳ）、離隔した立体素片を示す辺番号を、図２４に示す判定用テーブルから削除し（ステップＳ２２２３）、本サブルーチンを終了する。
【０２６９】
＜＜＜＜ゲームプログラムの概要＞＞＞＞
本発明の実施の形態におけるゲームプログラムは、
パズルゲームを実行するためのゲームプログラムであって、
複数の素片（表示面Ｐ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５及びＰ６、又は立体素片Ｅ１、Ｅ２及びＥ３）と、前記複数の素片が並べられる集合立体（立方体又は円柱形状の「集合立体」）とが表示される表示手段（ディスプレイ１３４）と、
プレイヤによって操作され、操作に応じた操作信号を発する操作手段（コントローラ１２２）と、
前記操作信号から発せられた前記操作信号に応じて、以下の（１−１）〜（１−３）の処理を実行して、前記複数の素片と前記集合立体とを前記表示手段に表示する制御手段（ＣＰＵ１４０）と、
前記パズルゲームの正答を定めた整合性データ（整合性成立テーブル）と、前記複数の素片の各々に表示される画像の画像データと、が記憶された記憶手段（内部メインメモリ１４２ｅ又は外部メインメモリ１４６）と、を有するゲーム装置（ゲーム装置１１２）において実行され、
前記整合性データは、前記パズルゲームが正答であるときに前記集合立体に並べられた素片の配置の関係を示すデータであり、
前記画像データは、前記表示手段において、仮想空間にオブジェクトが存在する態様で前記複数の素片の各々で表示するためのデータであることを特徴とする。
（１−１）  前記操作信号に応じて、前記素片を移動させる態様で表示する処理（ステップＳ８１５又はＳ２１１５）、
（１−２）  前記複数の素片が並べられたときに、前記整合性データを参照して、パズルゲームに正答したか否かを判断する処理（Ｓ９１９又はＳ２２１７）、及び
（１−３）  前記パズルゲームに正答したときには、前記複数の素片によって前記オブジェクトが整合して仮想空間に存在する態様で前記表示手段において表示する処理（ステップＳ８１９又はＳ２１１９）。
【０２７０】
この構成によれば、予め定められた整合性データを用いてパズルゲームに正答したか否かを判断するので、正答したか否かを迅速かつ的確に判別することができる。また、パズルゲームに正答したときに表示されるであろうオブジェクトの全体の画像を推測しながら、素片を集合立体に配置してパズルゲームを解いていくので、新しい立体組み立てパズルを提供することができる。さらに、パズルゲームに正答したときには、仮想空間においてオブジェクトの全体が整合して表示されるので、パズルに正答したか否かを容易に判断することができる。
【０２７１】
また、本発明の実施の形態におけるゲームプログラムは、
前記複数の素片の各々は、平面形状を有する平面素片（表示面Ｐ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５及びＰ６）であり、
前記画像データは、前記平面素片の表面に沿って前記オブジェクトを連続的に移動する態様で表示するための動画データであることを特徴とする。
【０２７２】
この構成によれば、オブジェクトは移動する態様で平面素片の表面に沿って表示されるので、時間的に変化する画像が平面素片に表示され、正答となるオブジェクトの画像を推測することが困難になり面白みのあるパズルゲームを提供することができる。
【０２７３】
さらに、本発明の実施の形態におけるゲームプログラムは、
前記複数の素片の各々は、平面形状を有する平面素片（表示面Ｐ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５及びＰ６）であり、
前記集合立体は、前記集合立体の外形を画定しかつ透視可能な複数の立体表面を有し、
前記画像データは、前記集合立体の内側の仮想空間に存在するオブジェクトを前記複数の立体表面の各々を介して仮想カメラによって撮影したものとして得られた三次元立体画像データであって、
前記（１−１）の処理は、
（３−１）  前記操作信号に応じて平面素片を移動させて複数の立体表面のいずれかに並べる処理であり（ステップＳ８１５）、
前記（１−３）の処理は、
（３−３）  前記パズルゲームに正答したときには、前記集合立体に並べられた前記平面素片によって前記集合立体の内側の仮想空間においてオブジェクトが整合して存在する態様で前記表示手段において表示する処理（ステップＳ８１９）であることを特徴とする。
【０２７４】
この構成によれば、パズルゲームに正答したときには、集合立体の内側に形成された仮想空間にオブジェクトが整合して存在するように表示されるので、現実感のあるオブジェクトの画像を表示することができるとともに、現実感のある画像を見るためにパズルゲームに正答しようとする動機をプレイヤに与えることができる。また、三次元立体画像データを用いたことによって立体的なオブジェクトの画像を表示できるので、正答となるオブジェクトの全体の形状や大きさや色などを推測することを難しくして面白みのあるパズルゲームを提供することができる。
【０２７５】
さらにまた、本発明の実施の形態におけるゲームプログラムは、
前記複数の素片の各々は、立体形状を有する立体素片（立体素片Ｅ１、Ｅ２及びＥ３）であり、
前記集合立体は、前記集合立体の外形を画定しかつ透視可能な複数の立体表面を有し、
前記画像データは、前記集合立体の内側の仮想空間に存在するオブジェクトを前記複数の立体表面の各々を介して仮想カメラによって撮影したものとして得られた三次元立体画像データであって、
前記（１−１）の処理は、
（４−１）  前記操作信号に応じて、立体素片を移動させて前記集合立体を組み立てる処理であり（ステップＳ２１１５）、
前記（１−３）の処理は、
（４−３）  前記パズルゲームに正答したときには、前記集合立体として組み立てられた前記立体素片によって、前記集合立体の内側の仮想空間においてオブジェクトが整合して存在する態様で前記表示手段において表示する処理（ステップＳ２１１９）であることを特徴とする。
【０２７６】
この構成によれば、立体形状を有する立体素片によって集合立体を組み立てるので、パズルをより難しくすることができる。また、三次元立体画像データを用いたことにより、集合立体だけでなく立体素片にも立体的なオブジェクトの画像を表示できるので、現実感のある画像を表示して、正答となるオブジェクトの全体の形状や大きさや色などを推測することをさらに難しくして、より面白みのあるパズルゲームを提供することができる。
【０２７７】
また、本発明の実施の形態におけるゲームプログラムは、
仮想カメラは、前記集合立体の高さ方向の複数の位置に配置された複数の仮想撮影カメラ（Ｍ１〜Ｍ３）であり、
前記三次元立体画像データは、前記複数の仮想撮影カメラの各々に応じた高さで前記集合立体の中心からの距離を一定に保ちつつ前記複数の仮想撮影カメラの各々が前記集合立体を周回して撮影したデータであることを特徴とする。
【０２７８】
この構成によれば、三次元立体画像データは、集合立体を仮想的に周回して撮影したものとして生成した画像データであるので、複数の立体素片の各々に表示する画像を、回転角度方向を異ならしめて表示することができる。このようにしたことにより、複数の立体素片の並びだけでなく、複数の立体素片の各々の回転角度も調整しつつパズルを解く必要があるので、正答となるオブジェクトの全体の形状や大きさや色などの推測をさらに難しくしたパズルゲームを提供することができる。
【符号の説明】
【０２７９】
１１２  ゲーム装置（ゲーム装置）
１２２  コントローラ（操作手段）
１３４  ディスプレイ（表示手段）
１４０  ＣＰＵ（制御手段）
１４２ｅ  内部メインメモリ（記憶手段）
１４６  外部メインメモリ（記憶手段）
【図１】
2011136049.tif 000003
【図２】
2011136049.tif 000004
【図３】
2011136049.tif 000005
【図４】
2011136049.tif 000006
【図５】
2011136049.tif 000007
【図６】
2011136049.tif 000008
【図７】
2011136049.tif 000009
【図８】
2011136049.tif 000010
【図９】
2011136049.tif 000011
【図１０】
2011136049.tif 000012
【図１１】
2011136049.tif 000013
【図１２】
2011136049.tif 000014
【図１３】
2011136049.tif 000015
【図１４】
2011136049.tif 000016
【図１５】
2011136049.tif 000017
【図１６】
2011136049.tif 000018
【図１７】
2011136049.tif 000019
【図１８】
2011136049.tif 000020
【図１９】
2011136049.tif 000021
【図２０】
2011136049.tif 000022
【図２１】
2011136049.tif 000023
【図２２】
2011136049.tif 000024
【図２３】
2011136049.tif 000025
【図２４】
2011136049.tif 000026
【図２５】
2011136049.tif 000027
【図２６】
2011136049.tif 000028