(57)【要約】【課題】ユーザが撮像した画像を用いて興趣性の高いゲームを実現する。【解決手段】ゲーム装置の情報処理部は、外側カメラにより撮像された画像の中から切り出すパズル領域を設定するステップ（Ｓ１０）と、ステージに応じてパズル領域における分割数を設定するステップ（Ｓ２０）と、ランダムなパズルピース配置である１次元配列データを生成するステップ（Ｓ３０）と、ゲーム装置の傾きに基づいて選択されたパズルピースの１次元配列データを更新することによりゲーム処理を実行するステップ（Ｓ６０）と、仮想カメラの傾きに基づいて算出されたパズルピースのテクスチャ座標を１次元配列データに基づいて入れ替えて表示するステップ（Ｓ７０）とを含むプログラムを実行する。【選択図】図１３
2011251006.tif 000002
【特許請求の範囲】
【請求項１】
撮像手段と表示手段とを備えた携帯型ゲーム装置のコンピュータで実行されるゲームプログラムであって、
前記コンピュータを、
前記撮像手段により撮像された撮像画像を示す撮像画像データを逐次取得する取得手段、
前記取得手段により取得された撮像画像データで示される撮像画像における所定領域内の画像を複数の小領域に分割する画像分割手段、
前記画像分割手段により分割された複数の小領域を、前記撮像された撮像画像とは異なるように、前記所定領域内で配置する配置手段、
前記配置手段による配置状態を初期値として、複数の小領域の配置状態を保持する保持手段、
前記逐次取得された撮像画像データを用いて、前記保持手段により配置状態が保持された小領域に表示される画像をそれぞれ逐次更新する画像更新手段、
前記画像更新手段により更新された画像を前記表示手段に表示させる表示制御手段、
前記表示手段に表示された画像を見たユーザの操作により、前記保持手段に保持される小領域の配置状態を変更する変更手段、
前記変更手段により変更された小領域の配置状態が所定の条件を満足したか否かを判定する判定手段、及び、
前記判定手段による判定結果に応じて所定のゲーム処理を行なうゲーム処理手段として機能させるゲームプログラム。
【請求項２】
前記ゲームはパズルゲームであって、
前記ゲーム処理手段は、小領域であるパズルピースの配置状態が、前記配置手段により配置される前の状態に戻ると、前記パズルゲームを成功させる処理を実行し、
前記保持手段は、前記パズルゲームが成功されるまで、前記ユーザの操作による前記パズルピースの配置状態の変更を反映させた配列データを保持することにより、複数のパズルピースの配置状態を保持する、請求項１に記載のゲームプログラム。
【請求項３】
前記配列データは、１次元配列データである、請求項２に記載のゲームプログラム。
【請求項４】
前記撮像手段による撮像方向の変化を検出する検出手段、及び
前記検出手段により検出された撮像方向の変化に基づいて、前記所定領域の表示態様を変化させる領域変化手段として前記コンピュータをさらに機能させる、請求項１〜請求項３のいずれかに記載のゲームプログラム。
【請求項５】
ユーザの操作に応じて、前記所定領域が前記領域変化手段によって表示態様が変化される前の状態となるように当該所定領域を設定する所定領域設定手段として前記コンピュータをさらに機能させる、請求項４に記載のゲームプログラム。
【請求項６】
前記領域変化手段は、前記撮像方向が変化する方向の逆方向に移動して表示されるように、前記所定領域の表示態様を変化させる、請求項４に記載のゲームプログラム。
【請求項７】
前記領域変化手段は、前記撮像方向が変化する方向の逆方向が大きく表示されるように、前記所定領域の表示態様を変化させる、請求項４に記載のゲームプログラム。
【請求項８】
前記画像更新手段は、前記取得手段によって取得された最新の撮像画像における小領域の画像を、前記複数の小領域に対応する仮想３次元空間内の複数のポリゴンのそれぞれにテクスチャとして貼り付けて、当該ポリゴンを前記仮想カメラで撮影することにより、前記小領域に表示される画像をそれぞれ更新し、
前記領域変化手段は、前記仮想カメラの位置及び姿勢の少なくとも一方を、前記検出手段により検出された撮像方向の変化に基づいて変化させることにより、前記撮像画像における前記所定領域の範囲を変化させる、請求項４〜請求項７のいずれかに記載のゲームプログラム。
【請求項９】
前記画像更新手段は、前記取得手段によって取得された最新の撮像画像における小領域の画像を、前記複数の小領域に対応する仮想３次元空間内の複数のポリゴンのそれぞれにテクスチャとして貼り付けて、当該ポリゴンを前記仮想カメラで撮影することにより、前記小領域に表示される画像をそれぞれ更新する、請求項１〜請求項３のいずれかに記載のゲームプログラム。
【請求項１０】
前記検出手段により検出された撮像方向の変化に対応して、前記表示手段により表示された複数の小領域のいずれかを選択する選択手段として前記コンピュータをさらに機能させる、請求項４〜請求項９のいずれかに記載のゲームプログラム。
【請求項１１】
前記選択手段は、前記表示手段の中央部に表示された小領域よりも周辺部に表示された小領域を容易に選択可能な条件下で、前記複数の小領域のいずれかを選択する、請求項１０に記載のゲームプログラム。
【請求項１２】
前記取得手段により逐次取得された前記所定領域外の画像と、前記画像更新手段により更新された所定領域内の画像とを合成した合成画像を生成する合成画像生成手段として前記コンピュータをさらに機能させ、
前記画像分割手段は、前記撮像画像よりも小さい所定領域内の画像を複数の小領域に分割し、
前記表示制御手段は、前記合成画像生成手段により合成された合成画像を前記表示手段に表示させる、請求項１〜請求項１１のいずれかに記載のゲームプログラム。
【請求項１３】
ユーザの習熟度に応じて、前記小領域の数を設定する小領域数設定手段として前記コンピュータをさらに機能させる、請求項１〜請求項１２のいずれかに記載のゲームプログラム。
【請求項１４】
撮像画像を撮像する撮像手段と、
撮像画像を３次元仮想空間に表示する表示手段と、
前記撮像手段により撮像された撮像画像を示す撮像画像データを逐次取得する取得手段と、
前記取得手段により取得された撮像画像データで示される撮像画像における所定領域内の画像を複数の小領域に分割する画像分割手段と、
前記画像分割手段により分割された複数の小領域を、前記撮像された撮像画像とは異なるように、前記所定領域内で配置する配置手段と、
前記配置手段による配置状態を初期値として、複数の小領域の配置状態を保持する保持手段と、
前記逐次取得された撮像画像データを用いて、前記保持手段により配置状態が保持された小領域に表示される画像をそれぞれ逐次更新する画像更新手段と、
前記画像更新手段により更新された画像を前記表示手段に表示させる表示制御手段と、
前記表示手段に表示された画像を見たユーザの操作により、前記保持手段に保持される小領域の配置状態を変更する変更手段と、
前記変更手段により変更された小領域の配置状態が所定の条件を満足したか否かを判定する判定手段と、
前記判定手段による判定結果に応じて所定のゲーム処理を行なうゲーム処理手段とを含む、携帯型ゲーム装置。
【請求項１５】
撮像画像を撮像する撮像手段と、
撮像画像を３次元仮想空間に表示する表示手段と、
前記撮像手段により撮像された撮像画像を示す撮像画像データを逐次取得する取得手段と、
前記取得手段により取得された撮像画像データで示される撮像画像における所定領域内の画像を複数の小領域に分割する画像分割手段と、
前記画像分割手段により分割された複数の小領域を、前記撮像された撮像画像とは異なるように、前記所定領域内で配置する配置手段と、
前記配置手段による配置状態を初期値として、複数の小領域の配置状態を保持する保持手段と、
前記逐次取得された撮像画像データを用いて、前記保持手段により配置状態が保持された小領域に表示される画像をそれぞれ逐次更新する画像更新手段と、
前記画像更新手段により更新された画像を前記表示手段に表示させる表示制御手段と、
前記表示手段に表示された画像を見たユーザの操作により、前記保持手段に保持される小領域の配置状態を変更する変更手段と、
前記変更手段により変更された小領域の配置状態が所定の条件を満足したか否かを判定する判定手段と、
前記判定手段による判定結果に応じて所定のゲーム処理を行なうゲーム処理手段とを含む、ゲームシステム。
【請求項１６】
撮像画像を撮像する撮像ステップと、
撮像画像を３次元仮想空間に表示する表示ステップと、
前記撮像ステップにて撮像された撮像画像を示す撮像画像データを逐次取得する取得ステップと、
前記取得ステップにて取得された撮像画像データで示される撮像画像における所定領域内の画像を複数の小領域に分割する画像分割ステップと、
前記画像分割ステップにて分割された複数の小領域を、前記撮像された撮像画像とは異なるように、前記所定領域内で配置する配置ステップと、
前記配置ステップによる配置状態を初期値として、複数の小領域の配置状態を保持する保持ステップと、
前記逐次取得された撮像画像データを用いて、前記保持ステップにて配置状態が保持された小領域に表示される画像をそれぞれ逐次更新する画像更新ステップと、
前記画像更新ステップにて更新された画像を前記表示ステップにて表示させる表示制御ステップと、
前記表示ステップにて表示された画像を見たユーザの操作により、前記保持ステップにて保持される小領域の配置状態を変更する変更ステップと、
前記変更ステップにて変更された小領域の配置状態が所定の条件を満足したか否かを判定する判定ステップと、
前記判定ステップによる判定結果に応じて所定のゲーム処理を行なうゲーム処理ステップとを含む、ゲーム方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像した画像を用いたゲームに関し、より具体的には、撮像した画像の所定領域を小領域（パズルピース）に分割して、分割された小領域をランダムに配置して、ユーザが小領域を入れ替えて元の状態に戻すゲームに関する。
【背景技術】
【０００２】
専用のゲーム装置又は汎用のコンピュータにおいて、静止画を複数のパズルピースに分割して、分割された複数のパズルピースをランダムに配置して、ユーザが画像を参照して、正しい配置に並べ替える、いわゆるパズルゲームが実行される。このようなパズルゲームにおいて、予め撮像された動画データを用いることが、例えば、特許文献１に開示されている。この文献に記載されたパズルゲーム装置は、パズルピースに同じ時間軸の画像を表示して、ユーザが動画を参照して、パズルピースを正しい配置に並べ替える。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１８５４５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示されたパズルゲーム装置においてパズルゲームに用いられる画像は、動画であっても、予め撮像された動画に過ぎない。このため、動画を予め撮像して記憶させておかなければならないことに加えて、ユーザにとってはパズルピースに表示される動画の変化が少ないため興趣性が低い。さらに、このようなパズルゲームにおいて、ユーザは、十字のカーソルボタン若しくは矢印ボタン（ゲーム装置の場合）又はマウス（コンピュータの場合）を用いて、正しい配置に入れ替えるパズルピースを選択する。このような操作は、ユーザが慣れているために操作性が高い一方、興趣性が低い。このように、特許文献１に開示されたパズルゲーム装置では、ユーザの興趣性を向上させたパズルゲームを提供することができない。
【０００５】
それ故、本発明の目的は、ユーザが撮像した画像を用いて、表示される画像に興趣性を高めることのできるゲーム技術を提供することである。
【０００６】
また、本発明の別の目的は、選択操作に興趣性を高めることのできるゲーム技術を提供することである。
【課題を解決するための手段】
【０００７】
本発明は、上述の課題を解決するために、以下の構成を採用した。
【０００８】
本発明の第１の局面に係るゲームプログラムは、撮像手段と表示手段とを備えた携帯型ゲーム装置のコンピュータを、取得手段、画像分割手段、配置手段、保持手段、画像更新手段、表示制御手段、変更手段、判定手段、及びゲーム処理手段として機能させる。取得手段は、撮像手段により撮像された撮像画像を示す撮像画像データを逐次取得する。画像分割手段は、取得手段により取得された撮像画像データで示される撮像画像における所定領域内の画像を複数の小領域に分割する。配置手段は、画像分割手段により分割された複数の小領域を、撮像された撮像画像とは異なるように、所定領域内で配置する。保持手段は、配置手段による配置状態を初期値として、複数の小領域の配置状態を保持する。画像更新手段は、逐次取得された撮像画像データを用いて、保持手段により配置状態が保持された小領域に表示される画像をそれぞれ逐次更新する。表示制御手段は、画像更新手段により更新された画像を表示手段に表示させる。変更手段は、表示手段に表示された画像を見たユーザの操作により、保持手段に保持される小領域の配置状態を変更する。判定手段は、変更手段により変更された小領域の配置状態が所定の条件を満足したか否かを判定する。ゲーム処理手段は、判定手段による判定結果に応じて所定のゲーム処理を行なう。
【０００９】
この構成によると、撮像画像データが逐次取得されて、この逐次取得された撮像画像を用いて、小領域に表示される画像がそれぞれ逐次更新される。小領域の配置状態は、保持手段により保持されており、その初期値は、撮像された撮像画像とは異なるランダムな配置とすることにより、複数の小領域によりパズルゲームを構成することができる。このように表示された画像（複数の小領域に表示される逐次撮像された画像）を見た、元の画像に戻そうとするユーザの操作により、保持手段に保持される小領域の配置状態が変更される。保持手段に保持される小領域の配置状態が、配置手段によりランダムに配置される前の状態（すなわち撮像された状態）に戻ったり（ゲーム成功）、途中まで戻ったりすると（時間切れの場合でゲーム失敗）、ゲームを終了する等のゲーム処理が行われる。このようにして、携帯型のゲーム装置でユーザが現在撮像している画像を用いて、パズルゲームを実現することができる。この場合において、表示される画像は、逐次更新されるために、ユーザの興趣性を向上させることができる。
【００１０】
好ましくは、ゲームはパズルゲームであって、ゲーム処理手段は、小領域であるパズルピースの配置状態が、配置手段により配置される前の状態に戻ると、パズルゲームを成功させる処理を実行するように構成することができる。この場合において、保持手段は、パズルゲームが成功されるまで、ユーザの操作によるパズルピースの配置状態の変更を反映させた配列データを保持することにより、複数のパズルピースの配置状態を保持するように構成することができる。この場合において、配列データは、１次元配列データであるように構成することができる。
【００１１】
この構成によると、逐次撮像された画像が、複数の小領域であるパズルピースに表示されるパズルゲームを実現することができる。ユーザがパズルピースを入れ替えるように操作することにより、パズルピースの配置状態の変更を反映させた配列データが保持される。このようなパズルピースの入れ替え操作が、ランダムに配置される前の状態（撮像された状態であってパズルピースが正しく配置された状態であってゲームが成功した状態）まで継続され、パズルゲームを進めることができる。このとき、配列データを１次元配列データで保持すると、パズルピースの数が多くなっても、少ないデータ量で、複数のパズルピースの配置状態を保持することができる。
【００１２】
好ましくは、このプログラムは、コンピュータを、撮像手段による撮像方向の変化を検出する検出手段、及び検出手段により検出された撮像方向の変化に基づいて、所定領域の表示態様を変化させる領域変化手段としてさらに機能させるように構成することができる。
【００１３】
この構成によると、撮像手段を備えた携帯型ゲーム装置をユーザが傾けると、撮像手段により撮像方向の変化が検出される。撮像方向が変化すると、所定領域の表示態様が変化して、例えば、パズルピースに表示される画像が変化する。このため、ユーザの興趣性を向上させることができる。なお、撮像方向の変化を検出する方法は、撮像画像データに基づく方法、加速度を検出するセンサを用いた方法、角加速度（及び角速度）を検出するセンサ（ジャイロセンサ）を用いた方法等があり、特に限定されない。
【００１４】
好ましくは、このプログラムは、コンピュータを、ユーザの操作に応じて、所定領域が領域変化手段によって表示態様が変化される前の状態となるように当該所定領域を設定する所定領域設定手段としてさらに機能させるように構成することができる。
【００１５】
この構成によると、携帯型ゲーム装置をユーザが傾けてパズルピースに表示される画像を変化させてパズルゲームを楽しんでいるときに、携帯型ゲーム装置を傾け過ぎるとユーザの興趣性の向上よりも、操作及び／又はパズルゲームの困難性が発現することがある。このような場合には、ユーザのリセット操作等により、所定領域が設定されて、パズルゲームを最初の状態（表示態様が変化される前の状態であってパズルピースが正常に配置された状態）からやり直すことができる。ユーザの興趣性を向上しつつ、操作に不慣れなユーザ又は習熟度の低いユーザであっても、パズルゲームを容易に楽しむことができる。
【００１６】
好ましくは、領域変化手段は、撮像方向が変化する方向の逆方向に移動して表示されるように、所定領域の表示態様を変化させるように構成することができる。また、領域変化手段は、撮像方向が変化する方向の逆方向が大きく表示されるように、所定領域の表示態様を変化させるように構成することができる。
【００１７】
この構成によると、例えば四辺形の表示手段が設けられた筐体の裏面に撮像手段が設けられている携帯型ゲーム装置（ゲーム装置を傾けると撮像方向が変化するゲーム装置）を、ユーザが左方向に向けると、撮像方向が左方向に向けられる。このときには、撮像手段の視野内の左に存在する対象物よりも右に存在する対象物とゲーム装置との距離が相対的に短くなる。このようなゲーム装置の傾きに対応させて、表示手段に表示される画像は、撮像方向が向けられた方向の逆方向に移動して表示されたり、撮像方向が向けられた方向の逆方向が大きく表示されたりして、ユーザの興趣性を向上させることができる。
【００１８】
好ましくは、画像更新手段は、取得手段によって取得された最新の撮像画像における小領域の画像を、複数の小領域に対応する仮想３次元空間内の複数のポリゴンのそれぞれにテクスチャとして貼り付けて、当該ポリゴンを仮想カメラで撮影することにより、小領域に表示される画像をそれぞれ更新するように構成することができる。この場合において、領域変化手段は、仮想カメラの位置及び姿勢の少なくとも一方を、検出手段により検出された撮像方向の変化に基づいて変化させることにより、撮像画像における所定領域の範囲を変化させるように構成することができる。
【００１９】
この構成によると、３次元仮想空間において、ポリゴンの輪郭に基づいてパズルピースが分割され、それらのポリゴンに最新の撮像画像がテクスチャとして貼り付けられ、仮想カメラを用いて描画される。この場合において、仮想カメラの相対位置及び相対姿勢の少なくとも一方が撮像方向の変化に基づいて変化されるので、ゲーム装置の傾きに対応して、パズルの全体に対応する所定領域の表示態様が変化する。このため、ユーザの興趣性を向上させることができるゲーム装置を、仮想カメラを用いて実現することができる。
【００２０】
好ましくは、このプログラムは、コンピュータを、検出手段により検出された撮像方向の変化に対応して、表示手段により表示された複数の小領域のいずれかを選択する選択手段としてさらに機能させるように構成することができる。
【００２１】
この構成によると、携帯型ゲーム装置をユーザが傾けると、撮像方向が変化する。例えば、この撮像方向にあるパズルピースを、入れ替え対象のピースとして選択するようにすると、ゲーム装置を傾けることにより入れ替え対象のピースを選択することができる。このように入れ替え対象のピースを選択するためにゲーム装置を傾けると、所定領域の表示態様が変化する。このため、所定領域の表示態様が変化している状態で、複数のパズルピースの中から入れ替え対象のピースをユーザが選択することになる。このように動作するので、ユーザの興趣性を向上させたゲーム装置を実現することができる。
【００２２】
好ましくは、選択手段は、表示手段の中央部に表示された小領域よりも周辺部に表示された小領域を容易に選択可能な条件下で、複数の小領域のいずれかを選択するように構成することができる。
【００２３】
この構成によると、ゲーム装置を傾けることにより入れ替え対象のパズルピースを選択する場合に、周辺部に表示された小領域が容易に選択できるような条件となる。このため、周辺部のパズルピースを選択するときにゲーム装置を大きく傾ける必要がなくなり、容易にパズルピースを選択することができるようになるので、操作性が向上する。
【００２４】
好ましくは、このプログラムは、コンピュータを、取得手段により逐次取得された所定領域外の画像と、画像更新手段により更新された所定領域内の画像とを合成した合成画像を生成する合成画像生成手段としてさらに機能させるように構成することができる。この場合において、画像分割手段は、撮像画像よりも小さい所定領域内の画像を複数の小領域に分割するように構成することができる。表示制御手段は、合成画像生成手段により合成された合成画像を表示手段に表示させるように構成することができる。
【００２５】
この構成によると、撮像画像は、所定領域内の画像（パズル領域）とその周辺領域の画像とで構成され、周辺領域の画像がパズルゲームのヒントとなり、習熟度の低いユーザであってもパズルゲームを終了させることができる。
【００２６】
好ましくは、このプログラムは、コンピュータを、ユーザの習熟度に応じて、小領域の数を設定する小領域数設定手段としてさらに機能させるように構成することができる。
【００２７】
この構成によると、習熟度の高いユーザはパズルピースの数を多くして、習熟度の低いユーザはパズルピースの数を少なくして、習熟度に応じてユーザを楽しませることができる。
【００２８】
本発明の第２の局面に係るゲーム装置は、撮像画像を撮像する撮像手段と、撮像画像を３次元仮想空間に表示する表示手段と、撮像手段により撮像された撮像画像を示す撮像画像データを逐次取得する取得手段と、取得手段により取得された撮像画像データで示される撮像画像における所定領域内の画像を複数の小領域に分割する画像分割手段と、画像分割手段により分割された複数の小領域を、撮像された撮像画像とは異なるように、所定領域内で配置する配置手段と、配置手段による配置状態を初期値として、複数の小領域の配置状態を保持する保持手段と、逐次取得された撮像画像データを用いて、保持手段により配置状態が保持された小領域に表示される画像をそれぞれ逐次更新する画像更新手段と、画像更新手段により更新された画像を表示手段に表示させる表示制御手段と、表示手段に表示された画像を見たユーザの操作により、保持手段に保持される小領域の配置状態を変更する変更手段と、変更手段により変更された小領域の配置状態が所定の条件を満足したか否かを判定する判定手段と、判定手段による判定結果に応じて所定のゲーム処理を行なうゲーム処理手段とを含む。
【００２９】
本発明の第３の局面に係るゲームシステムは、撮像画像を撮像する撮像手段と、撮像画像を３次元仮想空間に表示する表示手段と、撮像手段により撮像された撮像画像を示す撮像画像データを逐次取得する取得手段と、取得手段により取得された撮像画像データで示される撮像画像における所定領域内の画像を複数の小領域に分割する画像分割手段と、画像分割手段により分割された複数の小領域を、撮像された撮像画像とは異なるように、所定領域内で配置する配置手段と、配置手段による配置状態を初期値として、複数の小領域の配置状態を保持する保持手段と、逐次取得された撮像画像データを用いて、保持手段により配置状態が保持された小領域に表示される画像をそれぞれ逐次更新する画像更新手段と、画像更新手段により更新された画像を表示手段に表示させる表示制御手段と、表示手段に表示された画像を見たユーザの操作により、保持手段に保持される小領域の配置状態を変更する変更手段と、変更手段により変更された小領域の配置状態が所定の条件を満足したか否かを判定する判定手段と、判定手段による判定結果に応じて所定のゲーム処理を行なうゲーム処理手段とを含む。
【００３０】
本発明の第４の局面に係るゲーム方法は、撮像画像を撮像する撮像ステップと、撮像画像を３次元仮想空間に表示する表示ステップと、撮像ステップにて撮像された撮像画像を示す撮像画像データを逐次取得する取得ステップと、取得ステップにて取得された撮像画像データで示される撮像画像における所定領域内の画像を複数の小領域に分割する画像分割ステップと、画像分割ステップにて分割された複数の小領域を、撮像された撮像画像とは異なるように、所定領域内で配置する配置ステップと、配置ステップによる配置状態を初期値として、複数の小領域の配置状態を保持する保持ステップと、逐次取得された撮像画像データを用いて、保持ステップにて配置状態が保持された小領域に表示される画像をそれぞれ逐次更新する画像更新ステップと、画像更新ステップにて更新された画像を表示ステップにて表示させる表示制御ステップと、表示ステップにて表示された画像を見たユーザの操作により、保持ステップにて保持される小領域の配置状態を変更する変更ステップと、変更ステップにて変更された小領域の配置状態が所定の条件を満足したか否かを判定する判定ステップと、判定ステップによる判定結果に応じて所定のゲーム処理を行なうゲーム処理ステップとを含む。
【００３１】
本発明の第２の局面に係るゲーム装置、第３の局面に係るゲームシステム及び第４の局面に係るゲーム方法によると、第１の局面に係るゲームプログラムと同様の作用効果を発現する。
【発明の効果】
【００３２】
本発明によれば、ユーザが自由にパズル対象の動画を設定して、パズルが現実世界に存在するように表示するので、興趣性を向上させることができる。また、ゲーム装置を傾けてパズルピースを選択する場合には、興趣性をさらに向上させることができる。
【図面の簡単な説明】
【００３３】
【図１】開状態におけるゲーム装置１０の正面図
【図２】開状態におけるゲーム装置１０の側面図
【図３】閉状態におけるゲーム装置１０の左側面図、正面図、右側面図及び背面図
【図４】上側ハウジング２１の内側面からスクリーンカバー２７を分離した状態を示す図
【図５】図１に示す上側ハウジング２１のＡ−Ａ’線断面図
【図６Ａ】３Ｄ調整スイッチ２５のスライダ２５ａが最下点（第３の位置）に存在する様子を示す図
【図６Ｂ】３Ｄ調整スイッチ２５のスライダ２５ａが最下点よりも上方位置（第１の位置）に存在する様子を示す図
【図６Ｃ】３Ｄ調整スイッチ２５のスライダ２５ａが最上点（第２の位置）に存在する様子を示す図
【図７】ゲーム装置１０の内部構成を示すブロック図
【図８】ゲーム装置１０のメインメモリ３２のメモリマップを示す図
【図９】図８のピース配置記憶テーブルの構造を示す図
【図１０】ピースの配列データを示す図
【図１１】本実施形態に係るパズルゲーム処理の詳細を示すメインフローチャート
【図１２】図１１のゲーム処理（ステップＳ６０）の詳細を示すフローチャート
【図１３】図１１の表示処理（ステップＳ７０）の詳細を示すフローチャート
【図１４】ゲーム装置を傾けた場合のパズルの見え方を示す概念図
【図１５】ゲーム装置を傾けた場合のパズルピースの選択状態を示す概念図（その１）
【図１６】ゲーム装置を傾けた場合のパズルピースの選択状態を示す概念図（その２）
【図１７Ａ】ゲーム開始時に所定領域が設定されたときに上側ＬＣＤ２２に表示される画像例を示す図
【図１７Ｂ】領域が小領域に分割されたときに上側ＬＣＤ２２に表示される画像例を示す図
【図１７Ｃ】小領域がランダムに配置されたときに上側ＬＣＤ２２に表示される画像例を示す図
【図１７Ｄ】第５番目の小領域が選択候補であるときに上側ＬＣＤ２２に表示される画像例を示す図
【図１７Ｅ】第５番目の小領域が選択確定したときに上側ＬＣＤ２２に表示される画像例を示す図
【図１７Ｆ】ゲーム装置を傾けて第４番目の小領域が選択候補であるときに上側ＬＣＤ２２に表示される画像例を示す図
【図１７Ｇ】図１７Ｆの状態で第４番目の小領域が交換確定したときに上側ＬＣＤ２２に表示される画像例を示す図
【図１７Ｈ】図１７Ｆの状態で第４番目の小領域と第５番目の小領域とが交換されたときに上側ＬＣＤ２２に表示される画像例を示す図
【図１８Ａ】ゲームが進行したときに上側ＬＣＤ２２に表示される画像例を示す図
【図１８Ｂ】ゲーム装置を傾けて第２番目の小領域が選択候補であるときに上側ＬＣＤ２２に表示される画像例を示す図
【図１８Ｃ】図１８Ｂの状態で第２番目の小領域が選択確定したときに上側ＬＣＤ２２に表示される画像例を示す図
【図１８Ｄ】ゲーム装置の傾きを戻したときに上側ＬＣＤ２２に表示される画像例を示す図
【図１８Ｅ】ゲーム装置を傾けて第８番目の小領域が選択候補であるときに上側ＬＣＤ２２に表示される画像例を示す図
【図１８Ｆ】図１８Ｅの状態で第８番目の小領域が交換確定したときに上側ＬＣＤ２２に表示される画像例を示す図
【図１８Ｇ】図１８Ｆの状態で第２番目の小領域と第８番目の小領域とが交換されたときに上側ＬＣＤ２２に表示される画像例を示す図
【図１８Ｈ】ゲーム終了時に上側ＬＣＤ２２に表示される画像例を示す図
【発明を実施するための形態】
【００３４】
（ゲーム装置の構成）
以下、本発明の一実施形態に係るゲーム装置について説明する。図１〜図３は、ゲーム装置１０の外観を示す平面図である。ゲーム装置１０は携帯型のゲーム装置であり、図１〜図３に示すように折り畳み可能に構成されている。図１及び図２は、開いた状態（開状態）におけるゲーム装置１０を示し、図３は、閉じた状態（閉状態）におけるゲーム装置１０を示している。図１は、開状態におけるゲーム装置１０の正面図であり、図２は、開状態におけるゲーム装置１０の右側面図である。ゲーム装置１０は、撮像部によって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりすることが可能である。また、ゲーム装置１０は、交換可能なメモリカード内に記憶され、又は、サーバーや他のゲーム装置から受信したゲームプログラムを実行可能であり、仮想空間に設定された仮想カメラで撮像した画像などのコンピュータグラフィックス処理により生成された画像を画面に表示したりすることができる。
【００３５】
まず、図１〜図３を参照して、ゲーム装置１０の外観構成について説明する。図１〜図３に示されるように、ゲーム装置１０は、下側ハウジング１１及び上側ハウジング２１を有する。下側ハウジング１１と上側ハウジング２１とは、開閉可能（折り畳み可能）に接続されている。本実施形態では、各ハウジング１１及び２１はともに横長の長方形の板状形状であり、互いの長辺部分で回転可能に接続されている。
【００３６】
図１及び図２に示されるように、下側ハウジング１１の上側長辺部分には、下側ハウジング１１の内側面（主面）１１Ｂに対して垂直な方向に突起する突起部１１Ａが設けられる。また、上側ハウジング２１の下側長辺部分には、上側ハウジング２１の下側面から当該下側面に垂直な方向に突起する突起部２１Ａが設けられる。下側ハウジング１１の突起部１１Ａと上側ハウジング２１の突起部２１Ａとが連結されることにより、下側ハウジング１１と上側ハウジング２１とが、折り畳み可能に接続される。
【００３７】
（下側ハウジングの説明）
まず、下側ハウジング１１の構成について説明する。図１〜図３に示すように、下側ハウジング１１には、下側ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１２、タッチパネル１３、各操作ボタン１４Ａ〜１４Ｌ（図１、図３）、アナログスティック１５、ＬＥＤ１６Ａ〜１６Ｂ、挿入口１７、及び、マイクロフォン用孔１８が設けられる。以下、これらの詳細について説明する。
【００３８】
図１に示すように、下側ＬＣＤ１２は下側ハウジング１１に収納される。下側ＬＣＤ１２は横長形状であり、長辺方向が下側ハウジング１１の長辺方向に一致するように配置される。下側ＬＣＤ１２は下側ハウジング１１の中央に配置される。下側ＬＣＤ１２は、下側ハウジング１１の内側面（主面）に設けられ、下側ハウジング１１に設けられた開口部から当該下側ＬＣＤ１２の画面が露出される。ゲーム装置１０を使用しない場合には閉状態としておくことによって、下側ＬＣＤ１２の画面が汚れたり傷ついたりすることを防止することができる。下側ＬＣＤ１２の画素数は、例えば、２５６ｄｏｔ×１９２ｄｏｔ（横×縦）であってもよい。下側ＬＣＤ１２は、後述する上側ＬＣＤ２２とは異なり、画像を（立体視可能ではなく）平面的に表示する表示装置である。なお、本実施形態では表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置など、他の任意の表示装置を利用してもよい。また、下側ＬＣＤ１２として、任意の解像度の表示装置を利用することができる。
【００３９】
図１に示されるように、ゲーム装置１０は、入力装置として、タッチパネル１３を備えている。タッチパネル１３は、下側ＬＣＤ１２の画面上に装着されている。なお、本実施形態では、タッチパネル１３は抵抗膜方式のタッチパネルである。ただし、タッチパネルは抵抗膜方式に限らず、例えば静電容量方式等、任意の方式のタッチパネルを用いることができる。本実施形態では、タッチパネル１３として、下側ＬＣＤ１２の解像度と同解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル１３の解像度と下側ＬＣＤ１２の解像度が一致している必要はない。また、下側ハウジング１１の上側面には挿入口１７（図１及び図３（ｄ）に示す点線）が設けられている。挿入口１７は、タッチパネル１３に対する操作を行うために用いられるタッチペン２８を収納することができる。なお、タッチパネル１３に対する入力は通常タッチペン２８を用いて行われるが、タッチペン２８に限らずユーザの指でタッチパネル１３に対する入力をすることも可能である。
【００４０】
各操作ボタン１４Ａ〜１４Ｌは、所定の入力を行うための入力装置である。図１に示されるように、下側ハウジング１１の内側面（主面）には、各操作ボタン１４Ａ〜１４Ｌのうち、十字ボタン１４Ａ（方向入力ボタン１４Ａ）、ボタン１４Ｂ、ボタン１４Ｃ、ボタン１４Ｄ、ボタン１４Ｅ、電源ボタン１４Ｆ、セレクトボタン１４Ｊ、ＨＯＭＥボタン１４Ｋ、及びスタートボタン１４Ｌが、設けられる。十字ボタン１４Ａは、十字の形状を有しており、上下左右の方向を指示するボタンを有している。ボタン１４Ｂ、ボタン１４Ｃ、ボタン１４Ｄ、ボタン１４Ｅは、十字状に配置される。ボタン１４Ａ〜１４Ｅ、セレクトボタン１４Ｊ、ＨＯＭＥボタン１４Ｋ、及びスタートボタン１４Ｌには、ゲーム装置１０が実行するプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン１４Ａは選択操作等に用いられ、各操作ボタン１４Ｂ〜１４Ｅは例えば決定操作やキャンセル操作等に用いられる。また、電源ボタン１４Ｆは、ゲーム装置１０の電源をオン／オフするために用いられる。
【００４１】
アナログスティック１５は、方向を指示するデバイスであり、下側ハウジング１１の内側面の下側ＬＣＤ１２より左側領域の上部領域に設けられる。図１に示すように、十字ボタン１４Ａは下側ＬＣＤ１２より左側領域の下部領域に設けられるので、アナログスティック１５は、十字ボタン１４Ａの上方に設けられる。また、アナログスティック１５、及び、十字ボタン１４Ａは、下側ハウジングを把持した左手の親指で操作可能な位置に設計される。また、アナログスティック１５を上部領域に設けたことにより、下側ハウジング１１を把持する左手の親指が自然と位置するところにアナログスティック１５が配され、十字ボタン１４Ａは、左手の親指を少し下にずらした位置に配される。アナログスティック１５は、そのキートップが、下側ハウジング１１の内側面に平行にスライドするように構成されている。アナログスティック１５は、ゲーム装置１０が実行するプログラムに応じて機能する。例えば、３次元仮想空間に所定のオブジェクトが登場するゲームがゲーム装置１０によって実行される場合、アナログスティック１５は、当該所定のオブジェクトを３次元仮想空間内で移動させるための入力装置として機能する。この場合において、所定のオブジェクトはアナログスティック１５のキートップがスライドした方向に移動される。なお、アナログスティック１５として、上下左右及び斜め方向の任意の方向に所定量だけ傾倒することでアナログ入力を可能としたものを用いても良い。
【００４２】
十字状に配置される、ボタン１４Ｂ、ボタン１４Ｃ、ボタン１４Ｄ、ボタン１４Ｅの４つのボタンは、下側ハウジング１１を把持する右手の親指が自然と位置するところに配置される。また、これらの４つのボタンと、アナログスティック１５とは、下側ＬＣＤ１２を挟んで、左右対称に配置される。これにより、ゲームプログラムによっては、例えば、左利きの人が、これらの４つのボタンを使用して方向指示入力をすることも可能である。
【００４３】
また、下側ハウジング１１の内側面には、マイクロフォン用孔１８が設けられる。マイクロフォン用孔１８の下部には後述する音声入力装置としてのマイク（図７参照）が設けられ、当該マイクがゲーム装置１０の外部の音を検出する。
【００４４】
図３（ａ）は閉状態におけるゲーム装置１０の左側面図であり、図３（ｂ）は閉状態におけるゲーム装置１０の正面図であり、図３（ｃ）は閉状態におけるゲーム装置１０の右側面図であり、図３（ｄ）は閉状態におけるゲーム装置１０の背面図である。図３（ｂ）及び（ｄ）に示されるように、下側ハウジング１１の上側面には、Ｌボタン１４Ｇ及びＲボタン１４Ｈが設けられている。Ｌボタン１４Ｇは、下側ハウジング１１の上面の左端部に設けられ、Ｒボタン１４Ｈは、下側ハウジング１１の上面の右端部に設けられる。後述のように、Ｌボタン１４Ｇ及びＲボタン１４Ｈは、撮像部のシャッターボタン（撮影指示ボタン）として機能する。また、図３（ａ）に示されるように、下側ハウジング１１の左側面には、音量ボタン１４Ｉが設けられる。音量ボタン１４Ｉは、ゲーム装置１０が備えるスピーカの音量を調整するために用いられる。
【００４５】
図３（ａ）に示されるように、下側ハウジング１１の左側面には開閉可能なカバー部１１Ｃが設けられる。このカバー部１１Ｃの内側には、ゲーム装置１０とデータ保存用外部メモリ４５とを電気的に接続するためのコネクタ（図示せず）が設けられる。データ保存用外部メモリ４５は、コネクタに着脱自在に装着される。データ保存用外部メモリ４５は、例えば、ゲーム装置１０によって撮像された画像のデータを記憶（保存）するために用いられる。なお、上記コネクタ及びそのカバー部１１Ｃは、下側ハウジング１１の右側面に設けられてもよい。
【００４６】
また、図３（ｄ）に示されるように、下側ハウジング１１の上側面には、ゲーム装置１０とゲームプログラムを記録した外部メモリ４４を挿入するための挿入口１１Ｄが設けられ、その挿入口１１Ｄの内部には、外部メモリ４４と電気的に着脱自在に接続するためのコネクタ（図示せず）が設けられる。当該外部メモリ４４がゲーム装置１０に接続されることにより、所定のゲームプログラムが実行される。なお、上記コネクタ及びその挿入口１１Ｄは、下側ハウジング１１の他の側面（例えば、右側面等）に設けられてもよい。
【００４７】
また、図１及び図３（ｃ）に示されるように、下側ハウジング１１の下側面にはゲーム装置１０の電源のＯＮ／ＯＦＦ状況をユーザに通知する第１ＬＥＤ１６Ａ、下側ハウジング１１の右側面にはゲーム装置１０の無線通信の確立状況をユーザに通知する第２ＬＥＤ１６Ｂが設けられる。ゲーム装置１０は他の機器との間で無線通信を行うことが可能であり、第１ＬＥＤ１６Ｂは、無線通信が確立している場合に点灯する。ゲーム装置１０は、例えば、ＩＥＥＥ８０２．１１．ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。下側ハウジング１１の右側面には、この無線通信の機能を有効／無効にする無線スイッチ１９が設けられる（図３（ｃ）参照）。
【００４８】
なお、図示は省略するが、下側ハウジング１１には、ゲーム装置１０の電源となる充電式電池が収納され、下側ハウジング１１の側面（例えば、上側面）に設けられた端子を介して当該電池を充電することができる。
【００４９】
（上側ハウジングの説明）
次に、上側ハウジング２１の構成について説明する。図１〜図３に示すように、上側ハウジング２１には、上側ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）２２、外側撮像部２３（外側撮像部（左）２３ａ及び外側撮像部（右）２３ｂ）、内側撮像部２４、３Ｄ調整スイッチ２５、及び、３Ｄインジケータ２６が設けられる。以下、これらの詳細について説明する。
【００５０】
図１に示すように、上側ＬＣＤ２２は上側ハウジング２１に収納される。上側ＬＣＤ２２は、横長形状であり、長辺方向が上側ハウジング２１の長辺方向に一致するように配置される。上側ＬＣＤ２２は上側ハウジング２１の中央に配置される。上側ＬＣＤ２２の画面の面積は、下側ＬＣＤ１２の画面の面積よりも大きく設定される。また、上側ＬＣＤ２２の画面は、下側ＬＣＤ１２の画面よりも横長に設定される。すなわち、上側ＬＣＤ２２の画面のアスペクト比における横幅の割合は、下側ＬＣＤ１２の画面のアスペクト比における横幅の割合よりも大きく設定される。
【００５１】
上側ＬＣＤ２２の画面は、上側ハウジング２１の内側面（主面）２１Ｂに設けられ、上側ハウジング２１に設けられた開口部から当該上側ＬＣＤ２２の画面が露出される。また、図２及び図４に示すように、上側ハウジング２１の内側面は、透明なスクリーンカバー２７によって覆われている。図４は、上側ハウジング２１の内側面からスクリーンカバー２７を分解した状態を示す分解図である。当該スクリーンカバー２７は、上側ＬＣＤ２２の画面を保護するとともに、上側ＬＣＤ２２と上側ハウジング２１の内側面と一体的にさせ、これにより統一感を持たせている。上側ＬＣＤ２２の画素数は、例えば、６４０ｄｏｔ×２００ｄｏｔ（横×縦）であってもよい。なお、本実施形態では上側ＬＣＤ２２は液晶表示装置であるとしたが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置などが利用されてもよい。また、上側ＬＣＤ２２として、任意の解像度の表示装置を利用することができる。
【００５２】
上側ＬＣＤ２２は、立体視可能な画像を表示することが可能な表示装置である。また、本実施例では、実質的に同一の表示領域を用いて左目用画像と右目用画像が表示される。具体的には、左目用画像と右目用画像が所定単位で（例えば、１列ずつ）横方向に交互に表示される方式の表示装置である。又は、左目用画像と右目用画像とが交互に表示される方式の表示装置であってもよい。また、本実施例では、裸眼立体視可能な表示装置である。そして、横方向に交互に表示される左目用画像と右目用画像とを左目及び右目のそれぞれに分解して見えるようにレンチキュラー方式やパララックスバリア方式（視差バリア方式）のものが用いられる。本実施形態では、上側ＬＣＤ２２はパララックスバリア方式のものとする。上側ＬＣＤ２２は、右目用画像と左目用画像とを用いて、裸眼で立体視可能な画像（立体画像）を表示する。すなわち、上側ＬＣＤ２２は、視差バリアを用いてユーザの左目に左目用画像をユーザの右目に右目用画像を視認させることにより、ユーザにとって立体感のある立体画像（立体視可能な画像）を表示することができる。また、上側ＬＣＤ２２は、上記視差バリアを無効にすることが可能であり、視差バリアを無効にした場合は、画像を平面的に表示することができる（上述した立体視とは反対の意味で平面視の画像を表示することができる。すなわち、表示された同一の画像が右目にも左目にも見えるような表示モードである）。このように、上側ＬＣＤ２２は、立体視可能な画像を表示する立体表示モードと、画像を平面的に表示する（平面視画像を表示する）平面表示モードとを切り替えることが可能な表示装置である。この表示モードの切り替えは、後述する３Ｄ調整スイッチ２５によって行われる。
【００５３】
外側撮像部２３は、上側ハウジング２１の外側面（上側ＬＣＤ２２が設けられた主面と反対側の背面）２１Ｄに設けられた２つの撮像部（２３ａ及び２３ｂ）の総称である。外側撮像部（左）２３ａと外側撮像部（右）２３ｂの撮像方向は、いずれも当該外側面２１Ｄの外向きの法線方向である。また、これらの撮像部はいずれも、上側ＬＣＤ２２の表示面（内側面）の法線方向と１８０度反対の方向に設計される。すなわち、外側撮像部（左）２３ａの撮像方向及び外側撮像部（右）２３ｂの撮像方向は、平行である。外側撮像部（左）２３ａと外側撮像部（右）２３ｂとは、ゲーム装置１０が実行するプログラムによって、ステレオカメラとして使用することが可能である。また、プログラムによっては、２つの外側撮像部（２３ａ及び２３ｂ）のいずれか一方を単独で用いて、外側撮像部２３を非ステレオカメラとして使用することも可能である。また、プログラムによっては、２つの外側撮像部（２３ａ及び２３ｂ）で撮像した画像を合成して又は補完的に使用することにより撮像範囲を広げた撮像をおこなうことも可能である。本実施形態では、外側撮像部２３は、外側撮像部（左）２３ａ及び外側撮像部（右）２３ｂの２つの撮像部で構成される。外側撮像部（左）２３ａ及び外側撮像部（右）２３ｂは、それぞれ所定の共通の解像度を有する撮像素子（例えば、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等）と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【００５４】
図１の破線及び図３（ｂ）の実線で示されるように、外側撮像部２３を構成する外側撮像部（左）２３ａ及び外側撮像部（右）２３ｂは、上側ＬＣＤ２２の画面の横方向と平行に並べられて配置される。すなわち、２つの撮像部を結んだ直線が上側ＬＣＤ２２の画面の横方向と平行になるように、外側撮像部（左）２３ａ及び外側撮像部（右）２３ｂが配置される。図１の破線で示す２３ａ及び２３ｂは、上側ハウジング２１の内側面とは反対側の外側面に存在する外側撮像部（左）２３ａ及び外側撮像部（右）２３ｂをそれぞれ表している。図１に示すように、ユーザが上側ＬＣＤ２２の画面を正面から視認した場合に、外側撮像部（左）２３ａは左側に外側撮像部（右）２３ｂは右側にそれぞれ位置している。外側撮像部２３をステレオカメラとして機能させるプログラムが実行されている場合、外側撮像部（左）２３ａは、ユーザの左目で視認される左目用画像を撮像し、外側撮像部（右）２３ｂは、ユーザの右目で視認される右目用画像を撮像する。外側撮像部（左）２３ａ及び外側撮像部（右）２３ｂの間隔は、人間の両目の間隔程度に設定され、例えば、３０ｍｍ〜７０ｍｍの範囲で設定されてもよい。なお、外側撮像部（左）２３ａ及び外側撮像部（右）２３ｂの間隔は、この範囲に限らない。
【００５５】
なお、本実施例においては、外側撮像部（左）２３ａ及び外側撮像部（右）２３はハウジングに固定されており、撮像方向を変更することはできない。
【００５６】
また、外側撮像部（左）２３ａ及び外側撮像部（右）２３ｂは、上側ＬＣＤ２２（上側ハウジング２１）の左右方向に関して中央から対称となる位置にそれぞれ配置される。すなわち、外側撮像部（左）２３ａ及び外側撮像部（右）２３ｂは、上側ＬＣＤ２２を左右に２等分する線に対して対称の位置にそれぞれ配置される。また、外側撮像部（左）２３ａ及び外側撮像部（右）２３ｂは、上側ハウジング２１を開いた状態において、上側ハウジング２１の上部であって、上側ＬＣＤ２２の画面の上端よりも上方の位置の裏側に配置される。すなわち、外側撮像部（左）２３ａ及び外側撮像部（右）２３ｂは、上側ハウジング２１の外側面であって、上側ＬＣＤ２２を外側面に投影した場合、投影した上側ＬＣＤ２２の画面の上端よりも上方に配置される。
【００５７】
このように、外側撮像部２３の２つの撮像部（２３ａ及び２３ｂ）が、上側ＬＣＤ２２の左右方向に関して中央から対称の位置に配置されることにより、ユーザが上側ＬＣＤ２２を正視した場合に、外側撮像部２３の撮像方向をユーザの視線方向と一致させることができる。また、外側撮像部２３は、上側ＬＣＤ２２の画面の上端より上方の裏側の位置に配置されるため、外側撮像部２３と上側ＬＣＤ２２とが上側ハウジング２１の内部で干渉することがない。従って、外側撮像部２３を上側ＬＣＤ２２の画面の裏側に配置する場合と比べて、上側ハウジング２１を薄く構成することが可能となる。
【００５８】
内側撮像部２４は、上側ハウジング２１の内側面（主面）２１Ｂに設けられ、当該内側面の内向きの法線方向を撮像方向とする撮像部である。内側撮像部２４は、所定の解像度を有する撮像素子（例えば、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等）と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【００５９】
図１に示すように、内側撮像部２４は、上側ハウジング２１を開いた状態において、上側ハウジング２１の上部であって、上側ＬＣＤ２２の画面の上端よりも上方に配置され、上側ハウジング２１の左右方向に関して中央の位置（上側ハウジング２１（上側ＬＣＤ２２の画面）を左右に２等分する線の線上）に配置される。具体的には、図１及び図３（ｂ）に示されるように、内側撮像部２４は、上側ハウジング２１の内側面であって、外側撮像部２３の左右の撮像部（外側撮像部（左）２３ａ及び外側撮像部（右）２３ｂ）の中間の裏側の位置に配置される。すなわち、上側ハウジング２１の外側面に設けられた外側撮像部２３の左右の撮像部を上側ハウジング２１の内側面に投影した場合、当該投影した左右の撮像部の中間に、内側撮像部２４が設けられる。図３（ｂ）で示される破線２４は、上側ハウジング２１の内側面に存在する内側撮像部２４を表している。
【００６０】
このように、内側撮像部２４は、外側撮像部２３とは反対方向を撮像する。内側撮像部２４は、上側ハウジング２１の内側面であって、外側撮像部２３の左右の撮像部の中間位置の裏側に設けられる。これにより、ユーザが上側ＬＣＤ２２を正視した際、内側撮像部２４でユーザの顔を正面から撮像することができる。また、外側撮像部２３の左右の撮像部と内側撮像部２４とが上側ハウジング２１の内部で干渉することがないため、上側ハウジング２１を薄く構成することが可能となる。
【００６１】
３Ｄ調整スイッチ２５は、スライドスイッチであり、上述のように上側ＬＣＤ２２の表示モードを切り替えるために用いられるスイッチである。また、３Ｄ調整スイッチ２５は、上側ＬＣＤ２２に表示された立体視可能な画像（立体画像）の立体感を調整するために用いられる。図１〜図３に示されるように、３Ｄ調整スイッチ２５は、上側ハウジング２１の内側面及び右側面の端部に設けられ、ユーザが上側ＬＣＤ２２を正視した場合に、当該３Ｄ調整スイッチ２５を視認できる位置に設けられる。また、３Ｄ調整スイッチ２５の操作部は、内側面及び右側面の両方に突出しており、どちらからも視認及び操作することができる。なお、３Ｄ調整スイッチ２５以外のスイッチは全て下側ハウジング１１に設けられる。
【００６２】
図５は、図１に示す上側ハウジング２１のＡ−Ａ’線断面図である。図５に示すように、上側ハウジング２１の内側面の右端部には、凹部２１Ｃが形成され、当該凹部２１Ｃに３Ｄ調整スイッチ２５が設けられる。３Ｄ調整スイッチ２５は、図１及び図２に示されるように、上側ハウジング２１の正面及び右側面から視認可能に配置される。３Ｄ調整スイッチ２５のスライダ２５ａは、所定方向（上下方向）の任意の位置にスライド可能であり、当該スライダ２５ａの位置に応じて上側ＬＣＤ２２の表示モードが設定される。
【００６３】
図６Ａから図６Ｃは、３Ｄ調整スイッチ２５のスライダ２５ａがスライドする様子を示す図である。図６Ａは、３Ｄ調整スイッチ２５のスライダ２５ａが最下点（第３の位置）に存在する様子を示す図である。図６Ｂは、３Ｄ調整スイッチ２５のスライダ２５ａが最下点よりも上方位置（第１の位置）に存在する様子を示す図である。図６Ｃは、３Ｄ調整スイッチ２５のスライダ２５ａが最上点（第２の位置）に存在する様子を示す図である。
【００６４】
図６Ａに示すように、３Ｄ調整スイッチ２５のスライダ２５ａが最下点位置（第３の位置）に存在する場合、上側ＬＣＤ２２は平面表示モードに設定され、上側ＬＣＤ２２の画面には平面画像が表示される（なお、上側ＬＣＤ２２を立体表示モードのままとして、左目用画像と右目用画像を同一の画像とすることにより平面表示してもよい）。一方、図６Ｂに示す位置（最下点より上側の位置（第１の位置））から図６Ｃに示す位置（最上点の位置（第２の位置））までの間にスライダ２５ａが存在する場合、上側ＬＣＤ２２は立体表示モードに設定される。この場合、上側ＬＣＤ２２の画面には立体視可能な画像が表示される。スライダ２５ａが第１の位置から第２の位置の間に存在する場合、スライダ２５ａの位置に応じて、立体画像の見え方が調整される。具体的には、スライダ２５ａの位置に応じて、右目用画像及び左目用画像の横方向の位置のずれ量が調整される。なお、立体表示モードにおける立体画像の見え方の調整については後述する。３Ｄ調整スイッチ２５のスライダ２５ａは、第３の位置で固定されるように構成されており、第１の位置と第２の位置との間では上下方向に任意の位置にスライド可能に構成されている。例えば、スライダ２５ａは、第３の位置において、３Ｄ調整スイッチ２５を形成する側面から図６Ａに示す横方向に突出した凸部（図示せず）によって固定されて、所定以上の力が上方に加わらないと第３の位置よりも上方にスライドしないように構成されている。第３の位置から第１の位置にスライダ２５ａが存在する場合、立体画像の見え方は調整されないが、これはいわゆるあそびである。他の例においては、あそびをなくして、第３の位置と第１の位置とを同じ位置としてもよい。また、第３の位置を第１の位置と第２の位置の間としてもよい。その場合、スライダを第３の位置から第１の位置の方向に動かした場合と、第２の方向に動かした場合とで、右目用画像及び左目用画像の横方向の位置のずれ量の調整する方向が逆になる。
【００６５】
なお、本実施例のゲーム装置が実行するプログラムには、立体写真を表示するためのプログラムと、立体的なＣＧ画像を表示するためのプログラムがある。後者のプログラムでは、左目用の仮想カメラと右目用の仮想カメラで仮想空間を撮影して、左目用画像と右目用画像を生成する。本実施例のゲーム装置は、このようなプログラムの実行時において、３Ｄ調整スイッチ２５のスライダ２５ａの位置に応じて、２つの仮想カメラの間隔を変更することにより、立体感を調整する。
【００６６】
３Ｄインジケータ２６は、上側ＬＣＤ２２が立体表示モードか否かを示す。３Ｄインジケータ２６は、ＬＥＤであり、上側ＬＣＤ２２の立体表示モードが有効の場合に点灯する。なお、３Ｄインジケータ２６は、上側ＬＣＤ２２が立体表示モードになっており、かつ、立体視画像を表示するプログラム処理が実行されているとき（すなわち、３Ｄ調整スイッチが上記第１の位置から上記第２の位置にあるときに、左目用画像と右目用画像が異なるような画像処理が実行されているとき）に限り、点灯するようにしてもよい。図１に示されるように、３Ｄインジケータ２６は、上側ハウジング２１の内側面に設けられ、上側ＬＣＤ２２の画面近傍に設けられる。このため、ユーザが上側ＬＣＤ２２の画面を正視した場合、ユーザは３Ｄインジケータ２６を視認しやすい。従って、ユーザは上側ＬＣＤ２２の画面を視認している状態でも、上側ＬＣＤ２２の表示モードを容易に認識することができる。
【００６７】
また、上側ハウジング２１の内側面には、スピーカ孔２１Ｅが設けられる。後述するスピーカ４３からの音声がこのスピーカ孔２１Ｅから出力される。
【００６８】
（ゲーム装置１０の内部構成）
次に、図７を参照して、ゲーム装置１０の内部の電気的構成について説明する。図７は、ゲーム装置１０の内部構成を示すブロック図である。図７に示すように、ゲーム装置１０は、上述した各部に加えて、情報処理部３１、メインメモリ３２、外部メモリインターフェイス（外部メモリＩ／Ｆ）３３、データ保存用外部メモリＩ／Ｆ３４、データ保存用内部メモリ３５、無線通信モジュール３６、ローカル通信モジュール３７、リアルタイムクロック（ＲＴＣ）３８、加速度センサ３９、電源回路４０、及びインターフェイス回路（Ｉ／Ｆ回路）４１等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング１１（又は上側ハウジング２１でもよい）内に収納される。
【００６９】
情報処理部３１は、所定のプログラムを実行するためのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１１、画像処理を行うＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１２等を含む情報処理手段である。本実施形態では、所定のプログラムがゲーム装置１０内のメモリ（例えば外部メモリＩ／Ｆ３３に接続された外部メモリ４４やデータ保存用内部メモリ３５）に記憶されている。情報処理部３１のＣＰＵ３１１は、当該所定のプログラムを実行することによって、後述するパズルゲーム処理（図１１）を実行する。なお、情報処理部３１のＣＰＵ３１１によって実行されるプログラムは、他の機器との通信によって他の機器から取得されてもよい。また、情報処理部３１は、ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）３１３を含む。情報処理部３１のＧＰＵ３１２は、情報処理部３１のＣＰＵ３１１からの命令に応じて画像を生成し、ＶＲＡＭ３１３に描画する。そして、情報処理部３１のＧＰＵ３１２は、ＶＲＡＭ３１３に描画された画像を上側ＬＣＤ２２及び／又は下側ＬＣＤ１２に出力し、上側ＬＣＤ２２及び／又は下側ＬＣＤ１２に当該画像が表示される。なお、本実施形態においては、ＶＲＡＭ３１３には、下側ＬＣＤ１２用記憶領域と、上側ＬＣＤ２２用記憶領域（以下、テクスチャ用ＶＲＡＭと記載）とがある。
【００７０】
情報処理部３１には、メインメモリ３２、外部メモリＩ／Ｆ３３、データ保存用外部メモリＩ／Ｆ３４、及び、データ保存用内部メモリ３５が接続される。外部メモリＩ／Ｆ３３は、外部メモリ４４を着脱自在に接続するためのインターフェイスである。また、データ保存用外部メモリＩ／Ｆ３４は、データ保存用外部メモリ４５を着脱自在に接続するためのインターフェイスである。
【００７１】
メインメモリ３２は、情報処理部３１（のＣＰＵ３１１）のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。すなわち、メインメモリ３２は、上記パズルゲーム処理に用いられる各種データを一時的に記憶したり、外部（外部メモリ４４や他の機器等）から取得されるプログラムを一時的に記憶したりする。本実施形態では、メインメモリ３２として例えばＰＳＲＡＭ（Ｐｓｅｕｄｏ−ＳＲＡＭ）を用いる。
【００７２】
外部メモリ４４は、情報処理部３１によって実行されるプログラムを記憶するための不揮発性の記憶手段である。外部メモリ４４は、例えば読み取り専用の半導体メモリで構成される。外部メモリ４４が外部メモリＩ／Ｆ３３に接続されると、情報処理部３１は外部メモリ４４に記憶されたプログラムを読み込むことができる。情報処理部３１が読み込んだプログラムを実行することにより、所定の処理が行われる。データ保存用外部メモリ４５は、不揮発性の読み書き可能なメモリ（例えばＮＡＮＤ型フラッシュメモリ）で構成され、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ４５には、外側撮像部２３で撮像された画像や他の機器で撮像された画像が記憶される。データ保存用外部メモリ４５がデータ保存用外部メモリＩ／Ｆ３４に接続されると、情報処理部３１はデータ保存用外部メモリ４５に記憶された画像を読み込み、上側ＬＣＤ２２及び／又は下側ＬＣＤ１２に当該画像を表示することができる。
【００７３】
データ保存用内部メモリ３５は、読み書き可能な不揮発性メモリ（例えばＮＡＮＤ型フラッシュメモリ）で構成され、所定のデータを格納するために用いられる。例えば、データ保存用内部メモリ３５には、無線通信モジュール３６を介した無線通信によってダウンロードされたデータやプログラムが格納される。
【００７４】
無線通信モジュール３６は、例えばＩＥＥＥ８０２．１１．ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。また、ローカル通信モジュール３７は、所定の通信方式（例えば赤外線通信）により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール３６及びローカル通信モジュール３７は情報処理部３１に接続される。情報処理部３１は、無線通信モジュール３６を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール３７を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【００７５】
また、情報処理部３１には、加速度センサ３９が接続される。加速度センサ３９は、３軸（ｘｙｚ軸）方向に沿った直線方向の加速度（直線加速度）の大きさを検出する。加速度センサ３９は、下側ハウジング１１の内部に設けられる。加速度センサ３９は、図１に示すように、下側ハウジング１１の長辺方向をｘ軸、下側ハウジング１１の短辺方向をｙ軸、下側ハウジング１１の内側面（主面）に対して垂直な方向をｚ軸として、各軸の直線加速度の大きさを検出する。なお、加速度センサ３９は、例えば静電容量式の加速度センサであるとするが、他の方式の加速度センサを用いるようにしてもよい。また、加速度センサ３９は１軸又は２軸方向を検出する加速度センサであってもよい。情報処理部３１は、加速度センサ３９が検出した加速度を示すデータ（加速度データ）を受信して、ゲーム装置１０の姿勢や動きを検出することができる。
【００７６】
また、情報処理部３１には、ＲＴＣ３８及び電源回路４０が接続される。ＲＴＣ３８は、時間をカウントして情報処理部３１に出力する。情報処理部３１は、ＲＴＣ３８によって計時された時間に基づき現在時刻（日付）を計算する。電源回路４０は、ゲーム装置１０が有する電源（下側ハウジング１１に収納される上記充電式電池）からの電力を制御し、ゲーム装置１０の各部品に電力を供給する。
【００７７】
また、情報処理部３１には、Ｉ／Ｆ回路４１が接続される。Ｉ／Ｆ回路４１には、マイク４２及びスピーカ４３が接続される。具体的には、Ｉ／Ｆ回路４１には、図示しないアンプを介してスピーカ４３が接続される。マイク４２は、ユーザの音声を検知して音声信号をＩ／Ｆ回路４１に出力する。アンプは、Ｉ／Ｆ回路４１からの音声信号を増幅し、音声をスピーカ４３から出力させる。また、タッチパネル１３はＩ／Ｆ回路４１に接続される。Ｉ／Ｆ回路４１は、マイク４２及びスピーカ４３（アンプ）の制御を行う音声制御回路と、タッチパネルの制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するＡ／Ｄ変換及びＤ／Ａ変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル１３からの信号に基づいて所定の形式のタッチ位置データを生成して情報処理部３１に出力する。タッチ位置データは、タッチパネル１３の入力面において入力が行われた位置の座標を示す。なお、タッチパネル制御回路は、タッチパネル１３からの信号の読み込み、及び、タッチ位置データの生成を所定時間に１回の割合で行う。情報処理部３１は、タッチ位置データを取得することにより、タッチパネル１３に対して入力が行われた位置を知ることができる。
【００７８】
操作ボタン１４は、上記各操作ボタン１４Ａ〜１４Ｌからなり、情報処理部３１に接続される。操作ボタン１４から情報処理部３１へは、各操作ボタン１４Ａ〜１４Ｉに対する入力状況（押下されたか否か）を示す操作データが出力される。情報処理部３１は、操作ボタン１４から操作データを取得することによって、操作ボタン１４に対する入力に従った処理を実行する。
【００７９】
下側ＬＣＤ１２及び上側ＬＣＤ２２は情報処理部３１に接続される。下側ＬＣＤ１２及び上側ＬＣＤ２２は、情報処理部３１（のＧＰＵ３１２）の指示に従って画像を表示する。本実施形態では、情報処理部３１は、操作用の画像を下側ＬＣＤ１２に表示させ、各撮像部２３及び２４のいずれかから取得した画像を上側ＬＣＤ２２に表示させる。すなわち、情報処理部３１は、上側ＬＣＤ２２に外側撮像部２３で撮像した右目用画像と左目用画像とを用いた立体画像（立体視可能な画像）を表示させたり、内側撮像部２４で撮像した平面画像を上側ＬＣＤ２２に表示させたりする。
【００８０】
具体的には、情報処理部３１は、上側ＬＣＤ２２のＬＣＤコントローラ（図示せず）と接続され、当該ＬＣＤコントローラに対して視差バリアのＯＮ／ＯＦＦを制御する。上側ＬＣＤ２２の視差バリアがＯＮになっている場合、情報処理部３１のＶＲＡＭ３１３に格納された（外側撮像部２３で撮像された）右目用画像と左目用画像とが、上側ＬＣＤ２２に出力される。より具体的には、ＬＣＤコントローラは、右目用画像について縦方向に１ライン分の画素データを読み出す処理と、左目用画像について縦方向に１ライン分の画素データを読み出す処理とを交互に繰り返すことによって、ＶＲＡＭ３１３から右目用画像と左目用画像とを読み出す。これにより、右目用画像及び左目用画像が、画素を縦に１ライン毎に並んだ短冊状画像に分割され、分割された右目用画像の短冊状画像と左目用画像の短冊状画像とが交互に配置された画像が、上側ＬＣＤ２２の画面に表示される。そして、上側ＬＣＤ２２の視差バリアを介して当該画像がユーザに視認されることによって、ユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認される。以上により、上側ＬＣＤ２２の画面には立体視可能な画像が表示される。
【００８１】
外側撮像部２３及び内側撮像部２４は、情報処理部３１に接続される。外側撮像部２３及び内側撮像部２４は、情報処理部３１の指示に従って画像を撮像し、撮像した画像データを情報処理部３１に出力する。本実施形態では、情報処理部３１は外側撮像部２３及び内側撮像部２４のいずれか一方に対して撮像指示を行い、撮像指示を受けた撮像部が画像を撮像して画像データを情報処理部３１に送る。具体的には、本実施形態では、ユーザによるタッチパネル１３を用いたタッチ操作によって使用する撮像部が選択される。撮像部が選択されたことを情報処理部３１（ＣＰＵ３１１）が検知し、情報処理部３１が外側撮像部２３又は内側撮像部２４に対して撮像指示を行う。
【００８２】
３Ｄ調整スイッチ２５は、情報処理部３１に接続される。３Ｄ調整スイッチ２５は、スライダ２５ａの位置に応じた電気信号を情報処理部３１に送信する。
【００８３】
また、３Ｄインジケータ２６は、情報処理部３１に接続される。情報処理部３１は、３Ｄインジケータ２６の点灯を制御する。本実施形態では、情報処理部３１は、上側ＬＣＤ２２が立体表示モードである場合、３Ｄインジケータ２６を点灯させる。以上がゲーム装置１０の内部構成の説明である。
【００８４】
（パズルゲーム処理の詳細）
次に、図８から図１１を参照して、本実施形態に係るパズルゲーム処理の詳細について説明する。まず、パズルゲーム処理の際にメインメモリ３２に記憶される主なデータについて説明する。図８は、ゲーム装置１０のメインメモリ３２のメモリマップを示す図である。図８に示されるように、メインメモリ３２には、データ記憶領域７０が設けられる。データ記憶領域７０には、カメラ選択データ７１、左目用画像位置データ７２、右目用画像位置データ７３、加速度データ７４、表示モードデータ７５、操作データ７６、ピース配置記憶テーブル７７等が記憶される。これらのデータの他、メインメモリ３２には、上記撮像処理を実行するプログラムやタッチパネル１３へのタッチ位置を示すデータ、下側ＬＣＤ１２に表示されるカメラ選択のための画像を示すデータ、ゲーム処理のためのデータ（例えば、選択確定ピース情報、ステージ情報）等が記憶される。なお、以下においては、「撮像部」を「カメラ」という文言で代用して記載する場合がある。
【００８５】
カメラ選択データ７１は、現在選択されている撮像部を示すデータである。カメラ選択データ７１は、現在選択されている撮像部が外側撮像部２３か内側撮像部２４かを示すデータである。
【００８６】
左目用画像位置データ７２は、外側撮像部（左）２３ａによって撮像された左目用画像の上側ＬＣＤ２２上の表示位置を示すデータであり、左目用画像の画像中心の座標値を示すデータである。右目用画像位置データ７３は、外側撮像部（右）２３ｂによって撮像された右目用画像の上側ＬＣＤ２２上の表示位置を示すデータであり、右目用画像の画像中心の座標値を示すデータである。
【００８７】
加速度データ７４は、加速度センサ３９によって検出された最新の加速度を示すデータである。具体的には、加速度データ７４は、加速度センサ３９によって検出されたｘ軸方向、ｙ軸方向、及びｚ軸方向の加速度の値を示す。加速度センサ３９は所定時間に１回の割合で加速度を検出し、情報処理部３１（ＣＰＵ３１１）に送信する。情報処理部３１は、加速度センサ３９が加速度を検出するたびにメインメモリ３２の加速度データ７４を更新する。
【００８８】
表示モードデータ７５は、上側ＬＣＤ２２の表示モードが立体表示モードか平面表示モードかを示すデータである。
【００８９】
操作データ７６は、各操作ボタン１４Ａ〜Ｅ、Ｇ〜Ｈ、及び、アナログスティック１５に対して行われた操作を示すデータである。
【００９０】
ピース配置記憶テーブル７７は、パズルゲーム処理で使用されるパズルピースの配置状態等を記憶する。ここで、パズルゲームでは、複数のパズルピースが用いられ、それぞれのパズルピースが仮想３次元空間内にポリゴンとして配置される。図９にこのピース配置記憶テーブル７７の構造を示す。このピース配置記憶テーブル７７は、横３列、縦３段の９ピース用のテーブルである。このピース配置記憶テーブル７７は、ピース位置記憶フィールド、保持配列データ記憶フィールド、（Ｘ（１）、Ｙ（１））〜（Ｘ（４）、Ｙ（４））の４点の座標データが記憶されるテクスチャ座標データ記憶フィールドとで構成される。
【００９１】
ピース位置は、例えば、３段×３列のマトリクスにおいて、上段左ピースの位置を「１」として、上段中央ピースの位置を「２」、上段右ピースの位置を「３」、中段左ピースの位置を「４」として、中段中央ピースの位置を「５」、中段右ピースの位置を「６」、下段左ピースの位置を「７」として、下段中央ピースの位置を「８」、下段右ピースの位置を「９」として設定される。このように、ピース位置は、パズル領域を構成するマトリクスにおいて左上から右下に付された位置を示す。
【００９２】
保持配列データは、１次元配列データであって、ピース位置の昇順（ピース位置の数字の昇順）に、配置されている現在のピースを示すピース番号（ランダムに並べ替える前に付与された番号）が保持される。例えば図１０（ａ）に示すように、ランダムに並べ替えられる前であると、ピース位置の昇順にピース番号が並べられた「１２３４５６７８９」という１次元配列データが保持される。また、図１０（ｂ）に示すように、全てのパズルピースがランダムに配置されると、ピース位置の昇順にピース番号が並べられた「７６９５４８３２１」という１次元配列データが保持される。この図１０（ｂ）に示す場合は、どのパズルピースも正しい位置に配置されていないランダムな状態である。
【００９３】
テクスチャ座標データは、仮想カメラの傾きに基づいて、パズルピース１個ずつ算出される。なお、後述するように、このような９個のパズルピースのテクスチャ座標データを算出してから、１次元配列データに従ってテクスチャ座標データを入れ替えることにより、ランダムに配置されたパズルピースを表示する。また、仮想カメラの傾きの算出方法は限定されるものではないが、ここでは、外側撮像部２３により撮像された画像データの差分に基づいて算出している。さらに詳細には、差分に基づいて算出された移動量を用いて、仮想カメラの傾きを算出している。
【００９４】
次に、パズルゲーム処理の詳細について、図１１から図１３を参照して説明する。図１１は、本実施形態に係るパズルゲーム処理の詳細を示すメインフローチャートである。ゲーム装置１０の電源が投入されると、ゲーム装置１０の情報処理部３１（ＣＰＵ３１１）は、図示しないＲＯＭに記憶されている起動プログラムを実行し、これによってメインメモリ３２等の各ユニットが初期化される。次に、データ保存用内部メモリ３５に記憶されたパズルゲーム処理プログラムがメインメモリ３２に読み込まれ、情報処理部３１のＣＰＵ３１１によって当該プログラムの実行が開始される。
【００９５】
図１２に示すフローチャートは、図１１のゲーム処理（ステップＳ６０）における詳細なフローチャートである。図１３に示すフローチャートは、図１１の表示処理（ステップＳ７０）における詳細なフローチャートである。なお、図１２に示すステップＳ１０〜ステップＳ８０の処理ループは、１フレーム（例えば１／３０秒。フレーム時間という。）毎に繰り返し実行される。
【００９６】
また、以下においては、外側撮像部２３が選択され、立体表示モードが選択された場合の処理について説明する。このように処理すると、パズルピースに表示される動画像が立体的に表示されることによりユーザの興趣性がさらに向上する点で好ましい。しかしながら、立体表示モードにおける左目用処理及び右目用処理は原則的に同じ処理であるので、以下においては、説明の繰り返しを避けるために左目用処理（右目用処理であってもよい）について説明する。これは平面表示モードでの処理を説明することになる。このように、本発明の適用は立体表示モードにも平面表示モードにも限定されるものではない。ユーザの興趣性がさらに向上する点で、立体表示モードがより好ましい。立体表示モードでは、以下に説明する左目用処理に加えてこの左目用処理と原則的に同じ処理である右目用処理を実行するようにしたり、左目用処理の結果を用いて右目用データを作成したりすることにより、立体表示モードでのパズルゲーム処理が実行される。
【００９７】
さらに、以下においては、上側ＬＣＤ２２にパズルゲームが表示されるゲーム装置１０を説明するが、下側ＬＣＤ１２にパズルゲームが表示されても構わない。この場合において、下側ＬＣＤ１２に表示されたパズルピースをタッチペン２８で指定することにより、入れ替え対象のパズルピースを選択するようにしても構わない。
【００９８】
まず、図１１を参照して、パズルゲーム処理のメインルーチンについて説明する。ステップＳ１０にて、情報処理部３１は、外側撮像部２３により撮像された撮像画像の中から切り出すパズル領域（所定領域）を設定する。このとき、上側ＬＣＤ２２の表示領域よりも小さい領域がパズル領域として設定される。このように設定することにより、パズル領域の周囲の撮像画像を上側ＬＣＤ２２に表示させることができるので、パズルゲームのヒントをユーザに与えることができる。なお、外側撮像部２３により撮像された撮像画像が上側ＬＣＤ２２の表示領域全体に表示されるようになっておらず、一部領域に表示されるようになっている場合には、パズル領域が、撮像画像が表示される一部領域よりも小さい領域として設定される。
【００９９】
ステップＳ２０にて、情報処理部３１は、ステージに応じてパズル領域における分割数Ｍを設定する。このとき、ステージが高い（このユーザの習熟度が高い）と、分割数を大きな値に設定し、ステージが低い（このユーザの習熟度が低い）と、分割数を小さな値に設定する。なお、分割数Ｍに限らず、パズル領域の大きさは同じであるとする。このとき、情報処理部３１は、パズル領域を分割して得られた複数のパズルピースに対応する複数のポリゴンと仮想カメラを仮想３次元空間内に配置する。ここで、ポリゴンと仮想カメラとの位置関係は予め定められているとする。
【０１００】
ステップＳ３０にて、情報処理部３１は、パズルピースの１次元配列データを生成する。このとき、撮像画像と同じにならないようにランダムにパズルピースが並べられた１次元配列データが生成される。なお、全てのパズルピ−スが同じ位置にない（完全にランダムな）１次元配列データを生成することが好ましいが、パズル数Ｍが大きいと、このステップＳ３０における処理時間が長くなる場合がある。このため、一定時間を超えるまでに、全てのパズルピ−スが同じ位置にない１次元配列データを生成することができなかった場合（完全なランダムにならなかった場合）には、その時間が経過するまでの最もランダムなデータを１次元配列データとして生成するようにしたり、その時間が経過したときのデータを１次元配列データとして生成するようにしたりしても構わない。
【０１０１】
ステップＳ４０にて、情報処理部３１は、ユーザにより、ゲームのリセットが要求されたか否かを判定する。例えばリセット用に割り当てられたボタンが操作されるとゲームのリセットが要求されたと判定する。ゲームのリセットが要求されたと判定されると（ステップＳ４０にてＹＥＳ）、処理はステップＳ１０へ戻される。もしそうでないと（ステップＳ４０にてＮＯ）、この処理はステップＳ５０へ移される。すなわち、ゲーム途中においてリセット処理が要求されると、ステップＳ１０の処理が実行されて、仮想カメラとパズル領域との相対的な位置関係が初期化され、パズル領域が再度設定される。
【０１０２】
ステップＳ５０にて、情報処理部３１は、カメラ画像データを取得する。具体的には、情報処理部３１は、現在選択されているカメラによって撮像された画像を示す画像データを取得し、ＶＲＡＭ３１３に格納する。ここでは、外側撮像部２３が選択されているため、情報処理部３１は、外側撮像部２３によって撮像された画像を示す画像データを取得する。
【０１０３】
ステップＳ６０にて、情報処理部３１は、ユーザがゲーム装置１０を傾けてパズルピースを選択するゲーム処理を実行する。なお、このステップＳ６０のゲーム処理はサブルーチン化されており、その詳細については、後述する。
【０１０４】
ステップＳ７０にて、情報処理部３１は、上側ＬＣＤ２２に画像を表示する表示処理を実行する。なお、このステップＳ７０の表示処理はサブルーチン化されており、その詳細については、後述する。
【０１０５】
ステップＳ８０にて、情報処理部３１は、ステージが更新されたか否かを判定する。全てのパズルピースが正しい位置へ入れ替えられると、ステージが更新されたと判定される。ステージが更新されたと判定されると（ステップＳ８０にてＹＥＳ）、処理はＳ１０へ移される。もしそうでないと（ステップＳ８０にてＮＯ）、この処理は、ステップＳ４０へ移される。
【０１０６】
なお、この図１１に示すフローチャートによると、パズルゲームが無限に実行される表現となっているが、実際には、例えば電源ボタン１４Ｆがオフ操作されることにより、このパズルゲームは終了される。
【０１０７】
次に、図１２を参照して、ゲーム処理のサブルーチンについて説明する。ステップＳ６０１にて、情報処理部３１は、外側撮像部２３により撮像された画像を示すカメラ撮像データに基づいて、リセット時（パズル領域設定時）からの外側撮像部２３の傾き角を算出する。このとき、情報処理部３１は、１フレーム前のカメラ撮像データと現在のフレームのカメラ撮像データとの差分に基づいて外側撮像部２３の移動量を算出して、それに基づいて傾き角を算出している。なお、このとき、左右方向及び上下（前後）方向の傾きが算出される。
【０１０８】
ステップＳ６０２にて、情報処理部３１は、算出したカメラ傾き角に基づいて、仮想カメラの左右傾き角Ａ及び上下傾き角Ｂを決定する。
【０１０９】
ステップＳ６０３にて、情報処理部３１は、左右最大傾き角ＡＡに対する左右傾き角Ａの比率Ｃ（＝Ａ／ＡＡ）を算出する。ステップＳ６０４にて、情報処理部３１は、上下最大傾き角ＢＢに対する上下傾き角Ｂの比率Ｄ（＝Ｂ／ＢＢ）を算出する。なお、比率Ｃ及び比率Ｄが１を超える場合には、比率Ｃ及び比率Ｄは１に設定される。
【０１１０】
ステップＳ６０５にて、情報処理部３１は、比率Ｃ及び比率Ｄを用いて、Ｍ個のパズルピースの中から１個のパズルピースを選択する。このとき、上側ＬＣＤ２２には、選択カーソル（十字マーク）がパズルピースの表示に重畳されて表示される。ここで、ゲーム装置１０を大きく傾けても選択カーソルがパズルピース領域外に移動しないで、必ず１個のパズルピースを選択することができる。さらに、このパズルピースの選択においては、中央側のパズルピースよりも端側のパズルピースが選択しやすくなっている。このような処理の詳細については、後述する。
【０１１１】
ステップＳ６０６にて、情報処理部３１は、該当するパズルピースを選択状態で上側ＬＣＤ２２に表示する。このとき、上側ＬＣＤ２２において、選択されたパズルピースに選択カーソルが表示されるとともに、選択されたパズルピースのパズル枠が強調されて太く表示されたりパズル枠の色が変更されて表示されたり、そのパズルピースが浮き出て見えるように表示されたりする。
【０１１２】
ステップＳ６０７にて、情報処理部３１は、選択ボタンが押下されたか否かを判定する。このとき、情報処理部３１は、ユーザにより例えば操作ボタン１４Ｂが押下されると、選択ボタンが押下されたと判定する。選択ボタンが押下されたと判定されると（ステップＳ６０７にてＹＥＳ）、処理はステップＳ６０８へ移される。もしそうでないと（ステップＳ６０７にてＮＯ）、この処理は終了する（メインルーチンへ戻る）。
【０１１３】
ステップＳ６０８にて、情報処理部３１は、選択確定ピースがあるか否かを判定する。このとき、情報処理部３１は、メインメモリ３２のデータ記憶領域７０に、選択確定ピース情報として、選択確定ピース番号を示す選択確定ピース番号データとピース位置を示すピース位置データとが記憶されていると選択確定ピースがあると判定し、選択確定ピース番号データとピース位置データとが記憶されていないと選択確定ピースがあると判定しない。選択確定ピースがあると判定されると（ステップＳ６０８にてＹＥＳ）、処理はステップＳ６０９へ移される。もしそうでないと（ステップＳ６０８にてＮＯ）、この処理はステップＳ６１２へ移される。
【０１１４】
ステップＳ６０９にて、情報処理部３１は、該当のパズルピース（今回選択されたパズルピース）と、保持されていた選択確定ピースとを入れ替える。このとき、情報処理部３１は、保持配列データとしてデータ記憶領域７０に記憶している１次元配列データを更新する。例えば、上段中央のパズルピースと上段右のパズルピースとが入れ替えられると、「７→６→９→５→４→８→３→２→１」と並べられている状態を示す「７６９５４８３２１」から「７→９→６→５→４→８→３→２→１」と並べられている状態を示す「７９６５４８３２１」へ、１次元配列データが更新される。また、このとき、情報処理部３１は、メインメモリ３２のデータ記憶領域７０に記憶されていた選択確定ピース番号データとピース位置データとを消去する。
【０１１５】
ステップＳ６１０にて、情報処理部３１は、このゲームが成功したか否かを判定する。このとき、情報処理部３１は、保持配列データとして記憶している１次元配列データが正規の順番である「１２３４５６７８９」になると、ゲームが成功したと判定する。すなわち、撮像画像と同じにならないようにランダムにパズルピースが並べられたとき（ステップＳ３０）よりも以前の配置状態に戻った場合にゲームが成功したと判定される。ゲームが成功したと判定されると（ステップＳ６１０にてＹＥＳ）、処理はＳ６１１へ移される。もしそうでないと（ステップＳ６１０にてＮＯ）、この処理は終了する（メインルーチンへ戻る）。
【０１１６】
ステップＳ６１１にて、情報処理部３１は、ステージ情報を更新する。その後、この処理は終了する（メインルーチンへ戻る）。
【０１１７】
ステップＳ６１２にて、情報処理部３１は、該当のパズルピース（今回選択されたパズルピース）を選択確定ピースとして保持する。このとき、情報処理部３１は、該当のパズルピースの番号および位置をそれぞれ選択確定ピース番号データおよびピース位置データとしてメインメモリ３２のデータ記憶領域７０に記憶させる。その後、この処理は終了する（メインルーチンへ戻る）。
【０１１８】
次に、図１３を参照して、上側ＬＣＤ２２の表示処理のサブルーチンについて説明する。ステップＳ７０１にて、情報処理部３１は、カメラ撮像データをテクスチャ用ＶＲＡＭへ転送する。
【０１１９】
ステップＳ７０２にて、情報処理部３１は、変数Ｎに１を代入する。ステップＳ７０３にて、情報処理部３１は、仮想カメラの傾き（Ｓ６０２にて決定してデータ記憶領域７０に記憶）に基づいて、Ｎ個目のパズルピース（ピース位置が「Ｎ」のパズルピース）のテクスチャ座標を算出する。このとき、ランダムに並べ替える前の状態でテクスチャ座標を算出する。算出したテクスチャ座標は、ピース配置記憶テーブル７７のテクスチャ座標データ記憶フィールドに記憶される。
【０１２０】
ステップＳ７０４にて、情報処理部３１は、変数ＮがＭと等しいか否かを判定する。Ｎ（変数）＝Ｍ（パズルの分割数、ピース数）であると（ステップＳ７０４にてＹＥＳ）、処理はステップＳ７０５へ移される。もしそうでないと（ステップＳ７０４にてＮＯ）、この処理はステップＳ７０８へ移される。
【０１２１】
ステップＳ７０５にて、情報処理部３１は、ピース配置記憶テーブル７７の保持配列データ記憶フィールドに保持された１次元配列データに基づいて、テクスチャ座標を入れ替える。ここで、情報処理部３１は、入れ替えたテクスチャ座標に基づいて、各パズルピースのポリゴンにテクスチャを貼り付けてパズルピース画像を生成する。ステップＳ７０６にて、情報処理部３１は、パズルピース画像と、カメラ画像（パズル領域の外側の画像）とを合成する。ステップＳ７０７にて、情報処理部３１は、合成画像を上側ＬＣＤ２２へ表示する。その後、この処理は終了する（メインルーチンへ戻る）。
【０１２２】
ステップＳ７０８にて、情報処理部３１は、変数Ｎに１を加算する。その後、この処理はステップＳ７０３へ移されて、全てのパズルピースについてテクスチャ座標を算出するまで、Ｓ７０３の処理を繰り返す。
【０１２３】
以上のような構造及びフローチャートに基づく、本実施形態に係るゲーム装置１０の動作について、図１４から図１６の概念図、図１７及び図１８の画面表示例を参照して説明する。なお、上述した図１１から図１３に示すプログラムが、フレーム時間（サイクルタイム）で周期的に動作することにより、以下に説明するように、ゲーム装置１０が動作する。
【０１２４】
（パズル領域の設定）
ユーザが、外側撮像部２３を選択して、平面表示モードを選択して、上述したプログラムが実行されるように設定する。ユーザが、例えば、樹木と時計台と太陽と雲と家とを含む範囲を外側撮像部２３で撮影している状態で、リセット用に割り当てられたボタンが操作されると、撮像画像の中から上側ＬＣＤ２２に表示されている撮像領域よりも小さいパズル領域が設定される（ステップＳ１０）。パズル領域における分割数Ｍが設定され（ここではＭ＝９）、パズルピースの１次元配列データが生成される（ステップＳ２０、Ｓ３０）。
【０１２５】
（ゲーム装置を傾けた場合に表示される画像）
このように、パズル領域が設定された状態で、ユーザがゲーム装置１０を左右に傾けた場合に上側ＬＣＤ２２に表示される画像について、図１４を用いて説明する。なお、ユーザがゲーム装置１０を上下に傾けた場合は、図１４を９０度回転させた図で説明できるので、ここでは説明しない。この図１４から図１８においては、発明の理解のために、強調して表わされている部分を含む場合がある。
【０１２６】
図１４（ａ）は、ステップＳ１０にてパズル領域を設定したときの、仮想カメラと、パズルピースに対応するポリゴンと、上側ＬＣＤ２２における表示画像との相対的な位置関係を示す。
【０１２７】
図１４（ａ）に示すように、上側ＬＣＤ２２に表示されている外側撮像部２３の撮像範囲よりも狭いパズル領域（所定領域）が９個のパズルピース（小領域）に分割される。この図１４（ａ）に示す状態から、ゲーム装置１０の外側撮像部２３を左方向に向けると（ゲーム装置１０の構造上、ゲーム装置１０を左方向に向けることに等しい）、図１４（ｂ）に示す状態になる。このとき、外側撮像部２３により撮像された画像を示すカメラ撮像データが取得されて（ステップＳ５０）、このカメラ撮像データに基づき、図１４（ａ）の状態からのカメラの傾き角が算出され（ステップＳ６０１）、仮想カメラの左右傾き角Ａが決定される（ステップＳ６０２）。
【０１２８】
外側撮像部２３により撮像された画像を示すカメラ撮像データがテクスチャ用ＶＲＡＭへ転送されて（ステップＳ７０１）、９個のパズルピースのテクスチャ座標が算出される（ステップＳ７０３）。具体的には、パズルピースに対応するポリゴンの各頂点の座標をスクリーン平面に投影することによって、パズルピースの各頂点に対するテクスチャ座標が得られる。１次元配列データに基づいてテクスチャ座標が入れ替えられて（ステップＳ７０５）、パズルピース画像とカメラ画像（パズル領域の外側）とが合成されて（ステップＳ７０６）、合成画像が上側ＬＣＤ２３に表示される（ステップＳ７０７）。
【０１２９】
このように、図１４（ａ）で示す状態から図１４（ｂ）に示す状態に、ユーザがゲーム装置１０を左方向に向けると、外側撮像部２３の撮像方向が左方向に向けられる。仮想カメラの傾きに基づいて９個のパズルピースのテクスチャ座標が算出される。図１４（ｂ）に示すように、図１４（ａ）では長方形のパズル領域が、右側にずれて表示されるとともに、右側のパズルピースが大きく表示される。これは、外側撮像部２３の視野内の左に存在する対象物よりも右に存在する対象物とゲーム装置１０との距離が相対的に短くなったためであり、パズル領域は、外側撮像部２３が向けられた方向の逆方向に移動して表示されたり、逆方向が大きく表示されたりする。この場合には、上側ＬＣＤ２２の表示範囲外にパズル領域の一部が表示されることになり、上側ＬＣＤ２２には、パズル領域の一部が表示されない。
【０１３０】
図１４（ｂ）に示す状態から、ユーザがカメラ装置１０をさらに左方向に傾けると、図１４（ｃ）に示す状態になる。パズル領域は、外側撮像部２３が向けられた方向の逆方向にさらに移動して表示されたり、逆方向がさらに大きく表示されたりする。ただし、この場合には、上側ＬＣＤ２２の表示範囲外にパズル領域が表示されることになり、上側ＬＣＤ２２には、パズル領域の一部しか表示されない。
【０１３１】
（ゲーム装置を傾けた場合に表示される選択マーク）
本実施形態に係るゲーム装置１０においては、パズルピースを選択するためにゲーム装置１０を傾けると、外側撮像部２３による撮像方向が傾く。パズル領域が設定された状態で、ユーザがパズルピースを選択するためにゲーム装置１０を左右に傾けた場合に、上側ＬＣＤ２２に表示される選択カーソル（十字マーク）について、図１５を用いて説明する。なお、ユーザがゲーム装置１０を上下に傾けた場合は、図１４と同じように、図１５を９０度回転させた図で説明できるので、ここでは説明しない。分割数Ｍは異なるものの（図１４はＭ＝９、図１５はＭ＝２５）、図１５（ａ）は図１４（ａ）に、図１５（ｂ）は図１４（ｂ）に、図１５（ｃ）は図１４（ｃ）に、それぞれ対応する。
【０１３２】
図１５（ａ）に示す状態から、ゲーム装置１０を左方向に向けると、図１５（ｂ）に示す状態になる。パズルピースを選択するための選択カーソルは、ゲーム装置１０を傾けていない図１５（ａ）の状態では、上側ＬＣＤ２２のほぼ中央に表示される。ゲーム装置１０を傾けても、上側ＬＣＤ２２のほぼ中央に選択カーソルが表示されるとすると、図１５（ｂ）の選択カーソル（白塗り十字マーク）の位置に表示され、左から２列目のパズルピースを選択する。ところが、本実施形態に係るゲーム装置１０においては、中央部よりも端部のパズルピースが選択しやすいように設定されている。このため、図１５（ｂ）に示す選択カーソル（白塗り十字マーク）の位置よりもさらに外側の選択カーソル（黒塗り十字マーク）の位置に選択カーソルが表示され、左端のパズルピースを選択することができる。すなわち、ゲーム装置１０を少し傾けただけで、外側のパズルピースを選択することができる。
【０１３３】
図１５（ｂ）に示す状態から、ユーザがカメラ装置１０をさらに左方向に傾けると、図１５（ｃ）に示す状態になる。パズルピースを選択するための選択カーソルは、ゲーム装置１０を傾けていない図１５（ａ）又はゲーム装置１０を傾けた図１５（ｂ）の状態では、上側ＬＣＤ２２のほぼ中央に表示される。ゲーム装置１０をさらに大きく傾けても、上側ＬＣＤ２２のほぼ中央に選択カーソルが表示されるとすると、図１５（ｃ）の選択カーソル（白塗り十字マーク）の位置に表示され、選択できるパズルピースは存在しない。ところが、本実施形態に係るゲーム装置１０においては、必ず１個のパズルピースが選択できるように設定されている。このため、図１５（ｃ）に示す選択カーソル（白塗り十字マーク）の位置ではなく、左端のパズルピースを選択している状態で選択カーソル（黒塗り十字マーク）が表示され、左端のパズルピースを選択することができる。すなわち、パズルピースが上側ＬＣＤ２２に表示されている限りにおいて、必ず１個のパズルピース（大きく傾けると最も外側のパズルピース）を選択することができる。
【０１３４】
このように、中央部よりも端部のパズルピースが選択しやすいように設定されていたり、必ず１個のパズルピースが選択できるように設定されていたりする。このような本実施形態に係るゲーム装置１０の動作を、図１６を参照して、さらに詳しく説明する。図１６におけるパズルピース数Ｍは、図１５のパズルピース数Ｍと同じく、２５である。
【０１３５】
（パズルピースの選択動作）
ユーザがパズルピースを選択するためにゲーム装置１０を傾けると、カメラの傾き角が算出され（ステップＳ６０１）、仮想カメラの左右傾き角Ａ及び上下傾き角Ｂが決定される（ステップＳ６０２）。左右最大傾き角ＡＡに対する左右傾き角Ａの比率Ｃ（＝Ａ／ＡＡ）が算出され、上下最大傾き角ＢＢに対する上下傾き角Ｂの比率Ｄ（＝Ｂ／ＢＢ）が算出される（ステップＳ６０３、ステップＳ６０４）。このように算出された比率Ｃ及び比率Ｄを用いて、Ｍ個のパズルピースの中から１個のパズルピースが選択される（ステップＳ６０５）。
【０１３６】
図１６に示すように、横５列の場合、例えば、左右最大傾き角ＡＡを３０度に設定して、比率Ｃ＝０．２及び０．６にしきい値を設定する。なお、ユーザがゲーム装置１０を上下に傾けた場合は、図１６を９０度回転させた図で説明できるので、ここでは説明しない。この図１６に示すように、比率Ｃの最大値は１であるので、ゲーム装置１０を、０度から６度（しきい値０．２）までの間で傾けると中央のパズルピースが選択され、６度から１８度（しきい値０．６）までの間で傾けると中央から１つ外側のパズルピースが選択され、１８度より大きく傾けると表示されている最も外側のパズルピースが選択される。
【０１３７】
なお、端のパズルピースへいくにしたがってしきい値の間隔を大きくするようにしてもよい。例えば、比率Ｃ＝０．１及び０．４にしきい値を設定する。この場合、このゲーム装置１０においては、少し傾けただけでも、より端側のパズルピースを選択できるとともに、必ず１個のパズルピースを選択することができる。このため、パズルピースの選択操作を容易に行うことができる。
【０１３８】
（ゲームの進行動作）
以上のような選択動作により、ユーザにより２個のパズルピースが選択されて、選択されたパズルピースが入れ替えられてゲームが進行する。このゲームの進行動作を、図１７及び図１８を参照して、以下に説明する。なお、図１７はゲームの開始から１回目のパズルピースの入れ替えまでを、図１８はパズルピースの最後の入れ替えからゲーム終了までを示す。
【０１３９】
図１７Ａに示すように、樹木と時計台と太陽と雲と家とを含む範囲を外側撮像部２３で撮影している状態でゲームが開始されて、撮像画像の中から切り出すパズル領域が設定される（ステップＳ１０）。ステージに応じてパズル領域における分割数Ｍが９に設定される。このとき、図１７Ｂに示すように、撮像画像は９個のパズルピースに分解されることになる。なお、上側ＬＣＤ２２にこの図１７Ｂのように表示されるか否かは限定されない。表示されない場合には、図１７Ａに示す状態から図１７Ｃに示す状態になる。ここで、このときの１次元配列データは、「１２３４５６７８９」である。
【０１４０】
パズルピースがランダムに配置された、１次元配列データが生成される（ステップＳ３０）。このときの１次元配列データは、「７６９５４８３２１」とする。この１次元配列データに基づいて、算出されていたテクスチャ座標が入れ替えられて（ステップＳ７０５）、上側ＬＣＤ２２に表示される。このときの上側ＬＣＤ２２の表示例を図１７Ｃに示す。なお、図１７Ａから図１７Ｃまでは、ゲーム装置１０の傾きに変化はない（又はほぼ傾いていない）とする。
【０１４１】
パズルゲームを始めたユーザは、まず、真ん中（中段中央）のパズルピース（ピース位置が「５」）と、中段左のパズルピース（ピース位置が「４」）とを入れ替えるとする。これら２個のパズルピースを入れ替えると、ピース位置が「４」のパズルピースを正しく配置できるとともに、ピース位置が「５」のパズルピースを正しく配置できる。このため、ユーザはまずピース位置が「５」のパズルピースを選択する。図１７Ｄに示すように、ゲーム装置１０を傾けないと、中段中央のパズルピースに選択カーソルが重畳されて表示される（分割数は異なるが図１５（ａ）参照）。この状態でユーザが選択ボタンを押下する（ステップＳ６０７にてＹＥＳ）。このときには、選択確定ピースがないので（ステップＳ６０８にてＮＯ）、中段中央のパズルピースが選択確定ピースとして保持される。このとき、図１７Ｅに示すように、中段中央のパズルピースの枠が太く表示されたり色が変更されて表示されたり、中段中央のパズルピースが浮き出るように表示されたりする（ステップＳ６１２）。
【０１４２】
次に、ユーザはピース位置が「４」のパズルピースを選択する。図１７Ｅに示す状態から、ゲーム装置１０を左方向に傾けると、中段中央のパズルピースが選択確定の状態で、図１７Ｆに示すように中段左のパズルピースに選択カーソルが重畳されて表示される（分割数は異なるが図１５（ｂ）参照）。この状態でユーザが選択ボタンを押下する（ステップＳ６０７にてＹＥＳ）。このときには、選択確定ピースがあるので（ステップＳ６０８にてＹＥＳ）、中段中央のパズルピースと中段左のパズルピースとが入れ替えて表示されるように、１次元配列データが更新される。このとき、図１７Ｇに示すように、中段中央のパズルピースと中段左のパズルピースとが入れ替えられる（ステップＳ７０５）。
【０１４３】
この結果、図１７Ｈに示すように、ピース位置が「４」及びピース位置が「５」のパズルピースが正しい位置に配置される。なお、このときの１次元配列データは、「７６９４５８３２１」である。
【０１４４】
このようにしてゲームが進行して、図１８Ａに示す状態になったとする。この図１８Ａに示す状態は、上段中央のパズルピース（ピース位置が「２」）と、下段中央のパズルピース（ピース位置が「８」）とを入れ替えると、パズルゲームが成功する状態である。すなわち、これら２個のパズルピースを入れ替えると、全てのパズルピースを正しい位置に配置できる。
【０１４５】
このため、ユーザはまずピース位置が「２」のパズルピースを選択する。図１８Ｂに示すように、ゲーム装置１０を上方向に傾けると、上段中央のパズルピースに選択カーソルが重畳されて表示される。この状態でユーザが選択ボタンを押下する（ステップＳ６０７にてＹＥＳ）。このときには、選択確定ピースがないので（ステップＳ６０８にてＮＯ）、上段中央のパズルピースが選択確定ピースとして保持される。このとき、図１８Ｃに示すように、上段中央のパズルピースの枠が太く表示されたり色が変更されて表示されたり、上段中央のパズルピースが浮き出るように表示されたりする（ステップＳ６１２）。
【０１４６】
次に、ユーザはピース位置が「８」のパズルピースを選択する。ゲーム装置１０を傾けていない図１８Ｄに示す状態から、ゲーム装置１０を下方向に傾けると、図１８Ｅに示すように下段中央のパズルピースに選択カーソルが重畳されて表示される。この状態でユーザが選択ボタンを押下する（ステップＳ６０７にてＹＥＳ）。このときには、選択確定ピースがあるので（ステップＳ６０８にてＹＥＳ）、上段中央のパズルピースと下段中央のパズルピースとが入れ替えて表示されるように、１次元配列データが更新される。このとき、図１８Ｆに示すように、上段中央のパズルピースと下段中央のパズルピースとが入れ替えられる（ステップＳ７０５）。
【０１４７】
この結果、図１８Ｇに示すように、ピース位置が「２」及びピース位置が「８」のパズルピースが正しい位置に配置される。なお、このときの１次元配列データは、「１２３４５６７８９」である。すなわち、全てのパズルピースの位置が正しいと判定されて（ステップＳ６１０にてＹＥＳ）、ステージが更新される（ステップＳ６１１）。このときの上側ＬＣＤ２２の表示例を図１８Ｈに示す。この図１８Ｈは、図１７Ｂと同じである。
【０１４８】
以上のように、本実施形態に係るゲーム装置１０によると、外側撮像部２３で撮像した風景（背景）を用いて、パズルゲームを実現することができる。この場合において、ユーザがパズルピースを選択するためにゲーム装置１０を傾けると（左右方向及び／又は上下方向）、パズルピースに表示される画像が変化されるとともに、十字カーソルが移動して少なくとも１個のパズルピースが選択できる。このため、単なる動画ではなく、リアルタイムで撮像された動画を用いたパズルゲームであって、ゲーム装置１０を傾けてパズルピースを選択することのできるパズルゲームを実現することができる。
【０１４９】
（変形例）
上記したステップＳ６０１においては、１フレーム前のカメラ撮像データと現在のフレームのカメラ撮像データとの差分に基づいて外側撮像部２３の移動量を算出して、それに基づいて傾き角を算出していたが、本発明はこれに限定されない。例えば、１フレーム前のカメラ撮像データと現在のフレームのカメラ撮像データとの差分に基づいて（移動量を求めることなく）外側撮像部２３の傾き角を直接算出するようにしても構わない。また、加速度センサ３９による検出結果である加速度データ７４又はジャイロセンサによる検出結果を用いて外側撮像部２３の傾き角を検出するようにしても構わない。
【０１５０】
また、上記したステップＳ６０５においては、比率Ｃ及び比率Ｄを用いて、Ｍ個のパズルピースの中から１個のパズルピースを選択するようにしていたが、本発明はこれに限定されない。例えば、外側撮像部２３の傾きに基づいて、仮想空間における視線ベクトルを算出して、その視線ベクトルと交点を有するパズルピースを選択するようにしても構わない。さらに、この場合において、交点が存在しない場合には、最も近いパズルピースを選択するようにしても構わない。さらに、この場合において、上側ＬＣＤ２２の中央部に表示されたパズルピースよりも周辺部に表示されたパズルピースを容易に選択するように設定することが好ましい。このとき、視線ベクトルの角度を実際の角度の２倍の角度に変更して、交点を求めるようにすることにより、周辺部に表示されたパズルピースを容易に選択することができる。
【０１５１】
また、上記したステップＳ７０３においては、正しい配置の９個のパズルピースのテクスチャ座標データを算出してから、１次元配列データに従ってテクスチャ座標データを入れ替えることにより、ランダムなパズルピースの配置を表示するようにしていたが、本発明はこれに限定されない。例えば、テクスチャ座標データを算出する処理とテクスチャ座標データを入れ替る処理とを逆にしても構わない。
【０１５２】
また、上記したステップＳ２０においては、ステージに応じて、パズル領域の分割数Ｍ（パズルピースの数）を設定していたが、例えば、パズルゲームにおけるステージではなく、ゲームの難易度に応じて、パズル領域の分割数Ｍを設定しておくようにしても構わない。
【０１５３】
また、予め定められた時間内に、全てのパズルピースを正しい位置に配置できない場合には、パズルゲームを終了させるようにしても構わない。
【０１５４】
また、本発明は、本実施形態に係るゲーム装置に限らず、任意の携帯型電子機器（例えば、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）又は携帯電話）、パーソナルコンピュータ、カメラ等に適用することが可能である。
【０１５５】
また、本実施形態に係るゲーム装置１０の情報処理部３１が所定のプログラムを実行することによって、上述したフローチャートによるパズルゲーム処理が行われた。これに限定されず、パズルゲーム処理の一部又は全部は、ゲーム装置１０が備える専用回路によって行われてもよい。
【０１５６】
また、上述した処理を１台のゲーム装置（情報処理装置）だけで処理するのではなく、互いに通信可能に接続された複数の情報処理装置で分担して処理するようにしても構わない。
【符号の説明】
【０１５７】
１０  ゲーム装置
１１  下側ハウジング
１２  下側ＬＣＤ
１３  タッチパネル
１４  操作ボタン
１５  アナログスティック
１６  ＬＥＤ
２１  上側ハウジング
２２  上側ＬＣＤ
２３  外側撮像部
２３ａ  外側撮像部（左）
２３ｂ  外側撮像部（右）
２４  内側撮像部
２５  ３Ｄ調整スイッチ
２６  ３Ｄインジケータ
２８  タッチペン
３１  情報処理部
３１１  ＣＰＵ
３１２  ＧＰＵ
３２  メインメモリ
【図１】
2011251006.tif 000003
【図２】
2011251006.tif 000004
【図３】
2011251006.tif 000005
【図４】
2011251006.tif 000006
【図５】
2011251006.tif 000007
【図６Ａ】
2011251006.tif 000008
【図６Ｂ】
2011251006.tif 000009
【図６Ｃ】
2011251006.tif 000010
【図７】
2011251006.tif 000011
【図８】
2011251006.tif 000012
【図９】
2011251006.tif 000013
【図１０】
2011251006.tif 000014
【図１１】
2011251006.tif 000015
【図１２】
2011251006.tif 000016
【図１３】
2011251006.tif 000017
【図１４】
2011251006.tif 000018
【図１５】
2011251006.tif 000019
【図１６】
2011251006.tif 000020
【図１７Ａ】
2011251006.tif 000021
【図１７Ｂ】
2011251006.tif 000022
【図１７Ｃ】
2011251006.tif 000023
【図１７Ｄ】
2011251006.tif 000024
【図１７Ｅ】
2011251006.tif 000025
【図１７Ｆ】
2011251006.tif 000026
【図１７Ｇ】
2011251006.tif 000027
【図１７Ｈ】
2011251006.tif 000028
【図１８Ａ】
2011251006.tif 000029
【図１８Ｂ】
2011251006.tif 000030
【図１８Ｃ】
2011251006.tif 000031
【図１８Ｄ】
2011251006.tif 000032
【図１８Ｅ】
2011251006.tif 000033
【図１８Ｆ】
2011251006.tif 000034
【図１８Ｇ】
2011251006.tif 000035
【図１８Ｈ】
2011251006.tif 000036