(57)【特許請求の範囲】
【請求項１】
少なくとも１つの操作装置の姿勢を算出する姿勢算出部と、
前記操作装置を用いた所定の指示操作があったタイミングにおいて前記姿勢が所定の第１の範囲に含まれる場合に、当該指示操作が成功であると判定をする成功判定部と、
前記成功判定部の判定結果に基づいてゲーム処理を行うゲーム処理部とを備え、
前記成功判定部は、前記指示操作のあったタイミングにおいて前記姿勢が前記第１の範囲外となる第２の範囲内に含まれる場合において、さらに当該タイミングから所定時間以内に、前記姿勢が前記第１の範囲または前記第１の範囲の少なくとも一部を含む第３の範囲に含まれ、かつ前記操作装置が静止状態または前記操作装置の動きが所定量以下になった場合に、さらに当該指示操作が成功であると判定する、ゲームシステム。
【請求項２】
前記成功判定部は、前記操作装置に備えられた所定のボタンが操作されることを前記指示操作とする、請求項１に記載のゲームシステム。
【請求項３】
前記姿勢算出部は、複数の前記操作装置の姿勢をそれぞれ算出し、
前記ゲーム処理部は、前記操作装置それぞれの姿勢が前記第１の範囲外となる第４の範囲に含まれている状態からゲームを開始し、その後、前記成功判定部において何れの操作装置による前記指示操作が最も早く成功したと判定されたかを判定するゲーム処理を行う、請求項１または２に記載のゲームシステム。
【請求項４】
前記第２の範囲および前記第４の範囲に含まれる前記操作装置の姿勢は、前記第１の範囲に含まれる前記操作装置の姿勢より当該操作装置の前方向が俯角となる、請求項３に記載のゲームシステム。
【請求項５】
前記ゲームシステムは、前記複数の操作装置と、前記複数の操作装置がそれぞれ着脱可能な本体装置とを含み、
前記複数の操作装置は、それぞれ前記本体装置との間で無線通信可能であり、
前記本体装置は、表示部を含み、
前記ゲーム処理部は、前記ゲーム処理結果を前記表示部に表示する表示制御部を含む、請求項３または４に記載のゲームシステム。
【請求項６】
前記操作装置は、ジャイロセンサを備え、
前記姿勢算出部は、少なくとも前記ジャイロセンサによって検出された角速度に基づいて、前記操作装置の姿勢を算出する、請求項１乃至５の何れか１つに記載のゲームシステム。
【請求項７】
前記操作装置は、加速度センサを備え、
前記姿勢算出部は、少なくとも前記加速度センサによって検出された加速度に基づいて、前記操作装置の姿勢を算出する、請求項１乃至６の何れか１つに記載のゲームシステム。
【請求項８】
少なくとも１つの操作装置を用いた操作に基づいたゲーム処理を行うゲーム装置であって、
前記操作装置の姿勢を算出する姿勢算出部と、
前記操作装置を用いた所定の指示操作があったタイミングにおいて前記姿勢が所定の第１の範囲に含まれる場合に、当該指示操作が成功であると判定をする成功判定部と、
前記成功判定部の判定結果に基づいてゲーム処理を行うゲーム処理部とを備え、
前記成功判定部は、前記指示操作のあったタイミングにおいて前記姿勢が前記第１の範囲外となる第２の範囲内に含まれる場合において、さらに当該タイミングから所定時間以内に、前記姿勢が前記第１の範囲または前記第１の範囲の少なくとも一部を含む第３の範囲に含まれ、かつ前記操作装置が静止状態または前記操作装置の動きが所定量以下になった場合に、さらに当該指示操作が成功であると判定する、ゲーム装置。
【請求項９】
少なくとも１つの操作装置を用いた操作に基づいたゲーム処理を行うゲーム装置に含まれるコンピュータで実行されるゲームプログラムであって、
前記コンピュータを、
前記操作装置の姿勢を算出する姿勢算出手段と、
前記操作装置を用いた所定の指示操作があったタイミングにおいて前記姿勢が所定の第１の範囲に含まれる場合に、当該指示操作が成功であると判定をする成功判定手段と、
前記成功判定手段の判定結果に基づいてゲーム処理を行うゲーム処理手段として機能させ、
前記成功判定手段は、前記指示操作のあったタイミングにおいて前記姿勢が前記第１の範囲外となる第２の範囲内に含まれる場合において、さらに当該タイミングから所定時間以内に、前記姿勢が前記第１の範囲または前記第１の範囲の少なくとも一部を含む第３の範囲に含まれ、かつ前記操作装置が静止状態または前記操作装置の動きが所定量以下になった場合に、さらに当該指示操作が成功であると判定する、ゲームプログラム。
【請求項１０】
前記成功判定手段は、前記操作装置に備えられた所定のボタンが操作されることを前記指示操作とする、請求項９に記載のゲームプログラム。
【請求項１１】
前記姿勢算出手段は、複数の前記操作装置の姿勢をそれぞれ算出し、
前記ゲーム処理手段は、前記操作装置それぞれの姿勢が前記第１の範囲外となる第４の範囲に含まれている状態からゲームを開始し、その後、前記成功判定手段において何れの操作装置による前記指示操作が最も早く成功したと判定されたかを判定するゲーム処理を行う、請求項９または１０に記載のゲームプログラム。
【請求項１２】
前記第２の範囲および前記第４の範囲に含まれる前記操作装置の姿勢は、前記第１の範囲に含まれる前記操作装置の姿勢より当該操作装置の前方向が俯角となる、請求項１１に記載のゲームプログラム。
【請求項１３】
少なくとも１つの操作装置を用いた操作を判定する処理を行う操作判定方法であって、
前記操作装置の姿勢を算出する姿勢算出ステップと、
前記操作装置を用いた所定の指示操作があったタイミングにおいて前記姿勢が所定の第１の範囲に含まれる場合に、当該指示操作が成功であると判定をする成功判定ステップとを含み、
前記成功判定ステップでは、前記指示操作のあったタイミングにおいて前記姿勢が前記第１の範囲外となる第２の範囲内に含まれる場合において、さらに当該タイミングから所定時間以内に、前記姿勢が前記第１の範囲または前記第１の範囲の少なくとも一部を含む第３の範囲に含まれ、かつ前記操作装置が静止状態または前記操作装置の動きが所定量以下になった場合に、さらに当該指示操作が成功であると判定される、操作判定方法。
【請求項１４】
少なくとも１つの操作装置を用いた操作に基づいた情報処理を行う情報処理装置であって、
前記操作装置を動かすことによって制御されるパラメータを算出するパラメータ算出部と、
前記操作装置を用いた所定の指示操作があったタイミングにおいて前記パラメータが所定の第１の範囲に含まれる場合に、当該第１の範囲に基づいた情報処理を行う情報処理部とを備え、
前記情報処理部は、前記指示操作のあったタイミングにおいて前記パラメータが前記第１の範囲外となる第２の範囲内に含まれる場合において、さらに当該タイミングから所定時間以内に、前記パラメータが前記第１の範囲または前記第１の範囲の少なくとも一部を含む第３の範囲に含まれ、かつ前記操作装置が静止状態または前記操作装置の動きが所定量以下になった場合に、さらに前記第１の範囲に基づいた情報処理を行う、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、少なくとも操作装置の姿勢および／または動きを用いて操作可能なゲームシステム、ゲーム装置、ゲームプログラム、操作判定方法、および情報処理装置に関する。
【背景技術】
【０００２】
従来、入力装置の向きに応じたゲーム操作を行うゲーム装置がある（例えば、特許文献１参照）。例えば、上記特許文献１に開示されたゲーム装置は、ジャイロセンサを内蔵する入力装置から角速度データと所定のボタン操作の有無を示す操作データとを取得する。そして、取得した角速度データを用いて入力装置の姿勢を算出するとともに、所定のボタン操作が行われた場合に算出された姿勢に応じた方向に仮想オブジェクト（例えば、矢）を発射するゲームが行われる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２３９９８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１で開示されたゲームのように、入力装置の姿勢によって方向を決めてボタン操作で仮想オブジェクトを発射する操作では、素早く発射方向を決めて発射するような操作が要求されるとボタンを早く押し過ぎてしまうことがある。
【０００５】
それ故、本発明の目的は、操作装置の姿勢および／または動きと組み合わせて行う指示操作を容易にすることが可能なゲームシステム、ゲーム装置、ゲームプログラム、操作判定方法、および情報処理装置を提供することである。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明は例えば以下のような構成を採用し得る。なお、特許請求の範囲の記載を解釈する際に、特許請求の範囲の記載によってのみその範囲が解釈されるべきであることが理解され、特許請求の範囲の記載と本欄の記載とが矛盾する場合には、特許請求の範囲の記載が優先する。
【０００７】
本発明のゲームシステムの一構成例は、姿勢算出部、成功判定部、およびゲーム処理部を備える。姿勢算出部は、少なくとも１つの操作装置の姿勢を算出する。成功判定部は、操作装置を用いた所定の指示操作があったタイミングにおいて姿勢が所定の第１の範囲に含まれる場合に、当該指示操作が成功であると判定をする。ゲーム処理部は、成功判定部の判定結果に基づいてゲーム処理を行う。成功判定部は、指示操作のあったタイミングにおいて姿勢が第１の範囲外となる第２の範囲内に含まれる場合において、さらに当該タイミングから所定時間以内に、姿勢が第１の範囲または第１の範囲の少なくとも一部を含む第３の範囲に含まれ、かつ操作装置が静止状態または操作装置の動きが所定量以下になった場合に、さらに当該指示操作が成功であると判定する。
【０００８】
上記によれば、操作装置の姿勢と組み合わせて行う指示操作を容易にすることが可能となる。
【０００９】
また、上記成功判定部は、操作装置に備えられた所定のボタンが操作されることを指示操作としてもよい。
【００１０】
上記によれば、操作タイミングが意図せずに早くなることが考えられるボタン操作による指示操作であっても、当該指示操作を容易にすることが可能となる。
【００１１】
また、上記姿勢算出部は、複数の操作装置の姿勢をそれぞれ算出してもよい。上記ゲーム処理部は、操作装置それぞれの姿勢が第１の範囲外となる第４の範囲に含まれている状態からゲームを開始し、その後、成功判定部において何れの操作装置による指示操作が最も早く成功したと判定されたかを判定するゲーム処理を行ってもよい。
【００１２】
上記によれば、複数のユーザが指示操作の早さを競い合うゲームにおける操作を容易にすることができる。
【００１３】
また、上記第２の範囲および第４の範囲に含まれる操作装置の姿勢は、第１の範囲に含まれる操作装置の姿勢より当該操作装置の前方向が俯角となってもよい。
【００１４】
上記によれば、操作装置を振り上げた後の所定の姿勢で指示操作をするようなゲームにおける操作を容易にすることができる。
【００１５】
また、上記ゲームシステムは、上記複数の操作装置と本体装置とを含んでもよい。本体装置は、複数の操作装置がそれぞれ着脱可能である。上記複数の操作装置は、それぞれ本体装置との間で無線通信可能でもよい。上記本体装置は、表示部を含んでもよい。上記ゲーム処理部は、表示制御部を含んでもよい。表示制御部は、ゲーム処理結果を表示部に表示する。
【００１６】
上記によれば、複数の操作装置が本体装置とそれぞれ無線通信して、当該本体装置にゲーム画像を表示するゲームシステムにおいて、複数の操作装置の姿勢とそれぞれ組み合わせて行う指示操作を容易にすることが可能となる。
【００１７】
また、上記操作装置は、ジャイロセンサを備えてもよい。上記姿勢算出部は、少なくともジャイロセンサによって検出された角速度に基づいて、操作装置の姿勢を算出してもよい。
【００１８】
上記によれば、操作装置に生じる角速度によって、容易に当該操作装置の姿勢を算出することができる。
【００１９】
また、上記操作装置は、加速度センサを備えてもよい。上記姿勢算出部は、少なくとも加速度センサによって検出された加速度に基づいて、操作装置の姿勢を算出してもよい。
【００２０】
上記によれば、操作装置に生じる加速度によって、容易に当該操作装置の姿勢を算出することができる。
【００２１】
また、本発明は、ゲーム装置およびゲームプログラムの形態で実施されてもよい。
【００２２】
また、本発明の操作判定方法の一構成例は、少なくとも１つの操作装置を用いた操作を判定する処理を行う。操作判定方法は、姿勢算出ステップおよび成功判定ステップを含む。姿勢算出ステップは、操作装置の姿勢を算出する。成功判定ステップは、操作装置を用いた所定の指示操作があったタイミングにおいて姿勢が所定の第１の範囲に含まれる場合に、当該指示操作が成功であると判定をする。成功判定ステップでは、指示操作のあったタイミングにおいて姿勢が第１の範囲外となる第２の範囲内に含まれる場合において、さらに当該タイミングから所定時間以内に、姿勢が第１の範囲または第１の範囲の少なくとも一部を含む第３の範囲に含まれ、かつ操作装置が静止状態または操作装置の動きが所定量以下になった場合に、さらに当該指示操作が成功であると判定される。
【００２３】
上記によれば、操作装置の姿勢と組み合わせて行う指示操作を容易にすることが可能となる。
【００２４】
また、本発明の情報処理装置の一構成例は、少なくとも１つの操作装置を用いた操作に基づいた情報処理を行う。情報処理装置は、パラメータ算出部および情報処理部を備える。パラメータ算出部は、操作装置を動かすことによって制御されるパラメータを算出する。情報処理部は、操作装置を用いた所定の指示操作があったタイミングにおいてパラメータが所定の第１の範囲に含まれる場合に、当該第１の範囲に基づいた情報処理を行う。情報処理部は、指示操作のあったタイミングにおいてパラメータが第１の範囲外となる第２の範囲内に含まれる場合において、さらに当該タイミングから所定時間以内に、パラメータが第１の範囲または第１の範囲の少なくとも一部を含む第３の範囲に含まれ、かつ操作装置が静止状態または操作装置の動きが所定量以下になった場合に、さらに第１の範囲に基づいた情報処理を行う。
【００２５】
上記によれば、操作装置の動きによって制御されるパラメータと組み合わせて行う指示操作を容易にすることが可能となる。
【発明の効果】
【００２６】
本発明によれば、操作装置の姿勢および／または動きと組み合わせて行う指示操作を容易にすることが可能となる。
【図面の簡単な説明】
【００２７】
【図１】本実施形態における情報処理システム１の一例において、本体装置２に左コントローラ３および右コントローラ４を装着した状態を示す図
【図２】本体装置２から左コントローラ３および右コントローラ４をそれぞれ外した状態の一例を示す図
【図３】本体装置２の一例を示す六面図
【図４】左コントローラ３の一例を示す六面図
【図５】右コントローラ４の一例を示す六面図
【図６】本体装置２の内部構成の一例を示すブロック図
【図７】情報処理システム１の内部構成の一例を示すブロック図
【図８】離脱状態において、ユーザＡが左コントローラ３を把持して情報処理システム１を利用する様子の一例を示す図
【図９】離脱状態において、ユーザＢが右コントローラ４を把持して情報処理システム１を利用する様子の一例を示す図
【図１０】ユーザＡが左コントローラ３を動かし、ユーザＢが右コントローラ４を動かすことによって、２人のユーザがプレイするゲームにおいて表示されるゲーム画像例を示す図
【図１１】ユーザＡが左コントローラ３を動かし、ユーザＢが右コントローラ４を動かすことによって、２人のユーザがプレイするゲームにおいて表示されるゲーム画像例を示す図
【図１２】ユーザＡが左コントローラ３を動かし、ユーザＢが右コントローラ４を動かすことによって、２人のユーザがプレイするゲームにおいて表示されるゲーム画像例を示す図
【図１３】早撃ちゲームにおいて射撃有効判定される第１の例を示すグラフ
【図１４】早撃ちゲームにおいて射撃有効判定される第２の例を示すグラフ
【図１５】本実施形態において本体装置２のＤＲＡＭ８５に設定されるデータ領域の一例を示す図
【図１６】情報処理システム１で実行されるゲーム処理の一例を示すフローチャート
【図１７】図１６におけるステップＳ１５１において行われる射撃操作判定処理の詳細の一例を示すサブルーチン
【図１８】図１６におけるステップＳ１５１において行われる射撃操作判定処理の詳細の一例を示すサブルーチン
【発明を実施するための形態】
【００２８】
以下、本実施形態の一例に係るゲームシステム、ゲーム装置、ゲームプログラム、操作判定方法、および情報処理装置について説明する。本実施形態におけるゲームシステムの一例となる情報処理システム１は、本体装置（情報処理装置；本実施形態ではゲーム装置本体として機能する）２と左コントローラ３および右コントローラ４とによって構成される。本実施形態における情報処理システム１は、本体装置２に対して左コントローラ３および右コントローラ４が着脱可能であり、左コントローラ３および右コントローラ４をそれぞれ本体装置２に装着して一体化された装置として利用でき、また、本体装置２と左コントローラ３および右コントローラ４とを別体として利用することもできる（図２参照）。また、情報処理システム１は、本体装置２に画像を表示する態様での利用と、テレビ等の他の表示装置（例えば、据置型モニタ）に画像を表示させる態様での利用が可能である。前者の態様において、情報処理システム１は、携帯型装置（例えば、携帯ゲーム機）として利用することができる。また、後者の態様において、情報処理システム１は、据置型装置（例えば、据置型ゲーム機）として利用することができる。
【００２９】
図１は、本実施形態における情報処理システム１の一例において、本体装置２に左コントローラ３および右コントローラ４を装着した状態を示す図である。図１に示すように、情報処理システム１は、本体装置２と、左コントローラ３と、右コントローラ４とを含む。左コントローラ３および右コントローラ４は、それぞれ本体装置２に装着されて一体化されている。本体装置２は、情報処理システム１における各種の処理（例えば、ゲーム処理）を実行する装置である。本体装置２は、ディスプレイ１２を備える。左コントローラ３および右コントローラ４は、ユーザが入力を行うための操作部を備える装置である。
【００３０】
図２は、本体装置２から左コントローラ３および右コントローラ４をそれぞれ外した状態の一例を示す図である。図１および図２に示すように、左コントローラ３および右コントローラ４は、本体装置２に着脱可能である。左コントローラ３は、本体装置２の左側面（図１に示すｘ軸正方向側の側面）に装着することができ、本体装置２の左側面に沿って図１に示すｙ軸方向にスライドさせることによって本体装置２に着脱可能となっている。また、右コントローラ４は、本体装置２の右側面（図１に示すｘ軸負方向側の側面）に装着することができ、本体装置２の右側面に沿って図１に示すｙ軸方向にスライドさせることによって本体装置２に着脱可能となっている。なお、以下において、左コントローラ３および右コントローラ４の総称として「コントローラ」と記載することがある。なお、本実施形態において、１人のユーザが操作する「操作装置」は、１つのコントローラ（例えば、左コントローラ３および右コントローラ４の一方）でも複数のコントローラ（例えば、左コントローラ３および右コントローラ４の両方、またはさらに他のコントローラを含んでもよい）でもよく、当該「操作装置」は、１以上のコントローラによって構成可能となる。以下、本体装置２と左コントローラ３および右コントローラ４との具体的な構成の一例について説明する。
【００３１】
図３は、本体装置２の一例を示す六面図である。図３に示すように、本体装置２は、略板状のハウジング１１を備える。本実施形態において、ハウジング１１の主面（換言すれば、表側の面、すなわち、ディスプレイ１２が設けられる面）は、大略的には矩形形状である。本実施形態においては、ハウジング１１は、横長の形状であるものとする。つまり、本実施形態においては、ハウジング１１の主面の長手方向（すなわち、図１に示すｘ軸方向）を横方向（左右方向とも言う）と呼び、当該主面の短手方向（すなわち、図１に示すｙ軸方向）を縦方向（上下方向とも言う）と呼び、主面に垂直な方向（すなわち、図１に示すｚ軸方向）を奥行方向（前後方向とも言う）と呼ぶこととする。本体装置２は、本体装置２が横長となる向きで利用されることが可能である。また、本体装置２が縦長となる向きで利用されることも可能である。その場合には、ハウジング１１を縦長の形状であるものと見なしてもよい。
【００３２】
なお、ハウジング１１の形状および大きさは、任意である。一例として、ハウジング１１は、携帯可能な大きさであってよい。また、本体装置２単体または本体装置２に左コントローラ３および右コントローラ４が装着された一体型装置は、携帯型装置となってもよい。また、本体装置２または一体型装置が手持ち型の装置となってもよい。また、本体装置２または一体型装置が可搬型装置となってもよい。
【００３３】
図３に示すように、本体装置２は、ハウジング１１の主面に設けられるディスプレイ１２を備える。ディスプレイ１２は、本体装置２が取得または生成した画像（静止画であってもよいし、動画であってもよい）を表示する。本実施形態においては、ディスプレイ１２は、液晶表示装置（ＬＣＤ）とする。ただし、ディスプレイ１２は任意の種類の表示装置であってよい。
【００３４】
また、本体装置２は、ディスプレイ１２の画面上にタッチパネル１３を備える。本実施形態においては、タッチパネル１３は、マルチタッチ入力が可能な方式（例えば、静電容量方式）のものである。ただし、タッチパネル１３は、任意の種類のものであってよく、例えば、シングルタッチ入力が可能な方式（例えば、抵抗膜方式）のものであってもよい。
【００３５】
本体装置２は、ハウジング１１の内部においてスピーカ（すなわち、図６に示すスピーカ８８）を備えている。図３に示すように、ハウジング１１の主面には、スピーカ孔１１ａおよび１１ｂが形成される。そして、スピーカ８８の出力音は、これらのスピーカ孔１１ａおよび１１ｂからそれぞれ出力される。
【００３６】
図３に示すように、本体装置２は、ハウジング１１の左側面において左レール部材１５を備える。左レール部材１５は、左コントローラ３を本体装置２に着脱可能に装着するための部材である。左レール部材１５は、ハウジング１１の左側面において、上下方向に沿って延びるように設けられる。左レール部材１５は、左コントローラ３のスライダ（すなわち、図４に示すスライダ４０）と係合可能な形状を有しており、左レール部材１５とスライダ４０とによってスライド機構が形成される。このスライド機構によって、左コントローラ３を本体装置２に対してスライド可能かつ着脱可能に装着することができる。
【００３７】
また、本体装置２は左側端子１７を備える。左側端子１７は、本体装置２が左コントローラ３と有線通信を行うための端子である。左側端子１７は、左コントローラ３が本体装置２に装着された場合に、左コントローラ３の端子（図５に示す端子４２）と接触する位置に設けられる。左側端子１７の具体的な位置は任意である。本実施形態においては、図３に示すように、左側端子１７は、左レール部材１５の底面に設けられる。また、本実施形態においては、左側端子１７は、左レール部材１５の底面における下側の端部付近に設けられる。
【００３８】
図３に示すように、ハウジング１１の右側面には、左側面に設けられる構成と同様の構成が設けられる。すなわち、本体装置２は、ハウジング１１の右側面において右レール部材１９を備える。右レール部材１９は、ハウジング１１の右側面において、上下方向に沿って延びるように設けられる。右レール部材１９は、右コントローラ４のスライダ（すなわち、図５に示すスライダ６２）と係合可能な形状を有しており、右レール部材１９とスライダ６２とによってスライド機構が形成される。このスライド機構によって、右コントローラ４を本体装置２に対してスライド可能かつ着脱可能に装着することができる。
【００３９】
また、本体装置２は右側端子２１を備える。右側端子２１は、本体装置２が右コントローラ４と有線通信を行うための端子である。右側端子２１は、右コントローラ４が本体装置２に装着された場合に、右コントローラ４の端子（図５に示す端子６４）と接触する位置に設けられる。右側端子２１の具体的な位置は任意である。本実施形態においては、図３に示すように、右側端子２１は、右レール部材１９の底面に設けられる。また、本実施形態においては、右側端子２１は、右レール部材１９の底面における下側の端部付近に設けられる。
【００４０】
図３に示すように、本体装置２は、第１スロット２３を備える。第１スロット２３は、ハウジング１１の上側面に設けられる。第１スロット２３は、第１の種類の記憶媒体を装着可能な形状を有する。第１の種類の記憶媒体は、例えば、情報処理システム１およびそれと同種の情報処理装置に専用の記憶媒体（例えば、専用メモリカード）である。第１の種類の記憶媒体は、例えば、本体装置２で利用されるデータ（例えば、アプリケーションのセーブデータ等）、および／または、本体装置２で実行されるプログラム（例えば、アプリケーションのプログラム等）を記憶するために用いられる。また、本体装置２は、電源ボタン２８を備える。図３に示すように、電源ボタン２８は、ハウジング１１の上側面に設けられる。電源ボタン２８は、本体装置２の電源のオン／オフを切り替えるためのボタンである。
【００４１】
本体装置２は、音声入出力端子（具体的には、イヤホンジャック）２５を備える。すなわち、本体装置２は、音声入出力端子２５にマイクやイヤホンを装着することができる。図３に示すように、音声入出力端子２５は、ハウジング１１の上側面に設けられる。
【００４２】
本体装置２は、音量ボタン２６ａおよび２６ｂを備える。図３に示すように、音量ボタン２６ａおよび２６ｂは、ハウジング１１の上側面に設けられる。音量ボタン２６ａおよび２６ｂは、本体装置２によって出力される音量を調整する指示を行うためのボタンである。すなわち、音量ボタン２６ａは、音量を下げる指示を行うためのボタンであり、音量ボタン２６ｂは、音量を上げる指示を行うためのボタンである。
【００４３】
また、ハウジング１１には、排気孔１１ｃが形成される。図３に示すように、排気孔１１ｃは、ハウジング１１の上側面に形成される。排気孔１１ｃは、ハウジング１１の内部で発生した熱をハウジング１１の外部へ排気する（換言すれば、放出する）ために形成される。すなわち、排気孔１１ｃは、排熱孔であるとも言える。
【００４４】
本体装置２は、下側端子２７を備える。下側端子２７は、本体装置２がクレードルと通信を行うための端子である。図３に示すように、下側端子２７は、ハウジング１１の下側面に設けられる。本体装置２がクレードルに装着された場合、下側端子２７は、クレードルの端子に接続される。本実施形態において、下側端子２７は、ＵＳＢコネクタ（より具体的には、メス側コネクタ）である。クレードルは、左コントローラ３および右コントローラ４を本体装置２から取り外した状態で本体装置２のみを載置することが可能である。また、さらに他の例として、クレードルは、左コントローラ３および右コントローラ４が本体装置２に装着された一体型装置を載置することも可能である。そして、クレードルは、本体装置２とは別体の外部表示装置の一例である据置型モニタ（例えば、据置型テレビ）と通信可能である（有線通信であってもよいし、無線通信であってもよい）。上記一体型装置または本体装置２単体をクレードルに載置した場合、情報処理システムは、本体装置２が取得または生成した画像を据置型モニタに表示することができる。また、本実施形態においては、クレードルは、載置された上記一体型装置または本体装置２単体を充電する機能を有する。また、クレードルは、ハブ装置（具体的には、ＵＳＢハブ）の機能を有する。
【００４５】
また、本体装置２は第２スロット２４を備える。本実施形態においては、第２スロット２４は、ハウジング１１の下側面に設けられる。ただし、他の実施形態においては、第２スロット２４は、第１スロット２３とは同じ面に設けられてもよい。第２スロット２４は、第１の種類とは異なる第２の種類の記憶媒体を装着可能な形状を有する。第２の種類の記憶媒体は、例えば、汎用の記憶媒体であってもよい。例えば、第２の種類の記憶媒体は、ＳＤカードであってもよい。第２の種類の記憶媒体は、例えば、第１の種類の記憶媒体と同様、本体装置２で利用されるデータ（例えば、アプリケーションのセーブデータ等）、および／または、本体装置２で実行されるプログラム（例えば、アプリケーションのプログラム等）を記憶するために用いられる。
【００４６】
また、ハウジング１１には、吸気孔１１ｄが形成される。図３に示すように、吸気孔１１ｄは、ハウジング１１の下側面に形成される。吸気孔１１ｄは、ハウジング１１の外部の空気をハウジング１１の内部へ吸気する（換言すれば、導入する）ために形成される。本実施形態においては、排気孔１１ｃが形成される面の反対側の面に吸気孔１１ｄが形成されるので、ハウジング１１内部の放熱を効率良く行うことができる。
【００４７】
以上に説明した、ハウジング１１に設けられる各構成要素（具体的には、ボタン、スロット、端子等）の形状、数、および設置位置は、任意である。例えば、他の実施形態においては、電源ボタン２８および各スロット２３および２４のうちのいくつかは、ハウジング１１の他の側面あるいは背面に設けられてもよい。また、他の実施形態においては、本体装置２は、上記各構成要素のうちいくつかを備えていない構成であってもよい。
【００４８】
図４は、左コントローラ３の一例を示す六面図である。図４に示すように、左コントローラ３は、ハウジング３１を備える。本実施形態において、ハウジング３１は、略板状である。また、ハウジング３１の主面（換言すれば、表側の面、すなわち、図１に示すｚ軸負方向側の面）は、大略的には矩形形状である。また、本実施形態においては、ハウジング３１は、縦長の形状、すなわち、上下方向（すなわち、図１に示すｙ軸方向）に長い形状である。左コントローラ３は、本体装置２から外された状態において、縦長となる向きで把持されることも可能である。ハウジング３１は、縦長となる向きで把持される場合に片手、特に左手で把持可能な形状および大きさをしている。また、左コントローラ３は、横長となる向きで把持されることも可能である。左コントローラ３が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。なお、ハウジング３１の形状は任意であり、他の実施形態においては、ハウジング３１は略板状でなくてもよい。また、ハウジング３１は、矩形形状でなくてもよく、例えば半円状の形状等であってもよい。また、ハウジング３１は、縦長の形状でなくてもよい。
【００４９】
ハウジング３１の上下方向の長さは、本体装置２のハウジング１１の上下方向の長さとほぼ同じである。また、ハウジング３１の厚さ（すなわち、前後方向の長さ、換言すれば、図１に示すｚ軸方向の長さ）は、本体装置２のハウジング１１の厚さとほぼ同じである。したがって、左コントローラ３が本体装置２に装着された場合（図１参照）には、ユーザは、本体装置２と左コントローラ３とを一体の装置のような感覚で把持することができる。
【００５０】
また、図４に示すように、ハウジング３１の主面は、左側の角部分が、右側の角部分よりも丸みを帯びた形状になっている。すなわち、ハウジング３１の上側面と左側面との接続部分、および、ハウジング３１の下側面と左側面との接続部分は、その上側面と右側面との接続部分、および、その下側面と右側面との接続部分に比べて、丸くなっている（換言すれば、面取りにおけるＲが大きい）。したがって、左コントローラ３が本体装置２に装着された場合（図１参照）には、一体型装置となった情報処理システム１の左側が丸みを帯びた形状となるので、ユーザにとって持ちやすい形状となる。
【００５１】
左コントローラ３は、アナログスティック３２を備える。図４に示すように、アナログスティック３２が、ハウジング３１の主面に設けられる。アナログスティック３２は、方向を入力することが可能な方向入力部の一例である。アナログスティック３２は、ハウジング３１の主面に平行な全方向（すなわち、上下左右および斜め方向を含む、３６０°の方向）に傾倒可能なスティック部材を有する。ユーザは、スティック部材を傾倒することによって傾倒方向に応じた方向の入力（および、傾倒した角度に応じた大きさの入力）が可能である。なお、方向入力部は、十字キーまたはスライドスティック等であってもよい。また、本実施形態においては、スティック部材を（ハウジング３１に垂直な方向に）押下する入力が可能である。すなわち、アナログスティック３２は、スティック部材の傾倒方向および傾倒量に応じた方向および大きさの入力と、スティック部材に対する押下入力とを行うことが可能な入力部である。
【００５２】
左コントローラ３は、４つの操作ボタン３３〜３６（具体的には、右方向ボタン３３、下方向ボタン３４、上方向ボタン３５、および、左方向ボタン３６）を備える。図４に示すように、これら４つの操作ボタン３３〜３６は、ハウジング３１の主面においてアナログスティック３２の下側に設けられる。なお、本実施形態においては、左コントローラ３の主面に設けられる操作ボタンを４つとするが、操作ボタンの数は任意である。これらの操作ボタン３３〜３６は、本体装置２で実行される各種プログラム（例えば、ＯＳプログラムやアプリケーションプログラム）に応じた指示を行うために用いられる。なお、本実施形態においては、各操作ボタン３３〜３６は方向入力を行うために用いられてもよいことから、各操作ボタン３３〜３６を、右方向ボタン３３、下方向ボタン３４、上方向ボタン３５、および、左方向ボタン３６と呼んでいる。ただし、各操作ボタン３３〜３６は、方向入力以外の指示を行うために用いられてもよい。
【００５３】
また、左コントローラ３は−（マイナス）ボタン４７を備える。図４に示すように、−ボタン４７は、ハウジング３１の主面に設けられ、より具体的には、主面における右上領域に設けられる。−ボタン４７は、本体装置２で実行される各種プログラム（例えば、ＯＳプログラムやアプリケーションプログラム）に応じた指示を行うために用いられる。−ボタン４７は、例えば、ゲームアプリケーションにおいてセレクトボタン（例えば、選択項目の切り替えに用いられるボタン）として用いられる。
【００５４】
左コントローラ３の主面に設けられる各操作部（具体的には、アナログスティック３２および上記各ボタン３３〜３６、４７）は、左コントローラ３が本体装置２に装着される場合、一体型装置となった情報処理システム１を把持するユーザの例えば左手の親指によって操作される。また、左コントローラ３が本体装置２から外された状態において両手で横向きに把持されて使用される場合、上記各操作部は、左コントローラ３を把持するユーザの例えば左右の手の親指で操作される。具体的には、この場合、アナログスティック３２はユーザの左手の親指で操作され、各操作ボタン３３〜３６はユーザの右手の親指で操作される。
【００５５】
左コントローラ３は、第１Ｌボタン３８を備える。また、左コントローラ３は、ＺＬボタン３９を備える。これらの操作ボタン３８および３９は、上記操作ボタン３３〜３６と同様、本体装置２で実行される各種プログラムに応じた指示を行うために用いられる。図４に示すように、第１Ｌボタン３８は、ハウジング３１の側面のうちの左上部分に設けられる。また、ＺＬボタン３９は、ハウジング３１の側面から裏面にかけての左上部分（厳密には、ハウジング３１を表側から見たときの左上部分）に設けられる。つまり、ＺＬボタン３９は、第１Ｌボタン３８の後側（図１に示すｚ軸正方向側）に設けられる。本実施形態においては、ハウジング３１の左上部分が丸みを帯びた形状であるので、第１Ｌボタン３８およびＺＬボタン３９は、ハウジング３１の当該左上部分の丸みに応じた丸みを帯びた形状を有する。左コントローラ３が本体装置２に装着される場合、第１Ｌボタン３８およびＺＬボタン３９は、一体型装置となった情報処理システム１における左上部分に配置されることになる。
【００５６】
左コントローラ３は、上述のスライダ４０を備えている。図４に示すように、スライダ４０は、ハウジング３１の右側面において、上下方向に延びるように設けられる。スライダ４０は、本体装置２の左レール部材１５（より具体的には、左レール部材１５の溝）と係合可能な形状を有している。したがって、左レール部材１５に係合したスライダ４０は、スライド方向（換言すれば左レール部材１５が延びる方向）に垂直な向きに関しては固定されて外れないようになっている。
【００５７】
また、左コントローラ３は、左コントローラ３が本体装置２と有線通信を行うための端子４２を備える。端子４２は、左コントローラ３が本体装置２に装着された場合に、本体装置２の左側端子１７（図３）と接触する位置に設けられる。端子４２の具体的な位置は任意である。本実施形態においては、図４に示すように、端子４２は、スライダ４０の装着面に設けられる。また、本実施形態においては、端子４２は、スライダ４０の装着面における下側の端部付近に設けられる。
【００５８】
図５は、右コントローラ４の一例を示す六面図である。図５に示すように、右コントローラ４は、ハウジング５１を備える。本実施形態において、ハウジング５１は、略板状である。また、ハウジング５１の主面（換言すれば、表側の面、すなわち、図１に示すｚ軸負方向側の面）は、大略的には矩形形状である。また、本実施形態においては、ハウジング５１は、縦長の形状、すなわち、上下方向に長い形状である。右コントローラ４は、本体装置２から外された状態において、縦長となる向きで把持されることも可能である。ハウジング５１は、縦長となる向きで把持される場合に片手、特に左手で把持可能な形状および大きさをしている。また、右コントローラ４は、横長となる向きで把持されることも可能である。右コントローラ４が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【００５９】
右コントローラ４のハウジング５１は、左コントローラ３のハウジング３１と同様、その上下方向の長さは、本体装置２のハウジング１１の上下方向の長さとほぼ同じであり、その厚さは、本体装置２のハウジング１１の厚さとほぼ同じである。したがって、右コントローラ４が本体装置２に装着された場合（図１参照）には、ユーザは、本体装置２と右コントローラ４とを一体の装置のような感覚で把持することができる。
【００６０】
また、図５に示すように、ハウジング５１の主面は、右側の角部分が、左側の角部分よりも丸みを帯びた形状になっている。すなわち、ハウジング５１の上側面と右側面との接続部分、および、ハウジング５１の下側面と右側面との接続部分は、その上側面と左側面との接続部分、および、その下側面と左側面との接続部分に比べて、丸くなっている（換言すれば、面取りにおけるＲが大きい）。したがって、右コントローラ４が本体装置２に装着された場合（図１参照）には、一体型装置となった情報処理システム１の右側が丸みを帯びた形状となるので、ユーザにとって持ちやすい形状となる。
【００６１】
右コントローラ４は、左コントローラ３と同様、方向入力部としてアナログスティック５２を備える。本実施形態においては、アナログスティック５２は、左コントローラ３のアナログスティック３２と同じ構成である。また、右コントローラ４は、左コントローラ３と同様、４つの操作ボタン５３〜５６（具体的には、Ａボタン５３、Ｂボタン５４、Ｘボタン５５、および、Ｙボタン５６）を備える。本実施形態においては、これら４つの操作ボタン５３〜５６は、左コントローラ３の４つの操作ボタン３３〜３６と同じ機構である。図５に示すように、これらアナログスティック５２および各操作ボタン５３〜５６は、ハウジング５１の主面に設けられる。なお、本実施形態においては、右コントローラ４の主面に設けられる操作ボタンを４つとするが、操作ボタンの数は任意である。
【００６２】
ここで、本実施形態においては、右コントローラ４における２種類の操作部（アナログスティックおよび操作ボタン）の位置関係は、左コントローラ３におけるこれら２種類の操作部の位置関係とは反対になっている。すなわち、右コントローラ４においては、アナログスティック５２は各操作ボタン５３〜５６の上方に配置されるのに対して、左コントローラ３においては、アナログスティック３２は各操作ボタン３３〜３６の下方に配置される。このような配置によって、左コントローラ３および右コントローラ４を本体装置２から外して使用する場合に似たような操作感覚で使用することができる。
【００６３】
また、右コントローラ４は、＋（プラス）ボタン５７を備える。図５に示すように、＋ボタン５７は、ハウジング５１の主面に設けられ、より具体的には、主面の左上領域に設けられる。＋ボタン５７は、他の操作ボタン５３〜５６と同様、本体装置２で実行される各種プログラム（例えば、ＯＳプログラムやアプリケーションプログラム）に応じた指示を行うために用いられる。＋ボタン５７は、例えば、ゲームアプリケーションにおいてスタートボタン（例えば、ゲーム開始の指示に用いられるボタン）として用いられる。
【００６４】
右コントローラ４は、ホームボタン５８を備える。図５に示すように、ホームボタン５８は、ハウジング５１の主面に設けられ、より具体的には、主面の左下領域に設けられる。ホームボタン５８は、本体装置２のディスプレイ１２に所定のメニュー画面を表示させるためのボタンである。メニュー画面は、例えば、本体装置２において実行可能な１以上のアプリケーションのうちからユーザが指定したアプリケーションを起動することが可能な画面である。メニュー画面は、例えば、本体装置２の起動時に表示されてもよい。本実施形態においては、本体装置２においてアプリケーションが実行されている状態（すなわち、当該アプリケーションの画像がディスプレイ１２に表示されている状態）において、ホームボタン５８が押下されると、所定の操作画面がディスプレイ１２に表示されてもよい（このとき、操作画面に代えてメニュー画面が表示されてもよい）。なお、操作画面は、例えば、アプリケーションを終了してメニュー画面をディスプレイ１２に表示させる指示、および、アプリケーションを再開する指示等を行うことが可能な画面である。
【００６５】
右コントローラ４の主面に設けられる各操作部（具体的には、アナログスティック５２および上記各ボタン５３〜５８）は、右コントローラ４が本体装置２に装着される場合、情報処理システム１を把持するユーザの例えば右手の親指によって操作される。また、右コントローラ４が本体装置２から外された状態において両手で横向きに把持されて使用される場合、上記各操作部は、右コントローラ４を把持するユーザの例えば左右の手の親指で操作される。具体的には、この場合、アナログスティック５２はユーザの左手の親指で操作され、各操作ボタン５３〜５６はユーザの右手の親指で操作される。
【００６６】
右コントローラ４は、第１Ｒボタン６０を備える。また、右コントローラ４は、ＺＲボタン６１を備える。図５に示すように、第１Ｒボタン６０は、ハウジング５１の側面のうちの右上部分に設けられる。また、ＺＲボタン６１は、ハウジング５１の側面から裏面にかけての右上部分（厳密には、ハウジング５１を表側から見たときの右上部分）に設けられる。つまり、ＺＲボタン６１は、第１Ｒボタン６０の後側（図１に示すｚ軸正方向側）に設けられる。本実施形態においては、ハウジング５１の右上部分が丸みを帯びた形状であるので、第１Ｒボタン６０およびＺＲボタン６１は、ハウジング５１の当該右上部分の丸みに応じた丸みを帯びた形状を有する。右コントローラ４が本体装置２に装着される場合、第１Ｒボタン６０およびＺＲボタン６１は、情報処理システム１における右上部分に配置されることになる。
【００６７】
右コントローラ４は、左コントローラ３と同様のスライダ機構を備えている。すなわち、右コントローラ４は、上述のスライダ６２を備えている。図５に示すように、スライダ６２は、ハウジング５１の左側面において、上下方向に延びるように設けられる。スライダ６２は、本体装置２の右レール部材１９（より具体的には、右レール部材１９の溝）と係合可能な形状を有している。したがって、右レール部材１９に係合したスライダ６２は、スライド方向（換言すれば右レール部材１９が延びる方向）に垂直な向きに関しては固定されて外れないようになっている。
【００６８】
また、右コントローラ４は、右コントローラ４が本体装置２と有線通信を行うための端子６４を備える。端子６４は、右コントローラ４が本体装置２に装着された場合に、本体装置２の右側端子２１（図３）と接触する位置に設けられる。端子６４の具体的な位置は任意である。本実施形態においては、図５に示すように、端子６４は、スライダ６２の装着面に設けられる。本実施形態においては、端子６４は、スライダ６２の装着面における下側の端部付近に設けられる。
【００６９】
なお、上記左コントローラ３および右コントローラ４において、ハウジング３１または５１に設けられる各構成要素（具体的には、スライダ、スティック、およびボタン等）の形状、数、および、設置位置は任意である。例えば、他の実施形態においては、左コントローラ３および右コントローラ４は、アナログスティックとは別の種類の方向入力部を備えていてもよい。また、スライダ４０または６２は、本体装置２に設けられるレール部材１５または１９の位置に応じた位置に配置されてよく、例えば、ハウジング３１または５１の主面または裏面に配置されてもよい。また、他の実施形態においては、左コントローラ３および右コントローラ４は、上記各構成要素のうちいくつかを備えていない構成であってもよい。
【００７０】
図６は、本体装置２の内部構成の一例を示すブロック図である。本体装置２は、図３に示す構成の他、図６に示す各構成要素８１〜９８を備える。これらの構成要素８１〜９８のいくつかは、電子部品として電子回路基板上に実装されてハウジング１１内に収納されてもよい。
【００７１】
本体装置２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）８１を備える。ＣＰＵ８１は、本体装置２において実行される各種の情報処理を実行する情報処理部である。ＣＰＵ８１は、記憶部（具体的には、フラッシュメモリ８４等の内部記憶媒体、あるいは、各スロット２３および２４に装着される外部記憶媒体等）に記憶される情報処理プログラム（例えば、ゲームプログラム）を実行することによって、各種の情報処理を実行する。
【００７２】
本体装置２は、自身に内蔵される内部記憶媒体の一例として、フラッシュメモリ８４およびＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８５を備える。フラッシュメモリ８４およびＤＲＡＭ８５は、ＣＰＵ８１に接続される。フラッシュメモリ８４は、主に、本体装置２に保存される各種のデータ（プログラムであってもよい）を記憶するために用いられるメモリである。ＤＲＡＭ８５は、情報処理において用いられる各種のデータを一時的に記憶するために用いられるメモリである。
【００７３】
本体装置２は、第１スロットインターフェース（以下、「Ｉ／Ｆ」と略記する。）９１を備える。また、本体装置２は、第２スロットＩ／Ｆ９２を備える。第１スロットＩ／Ｆ９１および第２スロットＩ／Ｆ９２は、ＣＰＵ８１に接続される。第１スロットＩ／Ｆ９１は、第１スロット２３に接続され、第１スロット２３に装着された第１の種類の記憶媒体（例えば、ＳＤカード）に対するデータの読み出しおよび書き込みを、ＣＰＵ８１の指示に応じて行う。第２スロットＩ／Ｆ９２は、第２スロット２４に接続され、第２スロット２４に装着された第２の種類の記憶媒体（例えば、専用メモリカード）に対するデータの読み出しおよび書き込みを、ＣＰＵ８１の指示に応じて行う。
【００７４】
ＣＰＵ８１は、フラッシュメモリ８４およびＤＲＡＭ８５、ならびに上記各記憶媒体との間でデータを適宜読み出したり書き込んだりして、上記の情報処理を実行する。
【００７５】
本体装置２は、ネットワーク通信部８２を備える。ネットワーク通信部８２は、ＣＰＵ８１に接続される。ネットワーク通信部８２は、ネットワークを介して外部の装置と通信（具体的には、無線通信）を行う。本実施形態においては、ネットワーク通信部８２は、第１の通信態様としてＷｉ−Ｆｉの規格に準拠した方式により、無線ＬＡＮに接続して外部装置と通信を行う。また、ネットワーク通信部８２は、第２の通信態様として所定の通信方式（例えば、独自プロトコルによる通信や、赤外線通信）により、同種の他の本体装置２との間で無線通信を行う。なお、上記第２の通信態様による無線通信は、閉ざされたローカルネットワークエリア内に配置された他の本体装置２との間で無線通信可能であり、複数の本体装置２の間で直接通信することによってデータが送受信される、いわゆる「ローカル通信」を可能とする機能を実現する。
【００７６】
本体装置２は、コントローラ通信部８３を備える。コントローラ通信部８３は、ＣＰＵ８１に接続される。コントローラ通信部８３は、左コントローラ３および／または右コントローラ４と無線通信を行う。本体装置２と左コントローラ３および右コントローラ４との通信方式は任意であるが、本実施形態においては、コントローラ通信部８３は、左コントローラ３との間および右コントローラ４との間で、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に従った通信を行う。
【００７７】
ＣＰＵ８１は、上述の左側端子１７、右側端子２１、および、下側端子２７に接続される。ＣＰＵ８１は、左コントローラ３と有線通信を行う場合、左側端子１７を介して左コントローラ３へデータを送信するとともに、左側端子１７を介して左コントローラ３から操作データを受信する。また、ＣＰＵ８１は、右コントローラ４と有線通信を行う場合、右側端子２１を介して右コントローラ４へデータを送信するとともに、右側端子２１を介して右コントローラ４から操作データを受信する。また、ＣＰＵ８１は、クレードルと通信を行う場合、下側端子２７を介してクレードルへデータを送信する。このように、本実施形態においては、本体装置２は、左コントローラ３および右コントローラ４との間で、それぞれ有線通信と無線通信との両方を行うことができる。また、左コントローラ３および右コントローラ４が本体装置２に装着された一体型装置または本体装置２単体がクレードルに装着された場合、本体装置２は、クレードルを介してデータ（例えば、画像データや音声データ）を据置型モニタ等に出力することができる。
【００７８】
ここで、本体装置２は、複数の左コントローラ３と同時に（換言すれば、並行して）通信を行うことができる。また、本体装置２は、複数の右コントローラ４と同時に（換言すれば、並行して）通信を行うことができる。したがって、ユーザは、複数の左コントローラ３および複数の右コントローラ４を用いて本体装置２に対する入力を行うことができる。
【００７９】
本体装置２は、タッチパネル１３の制御を行う回路であるタッチパネルコントローラ８６を備える。タッチパネルコントローラ８６は、タッチパネル１３とＣＰＵ８１との間に接続される。タッチパネルコントローラ８６は、タッチパネル１３からの信号に基づいて、例えばタッチ入力が行われた位置を示すデータを生成して、ＣＰＵ８１へ出力する。
【００８０】
また、ディスプレイ１２は、ＣＰＵ８１に接続される。ＣＰＵ８１は、（例えば、上記の情報処理の実行によって）生成した画像および／または外部から取得した画像をディスプレイ１２に表示する。
【００８１】
本体装置２は、コーデック回路８７およびスピーカ（具体的には、左スピーカおよび右スピーカ）８８を備える。コーデック回路８７は、スピーカ８８および音声入出力端子２５に接続されるとともに、ＣＰＵ８１に接続される。コーデック回路８７は、スピーカ８８および音声入出力端子２５に対する音声データの入出力を制御する回路である。すなわち、コーデック回路８７は、ＣＰＵ８１から音声データを受け取った場合、当該音声データに対してＤ／Ａ変換を行って得られる音声信号をスピーカ８８または音声入出力端子２５へ出力する。これによって、スピーカ８８あるいは音声入出力端子２５に接続された音声出力部（例えば、イヤホン）から音が出力される。また、コーデック回路８７は、音声入出力端子２５から音声信号を受け取った場合、音声信号に対してＡ／Ｄ変換を行い、所定の形式の音声データをＣＰＵ８１へ出力する。また、音量ボタン２６は、ＣＰＵ８１に接続される。ＣＰＵ８１は、音量ボタン２６に対する入力に基づいて、スピーカ８８または上記音声出力部から出力される音量を制御する。
【００８２】
本体装置２は、電力制御部９７およびバッテリ９８を備える。電力制御部９７は、バッテリ９８およびＣＰＵ８１に接続される。また、図示しないが、電力制御部９７は、本体装置２の各部（具体的には、バッテリ９８の電力の給電を受ける各部、左側端子１７、および右側端子２１）に接続される。電力制御部９７は、ＣＰＵ８１からの指令に基づいて、バッテリ９８から上記各部への電力供給を制御する。また、電力制御部９７は、電源ボタン２８に接続される。電力制御部９７は、電源ボタン２８に対する入力に基づいて、上記各部への電力供給を制御する。すなわち、電力制御部９７は、電源ボタン２８に対して電源をオフする操作が行われた場合、上記各部の全部または一部への電力供給を停止し、電源ボタン２８に対して電源をオンする操作が行われた場合、電力制御部９７は、上記各部の全部または一部への電力供給を開始する。また、電力制御部９７は、電源ボタン２８に対する入力を示す情報（具体的には、電源ボタン２８が押下されているか否かを示す情報）をＣＰＵ８１へ出力する。
【００８３】
また、バッテリ９８は、下側端子２７に接続される。外部の充電装置（例えば、クレードル）が下側端子２７に接続され、下側端子２７を介して本体装置２に電力が供給される場合、供給された電力がバッテリ９８に充電される。
【００８４】
また、本体装置２は、本体装置２内部の熱を放熱するための冷却ファン９６を備える。冷却ファン９６が動作することによって、ハウジング１１の外部の空気が吸気孔１１ｄから導入されるとともに、ハウジング１１内部の空気が排気孔１１ｃから放出されることで、ハウジング１１内部の熱が放出される。冷却ファン９６は、ＣＰＵ８１に接続され、冷却ファン９６の動作はＣＰＵ８１によって制御される。また、本体装置２は、本体装置２内の温度を検出する温度センサ９５を備える。温度センサ９５は、ＣＰＵ８１に接続され、温度センサ９５の検出結果がＣＰＵ８１へ出力される。ＣＰＵ８１は、温度センサ９５の検出結果に基づいて、冷却ファン９６の動作を制御する。
【００８５】
図７は、情報処理システム１の内部構成の一例を示すブロック図である。なお、情報処理システム１のうちの本体装置２に関する内部構成の詳細については、図６で示しているため図７では省略している。
【００８６】
左コントローラ３は、本体装置２との間で通信を行う通信制御部１０１を備える。図７に示すように、通信制御部１０１は、端子４２を含む各構成要素に接続される。本実施形態においては、通信制御部１０１は、端子４２を介した有線通信と、端子４２を介さない無線通信との両方で本体装置２と通信を行うことが可能である。通信制御部１０１は、左コントローラ３が本体装置２に対して行う通信方法を制御する。すなわち、左コントローラ３が本体装置２に装着されている場合、通信制御部１０１は、端子４２を介して本体装置２と通信を行う。また、左コントローラ３が本体装置２から外されている場合、通信制御部１０１は、本体装置２（具体的には、コントローラ通信部８３）との間で無線通信を行う。コントローラ通信部８３と通信制御部１０１との間の無線通信は、例えばＢｌｕｅｔｏｏｔｈ（登録商標）の規格に従って行われる。
【００８７】
また、左コントローラ３は、例えばフラッシュメモリ等のメモリ１０２を備える。通信制御部１０１は、例えばマイコン（マイクロプロセッサとも言う）で構成され、メモリ１０２に記憶されるファームウェアを実行することによって各種の処理を実行する。
【００８８】
左コントローラ３は、各ボタン１０３（具体的には、ボタン３３〜３９，４３，および４４）を備える。また、左コントローラ３は、アナログスティック（図７では「スティック」と記載する）３２を備える。各ボタン１０３およびアナログスティック３２は、自身に対して行われた操作に関する情報を、適宜のタイミングで繰り返し通信制御部１０１へ出力する。
【００８９】
左コントローラ３は、加速度センサ１０４を備える。本実施形態においては、加速度センサ１０４は、所定の３軸（例えば、図８に示すＸＹＺ軸）方向に沿った直線加速度の大きさを検出する。なお、加速度センサ１０４は、１軸方向あるいは２軸方向の加速度を検出するものであってもよい。また、左コントローラ３は、角速度センサ１０５を備える。本実施形態においては、角速度センサ１０５は、所定の３軸（例えば、図８に示すＸＹＺ軸）回りの角速度を検出する。なお、角速度センサ１０５は、１軸回りあるいは２軸回りの角速度を検出するものであってもよい。加速度センサ１０４および角速度センサ１０５は、それぞれ通信制御部１０１に接続される。そして、加速度センサ１０４および角速度センサ１０５の検出結果は、適宜のタイミングで繰り返し通信制御部１０１へ出力される。
【００９０】
通信制御部１０１は、各入力部（具体的には、各ボタン１０３、アナログスティック３２、各センサ１０４および１０５）から、入力に関する情報（具体的には、操作に関する情報、または、センサによる検出結果）を取得する。通信制御部１０１は、取得した情報（または取得した情報に所定の加工を行った情報）を含む操作データを本体装置２へ送信する。なお、操作データは、所定時間に１回の割合で繰り返し送信される。なお、入力に関する情報が本体装置２へ送信される間隔は、各入力部について同じであってもよいし、同じでなくてもよい。
【００９１】
上記操作データが本体装置２へ送信されることによって、本体装置２は、左コントローラ３に対して行われた入力を得ることができる。すなわち、本体装置２は、各ボタン１０３およびアナログスティック３２に対する操作を、操作データに基づいて判別することができる。また、本体装置２は、左コントローラ３の動きおよび／または姿勢に関する情報を、操作データ（具体的には、加速度センサ１０４および角速度センサ１０５の検出結果）に基づいて算出することができる。
【００９２】
左コントローラ３は、振動によってユーザに通知を行うための振動子１０７を備える。本実施形態においては、振動子１０７は、本体装置２からの指令によって制御される。すなわち、通信制御部１０１は、本体装置２からの上記指令を受け取ると、当該指令に従って振動子１０７を駆動させる。ここで、左コントローラ３は、増幅器１０６を備える。通信制御部１０１は、上記指令を受け取ると、指令に応じた制御信号を増幅器１０６へ出力する。増幅器１０６は、通信制御部１０１からの制御信号を増幅して、振動子１０７を駆動させるための駆動信号を生成して振動子１０７へ与える。これによって振動子１０７が動作する。
【００９３】
左コントローラ３は、電力供給部１０８を備える。本実施形態において、電力供給部１０８は、バッテリおよび電力制御回路を有する。図示しないが、電力制御回路は、バッテリに接続されるとともに、左コントローラ３の各部（具体的には、バッテリの電力の給電を受ける各部）に接続される。電力制御回路は、バッテリから上記各部への電力供給を制御する。また、バッテリは、端子４２に接続される。本実施形態においては、左コントローラ３が本体装置２に装着される場合、所定の条件下で、バッテリは、端子４２を介して本体装置２からの給電によって充電される。
【００９４】
図７に示すように、右コントローラ４は、本体装置２との間で通信を行う通信制御部１１１を備える。また、右コントローラ４は、通信制御部１１１に接続されるメモリ１１２を備える。通信制御部１１１は、端子６４を含む各構成要素に接続される。通信制御部１１１およびメモリ１１２は、左コントローラ３の通信制御部１０１およびメモリ１０２と同様の機能を有する。したがって、通信制御部１１１は、端子６４を介した有線通信と、端子６４を介さない無線通信（具体的には、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に従った通信）との両方で本体装置２と通信を行うことが可能であり、右コントローラ４が本体装置２に対して行う通信方法を制御する。
【００９５】
右コントローラ４は、左コントローラ３の各入力部と同様の各入力部（具体的には、各ボタン１１３、アナログスティック５２、加速度センサ１１４、および、角速度センサ１１５）を備える。これらの各入力部については、左コントローラ３の各入力部と同様の機能を有し、同様に動作する。
【００９６】
また、右コントローラ４は、振動子１１７および増幅器１１６を備える。振動子１１７および増幅器１１６は、左コントローラ３の振動子１０７および増幅器１０６と同様に動作する。すなわち、通信制御部１１１は、本体装置２からの指令に従って、増幅器１１６を用いて振動子１１７を動作させる。
【００９７】
右コントローラ４は、電力供給部１１８を備える。電力供給部１１８は、左コントローラ３の電力供給部１０８と同様の機能を有し、同様に動作する。すなわち、電力供給部１１８は、バッテリから給電を受ける各部への電力供給を制御する。また、右コントローラ４が本体装置２に装着される場合、所定の条件下で、バッテリは、端子６４を介して本体装置２からの給電によって充電される。
【００９８】
右コントローラ４は、処理部１２１を備える。処理部１２１は、通信制御部１１１に接続されるとともに、ＮＦＣ通信部１２２に接続される。処理部１２１は、本体装置２からの指令に応じて、ＮＦＣ通信部１２２に対する管理処理を実行する。例えば、処理部１２１は、本体装置２からの指令に応じてＮＦＣ通信部１２２の動作を制御する。また、処理部１２１は、ＮＦＣ通信部１２２の起動を制御したり、通信相手（例えば、ＮＦＣタグ）に対するＮＦＣ通信部１２２の動作（具体的には、読み出しおよび書き込み等）を制御したりする。また、処理部１２１は、通信制御部１１１を介して上記通信相手に送信されるべき情報を本体装置２から受信してＮＦＣ通信部１２２へ渡したり、上記通信相手から受信された情報をＮＦＣ通信部１２２から取得して通信制御部１１１を介して本体装置２へ送信したりする。また、処理部１２１は、本体装置２からの指令に応じて、赤外撮像部１２３に対する管理処理を実行する。例えば、処理部１２１は、赤外撮像部１２３に撮像動作を行わせたり、撮像結果に基づく情報（撮像画像の情報、あるいは、当該情報から算出される情報等）を取得して、通信制御部１１１を介して本体装置２へ送信したりする。
【００９９】
以上に説明したように、本実施形態における情報処理システム１については左コントローラ３および右コントローラ４が本体装置２から着脱可能である。以下、左コントローラ３および右コントローラ４を本体装置２から取り外した状態で、本体装置２（ディスプレイ１２およびスピーカ８８）に画像（および音声）を出力する利用態様における情報処理システムを用いて説明する。
【０１００】
上述のように、本実施形態においては、左コントローラ３および右コントローラ４を本体装置２から外した状態（「離脱状態」と呼ぶ）で情報処理システム１を利用することも可能である。離脱状態で情報処理システム１を利用して同じアプリケーション（例えば、ゲームアプリケーション）に対する複数人プレイを行う場合の態様としては、複数のユーザのうちの１人が左コントローラ３を用い、他のユーザが右コントローラ４を用いる態様が考えられる。なお、当該利用態様によって３人以上のユーザが同じアプリケーションを用いて操作する場合は、左コントローラ３および／または右コントローラ４を複数用意して、それぞれのユーザが左コントローラ３または右コントローラ４を用いる態様が考えられる。
【０１０１】
図８は、離脱状態において、ユーザＡが左コントローラ３を把持して情報処理システム１を利用する様子の一例を示す図である。図９は、離脱状態において、ユーザＢが右コントローラ４を把持して情報処理システム１を利用する様子の一例を示す図である。図８および図９に示すように、離脱状態において、ユーザＡが左コントローラ３を右手で把持し、ユーザＢが右コントローラ４を右手で把持して、それぞれ操作を行う。そして、ユーザＡおよびユーザＢは、それぞれ同じ本体装置２（ディスプレイ１２）に表示された画像を見たり、本体装置２（スピーカ８８）から出力される音声を聴いたりすることができる。
【０１０２】
例えば、本実施例では、図８に示すように、ユーザＡは、縦長の略板状である左コントローラ３の長手方向の上方向（図１に示す上方向（ｙ軸正方向））が前方になるとともに、本体装置２に装着された際に当該本体装置２と接する側面（スライダ４０が設けられている側面）が右方向に向き、かつ、左コントローラ３の主面（アナログスティック３２等が設けられる面）が上方向に向くように左コントローラ３を例えば右手で把持する。このように左コントローラ３を把持して人差し指等をＺＬボタン３９が押下可能な位置に添え、ユーザＡが左コントローラ３を把持している手（例えば、右手）を前方に突き出すように動かした場合、左コントローラ３の長手方向で前方を指し示しながらＺＬボタン３９を押下する操作が可能となる。
【０１０３】
また、本実施例では、図９に示すように、ユーザＢは、縦長の略板状である右コントローラ４の長手方向の上方向（図１に示す上方向（ｙ軸正方向））が前方になるとともに、本体装置２に装着された際に当該本体装置２と接する側面（スライダ６２が設けられている側面）が左方向に向き、かつ、右コントローラ４の主面（アナログスティック５２等が設けられる面）が上方向に向くように右コントローラ４を例えば右手で把持する。このように右コントローラ４を把持して人差し指等をＺＲボタン６１が押下可能な位置に添え、ユーザＢが右コントローラ４を把持している手（例えば、右手）を前方に突き出すように動かした場合、右コントローラ４の長手方向で前方を指し示しながらＺＲボタン６１を押下する操作が可能となる。このように左コントローラ３や右コントローラ４を把持した状態で左コントローラ３や右コントローラ４を上下左右前後に動かしたり、左コントローラ３や右コントローラ４を回転させたり、左コントローラ３や右コントローラ４を振り動かしたりすることによって、左コントローラ３や右コントローラ４の動きや姿勢に応じてゲームプレイが行われる。
【０１０４】
なお、左コントローラ３に生じる加速度や角速度の方向をわかりやすくするために、上記把持状態における右方向（丸みを帯びた側面から本体装置２と接する側面に向かう方向であり、図１に示すｘ軸負方向）をＸ軸正方向とし、上記把持状態における上方向（背面から主面に向かう方向であり、図１に示すｚ軸負方向）をＹ軸正方向とし、上記把持状態における前方向（長手方向の上に向かう方向であり、図１に示すｙ軸正方向）をＺ軸正方向とする。そして、左コントローラ３の加速度センサ１０４は、上記ＸＹＺ軸方向の加速度をそれぞれ検出可能であり、角速度センサ１０５は、上記ＸＹＺ軸方向周りの角速度をそれぞれ検出可能であるとする。また、右コントローラ４に生じる加速度や角速度の方向をわかりやすくするために、上記把持状態における右方向（本体装置２と接する側面から丸みを帯びた側面に向かう方向であり、図１に示すｘ軸負方向）をＸ軸正方向とし、上記把持状態における上方向（背面から主面に向かう方向であり、図１に示すｚ軸負方向）をＹ軸正方向とし、上記把持状態における前方向（長手方向の上に向かう方向であり、図１に示すｙ軸正方向）をＺ軸正方向とする。そして、右コントローラ４の加速度センサ１１４は、上記ＸＹＺ軸方向の加速度をそれぞれ検出可能であり、角速度センサ１１５は、上記ＸＹＺ軸方向周りの角速度をそれぞれ検出可能であるとする。
【０１０５】
次に、図１０〜図１２は、ユーザＡが左コントローラ３を動かし、ユーザＢが右コントローラ４を動かすことによって、２人のユーザがプレイするゲームにおいて表示されるゲーム画像例を示す図である。図１０〜図１２に示すように、本ゲーム例では、ユーザＡとユーザＢとがそれぞれ左コントローラ３および右コントローラ４を拳銃のように取り扱って早撃ちを競うゲームの画像が本体装置２（ディスプレイ１２）に表示される。そして、左コントローラ３を操作するユーザＡと右コントローラ４を操作するユーザＢとは、お互いに左コントローラ３本体および右コントローラ４本体をそれぞれ振り動かしながら操作ボタン（例えば、ＺＬボタン３９およびＺＲボタン６１）を押下操作することによって、拳銃を早撃ちするゲーム（早撃ちゲーム）をプレイすることができる。
【０１０６】
例えば、図１０に示すように、上記早撃ちゲームを開始するにあたって、早撃ちゲームを開始する準備をするための操作指示「コントローラを下に向けて準備してください」が本体装置２に表示されるとともに、本体装置２から当該操作指示を示す音声が出力される。これに応じて、ユーザＡおよびユーザＢは、それぞれが把持している左コントローラ３および右コントローラ４を下に向ける（すなわち、Ｚ軸正方向が実空間の下方向となるように左コントローラ３および右コントローラ４を把持する）ことによって、早撃ちゲームを開始するための準備が整う。具体的には、本実施形態では、実空間における重力方向を−９０°、水平方向を０°とした場合に、左コントローラ３および右コントローラ４のＺ軸正方向の角度がそれぞれ−３５°未満となる準備判定範囲内にある場合に、左コントローラ３および右コントローラ４を用いた早撃ちゲームを開始するための準備が整ったと判定される。
【０１０７】
次に、図１１に示すように、上記早撃ちゲームを開始する旨を報知するための操作指示「撃て！」が本体装置２に表示されるとともに、本体装置２から当該操作指示を示す音声が出力される。これに応じて、ユーザＡおよびユーザＢは、それぞれが把持している左コントローラ３および右コントローラ４を相手に向かって振り上げる（すなわち、Ｚ軸正方向が実空間の相手ユーザ方向に向くように左コントローラ３および右コントローラ４を水平方向に持ち上げる）とともに、左コントローラ３および右コントローラ４を用いて相手ユーザを指し示したタイミングでそれぞれ所定の操作（例えば、ＺＬボタン３９およびＺＲボタン６１を押下する操作）を行うことによって、相手ユーザを先に撃つことを競い合う。具体的には、本実施形態では、実空間における重力方向を−９０°、水平方向を０°とした場合に、左コントローラ３および右コントローラ４のＺ軸正方向の角度がそれぞれ−３０°以上から３０°未満の間となる当たり判定範囲内にあり、かつ、当該当たり判定範囲内にある状態でＺＬボタン３９およびＺＲボタン６１が押下操作された場合に、相手ユーザに当たる有効な射撃が行われたと判定（射撃成功判定）される。一方、左コントローラ３および右コントローラ４のＺ軸正方向の角度が当たり判定範囲外にある状態でＺＬボタン３９およびＺＲボタン６１が押下操作された場合や、有効時間内にＺＬボタン３９およびＺＲボタン６１が押下操作されなかった場合は、相手ユーザに当たらなかった無効な射撃が行われたと判定（射撃無効判定）される。
【０１０８】
そして、図１２に示すように、上記早撃ちゲームの結果が本体装置２に表示されるとともに、どちらのユーザが勝者なのかを示す音声が本体装置２から出力される。ここで、上記早撃ちゲームは、上記射撃有効判定された射撃が行われたタイミング、すなわちＺＬボタン３９およびＺＲボタン６１を押下操作されたタイミングが早いユーザが勝者となる。例えば、図１２の例では、上記早撃ちゲームを開始する旨を報知したタイミングから有効な射撃が行われたタイミングまでの射撃時間が０．２５４秒であったユーザＡが、当該射撃時間が０．２８４秒であったユーザＢより素早く有効な射撃操作を行ったため、ユーザＡが勝者であることが示されている。また、図１２の画面例では、上記射撃時間とともに、それぞれのユーザが有効な射撃操作を行った際の左コントローラ３および右コントローラ４の姿勢が表示される。具体的には、左コントローラ３および右コントローラ４のＺ軸正方向を拳銃オブジェクトの射撃方向として、左コントローラ３および右コントローラ４がそれぞれ有効な射撃が行われた際の実空間の鉛直方向を基準とした角度を示すように当該拳銃オブジェクトをそれぞれ表示する。
【０１０９】
次に、図１３および図１４を参照して、上記早撃ちゲームにおける射撃判定方法についての詳細を説明する。なお、図１３は、上記早撃ちゲームにおいて射撃有効判定される第１の例を示すグラフである。図１４は、上記早撃ちゲームにおいて射撃有効判定される第２の例を示すグラフである。
【０１１０】
図１３におけるグラフでは、横軸が時間、縦軸がＺ軸正方向角度（実空間の水平方向を０°および重力方向を−９０°とした場合のＺ軸正方向の方向を示す角度）を示している。そして、左コントローラ３または右コントローラ４（以下の説明では、単にコントローラと記載する）の姿勢を判定するために、準備判定範囲および当たり判定範囲が設定される。一例として、準備判定範囲は、上記Ｚ軸正方向角度に対して−３５°未満に設定される。また、一例として、当たり判定範囲は、上記Ｚ軸正方向角度に対して−３０°以上から３０°未満の間に設定される。
【０１１１】
上述したように、コントローラの姿勢が上記準備判定範囲内にある場合に、上記早撃ちゲームを開始する準備が完了したとされる。そして、コントローラのＺ軸正方向角度が準備判定範囲内にある姿勢から、早撃ちゲームが開始される（図１３における「スタート」点）。
【０１１２】
上記早撃ちゲームが開始されると、ユーザが相手ユーザを指し示すように把持しているコントローラを振り上げるため、Ｚ軸正方向角度は、上記「スタート」点から実空間の水平方向となる０°に向かって上昇する。そして、ユーザは、相手ユーザを指し示すような角度になると射撃操作（ＺＬボタン３９またはＺＲボタン６１を押下する操作）を行う（図１３における「押下操作」点）。この射撃操作が行われた時点のコントローラのＺ軸正方向角度が当たり判定範囲内にあれば、当該射撃操作は、有効な射撃となる。そして、上記「スタート」点から上記「押下操作」点までの経過時間が上記有効な射撃が行われた際の発射時間となる。また、上記「押下操作」点におけるＺ軸正方向角度が射撃を行った際の射撃方向（当たり角度）となる。このように、上記早撃ちゲームにおいて射撃有効判定される第１の例では、コントローラの姿勢が当たり判定範囲外に設定されている準備判定範囲内に含まれている状態からゲームが開始され、所定の射撃操作があったタイミングにおいてコントローラの姿勢が当たり判定範囲内に含まれる場合に、当該射撃が成功したと判定される。
【０１１３】
図１４におけるグラフでも、横軸が時間、縦軸がＺ軸正方向角度を示している。そして、上記早撃ちゲームにおいて射撃有効判定される第２の例においても、上記第１の例と同様の準備判定範囲および当たり判定範囲が設定される。また、当該第２の例においても、コントローラの姿勢が上記準備判定範囲内にある場合に、上記早撃ちゲームを開始する準備が完了したとされる。そして、コントローラのＺ軸正方向角度が準備判定範囲内にある姿勢から、早撃ちゲームが開始される（図１４における「スタート」点）。
【０１１４】
上記早撃ちゲームが開始されると、ユーザが相手ユーザを指し示すように把持しているコントローラを振り上げるため、Ｚ軸正方向角度は、上記「スタート」点から実空間の水平方向となる０°に向かって上昇する。ここで、コントローラが上記当たり判定範囲内の姿勢になる前にユーザが射撃操作をしてしまうと、上記第１の例における射撃判定では射撃が失敗した（はずれた）と判定される。しかしながら、当該第２の例における射撃判定では、コントローラが上記当たり判定範囲外の姿勢において射撃操作された場合であっても有効な射撃であると判定されることがあり得る。例えば、本実施例では、上記当たり判定範囲に含まれるコントローラの姿勢より当該コントローラのＺ軸正方向が実空間において下向きとなった姿勢で射撃操作された場合であっても、当該射撃操作後にコントローラが静止状態またはコントローラの動きが所定量以下になった場合の当該コントローラの姿勢が上記当たり判定範囲に含まれる場合は、当該射撃操作が成功したと判定される。なお、上記下向きとなった姿勢で射撃操作された場合とは、本実施例では、上記準備判定範囲に含まれるコントローラの姿勢で射撃操作された場合や上記当たり判定範囲と上記準備判定範囲との間の範囲に含まれるコントローラの姿勢で射撃操作された場合が考えられる。
【０１１５】
例えば、図１４に示すように、上記当たり判定範囲に含まれるコントローラの姿勢より当該コントローラのＺ軸正方向が実空間において下向きとなった姿勢（上記当たり判定範囲の俯角側範囲に含まれるコントローラの姿勢）でユーザが射撃操作を行った場合を考える（図１４における「押下操作」点）。この場合、当該射撃操作からコントローラの静止状態を確認する静止確認期間（例えば、射撃操作後２０フレームが経過するまでの期間）が設定される。そして、当該静止確認期間中にコントローラが静止状態または静止状態に準ずる状態（例えば、コントローラの動きが所定量以下になる状態であり、Ｚ軸正方向の動きが±１０°以内となる状態）となり、当該状態におけるコントローラの姿勢が上記当たり判定範囲内であれば、上記射撃操作も有効な射撃と判定される（図１４における「静止期間」点）。そして、上記早撃ちゲームにおいて射撃有効判定される第２の例においても、上記「スタート」点から上記「押下操作」点までの経過時間が有効な射撃と判定された際の発射時間となる。このように、上記早撃ちゲームにおいて射撃有効判定される第２の例では、コントローラの姿勢が当たり判定範囲外に設定されている準備判定範囲内に含まれている状態からゲームが開始され、所定の射撃操作があったタイミングにおいてコントローラの姿勢が当たり判定範囲外である場合に、当該射撃操作タイミングから開始される静止確認期間内にコントローラの姿勢が当たり判定範囲内に含まれ、かつコントローラが静止状態またはコントローラの動きが所定量以下になった場合に当該射撃も成功したと判定される。
【０１１６】
ここで、上記早撃ちゲームにおいて射撃有効判定される第２の例において、上記「押下操作」点におけるＺ軸正方向角度を有効判定された射撃方向（当たり角度）としてユーザに提示すると、違和感のある射撃結果となることが考えられる。したがって、本実施例では、上記第２の例における射撃方向（当たり角度）は、上記当たり判定範囲内の数値からランダムで選択する。なお、上記第２の例では、上記「静止期間」点における代表点のＺ軸正方向角度（例えば、静止期間内におけるＺ軸正方向角度の平均値、最小値、最大値等）を有効判定された射撃方向（当たり角度）としてもよい。
【０１１７】
また、上記早撃ちゲームにおいて射撃有効判定される第２の例において、コントローラが静止状態またはコントローラの動きが所定量以下になった状態の姿勢を判定する静止姿勢判定範囲は、上記当たり判定範囲から変化させてもよい。一例として、静止姿勢判定範囲は、上記当たり判定範囲に含まれる当該当たり判定範囲より狭い範囲（例えば、上記Ｚ軸正方向角度に対して−２０°以上から２０°未満の範囲）に設定してもよい。他の例として、静止姿勢判定範囲は、上記当たり判定範囲の一部と上記当たり判定範囲の外部とを含む範囲に設定してもよい。他の例における静止姿勢判定範囲は、上記当たり判定範囲と同じ大きさに設定してもよいし、上記当たり判定範囲より狭い範囲に設定してもよいし、上記当たり判定範囲より広い範囲に設定してもよい。
【０１１８】
次に、図１５〜図１８を参照して、本実施形態において情報処理システム１で実行される具体的な処理の一例について説明する。図１５は、本実施形態において本体装置２のＤＲＡＭ８５に設定されるデータ領域の一例を示す図である。なお、ＤＲＡＭ８５には、図１５に示すデータの他、他の処理で用いられるデータも記憶されるが、詳細な説明を省略する。
【０１１９】
ＤＲＡＭ８５のプログラム記憶領域には、情報処理システム１で実行される各種プログラムＰａが記憶される。本実施形態においては、各種プログラムＰａは、上述した左コントローラ３および右コントローラ４との間で無線通信するための通信プログラムや、左コントローラ３および／または右コントローラ４から取得したデータに基づいた情報処理（例えば、ゲーム処理）を行うためのアプリケーションプログラム等が記憶される。なお、各種プログラムＰａは、フラッシュメモリ８４に予め記憶されていてもよいし、情報処理システム１に着脱可能な記憶媒体（例えば、第１スロット２３に装着された第１の種類の記憶媒体、第２スロット２４に装着された第２の種類の記憶媒体）から取得されてＤＲＡＭ８５に記憶されてもよいし、インターネット等のネットワークを介して他の装置から取得されてＤＲＡＭ８５に記憶されてもよい。ＣＰＵ８１は、ＤＲＡＭ８５に記憶された各種プログラムＰａを実行する。
【０１２０】
また、ＤＲＡＭ８５のデータ記憶領域には、情報処理システム１において実行される通信処理や情報処理等の処理において用いられる各種のデータが記憶される。本実施形態においては、ＤＲＡＭ８５には、操作データＤａ、姿勢データＤｂ、角速度データＤｃ、加速度データＤｄ、左コントローラデータＤｅ、右コントローラデータＤｆ、および画像データＤｇ等が記憶される。
【０１２１】
操作データＤａは、左コントローラ３および右コントローラ４からそれぞれ適宜取得した操作データである。上述したように、左コントローラ３および右コントローラ４からそれぞれ送信される操作データには、各入力部（具体的には、各ボタン、アナログスティック、各センサ）からの入力に関する情報（具体的には、操作に関する情報、または、センサによる検出結果）が含まれている。本実施形態では、無線通信によって左コントローラ３および右コントローラ４からそれぞれ所定周期で操作データが送信されており、当該受信した操作データを用いて操作データＤａが適宜更新される。なお、操作データＤａの更新周期は、後述する情報処理システム１で実行される処理の周期である１フレーム毎に更新されてもよいし、上記無線通信によって操作データが送信される周期毎に更新されてもよい。
【０１２２】
姿勢データＤｂは、実空間における重力加速度の方向を基準とした左コントローラ３および右コントローラ４それぞれの姿勢を示すデータである。例えば、姿勢データＤｂは、左コントローラ３および右コントローラ４それぞれに作用している重力加速度の方向を示すデータや、当該重力加速度方向に対するＸＹＺ軸方向を示すデータ等を含んでいる。
【０１２３】
角速度データＤｃは、左コントローラ３および右コントローラ４それぞれに生じている角速度を示すデータである。例えば、角速度データＤｃは、左コントローラ３および右コントローラ４それぞれに生じているＸＹＺ軸周りの角速度を示すデータ等を含んでいる。
【０１２４】
加速度データＤｄは、左コントローラ３および右コントローラ４それぞれに生じている加速度を示すデータである。例えば、加速度データＤｄは、左コントローラ３および右コントローラ４それぞれに生じている重力加速度を除いて、ＸＹＺ軸方向に生じている加速度を示すデータ等を含んでいる。
【０１２５】
左コントローラデータＤｅは、左コントローラ３の動き、姿勢、操作状況等に関するデータであり、押下フラグデータＤｅ１、当否判定結果データＤｅ２、射撃時間データＤｅ３、射撃角度データＤｅ４、および静止時間データＤｅ５等を含んでいる。押下フラグデータＤｅ１は、上記当たり判定範囲に含まれる左コントローラ３の姿勢より左コントローラ３のＺ軸正方向が実空間において下向きとなった姿勢でユーザが射撃操作を行った際にオンに設定される押下フラグを示すデータである。当否判定結果データＤｅ２は、左コントローラ３を用いて行われた射撃操作が、有効な操作（相手ユーザに当たる操作）、無効な操作（相手ユーザからはずれる操作や有効時間内の射撃ではない操作等）、射撃操作なしの何れであるのかを示すデータである。射撃時間データＤｅ３は、左コントローラ３を用いて射撃操作が行われた射撃時間を示すデータである。射撃角度データＤｅ４は、射撃が行われた際の左コントローラ３の射撃方向（当たりの場合は当たり角度、はずれの場合ははずれ角度）を示すデータである。静止時間データＤｅ５は、左コントローラ３の動きが所定量以下になる状態が連続している時間（静止時間）を示すデータである。
【０１２６】
右コントローラデータＤｆは、右コントローラ４の動き、姿勢、操作状況等に関するデータであり、押下フラグデータＤｆ１、当否判定結果データＤｆ２、射撃時間データＤｆ３、射撃角度データＤｆ４、および静止時間データＤｆ５等を含んでいる。押下フラグデータＤｆ１は、上記当たり判定範囲に含まれる右コントローラ４の姿勢より右コントローラ４のＺ軸正方向が実空間において下向きとなった姿勢でユーザが射撃操作を行った際にオンに設定される押下フラグを示すデータである。当否判定結果データＤｆ２は、右コントローラ４を用いて行われた射撃操作が有効な操作（相手ユーザに当たる操作）、無効な操作（相手ユーザからはずれる操作や有効時間内の射撃ではない操作等）、射撃操作なしの何れであるのかを示すデータである。射撃時間データＤｆ３は、右コントローラ４を用いて射撃操作が行われた射撃時間を示すデータである。射撃角度データＤｆ４は、射撃が行われた際の右コントローラ４の射撃方向（当たりの場合は当たり角度、はずれの場合ははずれ角度）を示すデータである。静止時間データＤｆ５は、右コントローラ４の動きが所定量以下になる状態が連続している時間（静止時間）を示すデータである。
【０１２７】
画像データＤｐは、ゲームの際に本体装置２のディスプレイ１２に画像（例えば、仮想オブジェクトの画像、射撃結果を示す画像、背景画像）を表示するためのデータである。
【０１２８】
次に、本実施形態における情報処理（ゲーム処理）の詳細な一例を説明する。図１６は、情報処理システム１で実行されるゲーム処理の一例を示すフローチャートである。図１７および図１８は、図１６におけるステップＳ１５１において行われる射撃操作判定処理の詳細の一例を示すサブルーチンである。本実施形態においては、図１６〜図１８に示す一連の処理は、ＣＰＵ８１が各種プログラムＰａに含まれる通信プログラムや所定のアプリケーションプログラム（ゲームプログラム）を実行することによって行われる。また、図１６〜図１８に示すゲーム処理が開始されるタイミングは任意である。
【０１２９】
なお、図１６〜図１８に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて（または代えて）別の処理が実行されてもよい。また、本実施形態では、上記フローチャートの各ステップの処理をＣＰＵ８１が実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を、ＣＰＵ８１以外のプロセッサや専用回路が実行するようにしてもよい。また、本体装置２において実行される処理の一部は、本体装置２と通信可能な他の情報処理装置（例えば、本体装置２とネットワークを介して通信可能なサーバ）によって実行されてもよい。すなわち、図１６〜図１８に示す各処理は、本体装置２を含む複数の情報処理装置が協働することによって実行されてもよい。
【０１３０】
図１６において、ＣＰＵ８１は、ゲーム処理における初期設定を行い（ステップＳ１４１）、次のステップに処理を進める。例えば、上記初期設定では、ＣＰＵ８１は、以下に説明する処理を行うためのパラメータを初期化する。
【０１３１】
次に、ＣＰＵ８１は、左コントローラ３および右コントローラ４から操作データを取得して操作データＤａを更新し（ステップＳ１４２）、次のステップに処理を進める。
【０１３２】
次に、ＣＰＵ８１は、左コントローラ３および右コントローラ４それぞれの姿勢、角速度、加速度を算出し（ステップＳ１４３）、次のステップに処理を進める。例えば、ＣＰＵ８１は、左コントローラ３および右コントローラ４それぞれに生じている加速度を示すデータを操作データＤａから取得し、左コントローラ３および右コントローラ４それぞれに作用している重力加速度の方向を算出して、当該方向を示すデータを用いて姿勢データＤｂを更新する。重力加速度を抽出する方法については任意の方法を用いればよく、例えば左コントローラ３および右コントローラ４それぞれに平均的に生じている加速度成分を算出して当該加速度成分を重力加速度として抽出してもよい。そして、ＣＰＵ８１は、左コントローラ３に対して算出された重力加速度の方向を基準とした左コントローラ３のＸＹＺ軸方向を左コントローラ３の姿勢として算出し、当該姿勢を示すデータを用いて姿勢データＤｂを更新する。また、ＣＰＵ８１は、右コントローラ４に対して算出された重力加速度の方向を基準とした右コントローラ４のＸＹＺ軸方向を右コントローラ４の姿勢として算出し、当該姿勢を示すデータを用いて姿勢データＤｂを更新する。また、ＣＰＵ８１は、左コントローラ３および右コントローラ４それぞれに生じている角速度を示すデータを操作データＤａから取得し、左コントローラ３および右コントローラ４それぞれのＸＹＺ軸周りの角速度を算出して、当該角速度を示すデータを用いて角速度データＤｃを更新する。さらに、ＣＰＵ８１は、左コントローラ３および右コントローラ４それぞれに生じている加速度を示すデータを操作データＤａから取得し、左コントローラ３および右コントローラ４それぞれに生じているＸＹＺ軸方向の加速度から上記重力加速度成分を除去して、当該除去後の加速度を示すデータを用いて加速度データＤｄを更新する。
【０１３３】
なお、左コントローラ３や右コントローラ４の姿勢については、重力加速度を基準としたＸＹＺ軸方向が算出された以降は、ＸＹＺ各軸周りの角速度のみに応じて更新してもよい。しかしながら、左コントローラ３や右コントローラ４の姿勢と重力加速度の方向との関係が誤差の累積によってずれていくことを防止するために、所定周期毎に重力加速度の方向に対するＸＹＺ軸方向を算出して左コントローラ３や右コントローラ４の姿勢を補正してもよい。
【０１３４】
次に、ＣＰＵ８１は、現時点が早撃ちゲームにおいて射撃を始める準備期間か否かを判断する（ステップＳ１４４）。そして、ＣＰＵ８１は、現時点が射撃の準備期間である場合、ステップＳ１４５に処理を進める。一方、ＣＰＵ８１は、現時点が射撃の準備期間でない場合、ステップＳ１４８に処理を進める。
【０１３５】
ステップＳ１４５において、ＣＰＵ８１は、左コントローラ３および右コントローラ４のＺ軸正方向角度を算出し、次のステップに処理を進める。例えば、ＣＰＵ８１は、姿勢データＤｂを参照して、重力加速度方向に対する左コントローラ３のＺ軸正方向を取得し、実空間の水平方向に対するＺ軸正方向の差角（仰角の角度を正の角度とし俯角の角度を負の角度とする）を、左コントローラ３のＺ軸正方向角度として算出する。また、ＣＰＵ８１は、姿勢データＤｂを参照して、重力加速度方向に対する右コントローラ４のＺ軸正方向を取得し、実空間の水平方向に対するＺ軸正方向の差角を、右コントローラ４のＺ軸正方向角度として算出する。
【０１３６】
次に、ＣＰＵ８１は、左コントローラ３および右コントローラ４の姿勢が何れも準備判定範囲内に含まれているか否かを判定する（ステップＳ１４６）。例えば、ＣＰＵ８１は、上記ステップＳ１４５において算出された左コントローラ３および右コントローラ４のＺ軸正方向角度が、何れも予め設定された準備判定範囲（例えば、Ｚ軸正方向角度が−３５°未満）に含まれる場合、上記ステップＳ１４６において肯定判定する。そして、ＣＰＵ８１は、左コントローラ３および右コントローラ４の姿勢の何れかが準備判定範囲内に含まれていない場合、ステップＳ１４７に処理を進める。一方、ＣＰＵ８１は、左コントローラ３および右コントローラ４の姿勢の何れも準備判定範囲内に含まれている場合、ステップＳ１４８に処理を進める。
【０１３７】
ステップＳ１４７において、ＣＰＵ８１は、左コントローラ３および右コントローラ４の姿勢を準備姿勢にするように促す報知を行い、ステップＳ１４９に処理を進める。例えば、ＣＰＵ８１は、早撃ちゲームを開始する準備をするための操作指示「コントローラを下に向けて準備してください」を本体装置２に表示するとともに、本体装置２から当該操作指示を示す音声を出力することによって（図１０参照）、左コントローラ３および右コントローラ４の姿勢を準備姿勢にするように促す報知を行う。
【０１３８】
一方、ステップＳ１４８において、ＣＰＵ８１は、左コントローラ３および右コントローラ４を用いて射撃操作する射撃用意を促す報知を行い、ステップＳ１４９に処理を進める。例えば、ＣＰＵ８１は、射撃操作を行うタイミングが迫っていることを示す報知「用意！」を本体装置２に表示するとともに、本体装置２から当該報知を示す音声を出力することによって、射撃用意を促す報知を行う。
【０１３９】
なお、上記早撃ちゲームにおいて射撃を始める準備期間において、ユーザが左コントローラ３または右コントローラ４を用いて射撃操作を行った場合、当該ユーザはフライングしたとして失格判定される。この場合、上記ユーザがフライングしたことを示す画像を本体装置２に表示した後に準備期間をやり直してもいいし、上記フライングによって射撃判定結果が確定したとして後述するステップＳ１５３における射撃結果表示処理を行ってもよい。
【０１４０】
ステップＳ１４９において、現時点が早撃ちゲームにおいて射撃を行う始める射撃期間か否かを判断する。そして、ＣＰＵ８１は、現時点が射撃期間である場合、ステップＳ１５０に処理を進める。一方、ＣＰＵ８１は、現時点が射撃期間でない場合、ステップＳ１５２に処理を進める。
【０１４１】
ステップＳ１５０において、ＣＰＵ８１は、左コントローラ３および右コントローラ４を用いた射撃操作を促す報知を行い、次のステップに処理を進める。例えば、ＣＰＵ８１は、上記早撃ちゲームを開始する旨を報知するための操作指示「撃て！」を本体装置２に表示するとともに、本体装置２から当該操作指示を示す音声を出力することによって（図１１参照）、左コントローラ３および右コントローラ４を用いた射撃操作を促す報知を行う。
【０１４２】
次に、ＣＰＵ８１は、射撃操作判定処理を行い（ステップＳ１５１）、ステップＳ１５２に処理を進める。以下、図１７および図１８を参照して、上記ステップＳ１５１で行われる射撃操作判定処理について説明する。
【０１４３】
図１７において、ＣＰＵ８１は、射撃操作判定処理の対象とするコントローラを選択して（ステップＳ１６１）、次のステップに処理を進める。例えば、ＣＰＵ８１は、本処理フレームにおいて射撃操作判定処理を行っていない、かつ射撃判定結果が確定していないコントローラ（すなわち、左コントローラ３または右コントローラ４）を選択して、以降の処理における処理対象のコントローラとして設定する。
【０１４４】
次に、ＣＰＵ８１は、押下フラグがオンされているか否かを判定する（ステップＳ１６２）。例えば、ＣＰＵ８１は、処理対象のコントローラに対応する押下フラグデータＤｅ１またはＤｆ１を参照して、押下フラグがオンに設定されているか否かを判定する。そして、ＣＰＵ８１は、処理対象のコントローラに対応する押下フラグがオフに設定されている場合、ステップＳ１６３に処理を進める。一方、ＣＰＵ８１は、処理対象のコントローラに対応する押下フラグがオンに設定されている場合、ステップＳ１８１（図１８参照）に処理を進める。
【０１４５】
ステップＳ１６３において、ＣＰＵ８１は、射撃操作が行われたか否かを判定する。例えば、ＣＰＵ８１は、操作データＤａを参照して、処理対象のコントローラに対して所定の操作（例えば、ＺＬボタン３９またはＺＲボタン６１を押下する操作）が行われた場合、上記ステップＳ１６３において肯定判定する。そして、ＣＰＵ８１は、処理対象のコントローラに対して射撃操作が行われた場合、ステップＳ１６４に処理を進める。一方、ＣＰＵ８１は、処理対象のコントローラに対して射撃操作が行われていない場合、ステップＳ１７３に処理を進める。
【０１４６】
ステップＳ１６４において、ＣＰＵ８１は、処理対象のコントローラのＺ軸正方向角度を算出し、次のステップに処理を進める。例えば、ＣＰＵ８１は、姿勢データＤｂを参照して、重力加速度方向に対する処理対象のコントローラのＺ軸正方向を取得し、実空間の水平方向に対するＺ軸正方向の差角（仰角の角度を正の角度とし俯角の角度を負の角度とする）を処理対象のコントローラのＺ軸正方向角度として算出する。
【０１４７】
次に、ＣＰＵ８１は、処理対象のコントローラの姿勢が当たり判定範囲内に含まれているか否かを判定する（ステップＳ１６５）。例えば、ＣＰＵ８１は、上記ステップＳ１６４において算出された処理対象のコントローラのＺ軸正方向角度が、予め設定された当たり判定範囲（例えば、Ｚ軸正方向角度が−３０°以上、３０°未満）に含まれる場合、上記ステップＳ１６５において肯定判定する。そして、ＣＰＵ８１は、処理対象のコントローラの姿勢が当たり判定範囲内に含まれている場合、ステップＳ１６６に処理を進める。一方、ＣＰＵ８１は、処理対象のコントローラの姿勢が当たり判定範囲内に含まれていない場合、ステップＳ１６８に処理を進める。
【０１４８】
ステップＳ１６６において、ＣＰＵ８１は、射撃時間を算出し、次のステップに処理を進める。例えば、ＣＰＵ８１は、上記ステップＳ１５０における射撃操作指示が開始されてから現時点までの経過時間を射撃時間として算出し、当該射撃時間を用いて処理対象のコントローラの射撃時間データＤｅ３またはＤｆ３を更新する。
【０１４９】
次に、ＣＰＵ８１は、処理対象のコントローラの射撃判定結果を当たりに確定し（ステップＳ１６７）、ステップＳ１６８に処理を進める。例えば、ＣＰＵ８１は、処理対象のコントローラの射撃判定結果を当たり（射撃操作が有効）に確定して、当該射撃判定結果を用いて処理対象のコントローラの当否判定結果データＤｅ２またはＤｆ２を更新する。また、ＣＰＵ８１は、上記ステップＳ１６４で算出されたＺ軸正方向角度を当たり角度として設定し、当該当たり角度を用いて処理対象のコントローラの射撃角度データＤｅ４またはＤｆ４を更新する。
【０１５０】
ステップＳ１６８において、ＣＰＵ８１は、処理対象のコントローラの姿勢が上方範囲内に含まれているか否かを判定する。例えば、ＣＰＵ８１は、上記ステップＳ１６４において算出された処理対象のコントローラのＺ軸正方向角度が、予め設定された上方範囲（上記当たり判定範囲の仰角側全域を示す範囲であって、例えばＺ軸正方向角度が３０°以上）に含まれる場合、上記ステップＳ１６８において肯定判定する。そして、ＣＰＵ８１は、処理対象のコントローラの姿勢が上方範囲内に含まれている場合、ステップＳ１６９に処理を進める。一方、ＣＰＵ８１は、処理対象のコントローラの姿勢が上方範囲内に含まれていない場合、ステップＳ１７０に処理を進める。
【０１５１】
ステップＳ１６９において、ＣＰＵ８１は、処理対象のコントローラの射撃判定結果をはずれに確定して、ステップＳ１７０に処理を進める。例えば、ＣＰＵ８１は、処理対象のコントローラの射撃判定結果をはずれ（射撃操作が無効）に確定して、当該射撃判定結果を用いて処理対象のコントローラの当否判定結果データＤｅ２またはＤｆ２を更新する。また、ＣＰＵ８１は、上記ステップＳ１６４で算出されたＺ軸正方向角度をはずれ角度として設定し、当該はずれ角度を用いて処理対象のコントローラの射撃角度データＤｅ４またはＤｆ４を更新する。
【０１５２】
ステップＳ１７０において、ＣＰＵ８１は、処理対象のコントローラの姿勢が下方範囲内に含まれているか否かを判定する。例えば、ＣＰＵ８１は、上記ステップＳ１６４において算出された処理対象のコントローラのＺ軸正方向角度が、予め設定された下方範囲（上記当たり判定範囲の俯角側全域を示す範囲であって、例えばＺ軸正方向角度が−３０°未満）に含まれる場合、上記ステップＳ１７０において肯定判定する。そして、ＣＰＵ８１は、処理対象のコントローラの姿勢が下方範囲内に含まれている場合、ステップＳ１７１に処理を進める。一方、ＣＰＵ８１は、処理対象のコントローラの姿勢が下方範囲内に含まれていない場合、ステップＳ１７５に処理を進める。
【０１５３】
ステップＳ１７１において、ＣＰＵ８１は、射撃時間を算出し、次のステップに処理を進める。例えば、ＣＰＵ８１は、上記ステップＳ１５０における射撃操作指示が開始されてから現時点までの経過時間を射撃時間として算出し、当該射撃時間を用いて処理対象のコントローラの射撃時間データＤｅ３またはＤｆ３を更新する。
【０１５４】
次に、ＣＰＵ８１は、押下フラグをオンに設定し（ステップＳ１７２）、ステップＳ１７５に処理を進める。例えば、ＣＰＵ８１は、処理対象のコントローラの押下フラグをオンに設定して、処理対象のコントローラの押下フラグデータＤｅ１またはＤｆ１を更新する。
【０１５５】
一方、上記ステップＳ１６３において射撃操作が行われていないと判定された場合、ＣＰＵ８１は、判定時間が終了したか否かを判定する（ステップＳ１７３）。例えば、ＣＰＵ８１は、上記ステップＳ１５０における射撃操作指示が開始されてから現時点までの経過時間が所定の判定時間に到達した場合、判定時間が終了したと判定する。そして、ＣＰＵ８１は、判定時間が終了した場合、ステップＳ１７４に処理を進める。一方、ＣＰＵ８１は、判定時間が終了していない場合、ステップＳ１７５に処理を進める。
【０１５６】
ステップＳ１７４において、ＣＰＵ８１は、処理対象のコントローラの射撃判定結果を射撃操作なしに確定して、ステップＳ１７５に処理を進める。例えば、ＣＰＵ８１は、処理対象のコントローラの射撃判定結果を射撃操作なしに確定して、当該射撃判定結果を用いて処理対象のコントローラの当否判定結果データＤｅ２またはＤｆ２を更新する。
【０１５７】
ステップＳ１７５において、ＣＰＵ８１は、射撃操作判定処理が未処理のコントローラがあるか否かを判定する。例えば、ＣＰＵ８１は、本処理フレームにおいて射撃操作判定処理を行っていない、かつ射撃結果が確定していないコントローラが残っている場合、上記ステップＳ１６１に戻って別のコントローラを処理対象とした射撃操作判定処理を行う。一方、ＣＰＵ８１は、全てのコントローラが本処理フレームにおいて射撃操作判定処理が行われている、または射撃判定結果が確定している場合、当該サブルーチンによる処理を終了する。
【０１５８】
図１８に進み、上記ステップＳ１６２において、押下フラグがオンに設定されていると判定された場合、ＣＰＵ８１は、処理対象のコントローラのＺ軸正方向角度を算出し（ステップＳ１８１）、次のステップに処理を進める。なお、上記ステップＳ１８１における処理は、上述したステップＳ１６４の処理と同様であるため、ここでは詳細な説明を省略する。
【０１５９】
次に、ＣＰＵ８１は、処理対象のコントローラが静止状態にあるか否かを判定する（ステップＳ１８２）。例えば、ＣＰＵ８１は、上記ステップＳ１８１において今回算出された処理対象のコントローラのＺ軸正方向角度と前回算出された処理対象のコントローラのＺ軸正方向角度とを比較して、所定範囲内（例えば、±１０°以内）にある場合、処理対象のコントローラが静止状態にあると判定する。そして、ＣＰＵ８１は、処理対象のコントローラが静止状態にある場合、ステップＳ１８３に処理を進める。一方、ＣＰＵ８１は、処理対象のコントローラが静止状態にない場合、ステップＳ１８８に処理を進める。
【０１６０】
ステップＳ１８３において、ＣＰＵ８１は、静止時間を算出し、次のステップに処理を進める。例えば、ＣＰＵ８１は、処理対象のコントローラに対する直前のＺ軸正方向角度の履歴を参照して、現時点から遡って連続して所定範囲内（例えば、±１０°以内）にあるＺ軸正方向角度データを抽出する。そして、上記所定範囲内となっているＺ軸正方向角度のデータ数（フレーム数）を静止時間として、当該静止時間を用いて処理対象のコントローラの静止時間データＤｅ５またはＤｆ５を更新する。
【０１６１】
次に、ＣＰＵ８１は、処理対象のコントローラにおける上記静止状態の姿勢が当たり判定範囲内に含まれているか否かを判定する（ステップＳ１８４）。例えば、ＣＰＵ８１は、上記ステップＳ１８３において静止時間が算出される対象となったＺ軸正方向角度の履歴が上記当たり判定範囲に全て含まれる場合、上記ステップＳ１８４において肯定判定する。そして、ＣＰＵ８１は、処理対象のコントローラにおける静止状態の姿勢が当たり判定範囲内に含まれている場合、ステップＳ１８５に処理を進める。一方、ＣＰＵ８１は、処理対象のコントローラにおける静止状態の姿勢が当たり判定範囲内に含まれていない場合、ステップＳ１８８に処理を進める。
【０１６２】
ステップＳ１８５において、ＣＰＵ８１は、静止判定時間に到達したか否かを判定する。例えば、ＣＰＵ８１は、上記ステップＳ１８３において算出された静止時間が、予め定められた静止判定時間（例えば、５フレーム）に到達した場合、処理対象のコントローラが静止判定時間に到達したと判定する。そして、ＣＰＵ８１は、処理対象のコントローラが静止判定時間に到達した場合、ステップＳ１８６に処理を進める。一方、ＣＰＵ８１は、処理対象のコントローラが静止判定時間に到達した場合、当該サブルーチンによる処理を終了する。
【０１６３】
ステップＳ１８６において、ＣＰＵ８１は、処理対象のコントローラの射撃判定結果を当たりに確定し、次のステップに処理を進める。例えば、ＣＰＵ８１は、処理対象のコントローラの射撃判定結果を当たり（射撃操作が有効）に確定して、当該射撃判定結果を用いて処理対象のコントローラの当否判定結果データＤｅ２またはＤｆ２を更新する。また、ＣＰＵ８１は、当たり判定範囲内におけるランダムな値を当たり角度として設定し、当該当たり角度を用いて処理対象のコントローラの射撃角度データＤｅ４またはＤｆ４を更新する。
【０１６４】
次に、ＣＰＵ８１は、押下フラグをオフに設定し（ステップＳ１８７）、当該サブルーチンによる処理を終了する。例えば、ＣＰＵ８１は、処理対象のコントローラの押下フラグをオフに設定して、処理対象のコントローラの押下フラグデータＤｅ１またはＤｆ１を更新する。
【０１６５】
一方、上記ステップＳ１８２において、処理対象のコントローラが静止状態にないと判定された場合、または上記ステップＳ１８４において処理対象のコントローラの姿勢が当たり判定範囲内にないと判定された場合、ＣＰＵ８１は、静止判定を終了するか否かを判定する（ステップＳ１８８）。例えば、ＣＰＵ８１は、上記ステップＳ１７２において、処理対象のコントローラの押下フラグがオンされてから現時点までの経過時間が所定の静止判定時間（例えば、２０フレーム）以上である場合、静止判定を終了すると判定する。そして、ＣＰＵ８１は、静止判定を終了する場合、ステップＳ１８９に処理を進める。一方、ＣＰＵ８１は、静止判定を継続する場合、当該サブルーチンによる処理を終了する。
【０１６６】
ステップＳ１８９において、ＣＰＵ８１は、処理対象のコントローラの射撃判定結果をはずれに確定して、次のステップに処理を進める。例えば、ＣＰＵ８１は、処理対象のコントローラの射撃判定結果をはずれ（射撃操作が無効）に確定して、当該射撃判定結果を用いて処理対象のコントローラの当否判定結果データＤｅ２またはＤｆ２を更新する。また、ＣＰＵ８１は、上記ステップＳ１６４で算出されたＺ軸正方向角度（すなわち、射撃操作された際のＺ軸正方向角度）をはずれ角度として設定し、当該はずれ角度を用いて処理対象のコントローラの射撃角度データＤｅ４またはＤｆ４を更新する。
【０１６７】
次に、ＣＰＵ８１は、押下フラグをオフに設定し（ステップＳ１９０）、当該サブルーチンによる処理を終了する。例えば、ＣＰＵ８１は、処理対象のコントローラの押下フラグをオフに設定して、処理対象のコントローラの押下フラグデータＤｅ１またはＤｆ１を更新する。
【０１６８】
図１６に戻り、ステップＳ１５２において、ＣＰＵ８１は、全てのコントローラに対する射撃操作判定処理が終了したか否かを判定する。例えば、ＣＰＵ８１は、当否判定結果データＤｅ２およびＤｆ２を参照して、左コントローラ３および右コントローラ４に対する射撃判定結果が両方ともに確定している場合、上記ステップＳ１５２において肯定判定する。そして、ＣＰＵ８１は、全てのコントローラに対する射撃操作判定処理が終了している場合、ステップＳ１５３に処理を進める。一方、ＣＰＵ８１は、コントローラの何れかに対する射撃操作判定処理が終了していない場合、ステップＳ１５４に処理を進める。
【０１６９】
ステップＳ１５３において、ＣＰＵ８１は、射撃結果を表示する処理を行い、ステップＳ１５４に処理を進める。例えば、ＣＰＵ８１は、左コントローラデータＤｅの当否判定結果データＤｅ２および射撃時間データＤｅ３と、右コントローラデータＤｆの当否判定結果データＤｆ２および射撃時間データＤｆ３とを比較して、当たり判定され、かつ射撃時間が短い方を勝者として判定する。そして、ＣＰＵ８１は、どちらのユーザが勝者なのかを示す画像を本体装置２に表示するとともに、どちらのユーザが勝者なのかを示す音声を本体装置２から出力する。また、ＣＰＵ８１は、左コントローラデータＤｅの射撃時間データＤｅ３および右コントローラデータＤｆの射撃時間データＤｆ３に基づいて、ユーザそれぞれの射撃時間を示す文字画像を本体装置２に表示する。さらに、ＣＰＵ８１は、左コントローラデータＤｅの射撃角度データＤｅ４および、右コントローラデータＤｆの射撃角度データＤｆ４に基づいて、当たり角度を示す拳銃オブジェクト画像をそれぞれ本体装置２に表示する（図１２参照）。なお、上記準備期間において、何れかのユーザがフライング判定されることによって射撃判定結果が確定している場合、当該フライングしたユーザが失格したことを示す画像を本体装置２に表示するとともに、フライングしたユーザを示す音声を本体装置２から出力してもよい。
【０１７０】
ステップＳ１５４において、ＣＰＵ８１は、ゲームを終了するか否かを判定する。上記ステップＳ１５４においてゲームを終了する条件としては、例えば、上記射撃結果を表示する時間が満了したことや、ユーザがゲームを終了する操作を行ったこと等がある。ＣＰＵ８１は、ゲームを終了しない場合に上記ステップＳ１４２に戻って処理を繰り返し、ゲームを終了する場合に当該フローチャートによる処理を終了する。以降、ステップＳ１４２〜ステップＳ１５４の一連の処理は、ステップＳ１５４でゲームを終了すると判定されるまで繰り返し実行される。
【０１７１】
このように、本実施例においては、左コントローラ３または右コントローラ４の姿勢と当該左コントローラ３または右コントローラ４を用いた所定の指示操作とに応じて、当該姿勢が当たり判定範囲に含まれる状態で当該指示操作が行われた場合に当該指示操作が成功したと判定される。そして、本実施例においては、左コントローラ３または右コントローラ４の姿勢が当たり判定範囲に含まれていない状態で指示操作された場合であっても、静止を確認する時間内に当たり判定範囲に含まれる姿勢で当該左コントローラ３または右コントローラ４が静止した場合は、当該指示操作が成功したと判定される。したがって、指示操作が成功するために要求される入力装置の姿勢条件が緩和されるため、ユーザに要求する操作を容易にすることができる。例えば、一般的にコントローラに設けられた操作ボタンを押下する操作は、ユーザにとって非常に慣れた操作の１つであり、操作ボタンが押下する操作抵抗自体も非常に軽微なものであるために、ユーザが意図するタイミングより早く押下操作してしまうことがあり得る。このような場合、ユーザが意図している操作タイミングより早いタイミングで操作判定されて無効な操作とされてしまうことがあり、ユーザの不満が残ることが考えられる。しかしながら、本実施例においては、このようなユーザが意図せずに操作タイミングが早くなる現象が生じたとしても、その後のコントローラの動きによってユーザが意図する操作タイミングに救済判定されるため、ユーザおける操作判定の不満感を解消することができる。
【０１７２】
なお、上述した実施例では、左コントローラ３のＺＬボタン３９を押下操作することや、右コントローラ４のＺＲボタン６１を押下操作することによって指示操作（射撃操作）される例を用いたが、他の操作ボタンを操作することによって当該指示操作が行われてもよい。例えば、左コントローラ３の第１Ｌボタン３８や右コントローラ４の第１Ｒボタン６０を押下操作することによって上記指示操作が行われてもよい。また、左コントローラ３のＺＬボタン３９を押下操作した場合に加えて第１Ｌボタン３８を押下操作した場合も指示操作（射撃操作）として認識され、右コントローラ４のＺＲボタン６１を押下操作した場合に加えて第１Ｒボタン６０を押下操作した場合も指示操作（射撃操作）として認識されてもよい。この場合、ユーザは、自分自身の操作のしやすさに応じて、指示操作するための操作ボタンを選択することが可能となる。
【０１７３】
また、操作ボタンを押下するだけでなく、他の操作方法によって上記指示操作が行われる態様であってもよい。一例として、操作ボタンを離す操作によって上記指示動作が行われてもよいし、タッチパネルやタッチパットをタッチオンしたりタッチオフしたりすることによって上記指示操作が行われてもよい。他の例として、左コントローラ３や右コントローラ４に生じている加速度の大きさが所定の閾値以上となる操作を上記指示操作としてもよい。例えば、左コントローラ３および右コントローラ４の一方の加速度の大きさが閾値以上となる操作を上記指示操作とし、他方の姿勢によって判定を行うことができる。このようにして、例えば剣と盾によって敵の攻撃をタイミングよく防ぎながら攻撃を加えるゲーム等を実施することができる。
【０１７４】
また、上述した実施例では、コントローラを振り上げることによって当たり判定範囲に含まれる姿勢とするゲーム例を用いているが、コントローラを他の方向に振るゲームであってもよいことは言うまでもない。
【０１７５】
第１の例として、コントローラを振り上げた状態から振り下ろすことによって、当該コントローラが所定の有効範囲内の姿勢になった時点で指示操作を行うようなゲームでもよい。この場合、上記有効範囲より仰角側からコントローラが振り下ろされることになるが、当該有効範囲に含まれるコントローラの姿勢より当該コントローラのＺ軸正方向が実空間において上向きとなった姿勢（有効範囲の仰角側範囲に含まれるコントローラの姿勢）でユーザが指示操作を行ったとしても、当該有効範囲内で指示操作されたと判定されることがあり得る。すなわち、上記有効範囲の仰角側範囲に含まれるコントローラの姿勢で指示操作された後の静止確認期間中に、当該コントローラが静止状態または静止状態に準ずる状態となり、当該状態におけるコントローラの姿勢が上記有効範囲内であれば、当該指示操作も当該有効範囲内で指示操作されたと判定される。
【０１７６】
第２の例として、コントローラを左にヨーしたりロールしたりすることによって、当該コントローラが所定の有効範囲内の姿勢になった時点で指示操作を行うようなゲームでもよい。この場合、上記有効範囲より右側からコントローラを動かすことになるが、当該有効範囲に含まれるコントローラの姿勢より当該コントローラのＺ軸正方向が実空間において右向きとなった姿勢やコントローラのＸ軸正方向やＹ軸正方向が実空間において右に傾いている姿勢（有効範囲の右側範囲に含まれるコントローラの姿勢）でユーザが指示操作を行ったとしても、当該有効範囲内で指示操作されたと判定されることがあり得る。すなわち、上記有効範囲の右側範囲に含まれるコントローラの姿勢で指示操作された後の静止確認期間中に、当該コントローラが静止状態または静止状態に準ずる状態となり、当該状態におけるコントローラの姿勢が上記有効範囲内であれば、当該指示操作も当該有効範囲内で指示操作されたと判定される。
【０１７７】
第３の例として、コントローラを右にヨーしたりロールしたりすることによって、当該コントローラが所定の有効範囲内の姿勢になった時点で指示操作を行うようなゲームでもよい。この場合、上記有効範囲より左側からコントローラを動かすことになるが、当該有効範囲に含まれるコントローラの姿勢より当該コントローラのＺ軸正方向が実空間において左向きとなった姿勢やコントローラのＸ軸正方向やＹ軸正方向が実空間において左に傾いている姿勢（有効範囲の左側範囲に含まれるコントローラの姿勢）でユーザが指示操作を行ったとしても、当該有効範囲内で指示操作されたと判定されることがあり得る。すなわち、上記有効範囲の左側範囲に含まれるコントローラの姿勢で指示操作された後の静止確認期間中に、当該コントローラが静止状態または静止状態に準ずる状態となり、当該状態におけるコントローラの姿勢が上記有効範囲内であれば、当該指示操作も当該有効範囲内で指示操作されたと判定される。
【０１７８】
第４の例として、コントローラを前に動かすことによって、当該コントローラが所定の有効範囲内の位置になった時点で指示操作を行うようなゲームでもよい。この場合、上記有効範囲より手前側からコントローラを動かすことになるが、当該有効範囲に含まれるコントローラの位置より実空間において手前の位置（有効範囲の手前側範囲に含まれるコントローラの位置）でユーザが指示操作を行ったとしても、当該有効範囲内で指示操作されたと判定されることがあり得る。すなわち、上記有効範囲の手前側範囲に含まれるコントローラの位置で指示操作された後の静止確認期間中に、当該コントローラが静止状態または静止状態に準ずる状態となり、当該状態におけるコントローラの位置が上記有効範囲内であれば、当該指示操作も当該有効範囲内で指示操作されたと判定される。
【０１７９】
第５の例として、コントローラを後に動かすことによって、当該コントローラが所定の有効範囲内の位置になった時点で指示操作を行うようなゲームでもよい。この場合、上記有効範囲より向こう側からコントローラを動かすことになるが、当該有効範囲に含まれるコントローラの位置より実空間において向こう側位置（有効範囲の向こう側範囲に含まれるコントローラの位置）でユーザが指示操作を行ったとしても、当該有効範囲内で指示操作されたと判定されることがあり得る。すなわち、上記有効範囲の向こう側範囲に含まれるコントローラの位置で指示操作された後の静止確認期間中に、当該コントローラが静止状態または静止状態に準ずる状態となり、当該状態におけるコントローラの位置が上記有効範囲内であれば、当該指示操作も当該有効範囲内で指示操作されたと判定される。
【０１８０】
また、上述した実施例において、左コントローラ３や右コントローラ４の動きや姿勢を検出する方法については、単なる一例であって、他の方法や他のデータを用いて左コントローラ３や右コントローラ４の動きや姿勢を検出してもよい。例えば、左コントローラ３や右コントローラ４の姿勢を、当該左コントローラ３や右コントローラ４に生じる角速度のみで算出、または当該左コントローラ３や右コントローラ４に生じる角速度と加速度とを組み合わせて算出しているが、当該左コントローラ３や右コントローラ４に生じる加速度のみで姿勢を算出してもかまわない。左コントローラ３や右コントローラ４に生じる加速度のみ検出する場合であっても、左コントローラ３や右コントローラ４に生じる重力加速度が生じている方向を算出可能であり、当該重力加速度を基準としたＺ軸正方向の角度を逐次算出すれば上述した実施例と同様の処理が可能であることは言うまでもない。また、上述した実施例では、左コントローラ３や右コントローラ４を用いた操作に応じたゲーム画像を本体装置２のディスプレイ１２に表示しているが、クレードルを介して据置型モニタに表示してもよい。また、上述した実施例で用いるコントローラは、左コントローラ３および右コントローラ４だけでなく、他のコントローラが組み合わせられてゲーム処理されたり、他のコントローラだけでゲーム処理されたりしてもよい。
【０１８１】
また、上述した実施例では、２人のユーザが拳銃を早撃ちする時間を競うゲームを用いたが、他のゲームも適用可能であることもできることは言うまでもない。例えば、ボーリングゲーム、バスケットボールゲーム、射撃ゲーム、剣や刀等を振って戦ってボタン操作を加えることによって特殊なアクションが行われるゲーム等も本願発明に適用可能である。例えば、射撃ゲームの場合、左コントローラ３や右コントローラ４の姿勢に応じて、表示画面に対して指し示されている位置を算出し、所定の操作ボタンが押下された場合に当該位置に向かって弾が飛ぶようなゲームが考えられる。このような射撃ゲームでは、表示画面上で移動する仮想オブジェクトを射撃対象物とする場合、射撃操作した時点では当該射撃対象物が射撃位置となっていたとしてもその後の当該射撃対象物の移動によって外れることが考えられる。本願発明では、このような射撃においても、上記射撃操作後において移動する上記射撃対象物上および／またはその周辺を指し示すように、左コントローラ３や右コントローラ４が所定時間以内に静止状態となった場合は、当該射撃対象物に弾が当たるように弾の軌道を制御することができる。また、３人以上のユーザがプレイするゲームであっても、それぞれのユーザが操作するコントローラに対する指示操作をそれぞれ同様に判定することによって、本願発明に適用することもできる。
【０１８２】
また、上述した実施例では、本願の実施例をゲーム処理に適用する例を用いたが、ゲーム以外の情報処理に適用してもよい。例えば、本願の他の実施例として、操作装置としてマウスを用いることが考えられる。具体的には、マウスの移動に応じて表示画面上を移動するカーソルを用いて、当該表示画面に表示された複数の選択肢から選択する操作を考える。一例として、複数の選択肢のうち、１つの選択肢の一部と重なるように上記カーソルをマウスで移動させ、当該マウスを左クリック操作することによって当該１つの選択肢を選択する情報処理が行われる。このとき、本願の他の実施例では、上記カーソルが何れの選択肢上に重なっていない状態で左クリック操作が行われた場合であっても、何れかの選択肢を選択する情報処理を可能とする。すなわち、上記カーソルが何れの選択肢上に重なっていない当該カーソルの移動中に左クリック操作が行われた場合、当該左クリック操作から所定時間以内に何れかの選択肢上において当該カーソルが停止した場合、当該選択肢を選択する情報処理が行われる。
【０１８３】
なお、上述した本願の他の実施例は、マウスを動かすことによって制御される表示画面上の位置パラメータがある選択肢の範囲外となった状態で指示操作（左クリック操作）された場合でも当該選択肢が選択される例を用いたが、他の操作装置であってもよい。例えば、本願の他の実施例は、ジャイロセンサによって検出される角速度に基づいて遠隔ポインティング操作可能なポインティングデバイスを操作装置としてもよい。この場合、上記ポインティングデバイスの姿勢がある表示物の範囲外を指し示す姿勢で指示操作（ポインティング操作）された場合でも、当該指示操作から所定時間以内に当該表示物の範囲内を指し示す姿勢で上記ポインティングデバイスの姿勢が静止状態となった場合は、当該表示物をポインティングする処理が行われる。
【０１８４】
また、情報処理システム１は、どのような装置であってもよく、携帯型のゲーム装置、任意の携帯型電子機器（ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、携帯電話、パーソナルコンピュータ、カメラ、タブレット等）等であってもよい。
【０１８５】
また、上述した説明では情報処理（ゲーム処理）を情報処理システム１でそれぞれ行う例を用いたが、上記処理ステップの少なくとも一部を他の装置で行ってもかまわない。例えば、情報処理システム１がさらに他の装置（例えば、別のサーバ、他の画像表示装置、他のゲーム装置、他の携帯端末）と通信可能に構成されている場合、上記処理ステップは、さらに当該他の装置が協働することによって実行してもよい。このように、上記処理ステップの少なくとも一部を他の装置で行うことによって、上述した処理と同様の処理が可能となる。また、上述した情報処理（ゲーム処理）は、少なくとも１つの情報処理装置により構成される情報処理システムに含まれる１つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。また、上記実施例においては、情報処理システム１のＣＰＵ８１が所定のプログラムを実行することによって情報処理を行うことが可能であるが、情報処理システム１が備える専用回路によって上記処理の一部または全部が行われてもよい。
【０１８６】
ここで、上述した変形例によれば、いわゆるクラウドコンピューティングのシステム形態や分散型の広域ネットワークおよびローカルネットワークのシステム形態でも本発明を実現することが可能となる。例えば、分散型のローカルネットワークのシステム形態では、据置型の情報処理装置（据置型のゲーム装置）と携帯型の情報処理装置（携帯型のゲーム装置）との間で上記処理を協働により実行することも可能となる。なお、これらのシステム形態では、上述した処理をどの装置で行うかについては特に限定されず、どのような処理分担をしたとしても本発明を実現できることは言うまでもない。
【０１８７】
また、上述した情報処理で用いられる処理順序、設定値、判定に用いられる条件等は、単なる一例に過ぎず他の順序、値、条件であっても、本実施例を実現できることは言うまでもない。
【０１８８】
また、上記プログラムは、外部メモリ等の外部記憶媒体を通じて情報処理システム１に供給されるだけでなく、有線または無線の通信回線を通じて当該装置に供給されてもよい。また、上記プログラムは、当該装置内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、ＣＤ−ＲＯＭ、ＤＶＤ、あるいはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ、などでもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを記憶する揮発性メモリでもよい。このような記憶媒体は、コンピュータ等が読み取り可能な記録媒体ということができる。例えば、コンピュータ等に、これらの記録媒体のプログラムを読み込ませて実行させることにより、上述で説明した各種機能を提供させることができる。
【０１８９】
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。また、当業者は、本発明の具体的な実施例の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書（定義を含めて）が優先する。
【産業上の利用可能性】
【０１９０】
以上のように、本発明は操作装置の姿勢および／または動きと組み合わせて行う指示操作を容易にすることが可能なゲームシステム、ゲーム装置、ゲームプログラム、操作判定方法、および情報処理装置等として利用することができる。
【符号の説明】
【０１９１】
１…情報処理システム
２…本体装置
３…左コントローラ
４…右コントローラ
１１…ハウジング
１２…ディスプレイ
２７…下側端子
４２、６４…端子
７３…本体端子
８１…ＣＰＵ
８２…ネットワーク通信部
８３…コントローラ通信部
８５…ＤＲＡＭ
【図１】
0006563365.tif 000002
【図２】
0006563365.tif 000003
【図３】
0006563365.tif 000004
【図４】
0006563365.tif 000005
【図５】
0006563365.tif 000006
【図６】
0006563365.tif 000007
【図７】
0006563365.tif 000008
【図８】
0006563365.tif 000009
【図９】
0006563365.tif 000010
【図１０】
0006563365.tif 000011
【図１１】
0006563365.tif 000012
【図１２】
0006563365.tif 000013
【図１３】
0006563365.tif 000014
【図１４】
0006563365.tif 000015
【図１５】
0006563365.tif 000016
【図１６】
0006563365.tif 000017
【図１７】
0006563365.tif 000018
【図１８】
0006563365.tif 000019