(57)【要約】【課題】ユーザビリティを向上させることが可能な情報処理システを提供する。【解決手段】情報処理システムは、操作装置と、操作装置と通信可能な本体装置とを備える。操作装置は、ユーザの操作を示す操作データを本体装置に送信する送信部を含む。本体装置は、操作装置の操作方式を登録する記憶部と、送信部により送信された操作データを受信する受信部と、受信部により受信した操作データが第１操作を示す場合には、操作装置の操作方式を第１操作方式として記憶部に登録し、受信部により受信した操作データが第２操作を示す場合には、操作装置の操作方式を第２操作方式として記憶部に登録する登録部と、受信部により受信した操作データに対して、記憶部に登録された操作方式に基づく処理を実行する処理部とを含む。【選択図】図１８
2018081552.tif 000002
【特許請求の範囲】
【請求項１】
操作装置と通信可能な情報処理装置であって、
前記操作装置に対するユーザ操作を示す操作データを受信する受信部と、
第１アプリケーションが実行されている場合に、前記受信部により受信した操作データに基づいて第１情報処理を行う第１モードと、前記操作データに基づいて第２情報処理を行う第２モードとのいずれかを設定するモード設定部と、
前記第１アプリケーションの実行から第２アプリケーションの実行に移行するアプリケーション処理部とを備え、
前記モード設定部は、前記第２アプリケーションの実行に移行した場合に、前記モード設定部により設定されたモードを維持し、所定条件を満たした場合には、前記モード設定部により設定された一方のモードから他方のモードに設定する、情報処理装置。
【請求項２】
前記第１情報処理は、前記操作データに基づく所定処理であり、
前記第２情報処理は、前記操作データを変換操作データに変換し、変換した変換操作データに基づく所定処理である、請求項１記載の情報処理装置。
【請求項３】
前記第１モードで第１操作を示す第１操作データと、前記第２モードで第２操作を示す第２操作データを変換した変換操作データとは同じ操作データである、請求項２記載の情報処理装置。
【請求項４】
前記アプリケーション処理部は、前記受信部により受信した操作データに基づいて、前記第１アプリケーションの実行から前記第２アプリケーションの実行に移行する、請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
前記所定条件は、ユーザの所定操作に相当する、請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
前記第２アプリケーションの実行からスリープモードに移行するスリープ制御部をさらに備え、
前記所定条件は、前記スリープモードから復帰した場合である、請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項７】
起動時に前記アプリケーション処理部は、前記第２アプリケーションを実行し、
前記モード設定部は、前記起動時に前記第１モードに設定する、請求項１〜６のいずれか１項に記載の情報処理装置。
【請求項８】
前記第２アプリケーションは、複数の前記第１アプリケーションを選択的に実行することが可能なメニュー画面を表示するアプリケーションプログラムである、請求項１〜７のいずれか１項に記載の情報処理装置。
【請求項９】
前記モード設定部は、前記情報処理装置本体に予め格納されているシステムアプリケーションを実行することにより実現され、
前記第１アプリケーションは、前記システムアプリケーションの実行を指示する、請求項１〜８のいずれか１項に記載の情報処理装置。
【請求項１０】
操作装置と通信可能な情報処理装置の制御方法であって、
前記操作装置に対するユーザ操作を示す操作データを受信するステップと、
第１アプリケーションが実行されている場合に、受信した操作データに基づいて第１情報処理を行う第１モードと、前記操作データに基づいて第２情報処理を行う第２モードとのいずれかを設定するステップと、
前記第１アプリケーションの実行から第２アプリケーションの実行に移行するステップと、
前記第２アプリケーションの実行に移行した場合に、所定条件を満たした場合に、設定された一方のモードから他方のモードに設定するステップとを備える、情報処理装置の制御方法。
【請求項１１】
操作装置と通信可能な情報処理装置のコンピュータにおいて実行される情報処理プログラムであって、
前記コンピュータを、前記情報処理プログラムにより、
前記操作装置に対するユーザ操作を示す操作データを受信する受信部と、
第１アプリケーションが実行されている場合に、前記受信部により受信した操作データに基づいて第１情報処理を行う第１モードと、前記操作データに基づいて第２情報処理を行う第２モードとのいずれかを設定するモード設定部と、
前記第１アプリケーションの実行から第２アプリケーションの実行に移行するアプリケーション処理部として機能させ、
前記モード設定部は、前記第２アプリケーションの実行に移行した場合に、前記モード設定部により設定されたモードを維持し、所定条件を満たした場合には、前記モード設定部により設定された一方のモードから他方のモードに設定する、情報処理プログラム。
【請求項１２】
操作装置および当該操作装置と通信可能な情報処理装置を含む情報処理システムであって、
前記操作装置は、
操作部と、
前記操作部に対するユーザ操作を示す操作データを前記情報処理装置に送信する送信部とを備え、
前記情報処理装置は、
前記操作装置から送信された操作データを受信する受信部と、
第１アプリケーションが実行されている場合に、前記受信部により受信した操作データに基づいて第１情報処理を行う第１モードと、前記操作データに基づいて第２情報処理を行う第２モードとのいずれかを設定するモード設定部と、
前記第１アプリケーションの実行から第２アプリケーションの実行に移行するアプリケーション処理部とを備え、
前記モード設定部は、前記第２アプリケーションの実行に移行した場合に、前記モード設定部により設定されたモードを維持し、所定条件を満たした場合には、前記モード設定部により設定された一方のモードから他方のモードに設定する、情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、情報処理装置の制御方法、情報処理プログラムおよび情報処理システムに関し、特に情報処理装置の操作処理に関する。
【背景技術】
【０００２】
従来の情報処理装置の一例であるゲーム装置が特許文献１に開示される。
特許文献１に開示されるゲーム装置には、ポインティングデバイスにより所定領域内の座標が取得されたか否かに応じて、コントローラの持ち方に応じた処理を切り替える方式が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−３０１０３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一方で、上記文献に記載された方式では、場面によっては、ユーザの意図を反映させた通りの切り替え処理が行なわれない可能性があり、ユーザビリティを向上させることについて改善の余地がある。
【０００５】
本開示は、上記の課題を解決するためのものであって、ユーザビリティを向上させることが可能な情報処理装置、情報処理装置の制御方法、情報処理プログラムおよび情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
ある局面に従う操作装置と通信可能な情報処理装置であって、操作装置に対するユーザ操作を示す操作データを受信する受信部と、第１アプリケーションが実行されている場合に、受信部により受信した操作データに基づいて第１情報処理を行う第１モードと、操作データに基づいて第２情報処理を行う第２モードとのいずれかを設定するモード設定部と、第１アプリケーションの実行から第２アプリケーションの実行に移行するアプリケーション処理部とを備える。モード設定部は、第２アプリケーションの実行に移行した場合に、モード設定部により設定されたモードを維持し、所定条件を満たした場合には、モード設定部により設定された一方のモードから他方のモードに設定する。
【０００７】
モード設定部は、第２アプリケーションの実行に移行した場合に、モード設定部により設定されたモードを維持する。したがって、アプリケーションが変更された場合であってもモードを継続することが可能であり、ユーザビリティを向上させることが可能である。
【０００８】
好ましくは、第１情報処理は、操作データに基づく所定処理であり、第２情報処理は、操作データを変換操作データに変換し、変換した変換操作データに基づく所定処理であってもよい。
【０００９】
したがって、第１情報処理および第２情報処理で所定処理の共通の処理が実行されるため独立の処理を実行する必要がなく、簡易に処理を実現することが可能である。
【００１０】
好ましくは、第１モードで第１操作を示す第１操作データと、第２モードで第２操作を示す第２操作データを変換した変換操作データとは同じ操作データであってもよい。
【００１１】
第２操作データを変換操作データに変換することにより第１操作データと同じにすることが可能であるため所定処理を変更する必要がなく、簡易に処理を実現することが可能である。
【００１２】
好ましくは、アプリケーション処理部は、受信部により受信した操作データに基づいて、第１アプリケーションの実行から第２アプリケーションの実行に移行してもよい。
【００１３】
好ましくは、所定条件は、ユーザの所定操作に相当してもよい。
ユーザの所定操作によりモードの設定を変更することが可能であるため、ユーザビリティを向上させることが可能である。
【００１４】
好ましくは、第２アプリケーションの実行からスリープモードに移行するスリープ制御部をさらに備えてもよい。所定条件は、スリープモードから復帰した場合であってもよい。
【００１５】
スリープモードから復帰した場合に、モードの設定を変更することが可能であり、ユーザビリティを向上させることが可能である。
【００１６】
好ましくは、起動時にアプリケーション処理部は、第２アプリケーションを実行してもよい。モード設定部は、起動時に第１モードに設定してもよい。
【００１７】
起動時に、モードの設定を変更することが可能であり、ユーザビリティを向上させることが可能である。
【００１８】
好ましくは、第２アプリケーションは、複数の第１アプリケーションを選択的に実行することが可能なメニュー画面を表示するアプリケーションプログラムであってもよい。
【００１９】
メニュー画面を表示する場合にモードを継続することが可能であり、ユーザビリティを向上させることが可能である。
【００２０】
好ましくは、モード設定部は、情報処理装置本体に予め格納されているシステムアプリケーションを実行することにより実現されてもよい。第１アプリケーションは、システムアプリケーションの実行を指示してもよい。
【００２１】
第１アプリケーションは、システムアプリケーションの実行を指示することによりモード設定部を実現することが可能である。したがって、第１アプリケーション内でもモードの設定が可能であり、ユーザビリティが向上する。
【００２２】
ある局面に従う操作装置と通信可能な情報処理装置の制御方法であって、操作装置に対するユーザ操作を示す操作データを受信するステップと、第１アプリケーションが実行されている場合に、受信した操作データに基づいて第１情報処理を行う第１モードと、操作データに基づいて第２情報処理を行う第２モードとのいずれかを設定するステップと、第１アプリケーションの実行から第２アプリケーションの実行に移行するステップと、第２アプリケーションの実行に移行した場合に、所定条件を満たした場合に、設定された一方のモードから他方のモードに設定するステップとを備える。
【００２３】
第２アプリケーションの実行に移行した場合に、所定条件を満たした場合に、設定された一方のモードから他方のモードに設定される。したがって、所定条件が満たされない場合には、設定されたモードが維持される。したがって、アプリケーションが変更された場合であってもモードを継続することが可能であり、ユーザビリティを向上させることが可能である。
【００２４】
ある局面に従う操作装置と通信可能な情報処理装置のコンピュータにおいて実行される情報処理プログラムであって、コンピュータを、情報処理プログラムにより、操作装置に対するユーザ操作を示す操作データを受信する受信部と、第１アプリケーションが実行されている場合に、受信部により受信した操作データに基づいて第１情報処理を行う第１モードと、操作データに基づいて第２情報処理を行う第２モードとのいずれかを設定するモード設定部と、第１アプリケーションの実行から第２アプリケーションの実行に移行するアプリケーション処理部として機能させる。モード設定部は、第２アプリケーションの実行に移行した場合に、モード設定部により設定されたモードを維持し、所定条件を満たした場合には、モード設定部により設定された一方のモードから他方のモードに設定する。
【００２５】
モード設定部は、第２アプリケーションの実行に移行した場合に、モード設定部により設定されたモードを維持する。したがって、アプリケーションが変更された場合であってもモードを継続することが可能であり、ユーザビリティを向上させることが可能である。
【００２６】
ある局面に従う操作装置および当該操作装置と通信可能な情報処理装置を含む情報処理システムであって、操作装置は、操作部と、操作部に対するユーザ操作を示す操作データを前記情報処理装置に送信する送信部とを備える。情報処理装置は、操作装置から送信された操作データを受信する受信部と、第１アプリケーションが実行されている場合に、前記受信部により受信した操作データに基づいて第１情報処理を行う第１モードと、前記操作データに基づいて第２情報処理を行う第２モードとのいずれかを設定するモード設定部と、第１アプリケーションの実行から第２アプリケーションの実行に移行するアプリケーション処理部とを備える。モード設定部は、前記第２アプリケーションの実行に移行した場合に、前記モード設定部により設定されたモードを維持し、所定条件を満たした場合には、前記モード設定部により設定された一方のモードから他方のモードに設定する。
【００２７】
第２アプリケーションの実行に移行した場合に、所定条件を満たした場合に、設定された一方のモードから他方のモードに設定される。したがって、所定条件が満たされない場合には、設定されたモードが維持される。したがって、アプリケーションが変更された場合であってもモードを継続することが可能であり、ユーザビリティを向上させることが可能である。
【発明の効果】
【００２８】
本開示の情報処理装置、情報処理装置の制御方法および情報処理プログラムは、ユーザビリティを向上させることが可能である。
【図面の簡単な説明】
【００２９】
【図１】本実施形態に従うゲーム装置１の外観を示す模式図である。
【図２】本実施形態に従うゲーム装置１の別態様の外観を示す模式図である。
【図３】本実施形態に従う本体装置２を示す六面図である。
【図４】本実施形態に従う左コントローラ３を示す六面図である。
【図５】本実施形態に従う右コントローラ４を示す六面図である。
【図６】本実施形態に従うゲーム装置１をクレードルとともに使用する場合の外観を示す模式図である。
【図７】本実施形態に従う本体装置２の内部構成を示すブロック図である。
【図８】本実施形態に従う左コントローラ３および右コントローラ４の内部構成を示すブロック図である。
【図９】左コントローラ３および右コントローラ４を本体装置２に装着した状態におけるゲーム装置１の使用態様の一例を示す図である。
【図１０】左コントローラ３および右コントローラ４を本体装置２から外した状態におけるゲーム装置１の使用態様の一例を示す図である。
【図１１】離脱状態において、２人のユーザが１つずつコントローラを把持してゲーム装置１を利用する様子の一例を示す図である。
【図１２】本体装置２をクレードル５に装着した状態でのゲーム装置１の使用態様の一例を示す図である。
【図１３】３つ以上のコントローラを用いる場合における利用態様の一例を示す図である。
【図１４】実施形態に基づく付属コントローラ４０１の外観を示す図である。
【図１５】実施形態に基づくゲーム装置１によって実行されるコントローラ登録画面を説明する一例図である。
【図１６】実施形態に基づく登録情報の一例を説明する図である。
【図１７】実施形態に基づく本体装置２の機能ブロック構成について説明する図である。
【図１８】実施形態に基づく本体装置２において実行されるコントローラ登録処理の流れの一例を説明するフロー図である。
【図１９】実施形態に基づくコントローラから本体装置２に送信される操作データを説明する図である。
【図２０】実施形態に基づくゲーム装置１によって実行されるゲーム処理を説明する一例図である。
【図２１】実施形態に基づくゲーム処理に係る処理手順を示すフロー図である。
【図２２】実施形態に基づくゲーム装置１によって実行されるメニュー画面を説明する一例図である。
【図２３】実施形態に基づくゲーム装置１によって実行されるメニュー画面における処理を説明するフロー図である。
【図２４】実施形態に基づくゲーム装置１によって実行されるモード制御処理を説明するフロー図である。
【図２５】実施形態に基づく登録情報の操作方式リセット処理による更新を説明する図である。
【発明を実施するための形態】
【００３０】
この実施形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００３１】
［Ａ．情報処理システム］
本実施形態に従う情報処理システムに係る装置構成について説明する。本実施形態に従う情報処理システムは、少なくとも以下に説明する情報処理装置によって構成される。
【００３２】
例えば、情報処理装置は、携帯型ゲーム装置、携帯電話、あるいはスマートフォン等といった、携帯型（可搬型とも言う）の装置であってもよいし、パーソナルコンピュータや家庭用ゲーム機等といった据置型の装置であってもよいし、業務用のアーケードゲーム装置のような大型の装置であってもよい。本例においては、一例として情報処理装置の一例としてゲーム装置について説明する。また、本例においては、操作装置の一例としてゲーム装置に対して設けられたゲームコントローラについて説明するが、特にゲームコントローラに限られず、情報処理装置に対して操作データを送信することが可能な入力デバイスであればどのような操作装置であっても良い。
【００３３】
（ａ１：ゲーム装置の全体構成）
図１は、本実施形態に従うゲーム装置１の外観を示す模式図である。
【００３４】
図１に示すように、ゲーム装置１は、本体装置２と、左コントローラ３と、右コントローラ４とを含む。本体装置２は、表示部の一例としてのディスプレイ１２を有しており、ゲーム装置１でのゲーム処理を含む各種処理を実行する。
【００３５】
図２は、本実施形態に従うゲーム装置１の別態様の外観を示す模式図である。
図２に示すように、左コントローラ３および右コントローラ４は、本体装置２から分離可能に構成されてもよい。このとき、左コントローラ３および右コントローラ４を一体的に構成してもよいし、左コントローラ３および右コントローラ４をそれぞれ分離した装置として構成してもよい。このように、操作部に相当する左コントローラ３および右コントローラ４は、本体装置２とは分離して構成されてもよい。
【００３６】
左コントローラ３は、本体装置２の左側（図１に示すｘ軸正方向側）に装着することができる。右コントローラ４は、本体装置２の右側（図１に示すｘ軸負方向側）に装着することができる。なお、以下の説明において、左コントローラ３および右コントローラ４を「コントローラ」と総称することがある。以下、本体装置２、左コントローラ３および右コントローラ４のより具体的な構成例について説明する。
【００３７】
（ａ２：本体装置の構造）
図３は、本実施形態に従う本体装置２を示す六面図である。
【００３８】
図３を参照して、本体装置２は、略板状のハウジング１１を有している。
ハウジング１１の主面（すなわち、おもて側の面、あるいは、ディスプレイ１２が設けられる面）は、大略的には矩形形状になっている。ハウジング１１は、横長の形状を有しており、以下の説明においては、その主面の長手方向（すなわち、図１に示すｘ軸方向）を横方向（あるいは、左右方向）と称し、その主面の短手方向（すなわち、図１に示すｙ軸方向）を縦方向（あるいは、上下方向）と称する。ハウジング１１の主面に垂直な方向（すなわち、図１に示すｚ軸方向）を奥行き方向（あるいは、前後方向）と称する。
【００３９】
但し、本体装置２は、ユーザが把持したときにその主面が横長になる向きで使用することも可能であるし、その主面が縦長になる向きで使用することも可能である。したがって、横方向および縦方向といった名称付けは、説明の便宜上のものである。
【００４０】
ハウジング１１の形状および大きさは任意に設計できる。例えば、別の実施形態として、ハウジング１１に対して、ユーザが把持しやすくするための突起部やグリップ部を付加するようにしてもよい。
【００４１】
（１）ハウジング１１の主面上に設けられる部材
図１〜３に示すように、本体装置２のハウジング１１の主面には、ディスプレイ１２が設けられる。ディスプレイ１２は、本体装置２が取得または生成した画像（静止画であってもよいし、動画像であってもよい）を表示する。ゲーム処理が実行される場合、ディスプレイ１２は、仮想空間および仮想空間内のオブジェクトを表示する。典型的には、ディスプレイ１２は、液晶表示装置（ＬＣＤ）で構成されるが、任意の種類の表示装置を採用できる。
【００４２】
ディスプレイ１２の画面上にはタッチパネル１３が設けられる。典型的には、タッチパネル１３は、マルチタッチ入力が可能な方式（例えば、静電容量方式）のデバイスが採用される。但し、タッチパネル１３としては、例えば、シングルタッチ入力が可能な方式（例えば、抵抗膜方式）のデバイスといった、任意の種類のデバイスを採用できる。
【００４３】
本体装置２のハウジング１１の主面には、スピーカ孔１１ａおよび１１ｂが形成されており、ハウジング１１の内部に配置されるスピーカ（図７に示すスピーカ８８）から発生された音がスピーカ孔１１ａおよび１１ｂから出力される。
【００４４】
本体装置２には２つのスピーカが設けられており、左スピーカおよび右スピーカのそれぞれの位置に対応付けてスピーカ孔１１ａおよび１１ｂが形成されている。すなわち、スピーカ孔１１ａは、左スピーカに対応付けてディスプレイ１２の左側に形成され、スピーカ孔１１ｂは、右スピーカに対応付けてディスプレイ１２の右側に形成される。
【００４５】
なお、スピーカ孔１１ａおよび１１ｂの位置、形状、および数は任意に設計できる。例えば、別の実施形態として、スピーカ孔１１ａおよび１１ｂをハウジング１１の側面または背面に形成してもよい。
【００４６】
（２）ハウジング１１の左側面に設けられる部材
ハウジング１１の左側面には、左コントローラ３を本体装置２に着脱可能に装着するための部材である左レール部材１５が設けられる。左レール部材１５は、ハウジング１１の左側面において、上下方向に沿って延びる。左レール部材１５は、左コントローラ３のスライダ（図４に示すスライダ４０）と係合可能な形状を有している。左レール部材１５とスライダ４０とによってスライド機構が形成される。このようなスライド機構によって、左コントローラ３を本体装置２に対してスライド可能かつ着脱可能に装着することができる。
【００４７】
ハウジング１１の左側面には、左側端子１７が設けられる。左側端子１７は、本体装置２と左コントローラ３との間で有線通信を行なうための端子である。左側端子１７は、左コントローラ３が本体装置２に装着された場合に、左コントローラ３の端子（図４に示す端子４２）と接触する位置に設けられる。左側端子１７は、左コントローラ３が本体装置２に装着された状態で、本体装置２の左側端子と左コントローラ３の端子とが接する任意の位置に配置すればよい。一例として、図３に示すように、左側端子１７は左レール部材１５の下側端部付近に設けられる。
【００４８】
（３）ハウジング１１の右側面に設けられる部材
図３に示すように、ハウジング１１の右側面には、左側面に設けられる構成と同様の構成が設けられる。すなわち、ハウジング１１の右側面には、右コントローラ４を本体装置２に着脱可能に装着するための部材である右レール部材１９が設けられる。右レール部材１９は、ハウジング１１の右側面において、上下方向に沿って延びる。右レール部材１９は、右コントローラ４のスライダ（図５に示すスライダ６２）と係合可能な形状を有している。右レール部材１９とスライダ６２とによってスライド機構が形成される。このようなスライド機構によって、右コントローラ４を本体装置２に対してスライド可能かつ着脱可能に装着することができる。
【００４９】
右レール部材１９は、左レール部材１５と同様の形状を有している。すなわち、右レール部材１９は、左レール部材１５と同様の断面形状となる溝を有する形状である。但し、右レール部材１９は、左レール部材１５と全く同じ形状である必要はない。例えば、別の実施形態として、左レール部材１５の溝と右レール部材１９の溝との間で大きさおよび／または形状を異ならせることで、右コントローラ４のスライダ６２が左レール部材１５に係合できないように、および／または、左コントローラ３のスライダ４０が右レール部材１９に係合できないように構成してもよい。
【００５０】
ハウジング１１の右側面には、右側端子２１が設けられる。右側端子２１は、本体装置２が右コントローラ４との間で有線通信を行なうための端子である。右側端子２１は、右コントローラ４が本体装置２に装着された場合に、右コントローラ４の端子（図５に示す端子６４）と接触する位置に設けられる。右側端子２１は、右コントローラ４が本体装置２に装着された状態で、本体装置２の右側端子と右コントローラ４の端子とが接する任意の位置に配置すればよい。一例として、図３に示すように、右側端子２１は右レール部材１９の下側端部付近に設けられる。
【００５１】
上述したように、本実施形態に従う本体装置２のハウジング１１には、コントローラを装着するための左レール部材１５および右レール部材１９が設けられる。左レール部材１５および右レール部材１９の位置、形状、および大きさは任意に設計できる。例えば、別の実施形態として、左レール部材１５および右レール部材１９を、ハウジング１１の主面および／または裏面における左右の端部にそれぞれ設けてもよい。本体装置２とコントローラとを着脱可能に装着するための機構は任意の構成を採用でき、図１〜３に示すスライダ機構とは異なるスライダ機構を採用してもよいし、スライダ機構とは異なる機構を採用してもよい。例えば、本体装置側に設けた凸部とコントローラ側に設けた凹部とを嵌合することで装着するように構成してもよいし、本体装置側もしくはコントローラ側に磁石を設け、他方に磁性体で構成される部分を設けて、両者を吸着させることで装着するように構成してもよい。
【００５２】
（４）ハウジング１１の上側面に設けられる部材
図３に示すように、ハウジング１１の上側面には、第１の種類の記憶媒体を装着するための第１スロット２３が設けられる。典型的な構成として、第１スロット２３の開口部には開閉可能な蓋部が設けられており、蓋部を開けた状態において、第１スロット２３に第１の種類の記憶媒体を挿入することができる。第１の種類の記憶媒体は、例えば、ゲーム装置１およびそれと同種のゲーム装置に専用設計された記憶媒体（例えば、専用メモリカード）である。第１の種類の記憶媒体は、例えば、本体装置２で利用されるデータ（例えば、アプリケーションのセーブデータ等）、および／または、本体装置２で実行されるプログラム（例えば、アプリケーションのプログラム等）を格納するために用いられる。
【００５３】
ハウジング１１の上側面には、本体装置２の電源のオン／オフを切り替えるための電源ボタン２８が設けられる。本実施形態においては、電源ボタン２８は、オンモードとスリープモードとを切り替えるためにも用いられる。
【００５４】
オンモードは、例えば、ディスプレイ１２の画面表示が行なわれるモードであり、スリープモードは、例えば、ディスプレイ１２の画面表示が休止されるモードである。スリープモードにおいては、ディスプレイ１２の画面表示が休止されるとともに、またはそれに代えて、実行中のアプリケーションにおける処理（例えば、ゲームアプリケーションにおけるゲーム処理）が休止されるようにしてもよい。
【００５５】
電源ボタン２８に対して長押し操作が行なわれた場合（例えば、電源ボタン２８が所定時間以上押下し続けられた場合）、本体装置２の電源のオン／オフを切り替える処理が実行される。一方、電源ボタン２８に対して短押し操作が行なわれた場合（例えば、電源ボタン２８が上記所定時間よりも短い時間だけ押下された場合）、オンモードとスリープモードとを切り替える処理が実行される。
【００５６】
上述したように、本実施形態に従う本体装置２の電源ボタン２８は、電源のオン／オフの切り替え、および／または、オンモードとスリープモードとの切り替えに用いられる。別の実施形態として、電源ボタン２８がいずれか一方の切り替えのみを実行するようにしてもよい。この場合、他方の切り替えを行なう別のボタンが本体装置２に設けられてもよい。
【００５７】
ハウジング１１の上側面には、音声入出力端子２５（具体的には、イヤホンジャック）が設けられる。音声入出力端子２５には、マイクやイヤホンを装着することができる。
【００５８】
（５）ハウジング１１の下側面に設けられる部材
図３に示すように、ハウジング１１の下側面には、本体装置２が後述するクレードル５との間で有線通信を行なうための下側端子２７が設けられる。下側端子２７は、本体装置２がクレードル５に装着された場合に、クレードル５の端子と接触する位置に設けられる。典型的には、下側端子２７として、ＵＳＢ（Universal Serial Bus）コネクタ（より具体的には、メス側コネクタ）を採用できる。
【００５９】
ハウジング１１の下側面には、第１の種類とは異なる第２の種類の記憶媒体を装着するための第２スロット２４が設けられる。なお、第２スロット２４は、第１スロット２３と同じ面に設けられてもよい。典型的な構成として、第２スロット２４の開口部には開閉可能な蓋部が設けられており、蓋部を開けた状態において、第２スロット２４に第２の種類の記憶媒体を挿入することができる。第２の種類の記憶媒体は、例えば、汎用の記憶媒体（例えば、ＳＤカード）であってもよい。第２の種類の記憶媒体は、例えば、第１の種類の記憶媒体と同様、本体装置２で利用されるデータ（例えば、アプリケーションのセーブデータ等）、および／または、本体装置２で実行されるプログラム（例えば、アプリケーションのプログラム等）を格納するために用いられる。
【００６０】
上述したハウジング１１に設けられる各構成要素（具体的には、ボタン、スロット、端子等）の位置、形状、および数は任意に設計できる。例えば、別の実施形態として、電源ボタン２８、第１スロット２３、第２スロット２４のうちのいくつかについては、ハウジング１１の他の側面または背面に設けてもよい。また、上記構成要素のうちいくつかを省略した構成を採用してもよい。
【００６１】
（ａ３：左コントローラの構造）
図４は、本実施形態に従う左コントローラ３を示す六面図である。
【００６２】
図４を参照して、左コントローラ３は、略板状のハウジング３１を有している。ハウジング３１の主面（すなわち、おもて側の面、あるいは、図１に示すｚ軸負方向側の面）は、大略的には矩形形状になっている。ハウジング３１は、縦長の形状、すなわち上下方向（すなわち、図１に示すｙ軸方向）に長い形状を有している。
【００６３】
左コントローラ３は、本体装置２から外された状態において、ユーザが把持したときにその主面が縦長となる向きで使用することも可能であるし、その主面が横長となる向きで使用することも可能である。
【００６４】
ハウジング３１の形状および大きさは任意に設計できる。別の実施形態として、ハウジング３１を略板状以外の形状に構成してもよい。ハウジング３１についても、矩形形状でなくてもよく、例えば、半円状等の形状を採用してもよい。さらに、ハウジング３１は、縦長の形状でなくてもよい。
【００６５】
ハウジング３１の上下方向の長さは、本体装置２に係るハウジング１１の上下方向の長さと略同じであることが好ましい。ハウジング３１の厚さ（すなわち、前後方向の長さ、あるいは、図１に示すｚ軸方向の長さ）は、本体装置２のハウジング１１の厚さと略同じであることが好ましい。したがって、左コントローラ３が本体装置２に装着された場合（図１参照）には、ユーザは、本体装置２と左コントローラ３とを一体の装置のような感覚で把持することができる。
【００６６】
ハウジング３１の主面は、左側の角部分が、右側の角部分よりも丸みを帯びた形状になっている。すなわち、ハウジング３１の上側面と左側面との接続部分、および、ハウジング３１の下側面と左側面との接続部分は、その上側面と右側面との接続部分、および、その下側面と右側面との接続部分に比べて、丸くなっている（すなわち、面取りにおけるＲが大きい）。したがって、左コントローラ３が本体装置２に装着された場合（図１参照）には、ゲーム装置１の左側が丸みを帯びた形状となるので、ユーザにとって持ちやすい形状となる。
【００６７】
左コントローラ３には、アナログスティック３２が設けられる。図４に示すように、アナログスティック３２は、ハウジング３１の主面に設けられる。アナログスティック３２は、方向を入力することが可能な方向指示部の一例である。アナログスティック３２は、ハウジング３１の主面に平行な全方向（すなわち、上下左右および斜め方向を含む、３６０°の方向）に傾倒可能なスティック部材を有する。ユーザは、スティック部材を傾倒することによって傾倒方向に応じた方向の入力が可能なアナログ入力デバイスである。アナログスティック３２はさらに、スティック部材を傾倒するときに、傾倒方向に応じた方向の入力に加えて、傾倒した角度に応じた大きさの入力が可能なように構成してもよい。また、方向指示部は、スライドスティック等であってもよい。スライドスティックは、ハウジング３１の主面に平行な全方向にスライド可能なスティック部材を有する入力部であり、ユーザは、スティック部材をスライドすることによってスライド方向に応じた入力が可能である。スライドスティックはさらに、スライド量に応じた大きさの入力が可能なようにも構成できる。また、方向指示部は、ボタンの押下操作によって方向を指示する入力部として構成してもよい。例えば、方向指示部は、十字キーまたは上下左右に対応した４つのボタンによって方向を指示する入力部として構成してもよい。また、本実施形態においては、スティック部材を（ハウジング３１に垂直な方向に）押下する入力が可能である。すなわち、本実施形態におけるアナログスティック３２は、スティック部材の傾倒方向および傾倒量に応じた方向および大きさの入力と、スティック部材に対する押下入力とを行なうことが可能な入力部である。
【００６８】
左コントローラ３には、４つの操作ボタン３３〜３６（具体的には、右方向ボタン３３、下方向ボタン３４、上方向ボタン３５、および、左方向ボタン３６）が設けられる。図４に示すように、これら４つの操作ボタン３３〜３６は、ハウジング３１の主面においてアナログスティック３２の下側に設けられる。本実施形態においては、左コントローラ３の主面に設けられる操作ボタンを４つとするが、操作ボタンの数は任意である。これらの操作ボタン３３〜３６は、本体装置２で実行される各種プログラム（例えば、ＯＳプログラムやアプリケーションプログラム）に応じた指示を行なうために用いられる。なお、本実施形態においては、操作ボタン３３〜３６は方向入力を行なうために用いられてもよいことから、説明の便宜上、操作ボタン３３〜３６を、右方向ボタン３３、下方向ボタン３４、上方向ボタン３５、および、左方向ボタン３６とも称する。但し、操作ボタン３３〜３６は、方向入力以外の指示を行なうために用いられてもよい。
【００６９】
左コントローラ３の主面に設けられる操作部（具体的には、アナログスティック３２および操作ボタン３３〜３６）は、左コントローラ３が本体装置２に装着される場合、ゲーム装置１を把持するユーザの例えば左手の親指によって操作される（図９参照）。また、左コントローラ３が本体装置２から外された状態で使用される場合、操作部は、左コントローラ３を把持するユーザの例えば左の手の親指で操作される（図１０参照）。
【００７０】
左コントローラ３には、第１Ｌボタン３８およびＺＬボタン３９が設けられる。これらの操作ボタン３８および３９は、上述の操作ボタン３３〜３６と同様、本体装置２で実行される各種プログラムに応じた指示を行なうために用いられる。図４に示すように、第１Ｌボタン３８は、ハウジング３１の側面のうち左上部分に設けられる。ＺＬボタン３９は、ハウジング３１の側面から裏面にかけての左上部分（厳密には、ハウジング３１を表側から見たときの左上部分）に設けられる。つまり、ＺＬボタン３９は、第１Ｌボタン３８の後側（図１に示すｚ軸正方向側）に設けられる。本実施形態においては、ハウジング３１の左上部分が丸みを帯びた形状であるので、第１Ｌボタン３８およびＺＬボタン３９は、ハウジング３１の当該左上部分の丸みに応じた丸みを帯びた形状を有する。
【００７１】
左コントローラ３が本体装置２に装着される場合、第１Ｌボタン３８およびＺＬボタン３９は、ゲーム装置１における左上部分に配置されることになる（図１参照）。したがって、ゲーム装置１を把持するユーザは、左手の人差し指や中指で第１Ｌボタン３８およびＺＬボタン３９を操作することができる。
【００７２】
左コントローラ３は、上述したスライダ４０を有している。図４に示すように、スライダ４０は、ハウジング３１の右側面において、上下方向に沿って延びる。スライダ４０は、本体装置２の左レール部材１５（より具体的には、左レール部材１５の溝）と係合可能な形状を有している。具体的には、スライダ４０の断面（具体的には、上下方向に対して垂直な断面）は、凸型の形状を有する。より具体的には、スライダ４０の断面は、左レール部材１５の断面形状に応じたＴ字形状を有している。したがって、左レール部材１５に係合したスライダ４０は、スライド方向（すなわち、左レール部材１５が延びる方向）に垂直な向きに関しては固定されて外れないようになっている。
【００７３】
また、左コントローラ３は、第２Ｌボタン４３および第２Ｒボタン４４を備える。これらのボタン４３および４４は、他の操作ボタン３３〜３６と同様、本体装置２で実行される各種プログラムに応じた指示を行うために用いられる。図４に示すように、第２Ｌボタン４３および第２Ｒボタン４４は、スライダ４０の装着面に設けられる。第２Ｌボタン４３は、スライダ４０の装着面において、上下方向（図１に示すｙ軸方向）に関する中央よりも上側に設けられる。第２Ｒボタン４４は、スライダ４０の装着面において、上下方向に関する中央よりも下側に設けられる。第２Ｌボタン４３および第２Ｒボタン４４は、左コントローラ３が本体装置２に装着されている状態では押下することができない位置に配置されている。つまり、第２Ｌボタン４３および第２Ｒボタン４４は、左コントローラ３を本体装置２から外した場合において用いられるボタンである。第２Ｌボタン４３および第２Ｒボタン４４は、例えば、本体装置２から外された左コントローラ３を把持するユーザの左右の手の人差し指または中指で操作される。
【００７４】
左コントローラ３は、通知用ＬＥＤ４５を備える。通知用ＬＥＤ４５は、ユーザに対して所定の情報を通知するための通知部である。通知用ＬＥＤ４５によって通知される情報は任意である。本実施形態においては、通知用ＬＥＤ４５は、本体装置２が複数のコントローラと通信を行う場合には、各コントローラを識別する情報をユーザに示す。具体的には、左コントローラ３は、通知用ＬＥＤ４５として、本体装置２が同時に通信可能な左コントローラの数（ここでは、４つ）のＬＥＤを備える。そして、４つのＬＥＤのうち、そのコントローラに付された番号に応じたＬＥＤが点灯する。これによれば、通知用ＬＥＤ４５によって上記番号をユーザに通知することが可能となる。
【００７５】
他の実施形態においては、通知用ＬＥＤ４５は、左コントローラ３と本体装置２との通信に関する状態をユーザに通知しても良い。たとえば、本体装置２との通信が確立している場合に通知用ＬＥ４５が点灯しても良い。また、本実施形態においては、通知用ＬＥＤ４５として機能するＬＥＤ（換言すれば発光部）の数を４つとしているが、当該ＬＥＤの個数は任意である。
【００７６】
本実施形態においては、通知用ＬＥＤ４５は、図に示すように、スライダ４０の装着面に設けられる。したがって、通知用ＬＥＤ４５は、左コントローラ３が本体装置２に装着されている状態では、見えない位置に配置されている。つまり、通知用ＬＥＤ４５は、左コントローラ３を本体装置２から外した場合において用いられる。
【００７７】
なお、本実施形態において、スライダ４０の装着面に設けられるボタン（具体的には、第２Ｌボタン４３、第２Ｒボタン４４）は、当該装着面に対して突出しないように設けられる。すなわち、上記ボタンの上面（換言すれば押下面）は、スライダ４０の装着面と同じ面に配置されるか、あるいは、装着面よりも凹んだ位置に配置される。これによれば、スライダ４０が本体装置２の左レール部材１５に装着された状態において、スライダ４０を左レール部材１５に対してスムーズにスライドさせることができる。
【００７８】
（ａ４：右コントローラの構造）
図５は、本実施形態に従う右コントローラ４を示す六面図である。
【００７９】
図５を参照して、右コントローラ４は、略板状のハウジング５１を有している。ハウジング５１の主面（すなわち、おもて側の面、あるいは、図１に示すｚ軸負方向側の面）は、大略的には矩形形状になっている。ハウジング５１は、縦長の形状、すなわち、上下方向に長い形状を有している。
【００８０】
右コントローラ４は、本体装置２から外された状態において、ユーザが把持したときにその主面が縦長となる向きで使用されることも可能であるし、その主面が横長となる向きで使用することも可能である。
【００８１】
右コントローラ４のハウジング５１は、左コントローラ３のハウジング３１と同様、その上下方向の長さは、本体装置２に係るハウジング１１の上下方向の長さと略同じであることが好ましく、その厚さは、本体装置２のハウジング１１の厚さと略同じであることが好ましい。したがって、右コントローラ４が本体装置２に装着された場合（図１参照）には、ユーザは、本体装置２と右コントローラ４とを一体の装置のような感覚で把持することができる。
【００８２】
ハウジング５１の主面は、右側の角部分が、左側の角部分よりも丸みを帯びた形状になっている。すなわち、ハウジング５１の上側面と右側面との接続部分、および、ハウジング５１の下側面と右側面との接続部分は、その上側面と左側面との接続部分、および、その下側面と左側面との接続部分に比べて、丸くなっている（すなわち、面取りにおけるＲが大きい）。したがって、右コントローラ４が本体装置２に装着された場合（図１参照）には、ゲーム装置１の右側が丸みを帯びた形状となるので、ユーザにとって持ちやすい形状となる。
【００８３】
右コントローラ４には、左コントローラ３と同様、方向指示部としてアナログスティック５２が設けられる。アナログスティック５２は、左コントローラ３のアナログスティック３２と実質的に同じ構成である。また、右コントローラ４には、左コントローラ３と同様、４つの操作ボタン５３〜５６（具体的には、Ａボタン５３、Ｂボタン５４、Ｘボタン５５、および、Ｙボタン５６）が設けられる。これら４つの操作ボタン５３〜５６は、左コントローラ３の４つの操作ボタン３３〜３６と実質的に同じ機構である。図５に示すように、これらアナログスティック５２および操作ボタン５３〜５６は、ハウジング５１の主面に設けられる。本実施形態においては、右コントローラ４の主面に設けられる操作ボタンを４つとするが、操作ボタンの数は任意である。
【００８４】
右コントローラ４における２種類の操作部（アナログスティック５２および操作ボタン）の位置関係は、左コントローラ３におけるこれら２種類の操作部の位置関係とは反対になっている。すなわち、右コントローラ４においては、アナログスティック５２は操作ボタン５３〜５６の上方に配置されるのに対して、左コントローラ３においては、アナログスティック３２は操作ボタン３３〜３６の下方に配置される。このような配置によって、２つのコントローラを本体装置２から外して使用する場合に、両コントローラを互いに似たような操作感覚で使用することができる。
【００８５】
右コントローラ４の主面に設けられる操作部（具体的には、アナログスティック５２および操作ボタン５３〜５６）は、右コントローラ４が本体装置２に装着される場合、ゲーム装置１を把持するユーザの例えば右手の親指によって操作される（図９参照）。また、右コントローラ４が本体装置２から外された状態で使用される場合、操作部は、右コントローラ４を把持するユーザの例えば右の手の親指で操作される。
【００８６】
右コントローラ４には、第１Ｒボタン６０およびＺＲボタン６１が設けられる。図５に示すように、第１Ｒボタン６０は、ハウジング５１の側面のうちの右上部分に設けられる。ＺＲボタン６１は、ハウジング５１の側面から裏面にかけての右上部分（厳密には、ハウジング５１を表側から見たときの右上部分）に設けられる。つまり、ＺＲボタン６１は、第１Ｒボタン６０の後側（図１に示すｚ軸正方向側）に設けられる。本実施形態においては、ハウジング５１の右上部分が丸みを帯びた形状であるので、第１Ｒボタン６０およびＺＲボタン６１は、ハウジング５１の当該右上部分の丸みに応じた丸みを帯びた形状を有する。
【００８７】
右コントローラ４が本体装置２に装着される場合、第１Ｒボタン６０およびＺＲボタン６１は、ゲーム装置１における右上部分に配置されることになる（図１参照）。したがって、ゲーム装置１を把持するユーザは、右手の人差し指や中指で第１Ｒボタン６０およびＺＲボタン６１を操作することができる。
【００８８】
本実施形態においては、第１Ｌボタン３８の形状と第１Ｒボタン６０の形状とは左右対称にはならず、ＺＬボタン３９の形状とＺＲボタン６１の形状とは左右対称の形状にはなっていない。但し、別の実施形態として、第１Ｌボタン３８の形状と第１Ｒボタン６０の形状とを左右対称にしてもよく、ＺＬボタン３９の形状とＺＲボタン６１の形状とを左右対称にしてもよい。
【００８９】
右コントローラ４は、右コントローラ４が本体装置２と有線通信を行なうための端子６４を有している。端子６４は、右コントローラ４が本体装置２に装着された場合に、本体装置２の右側端子２１（図３）と接触する位置に設けられる。右コントローラ４が本体装置２に装着された状態で、本体装置２と右コントローラ４とが接触する任意の位置に端子６４を配置すればよい。一例として、図５に示すように、端子６４はスライダ６２の装着面における下側の端部付近に設けられる。
【００９０】
左コントローラ３のハウジング３１および／または右コントローラ４のハウジング５１に設けられる各構成要素（具体的には、スライダ、スティック、ボタン、およびＬＥＤ等）の位置、形状、および数は任意に設計できる。例えば、別の実施形態として、コントローラは、アナログスティックとは別の種類の方向指示部が設けられていてもよい。また、スライダ４０または６２は、本体装置２に設けられる左レール部材１５および右レール部材１９の位置に応じた位置に配置されてよく、例えば、ハウジング３１または５１の主面または裏面に配置されてもよい。また、上記構成要素のうちいくつかを省略した構成を採用してもよい。
【００９１】
また、右コントローラ４は、左コントローラ３と同様、第２Ｌボタン６５および第２Ｒボタン６６を備える。これらのボタン６５および６６は、他の操作ボタン５３〜５６と同様、本体装置２で実行される各種プログラムに応じた指示を行うために用いられる。図５に示すように、第２Ｌボタン６５および第２Ｒボタン６６は、スライダ６２の装着面に設けられる。第２Ｌボタン６５は、スライダ６２の装着面において、上下方向（図１に示すｙ軸方向）に関する中央よりも上側に設けられる。第２Ｒボタン６６は、スライダ６２の装着面において、上下方向に関する中央よりも下側に設けられる。第２Ｌボタン６５および第２Ｒボタン６６は、右コントローラ４が本体装置２に装着されている状態では押下することができない位置に配置されている。つまり、第２Ｌボタン６５および第２Ｒボタン６６は、右コントローラ４を本体装置２から外した場合において用いられるボタンである。第２Ｌボタン６５および第２Ｒボタン６６は、例えば、本体装置２から外された右コントローラ４を把持するユーザの左右の手の人差し指または中指で操作される。
【００９２】
右コントローラ４は、通知用ＬＥＤ６７を備える。通知用ＬＥＤ６７は、左コントローラ３の通知用ＬＥＤ４５と同様、ユーザに対して所定の情報を通知するための通知部である。また、右コントローラ４は、通知用ＬＥＤ６７として、左コントローラ３と同様に、４つのＬＥＤを備える。４つのＬＥＤのうち、そのコントローラに付された番号に応じたＬＥＤが点灯する。これによれば、通知用ＬＥＤ４５によって上記番号をユーザに通知することが可能となる。
【００９３】
本実施形態においては、通知用ＬＥＤ６７は、図に示すように、通知用ＬＥＤ４５と同様にスライダ６２の装着面に設けられる。したがって、通知用ＬＥＤ６７は、右コントローラ４が本体装置２に装着されている状態では、見えない位置に配置されている。つまり、通知用ＬＥＤ６７は、右コントローラ４を本体装置２から外した場合において用いられる。
【００９４】
なお、本実施形態において、右コントローラ４においても、左コントローラ３と同様に、スライダ６２の装着面に設けられるボタン（具体的には、第２Ｌボタン６５、第２Ｒボタン６６）は、当該装着面に対して突出しないように設けられる。すなわち、上記ボタンの上面（換言すれば押下面）は、スライダ６２の装着面と同じ面に配置されるか、あるいは、装着面よりも凹んだ位置に配置される。これによれば、スライダ６２が本体装置２の右レール部材１９に装着された状態において、スライダ６２を右レール部材１９に対してスムーズにスライドさせることができる。
【００９５】
（ａ５：クレードルの利用）
図６は、本実施形態に従うゲーム装置１をクレードルとともに使用する場合の外観を示す模式図である。図６に示すゲームシステムは、ゲーム装置１およびクレードル５を含む。
【００９６】
クレードル５は、ゲーム装置１を載置可能に構成されるとともに、ゲーム装置１のディスプレイ１２とは別体の外部表示装置の一例であるテレビ６と通信可能に構成される。ゲーム装置１をクレードル５に載置した場合、ゲーム装置１が取得または生成した画像をテレビ６に表示することができる。クレードル５とテレビ６との間の通信は、有線通信であってもよいし、無線通信であってもよい。
【００９７】
クレードル５は、載置されたゲーム装置１を充電する機能と、通信ハブ装置（例えば、ＵＳＢハブ）の機能を有するようにしてもよい。
【００９８】
［Ｂ．各装置の内部構成］
次に、まず、本実施形態に従う情報処理システムに係る各装置の内部構成について説明する。
【００９９】
（ｂ１：本体装置の内部構成）
図７は、本実施形態に従う本体装置２の内部構成を示すブロック図である。
【０１００】
本体装置２は、図７に示す構成要素を有している。図７に示す構成要素は、例えば、電子部品として電子回路基板上に実装されてハウジング１１内に収納される。
【０１０１】
本体装置２は、ゲーム処理を含めて各種処理を実行する情報処理部（あるいは、プロセッサ）に相当するＣＰＵ（Central Processing Unit）８１を有している。ＣＰＵ８１は、アクセス可能な記憶部（具体的には、フラッシュメモリ８４等の内部記憶媒体、または、第１スロット２３もしくは第２スロット２４に装着される外部記憶媒体等）に格納されるプログラムを読み出して実行する。
【０１０２】
本体装置２は、内蔵される内部記憶媒体の一例として、フラッシュメモリ８４およびＤＲＡＭ（Dynamic Random Access Memory）８５を有している。フラッシュメモリ８４は、主に、本体装置２に保存される各種のデータ（プログラムであってもよい）を格納する不揮発性記メモリである。ＤＲＡＭ８５は、情報処理において用いられる各種のデータを一時的に記憶する揮発性メモリである。
【０１０３】
本体装置２は、第１スロットインターフェイス（Ｉ／Ｆ）９１および第２スロットインターフェイス９２を有している。第１スロットインターフェイスは、第１スロット２３に接続され、ＣＰＵ８１の指示に応じて、第１スロット２３に装着された第１の種類の記憶媒体（例えば、ＳＤカード）に対するデータの読み出しおよび書込みを行なう。第２スロットインターフェイス９２は、第２スロット２４に接続され、ＣＰＵ８１の指示に応じて、第２スロット２４に装着された第２の種類の記憶媒体（例えば、専用メモリカード）に対するデータの読み出しおよび書込みを行なう。
【０１０４】
本体装置２は、ネットワークを介して外部の装置と通信（具体的には、無線通信）を行なうためのネットワーク通信部８２を有している。例えば、ネットワーク通信部８２は、Ｗｉ−Ｆｉの認証を受けた通信モジュールが用いられ、無線ＬＡＮを介して外部装置と通信を行なう。別の実施形態として、本体装置２は、無線ＬＡＮに接続して通信を行なう機能に加えて（または、それに代えて）、モバイル通信網（すなわち、携帯電話通信網）に接続して通信を行なう機能を有していてもよい。
【０１０５】
本体装置２は、左コントローラ３および／または右コントローラ４と無線通信を行なうためのコントローラ通信部８３を有している。本体装置２と各コントローラとの通信方式は任意であるが、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に従った通信方式を採用できる。
【０１０６】
ＣＰＵ８１は、左側端子１７、右側端子２１、および下側端子２７に接続される。ＣＰＵ８１は、左コントローラ３と有線通信を行なう場合、左側端子１７を介して左コントローラ３と間でデータを送受信する。また、ＣＰＵ８１は、右コントローラ４と有線通信を行なう場合、右側端子２１を介して右コントローラ４と間でデータを送受信する。ＣＰＵ８１が左コントローラ３や右コントローラ４に送信するデータは、例えば、左コントローラ３や右コントローラ４の振動発生部を制御するためのデータである。ＣＰＵ８１が左コントローラ３や右コントローラ４から受信するデータは、例えば、ユーザが左コントローラ３や右コントローラ４の操作部を操作することに応じて出力される操作データである。ＣＰＵ８１は、クレードル５と通信を行なう場合、下側端子２７を介してクレードル５へデータを送信する。
【０１０７】
本実施形態においては、本体装置２は、左コントローラ３および右コントローラ４との間で、有線通信および無線通信の両方を行なうことができる。
【０１０８】
本体装置２は、タッチパネル１３の制御を行なうためのタッチパネルコントローラ８６を有している。タッチパネルコントローラ８６は、タッチパネル１３からの信号に応じて、タッチ入力が行なわれた位置を示すデータを生成してＣＰＵ８１へ出力する。
【０１０９】
ディスプレイ１２は、ＣＰＵ８１が各種処理の実行することで生成された画像、および／または、外部から取得した画像を表示する。
【０１１０】
本体装置２は、コーデック回路８７およびスピーカ８８（具体的には、左スピーカおよび右スピーカ）を有している。コーデック回路８７は、スピーカ８８および音声入出力端子２５に対する音声データの入出力を制御する。より具体的には、コーデック回路８７は、ＣＰＵ８１から音声データを受け取った場合、その音声データをＤ／Ａ変換して得られる音声信号をスピーカ８８または音声入出力端子２５へ出力する。これによって、スピーカ８８、あるいは、音声入出力端子２５に接続された音声出力部（例えばイヤホン）から音が出力される。コーデック回路８７は、音声入出力端子２５から音声信号を受け取った場合、音声信号をＡ／Ｄ変換して、所定の形式の音声データをＣＰＵ８１へ出力する。
【０１１１】
本体装置２は、加速度センサ８９および角速度センサ９０を有している。加速度センサ８９は、所定の３軸（例えば、図１に示すｘｙｚ軸）方向に沿った直線加速度の大きさを検出する。加速度センサ８９は、１軸方向あるいは２軸方向の加速度を検出するものであってもよい。角速度センサ９０は、所定の３軸（例えば、図１に示すｘｙｚ軸）回りの角速度を検出する。なお、角速度センサ９０は、１軸回りあるいは２軸回りの角速度を検出するものであってもよい。加速度センサ８９および角速度センサ９０の検出結果は、ＣＰＵ８１へ出力される。ＣＰＵ８１は、加速度センサ８９および角速度センサ９０の検出結果に基づいて、本体装置２の動きおよび／または姿勢に関する情報を算出することが可能である。
【０１１２】
本体装置２は、電力制御部９７およびバッテリ９８を有している。電力制御部９７は、ＣＰＵ８１からの指令に基づいて、バッテリ９８から各構成要素への電力供給を制御する。電力制御部９７は、電源ボタン２８に対する入力に応じて電力供給を制御する。すなわち、電力制御部９７は、電源ボタン２８に対して電源をオフする操作が行なわれた場合、電力供給の全部または一部を停止し、電源ボタン２８に対して電源をオンする操作が行なわれた場合、電力供給の全部を開始する。電力制御部９７は、電源ボタン２８に対してスリープモードに切り替える指示が行なわれた場合、ディスプレイ１２を含む一部の構成要素に対する電力供給を停止し、電源ボタン２８に対してオンモードに切り替える指示が行なわれた場合、電力供給を開始する。
【０１１３】
外部の充電装置（例えば、クレードル５）が下側端子２７に接続され、下側端子２７を介して本体装置２に電力が供給される場合、バッテリ９８はその供給される電力により充電される。なお、本体装置２のバッテリ９８の充電容量は、左コントローラ３および右コントローラ４が有しているバッテリよりも充電容量が大きいことが好ましい。
【０１１４】
（ｂ２：コントローラの内部構成）
図８は、本実施形態に従う左コントローラ３および右コントローラ４の内部構成を示すブロック図である。
【０１１５】
図８には、左コントローラ３および右コントローラ４に関連する本体装置２の構成要素についても描いている。
【０１１６】
左コントローラ３は、本体装置２との間で通信を行なうための通信制御部１０１を有している。通信制御部１０１は、端子４２を介した有線通信と、端子４２を介さない無線通信との両方で本体装置２と通信を行なうことが可能である。通信制御部１０１は、左コントローラ３が本体装置２に装着されているか否かに応じて有線通信を行うか、無線通信を行うかを選択して、選択した通信方法によって通信を行う。すなわち、左コントローラ３が本体装置２に装着されている場合、通信制御部１０１は、端子４２を介して本体装置２と通信を行なう。また、左コントローラ３が本体装置２から外されている場合、通信制御部１０１は、本体装置２（具体的には、コントローラ通信部８３）との間で無線通信を行なう。通信制御部は、本体装置との間で通信を行なうことができればよく、例えば、有線通信もしくは無線通信のどちらかのみを行なうように構成されてもよい。なお、左コントローラ３が本体装置２から外されている場合、一例として無線通信を行う場合について説明するが例えばケーブルを介して有線通信を行うようにしても良い。
【０１１７】
左コントローラ３は、例えば、フラッシュメモリ等のメモリ１０２を有している。上記通信制御部１０１は、例えば、マイクロプロセッサで構成され、メモリ１０２に記憶されるファームウェアを実行することによって各種の処理を実行する。
【０１１８】
左コントローラ３は、操作ボタン群１０３（具体的には、操作ボタン３３〜３６，３８，３９）およびアナログスティック３２を有している。操作ボタン群１０３およびアナログスティック３２に対して行なわれた操作に関する情報は、所定周期で通信制御部１０１へ繰り返し出力される。
【０１１９】
左コントローラ３は、加速度センサ１０４および角速度センサ１０５を有している。加速度センサ１０４は、所定の３軸（例えば、図１に示すｘｙｚ軸）方向に沿った直線加速度の大きさを検出する。加速度センサ１０４は、１軸方向あるいは２軸方向の加速度を検出するものであってもよい。角速度センサ１０５は、所定の３軸（例えば、図１に示すｘｙｚ軸）回りの角速度を検出する。なお、角速度センサ１０５は、１軸回りあるいは２軸回りの角速度を検出するものであってもよい。加速度センサ１０４および角速度センサ１０５の検出結果は、所定周期で通信制御部１０１へ繰り返し出力される。
【０１２０】
通信制御部１０１は、操作ボタン群１０３、アナログスティック３２、加速度センサ１０４、および、角速度センサ１０５の各々から入力に関する情報（例えば、ユーザ操作に関する情報、または、センサによる検出結果）を取得する。通信制御部１０１は、取得した情報（または、取得した情報に所定の加工を行った情報）を含むデータを本体装置２へ送信する。本体装置２へのデータ送信は、所定周期で繰り返し行なわれる。入力に関する情報が本体装置２へ送信される周期は、入力デバイス間で同じであってもよいし、そうでなくてもよい。
【０１２１】
本体装置２は、送信されるデータに基づいて、左コントローラ３に対して行なわれた入力を知ることができる。より具体的には、本体装置２は、操作ボタン群１０３およびアナログスティック３２に対する操作を判別することができる。また、本体装置２は、左コントローラ３の動きおよび／または姿勢に関する情報を算出することができる。
【０１２２】
左コントローラ３は、バッテリと電力制御回路とを含む電力供給部１０９を有している。電力供給部１０９は、左コントローラ３に各構成要素への電力供給を制御する。バッテリは、左コントローラ３が本体装置２に装着されている場合において、端子４２を介して本体装置２からの給電によって充電される。
【０１２３】
電力供給部１０９は、バッテリの電力がなくなった場合には電池警告情報を本体装置２に通知する。
【０１２４】
右コントローラ４は、基本的には、上述した左コントローラ３と同様の構成を有している。すなわち、右コントローラ４は、通信制御部１１１と、操作ボタン群１１３（具体的には、操作ボタン５３〜５６，６０，６１）と、アナログスティック５２と、加速度センサ１１４と、角速度センサ１１５と、電力供給部１１９とを有している。電力供給部１１９は、バッテリの電力がなくなくなった場合には電池警告情報を本体装置２に通知する。
【０１２５】
右コントローラ４のその他の構成要素については、左コントローラ３に関して説明した対応する構成要素と同様の構成および機能を有しているので、詳細な説明は繰り返さない。
【０１２６】
このように、本実施形態に従うゲーム装置１は、ユーザの左手（一方の手）で把持さる左コントローラ３（ユーザの左手で把持される部分）と、当該ユーザの右手（他方の手）で把持される右コントローラ４（ユーザの右手で把持される部分）とを含む。
【０１２７】
本明細書において、「操作部」は、ユーザ操作を受付ける機能または構成を意味し、本体装置２、左コントローラ３、および右コントローラ４等に配置される、ボタン、アナログスティック、各種センサなどの、ユーザの操作を検知できるものであればどのようなものも含み得る。操作部は、本体装置２、左コントローラ３、および右コントローラ４等に分けて配置されたボタン、アナログスティック、各種センサなどの組み合わせによってユーザの操作を検知できるように構成してもよい。
【０１２８】
［Ｃ．ゲームシステムの使用態様］
上述したように、本実施形態に従うゲーム装置１は、左コントローラ３および右コントローラ４が着脱可能に構成される。また、ゲーム装置１は、クレードル５に装着することによって、画像および音声をテレビ６に出力できる。したがって、以下に説明するような種々の使用態様でゲーム装置１を使用できる。以下では、ゲーム装置１の主たる使用態様について例示する。
【０１２９】
（ｃ１：コントローラを本体装置に装着して使用する態様）
図９は、左コントローラ３および右コントローラ４を本体装置２に装着した状態（以下、「装着状態」とも称す。）におけるゲーム装置１の使用態様の一例を示す図である。
【０１３０】
図９に示すように、装着状態においては、ゲーム装置１を携帯機器として使用できる。
装着状態においては、基本的には、本体装置２と左コントローラ３および右コントローラ４との間の通信は、有線通信によって行なわれる。別の実施形態として、装着状態においても、本体装置２と左コントローラ３および右コントローラ４との間の通信を無線通信によって行なうようにしてもよい。
【０１３１】
装着状態においては、左コントローラ３の４つの操作ボタン３３〜３６は、方向入力（すなわち、方向指示）を行なうために用いられてもよい。このとき、ユーザは、アナログスティック３２を用いて方向入力を行なうことも可能であるし、操作ボタン３３〜３６を用いて方向入力を行なうことも可能である。ユーザは、好みに合った操作手段を用いて方向入力を行なうことができるので、操作性を向上することができる。但し、操作ボタン３３〜３６がどのような指示に用いられるかについては、本体装置２において実行されるプログラムによって任意に決められてよい。
【０１３２】
本実施形態においては、左コントローラ３と右コントローラ４との間で、アナログスティックと４つの操作ボタン（すなわち、Ａ、Ｂ、Ｘ、Ｙボタン）との配置が逆になっている。装着状態においては、左コントローラ３においてはアナログスティック３２が４つの操作ボタン３３〜３６よりも上側に配置されるのに対して、右コントローラ４においては４つの操作ボタン５３〜５６がアナログスティック５２よりも上側に配置される。したがって、図９に示すように、ユーザが両手を同じ高さにして（すなわち、上下方向に関して同じ位置にして）ゲーム装置１を把持した場合、一方の手についてはアナログスティックが操作しやすい位置となり、他方の手については４つの操作ボタンが操作しやすい位置となる。このように、本実施形態に従うゲーム装置１は、アナログスティックおよび４つの操作ボタンを操作しやすい構成を提供する。
【０１３３】
（ｃ２：一組のコントローラを本体装置から外して使用する態様）
図１０は、左コントローラ３および右コントローラ４を本体装置２から外した状態（以下、「離脱状態」とも称す。）におけるゲーム装置１の使用態様の一例を示す図である。
【０１３４】
図１０に示すように、離脱状態においては、ユーザは、左コントローラ３および右コントローラ４をそれぞれ左手および右手にそれぞれ持って操作することができる。
【０１３５】
この場合、左コントローラ３のアナログスティック３２と、４つの操作ボタン３３〜３６とは、把持する左手内で縦方向に配置された状態で操作される。
【０１３６】
同様に、右コントローラ４のアナログスティック５２と、４つの操作ボタン５３〜５６とは、把持する右手内で縦方向に配置された状態で操作される。
【０１３７】
すなわち、ユーザが把持したときにその主面が縦長となる向きで使用される（縦持ち操作とも称する）。
【０１３８】
離脱状態においては、基本的には、本体装置２と左コントローラ３および右コントローラ４との間の通信は、無線通信によって行なわれる。本体装置２は、無線通信を確立した（典型的には、ペアリングを行なった）コントローラからデータを受信して、受信したデータに基づいてゲーム処理を実行する。
【０１３９】
本実施形態においては、無線通信の場合、本体装置２は、通信相手となる左コントローラ３および右コントローラ４を区別する。すなわち、本体装置２は、コントローラから受信されたデータが左コントローラ３からのものであるか、右コントローラ４からのものであるかを識別する。
【０１４０】
図１０には、一組のコントローラ（左コントローラおよび右コントローラ）を１人のユーザが使用する態様を例示するが、二人のユーザがコントローラを１個ずつ使用するという態様も可能である。この場合、一組のコントローラ（左コントローラおよび右コントロラ）で２人のユーザが同時にゲームに参加できる。
【０１４１】
図１０には、左コントローラ３および右コントローラ４の両方を本体装置２から外した状態を例示するが、これに限らず、左コントローラ３および右コントローラ４のいずれか一方を本体装置２から外し、他方を本体装置２に装着した状態で、ゲーム装置１を使用することも可能である。
【０１４２】
（ｃ３：２人のユーザが１つずつコントローラを使用する態様）
図１１は、離脱状態において、２人のユーザが１つずつコントローラを把持してゲーム装置１を利用する様子の一例を示す図である。
【０１４３】
図１１に示すように、離脱状態においては、２人のユーザが操作を行うことが可能である。具体的には、一方のユーザ（「第１のユーザ」と呼ぶ）が左コントローラ３を用いて操作を行うとともに、他方のユーザ（「第２のユーザ」と呼ぶ）が右コントローラ４を用いて操作を行うことが可能である。ゲーム装置１は、例えば、左コントローラ３に対する操作に基づいて仮想空間における第１のオブジェクト（例えばプレイヤキャラクタ）の動作を制御し、右コントローラ４に対する操作に基づいて仮想空間における第２のオブジェクトの動作を制御する情報処理を実行する。なお、図１１に示す態様においても図１０に示す態様と同様、ユーザは、コントローラが備える操作部に対する操作、および／または、コントローラ自体を動かす操作が可能である。
【０１４４】
この場合、第１のユーザが用いる左コントローラ３のアナログスティック３２と、４つの操作ボタン３３〜３６とは、把持する左手および右手の間で横方向に配置された状態で操作される。
【０１４５】
同様に、第２のユーザが用いる右コントローラ４のアナログスティック５２と、４つの操作ボタン５３〜５６とは、把持する左手および右手の間で横方向に配置された状態で操作される。
【０１４６】
すなわち、ユーザが把持したときにその主面が横長となる向きで使用される（横持ち操作とも称する）。
【０１４７】
後述するが、左コントローラ３および右コントローラ４の横持ち操作方式の場合には、縦持ち操作方式の場合から左コントローラ３および右コントローラ４の操作部の機能が変更される。
【０１４８】
また、本実施形態においては、右コントローラ４におけるアナログスティック５２と各操作ボタン５３〜５６との位置関係は、左コントローラ３におけるこれら２種類の操作部の位置関係とは反対になっている。したがって、例えば図１１に示すように、２人のユーザが左コントローラ３と右コントローラ４とを同じ向きで把持した場合、上記２種類の操作部の位置関係は、２つのコントローラで同じになる。つまり、本実施形態においては、ユーザは、上記２種類の操作部に関して、本体装置２から外した左コントローラ３と右コントローラ４とを同じような操作感覚で使用することができる。これによって、コントローラの操作性を向上することができる。
【０１４９】
また、離脱状態においては、左コントローラ３の４つの操作ボタン３３〜３６は、右コントローラ４の４つの操作ボタン５３〜５６と同じ機能として用いられてもよい（換言すれば、同じ指示を行うために用いられてもよい）。具体的には、右方向ボタン３３はＹボタン５６と同じ機能として用いられ、下方向ボタン３４はＸボタン５５と同じ機能として用いられ、上方向ボタン３５はＢボタン５４と同じ機能として用いられ、左方向ボタン３６はＡボタン５３と同じ機能として用いられてもよい。このように、本実施形態においては、装着状態と離脱状態とで、操作ボタン３３〜３６の機能が変更されてもよい。ただし、各操作ボタンがどのような指示に用いられるかは、本体装置２において実行されるプログラムによって自由に決められてよい。
【０１５０】
なお、図１１においては、ゲーム装置１は、本体装置２のディスプレイ１２の表示領域を２つに分割し、分割された一方の表示領域に第１のユーザのための画像（例えば、第１オブジェクトを含む画像）を表示し、分割された他方の表示領域に第２のユーザのための画像（例えば、第２オブジェクトを含む画像）を表示する。ただし、ゲーム装置１において実行されるアプリケーションによっては、ゲーム装置１は、ディスプレイ１２の表示領域を分割することなく、２人のユーザのための画像（例えば、第１オブジェクトおよび第２オブジェクトの両方を含む画像）を表示するようにしてもよい。
【０１５１】
また、図１１に示す態様においても図１０に示す態様と同様、本体装置２と左コントローラ３および右コントローラ４との通信は、無線通信によって行われる。このとき、本体装置２は、通信相手となるコントローラを区別する。
【０１５２】
（ｃ４：テレビを利用する態様）
図１２は、本体装置２をクレードル５に装着した状態でのゲーム装置１の使用態様の一例を示す図である。
【０１５３】
図１２に示すように、本体装置２をクレードル５に装着することで、ゲーム装置１が取得または生成した画像をテレビ６に表示することができる。ユーザは、テレビ６に表示される画像（および、必要に応じて、本体装置２のディスプレイに表示される画像）を見ながら、左コントローラ３および／または右コントローラ４を操作する。
【０１５４】
（ｃ５：３つ以上のコントローラを利用する態様）
上述のように、本実施形態においては、本体装置２は、複数の左コントローラと通信可能である。また、本体装置２は、複数の右コントローラと通信可能である。したがって、本実施形態においては、３つ以上のコントローラを同時に用いることが可能である。
【０１５５】
図１３は、３つ以上のコントローラを用いる場合における利用態様の一例を示す図である。
【０１５６】
図１３においては、２つの左コントローラ３ａおよび３ｂと、２つの右コントローラ４ａおよび４ｂという、合計４つのコントローラが用いられる場合を例示している。なお、ここでは、各コントローラは本体装置２から外されているものとする。このように４つのコントローラが用いられる場合、４人のユーザが１人につき１つのコントローラを利用する態様（図１３（ａ））と、２人のユーザが１人につき２つのコントローラ（具体的には、左右１組のコントローラ）を利用する態様（図１３（ｂ））とが少なくとも考えられる。
【０１５７】
（１人のユーザが１つのコントローラを利用する態様）
図１３（ａ）においては、４つのコントローラ３ａ，３ｂ，４ａ，および４ｂが、ユーザ１人につき１つ用いられる。つまり、本実施形態においては、４つのコントローラが用意される場合には、ユーザＡからユーザＤという４人のユーザがコントローラを用いて操作を行うことが可能である。ゲーム装置１は、例えば、各コントローラに対する操作に基づいて、そのコントローラに対応するオブジェクトの動作を制御する情報処理を実行する。
【０１５８】
図１３（ａ）において、本体装置２は、４つのコントローラ３ａ，３ｂ，４ａ，および４ｂとそれぞれ無線通信を行う。ここで、本実施形態において、本体装置２は、４つのコントローラ３ａ，３ｂ，４ａ，および４ｂを区別する。すなわち、本体装置２は、受信された操作データが４つのうちどのコントローラからのものであるかを識別する。なお、図１３（ａ）の場合においては、本体装置２は、左コントローラ３ａと左コントローラ３ｂとを区別し、また、右コントローラ４ａと右コントローラ４ｂとを区別する。
【０１５９】
（１人のユーザが１組のコントローラを利用する態様）
図１３（ｂ）においては、４つのコントローラ３ａ，３ｂ，４ａ，および４ｂが、ユーザ１人につき１組用いられる。すなわち、ユーザＡが左コントローラ３ａおよび右コントローラ４ａの１組のコントローラを用い、ユーザＢが左コントローラ３ｂおよび右コントローラ４ｂの１組のコントローラを用いる。このように、本実施形態においては、４つのコントローラが用意される場合には、２人のユーザがそれぞれ１組のコントローラ（コントローラのセットとも言える）を操作することが可能である。
【０１６０】
ゲーム装置１は、１組のコントローラから受信される２つの操作データを１組として、情報処理を実行する。例えば、ゲーム装置１は、１組のコントローラに対する操作に基づいて、当該１組のコントローラに対応するオブジェクトの動作を制御する情報処理を実行する。具体的には、左コントローラ３ａおよび右コントローラ４ａに対する操作に基づいて、第１のオブジェクトの動作が制御され、左コントローラ３ｂおよび右コントローラ４ｂに対する操作に基づいて、第２のオブジェクトの動作が制御される。
【０１６１】
ここで、本実施形態においては、図１３（ｂ）に示す利用態様において、本体装置２は、１人のユーザが利用する左コントローラと右コントローラとの組を設定する。本体装置２は、設定された組に含まれる２つのコントローラからの各操作データを、１組として用いて（例えば、１つの操作対象を制御するための操作データとして用いて）情報処理を実行する。
【０１６２】
コントローラの組を設定する方法はどのような方法であってもよいが、本実施形態においては、本体装置２に左右のコントローラを装着することによって組の設定を行う。すなわち、本体装置２は、同時に装着された左コントローラおよび右コントローラを、１組のコントローラとして設定する。例えば、図１３（ｂ）に示すコントローラの組を設定する場合、ユーザは、まず左コントローラ３ａおよび右コントローラ４ａを本体装置２に装着し、これらの２つの左コントローラ３ａおよび右コントローラ４ａを本体装置２から外した後、別の左コントローラ３ｂおよび右コントローラ４ｂを本体装置２に装着する。これによって、左コントローラ３ａおよび右コントローラ４ａの組と、左コントローラ３ｂおよび右コントローラ４ｂの組とを本体装置２において設定（登録とも言える）することができる。
【０１６３】
なお、３つ以上のコントローラを用いる場合には、図１３に示す利用態様の他にも、種々の態様で情報処理システムを利用することが可能である。例えば、あるユーザが左右のコントローラからなる１組のコントローラを用い、他のユーザが１つのコントローラを用いる態様で情報処理システムを利用することが可能である。また例えば、あるユーザが本体装置２に装着されたコントローラを用い、他のユーザが本体装置２から外されたコントローラを用いることも可能である。
【０１６４】
（ｃ６：その他の態様）
上述したような使用態様に加えて、ＨＭＤ（ヘッドマウントディスプレイ）型の表示装置を利用することもできる。
【０１６５】
（ｃ７：操作上の利点）
本実施形態においては、左コントローラおよび右コントローラが有している加速度センサおよび／または角速度センサの検出結果に基づいて、各コントローラの動きおよび／または姿勢に関する情報を算出できる。ゲーム装置１は、それぞれのコントローラ自体を動かすユーザ操作を入力として受付けることができる。ユーザは、それぞれのコントローラが有している操作部（操作ボタンおよびアナログスティック）に対するユーザ操作だけでなく、コントローラ自体を動かすユーザ操作を行なうことができる。つまり、本実施形態においては、ゲーム装置１は、携帯型機器でありながら、（ディスプレイを動かすことなく）コントローラを動かす操作をユーザに提供することができる。また、ゲーム装置１は、携帯型機器でありながら、ディスプレイ１２から離れた場所でユーザが操作を行なうことが可能なゲーム装置を提供することもできる。
【０１６６】
ゲーム装置１は、離脱状態に限らず装着状態においても、左コントローラおよび右コントローラが有している加速度センサおよび／または角速度センサの検出結果に基づいて、ゲーム装置１の動きおよび／または姿勢に関する情報を算出できる。また、ゲーム装置１は、装着状態において、本体装置２が有している加速度センサ８９および／または角速度センサ９０の検出結果に基づいて、ゲーム装置１の動きおよび／または姿勢に関する情報を算出することもできる。
【０１６７】
［Ｄ：付属コントローラ］
次に、付属コントローラ４０１について説明する。
【０１６８】
上記の左コントローラ３および右コントローラ４とは別に、ゲーム装置１の本体装置２と通信可能な付属コントローラ４０１を設けることも可能である。
【０１６９】
図１４は、実施形態に基づく付属コントローラ４０１の外観を示す図である。
図１４に示されるように、付属コントローラ４０１は、左右にグリップ部４００Ｌ、１４００Ｒ（以下、総称してグリップ部４００と呼ぶこともある）を備えるハウジング４０２と、ハウジング４０２の表面上に設けられた開口部から突出する２本のアナログスティック、および複数個の操作ボタン（後述）を含む操作部とから主に構成される。
【０１７０】
ハウジング４０２は、正面から見た場合にその左右方向を長手方向とした緩やかな略台形状となっており、その上辺側が少し凹んでおり、下辺側については上辺側よりも大きく凹んだような形状、換言すれば、上記グリップ部４００Ｌ、４００Ｒがそれぞれ底面側（コントローラを把持したときにおいて、プレイヤから見て手前側）に延びるような形状を有していてもよい。また、正面側はアナログスティックのある位置以外は概ね平面状に構成されていてもよい。
【０１７１】
アナログスティックのある位置は少し盛り上がっており、グリップ部４００Ｌ、４００Ｒは、正面から背面部に向けて緩やかなカーブを描くような形状に構成されていてもよい。なお、本実施例のハウジング４０２は、例えばプラスチック成型によって形成されていてもよい。
【０１７２】
ハウジング４０２の正面左端の上面側付近に、第１アナログスティック４１１（以下、左スティック）が設けられ、ハウジング４０２正面の右端下面側付近に第２アナログスティック４１２（以下、右スティック）が設けられる。より具体的には、グリップ部４００Ｌを把持する左手の親指で操作可能な位置（より好適には、グリップ部４００Ｌを把持する左手の親指が自然と位置するところ）に左スティック４１１が配され、グリップ部４００Ｒを把持する右手の親指で操作可能な位置に右スティック４１２が配される。左スティック４１１および右スティック４１２は、３６０度の任意の方向に傾けることが可能なスティックであり、任意の方向を指示するために用いられる。
【０１７３】
また、左スティック４１１および右スティック４１２は、それぞれ背面方向に押し込むことができ、プッシュボタンとしての役割も有する。左スティック４１１および右スティック４１２は、当該コントローラが接続される本体装置２が実行するプログラムに応じて機能する。
【０１７４】
このように、左スティック４１１と右スティック１１２の間隔が広くなっているため、両方を内側に倒すような操作であっても親指と親指の間隔が狭くならず、操作がしやすいものとなっている。
【０１７５】
ハウジング４０２の正面略中央位置よりも左側の位置であって、左スティック４１１よりも内側となる位置であり、かつ、グリップ部４００Ｌを把持した左手の親指で操作可能な位置に十字キー（方向キーと呼ばれることもある）４２１が設けられる。より具体的には、左スティック４１１の右下となる位置に十字キー４２１が設けられる。この十字キー４２１は、十字型の４方向プッシュスイッチであり、４つの方向（前後左右）に対応する操作部分が十字の突出片にそれぞれ９０°間隔で配置される。プレイヤが十字キー４２１のいずれかの操作部分を押下することによって前後左右いずれかの方向が選択される。なお、十字キー４２１は、当該コントローラが接続される本体装置２が実行するプログラムに応じて機能する。
【０１７６】
また、十字キー４２１の形状は、図示するような形状に限らず、４方向を入力可能な形状であればどのようなものでもよい。たとえば、丸型の台座に十字状の溝が盛り上がっているような形状のもの等であってもよいし、４つのキーが分離しているようなものであってもよい。
【０１７７】
また、ハウジング４０２の正面略中央より右側の位置であって、右スティック４１２よりも上側となる領域であり、かつ、グリップ部４００Ｒを把持した右手の親指で操作可能な領域に、操作ボタン４２２Ａ〜４２２Ｄ（以下、第１の操作ボタン群と呼ぶこともある）が上下左右の位置に十字状に配置される。より具体的には、右スティック４１２の左下に位置する領域に、操作ボタン４２２Ａ〜４２２Ｄが上下左右の位置に十字状に配置される。操作ボタン４２２Ａ〜４２２Ｄは、例えば、操作ボタン４２２Ａ〜４２２Ｄは決定操作やキャンセル操作等に用いられる。
【０１７８】
上記のように、十字キー４２１を左スティック４１１の右下の位置に配置することにより、左手の親指の付け根を支点とした親指の動きで十字キー４２１の位置に親指の腹が移動可能である。換言すれば、グリップ部４００Ｌを把持する姿勢を特に変化させることなく、親指をその付け根を支点に右方向に動かすだけで十字キー４２１の位置に親指の腹部分を移動させることができ、また、左方向に親指を動かすことで左スティック４１１の位置に親指を戻すことも可能である。つまり、左スティック４１１と十字キー４２１間の行き来がしやすくなり、操作性を向上させることができる。換言すれば、十字キー４２１を操作する際に、親指の先端（十字キーの位置）と親指の付け根の間にスティックが位置することでスティックが邪魔となり操作性が低下するようなことがない。
【０１７９】
同様に、右スティック４１２を第１の操作ボタン群（操作ボタン４２２Ａ〜４２２Ｄ）の左下の位置に配置することにより、右手親指の付け根を支点とした親指の動きだけで、右スティック４１２と第１の操作ボタン群との間で親指を移動させることが可能である。これにより、右スティック４１２と第１の操作ボタン群間の行き来がしやすくなり、操作性を向上させることができる。
【０１８０】
ハウジング４０２の上面左端部の正面側にはＬボタン４２５Ｌが、その下（背面側）にはＺＬボタンが設けられ、ハウジング４０２の上面右端部の正面側にはＲボタン４２５Ｒが、その下（背面側）にはＺＲボタンが配置される。Ｌボタン４２５Ｌは、グリップ部４００Ｌを把持する左手の人差し指が届く位置に配され、ＺＬボタンは、左手中指や薬指が届く位置に配置される。また、Ｒボタン４２５Ｒはグリップ部４００Ｒを把持する右手の人差し指が届く位置に配され、ＺＲボタンは右手中指や薬指が届く位置に配置される。Ｌボタン４２５Ｌ、Ｒボタン４２５Ｒ、ＺＬボタンおよびＺＲボタンは、上記情報処理装置が実行するプログラムに応じた機能が適宜割り当てられる。
【０１８１】
上記で説明した左コントローラ３および右コントローラ４に設けられた操作ボタンと同様の操作ボタンが付属コントローラ４０１にも設けられる。
【０１８２】
また、ハウジング４０２正面の底面側に、複数のインジケータが設けられる。具体的には、通知用ＬＥＤ４３１が設けられる。通知用ＬＥＤ４３１は、左コントローラの通知用ＬＥＤと同様、ユーザに対して所定の情報を通知するための通知部である。また、通知用ＬＥＤ４３１は、４つのＬＥＤを備える。４つのＬＥＤのうち、そのコントローラに割り当てられたプレイヤ番号に応じたＬＥＤが点灯する。これによれば、通知用ＬＥＤ４３１によって上記プレイヤ番号をユーザに通知することが可能となる。
【０１８３】
また、付属コントローラ４０１の内部構成については、図８で説明した左コントローラ３あるいは右コントローラ４の内部構成と基本的に同様であるのでその詳細な説明については繰り返さない。
【０１８４】
付属コントローラ４０１のメモリ内には、付属コントローラ４０１に対して固有に付される値（例えば、ＩＤ）である識別情報が格納されている。本体装置２は、当該識別情報により左コントローラ３あるいは右コントローラ４ではなく、付属コントローラであることを判定することが可能である。
【０１８５】
本例における付属コントローラ４０１は、左コントローラ３および右コントローラ４と異なり複数の操作方式の選択が可能には設けられていない。なお、他の実施形態としては複数の操作方式の選択を可能とするようにしても良い。
【０１８６】
［Ｅ：コントローラ登録処理］
図１５は、実施形態に基づくゲーム装置１によって実行されるコントローラ登録画面を説明する一例図である。
【０１８７】
図１５に示されるように、テレビ６に表示されたコントローラ登録画面において４人のプレイヤであるユーザＰＡ〜ＰＤがそれぞれ把持するコントローラを登録する場合が示されている。
【０１８８】
当該コントローラ登録画面は、ホームメニューからコントローラ登録を指示した場合に表示される画面の一例である。ホームメニューは、各種設定（コントローラ登録等）とともにゲームアプリを起動することが可能に設けられている。たとえば、ゲームアプリを起動するためのアイコンが設けられており、当該アイコンを選択することによりゲームアプリが起動する。また、コントローラを登録するためのアイコンも設けられており、当該アイコンを選択することによりコントローラ登録処理のアプリケーションが起動し、コントローラ登録画面が表示される。
【０１８９】
なお、各ゲームアプリからコントローラ登録を指示することも可能であり、その場合にはゲームアプリに応じて利用可能なコントローラの態様が表示される。例えば、左右コントローラのみを使い、付属コントローラを使用しないゲームアプリの場合には、付属コントローラの表示は行われない。各ゲームアプリからもコントローラ登録を指示することが可能であるためホームメニューに戻って設定処理する煩雑な手続きをする必要がなくユーザビリティを向上させることが可能である。
【０１９０】
図１５（Ａ）の本例のテレビ６には、メッセージとして「使いたいコントローラの「Ｌ」と「Ｒ」を押してください」が表示されている。本例においては、各ユーザは、各々が把持するコントローラを登録するにあたりＬボタンとＲボタンとを押下するように促される。
【０１９１】
当該押下に従う一連の処理により、各ユーザのコントローラに対してプレイヤ番号が登録される。また、複数の操作方式が可能なコントローラに関して、そのうちの１つの操作方式が設定される。
【０１９２】
なお、本例においては、複数の操作方式として、２本のコントローラの縦持ち操作方式と、１本のコントローラの横持ち操作方式とのいずれかに設定する場合について説明するが、例えば、操作方式の特定として、２本持ちか、１本持ちかによって、操作方式を特定しても良いし、あるいは、縦持ちか横持ちかによって操作方式を特定することも可能である。
【０１９３】
当該メッセージに従って、コントローラを登録することが可能である。
ここでは、コントローラが未登録の状態が示されている。コントローラの登録に従ってプレイヤ番号が割り当てられる。そして、プレイヤ番号に対応するＰ１〜Ｐ４の領域内において、割り当てられたプレイヤ番号に対応する登録されたコントローラの態様が模式化されて表示される。
【０１９４】
コントローラ登録画面の上部領域には、登録可能なコントローラの態様が示されている。左コントローラ３および右コントローラ４の２本のコントローラを登録する場合、付属コントローラ４０１を登録する場合、左コントローラ３あるいは右コントローラ４の１本のコントローラを登録する場合が示されている。
【０１９５】
また、２本のコントローラを登録する場合に、２本のコントローラのイメージ画像とともに、選択するボタン位置を示すために丸の画像が付加されて当該位置が強調表示されている。また、付属コントローラ４０１を登録する場合に、付属コントローラ４０１のイメージ画像とともに、選択するボタン位置を示すために丸の画像が付加されて当該位置が強調表示されている。また、２本のコントローラを２人で使えることも示されており、それぞれの１本のコントローラを登録する場合に、１本のコントローラのイメージ画像とともに、選択するボタン位置を示すために丸の画像が付加されて当該位置が強調表示されている。
【０１９６】
ユーザは、コントローラ登録画面において、コントローラのイメージ画像とともに、強調表示された丸の画像のボタン位置を確認することにより簡易な仕方でコントローラを登録することが可能である。
【０１９７】
一例として、ユーザＰＡは、左コントローラ３ａおよび右コントローラ４ａを把持している。ユーザＰＢは、付属コントローラ４０１を把持している。ユーザＰＣは、左コントローラ３ｂを把持している。ユーザＰＤは、右コントローラ４ｂを把持している。
【０１９８】
ユーザＰＡが２本のコントローラを登録する場合には、左コントローラ３ａに設けられた第１Ｌボタン３８と、右コントローラ４ａに設けられた第１Ｒボタン６０を押下する。
【０１９９】
ユーザＰＢが付属コントローラ４０１を登録する場合には、付属コントローラ４０１のＬボタン４２５ＬおよびＲボタン４２５Ｒを押下する。
【０２００】
また、ユーザＰＣが左コントローラ３ｂを用いた１本のコントローラを登録する場合には、左コントローラ３ｂに設けられた第２Ｌボタン４３と、第２Ｒボタン４４とを押下する。
【０２０１】
また、ユーザＰＤが右コントローラ４ｂを用いた１本のコントローラを登録する場合には、右コントローラ４ｂに設けられた第２Ｌボタン６５と、第２Ｒボタン６６とを押下する。
【０２０２】
ゲーム装置１は、各コントローラから送信される操作データを受信して、受信した操作データに基づき各コントローラに対してプレイヤ番号を割り当てるとともに、必要に応じて操作方式を登録情報に登録する。
【０２０３】
図１５（Ｂ）には、操作データに従ってコントローラが登録されている場合が示されている。
【０２０４】
具体的には、プレイヤ番号Ｐ１に割り当てられたコントローラとして、ユーザＰＡが把持する２本のコントローラのイメージ画像が示されている。
【０２０５】
また、プレイヤ番号Ｐ２に割り当てられたコントローラとして、ユーザＰＢが把持する付属コントローラのイメージ画像が示されている。
【０２０６】
また、プレイヤ番号Ｐ３に割り当てられたコントローラとして、ユーザＰＣが把持する１本のコントローラのイメージ画像が示されている。
【０２０７】
なお、プレイヤ番号Ｐ４は、未だ登録されていない場合の状態が示されている。
また、本例においては、未登録のプレイヤ番号Ｐ４の領域において、確認画像が表示される場合が示されている。確認画像の表示は、横持ちの操作方式を示すコントローラのイメージ画像と、縦持ちの操作方式を示すコントローラのイメージ画像が交互に表示される場合を指し示す。
【０２０８】
縦持ち操作方式が登録された２本のコントローラのイメージ画像および横持ち操作方式が登録された１本のコントローラのイメージ画像を表示することにより、コントローラの操作方法の態様が異なることが明確に表示されるためユーザビリティが向上する。また、当該イメージ画像とともに、縦持ち操作方式が登録されたコントローラのボタンの名称および機能をさらに表示することにより操作方法に関する情報を提示するようにしても良い。また、当該イメージ画像とともに、横持ち操作方式が登録されたコントローラのボタンの名称および機能をさらに表示することにより操作方法に関する情報を提示するようにしても良い。なお、本例においては、縦持ち操作方式として、２本のコントローラを用いた構成について説明するが、特に２本のコントローラに限られず１本のコントローラを用いた縦持ち操作方式とすることも可能である。
【０２０９】
図１６は、実施形態に基づく登録情報の一例を説明する図である。
図１６に示されるように、登録情報は、番号情報、識別情報、無線通信情報を関連付けた情報、プレイヤ番号および操作方式に関する情報である。番号情報は、登録されたコントローラに付される番号である。
【０２１０】
識別情報は、コントローラに対して固有に付される値（例えば、ＩＤ）を示す情報である。この識別情報によって、コントローラを一意に識別することができる。
【０２１１】
ここで、本実施形態においては、識別情報は、左コントローラであるか右コントローラであるかを示す情報を含む。つまり、本体装置２は、コントローラが左コントローラであるか右コントローラであるかを、当該コントローラに付された識別情報に基づいて判定することができる。なお、他の実施形態においては、識別情報は、左コントローラであるか右コントローラであるかを示す情報を含んでいなくてもよい。このとき、登録情報には、左コントローラであるか右コントローラであるかを示す情報が（識別情報とは別に）含まれていてもよい。
【０２１２】
無線通信情報は、本体装置２との無線通信に関する接続設定（すなわち、ペアリング）が済んでいるか否かを示す。すなわち、本体装置２とコントローラとのペアリングが完了している場合、当該コントローラに関する無線通信情報として「設定済」を示す情報が記憶される。一方、本体装置２とコントローラとのペアリングが完了していない場合、当該コントローラに関する無線通信情報として「未設定」を示す情報が記憶される。なお、本体装置２は、（登録情報とは別に）無線通信の接続設定に関する情報を記憶しておき、一度ペアリングを行ったコントローラについては再度ペアリングを行わなくてもよいようにしてもよい。
【０２１３】
プレイヤ番号は、アプリケーション等で操作するプレイヤを特定する識別情報である。コントローラにおける上述の通知用ＬＥＤは、この番号に基づく値を表すように制御される。当該プレイヤ番号は、一例としてプレイヤの登録順に割り当てるようにしても良いし、ランダムに割り当てるようにしても良い。
【０２１４】
操作方式に関する情報は、コントローラに対して複数の操作方式の選択が可能な場合に、選択された操作方式を指し示す情報である。本例における左コントローラ３および右コントローラ４は、図１０および図１１で説明したように複数の操作方式として縦持ち操作と横持ち操作とを選択することが可能である。
【０２１５】
なお、上記登録情報は、ユーザの指示に応じてその一部が削除されたり、変更されたりしてもよい。例えば、本体装置２は、ユーザの指示に応じて、指定されたコントローラに関する情報を削除してもよいし、コントローラに付された番号、プレイヤ番号、操作方式に関する情報を変更してもよい。
【０２１６】
次に、実施形態に基づく本体装置２の機能ブロック構成について説明する。
図１７は、実施形態に基づく本体装置２の機能ブロック構成について説明する図である。
【０２１７】
図１７を参照して、本体装置２のＣＰＵ８１がプログラムを実行することで、ゲーム実行処理モジュール３０２と、登録処理モジュール３０４と、メニュー画面表示処理モジュール３０６と、モード制御モジュール３０８と、通信制御モジュール３１０とが実現される。
【０２１８】
機能ブロックを構成するプログラムは、例えば、本体装置２のフラッシュメモリ８４または第１スロットに装着されるメモリカードから読み出され、ＤＲＡＭ８５に保存されて実行される。
【０２１９】
通信制御モジュール３１０は、コントローラとの間で必要に応じて通信処理を実行する。
【０２２０】
ゲーム実行処理モジュール３０２は、ゲーム処理等を制御するモジュールであり、ユーザ操作の内容に応じてディスプレイ１２等の表示内容を順次更新する。
【０２２１】
登録処理モジュール３０４は、無線設定処理において、コントローラとの間で無線通信のペアリング処理を実行してコントローラの識別情報等を取得し、登録情報を更新する。また、登録処理モジュール３０４は、コントローラ登録処理を実行して、フラッシュメモリの登録情報にプレイヤ番号を登録および更新する。また、登録処理モジュール３０４は、必要に応じてコントローラの操作方式を登録する。
【０２２２】
メニュー画面表示処理モジュール３０６は、メニュー画面等を制御するモジュールであり、ユーザ操作の内容に応じてゲーム処理の実行をゲーム実行処理モジュール３０２に指示する。また、ユーザ操作の内容に応じて登録処理モジュール３０４に対してコントローラ登録処理を実行するように指示する。
【０２２３】
モード制御モジュール３０８は、電源ボタン２８の操作指示に従って本体装置２に設けられているオンモードおよびスリープモードを切り替えるとともに、電源のオン／オフを切り替える。
【０２２４】
本例においては、ゲーム実行処理モジュール３０２は、ゲームのアプリケーションプログラムと本体装置２のシステムアプリケーションプログラムとが協働して実現するモジュールである。一方、他の登録処理モジュール３０４、メニュー画面表示処理モジュール３０６、モード制御モジュール３０８および通信制御モジュール３１０は、システムアプリケーションプログラムにより実現するモジュールである。
【０２２５】
図１８は、実施形態に基づく本体装置２において実行されるコントローラ登録処理の流れの一例を説明するフロー図である。
【０２２６】
なお、図１８に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて（または代えて）別の処理が実行されてもよい。また、本実施形態では、上記フローチャートの各ステップの処理を本体装置２のＣＰＵ８１が実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を、ＣＰＵ８１以外のプロセッサや専用回路が実行するようにしてもよい。また、本体装置２において実行される処理の一部は、本体装置２と通信可能な他の情報処理装置（例えば、本体装置２とネットワークを介して通信可能なサーバ）によって実行されてもよい。すなわち、図１８等に示す各処理は、本体装置２を含む複数の情報処理装置が協働することによって実行されてもよい。
【０２２７】
図１８を参照して、ＣＰＵ８１は、本体装置２とコントローラとの間で無線通信を行うための設定（ペアリングとも言う）を行う（ステップＳ２）。本実施形態においては、本体装置２は、コントローラとの間で無線通信に関する設定を行うための無線設定処理を実行する。
【０２２８】
ＣＰＵ８１は、コントローラとの無線通信によりペアリングが完了しているか否かを判定し、ペアリングが完了していれば次のステップに進む。
【０２２９】
一方、ＣＰＵ８１は、コントローラとの無線通信によりペアリングが完了していないと判定した場合には、必要な登録情報を記憶部に登録する。具体的には、当該コントローラについての番号情報、識別情報および無線通信情報を関連付けて登録情報に追加するように、記憶部に記憶される登録情報を更新する。番号情報としては、例えば、登録済みの他のコントローラに対して設定されていない番号を示す情報が設定される。また、コントローラに付された識別情報を設定する。また、ペアリングの完了により「設定済み」を示す情報が設定される。
【０２３０】
プレイヤ番号および操作方式については以降の処理で設定される。
次に、ＣＰＵ８１は、コントローラの登録指示が有ったか否かを判定する（ステップＳ４）。本実施形態においては、コントローラの登録指示は、本体装置２に対してコントローラから所定のコマンドが送信されたことに応じて実行される。一例として図示しないメニュー画面から当該コントローラ登録処理の項目をコントローラから選択することにより本体装置２は、当該コントローラ登録処理が実行される。
【０２３１】
まず、ＣＰＵ８１は、コントローラの登録指示が有ったと判定した場合（ステップＳ４においてＹＥＳ）には、コントローラ登録画面を表示する（ステップＳ２０）。一方、ＣＰＵ８１は、コントローラの登録指示があるまでステップＳ４の状態を維持する。
【０２３２】
登録処理モジュール３０４は、コントローラの登録指示が有った場合に、図１５（Ａ）で説明したようなコントローラ登録画面を表示する。
【０２３３】
次に、ＣＰＵ８１は、操作データを受信したか否かを判断する（ステップＳ２２）。具体的には、登録処理モジュール３０４は、通信制御モジュール３１０を介してコントローラから操作データを受信したか否かを判断する。
【０２３４】
ステップＳ２２において、ＣＰＵ８１は、操作データを受信しない場合（ステップＳ２２２においてＮＯ）には操作データを受信するまで待機し、操作データを受信したと判断した場合（ステップＳ２２においてＹＥＳ）には、操作データが付属コントローラの操作データであるか否かを判断する（ステップＳ２４）。具体的には、登録処理モジュール３０４は、受信した操作データの識別情報に基づいて付属コントローラであるか否かを判断する。
【０２３５】
ステップＳ２４において、ＣＰＵ８１は、操作データが付属コントローラの操作データでないと判断した場合（ステップＳ２４においてＮＯ）には、操作データが第２Ｌボタンおよび第２Ｒボタン操作データを有しているか否かを判断する（ステップＳ２６）。具体的には、登録処理モジュール３０４は、受信した操作データに第２Ｌボタンおよび第２Ｒボタン操作データが含まれているか否かを判断する。
【０２３６】
ステップＳ２６において、ＣＰＵ８１は、操作データが第２Ｌボタンおよび第２Ｒボタン操作データを有していると判断した場合（ステップＳ２６においてＹＥＳ）には、１本のコントローラに対してプレイヤ番号を登録する（ステップＳ２８）。具体的には、登録処理モジュール３０４は、登録情報にプレイヤ番号を登録する。プレイヤ登録の順番に従ってプレイヤ番号を登録する。先頭のプレイヤはＰ１、２番目のプレイヤはＰ２、以降同様の形式に従ってプレイヤ番号を登録する。
【０２３７】
次に、ＣＰＵ８１は、登録情報に横持ち操作方式を登録する（ステップＳ３０）。具体的には、登録処理モジュール３０４は、登録情報の操作方式の欄に横持ち操作方式であることを示す情報を登録する。
【０２３８】
図１９は、実施形態に基づくコントローラから本体装置２に送信される操作データを説明する図である。
【０２３９】
図１９（Ａ）には、一例としてコントローラ３ｂから送信された操作データ５００が示される。操作データ５００は、識別情報データ５０１と、第２Ｌボタン操作データ５０２と、第２Ｒボタン操作データ５０３とを含む。
【０２４０】
一例として、第２Ｌボタン操作データ５０２と第２Ｒボタン操作データ５０３は、ユーザＰＣが左コントローラ３ｂに設けられた第２Ｌボタン４３と、第２Ｒボタン４４との両方を押下した場合の操作データである。
【０２４１】
ここでは、コントローラ３ｂの操作データについて説明しているが、コントローラ４ｂの操作データについても基本的には同様であり、コントローラ４ｂの操作データの場合には、第２Ｌボタン操作データ５０２と第２Ｒボタン操作データ５０３は、ユーザＰＤが右コントローラ４ｂに設けられた第２Ｌボタン６５と、第２Ｒボタン６６との両方を押下した場合の操作データである。
【０２４２】
本体装置２は、操作データ５００に含まれる識別情報データ５０１に基づいてコントローラの種別を識別することが可能である。
【０２４３】
この場合、識別情報データ５０１に従って付属コントローラでないと判定された場合に、ＣＰＵ８１は、操作データ５００に第２Ｌボタンおよび第２Ｒボタン操作データが含まれているか否かを判定する。
【０２４４】
この場合、操作データ５００には、第２Ｌボタン操作データ５０２と、第２Ｒボタン操作データ５０３とに基づいて１本のコントローラを登録する。すなわち、プレイヤ番号を１つのコントローラに割り当てる。また、本体装置２は、登録情報の操作方式として横持ち操作を登録する。
【０２４５】
再び、図１８を参照して、次に、ＣＰＵ８１は、コントローラ登録画面を更新する（ステップＳ３２）。具体的には、登録処理モジュール３０４は、プレイヤ登録された順番に従って設定されたコントローラのイメージ画像を表示する。たとえば、３番目のプレイヤ番号が登録された場合には、コントローラ登録画面において左から３番目の領域に横持ちで操作する場合の左コントローラが表示される。また、インジケータ画像としてプレイヤ番号が３番目であることを示すインジケータ画像が表示される。なお、プレイヤ番号に対応して対応する左コントローラの通知用ＬＥＤを点灯させるようにしても良い。
【０２４６】
次に、ＣＰＵ８１は、コントローラ登録処理が終了したか否かを判断する（ステップＳ３４）。具体的には、登録処理モジュール３０４は、図１５で説明したコントローラ登録画面において、「Ａ」ボタンが選択された場合にコントローラ登録処理が終了したと判断される。
【０２４７】
ステップＳ３４において、ＣＰＵ８１は、コントローラ登録処理が終了したと判断した場合（ステップＳ３４においてＹＥＳ）には、処理を終了する（エンド）。
【０２４８】
一方、ＣＰＵ８１は、コントローラ登録処理が終了しないと判断した場合（ステップＳ３４においてＮＯ）には、ステップＳ２２に戻り上記処理を繰り返す。
【０２４９】
一方、ＣＰＵ８１は、ステップＳ２６において、操作データが第２Ｌボタンおよび第２Ｒボタン操作データではないと判断した場合（ステップＳ２６においてＮＯ）には、確認画像を表示する（ステップＳ３５）。
【０２５０】
登録処理モジュール３０４は、図１５（Ｂ）で説明したようなコントローラ登録画面を表示する。
【０２５１】
具体的には、一例としてプレイヤ番号Ｐ４の領域において表示される確認画面を表示する。横持ちの操作方式を示すコントローラのイメージ画像と、縦持ちの操作方式を示すコントローラのイメージ画像を交互に表示する。なお、この場合、未登録のプレイヤ番号の領域に表示されるものとする。
【０２５２】
次に、ＣＰＵ８１は、操作データを受信したか否かを判断する（ステップＳ３６）。具体的には、登録処理モジュール３０４は、通信制御モジュール３１０を介してコントローラから操作データをさらに受信したか否かを判断する。ＣＰＵ８１は、操作データを受信するまでステップＳ３６の状態を維持する。
【０２５３】
ステップＳ３６において、ＣＰＵ８１は、操作データを受信したと判断した場合（ステップＳ３６においてＹＥＳ）には、次のステップＳ３７に進む。
【０２５４】
ステップＳ３７において、ＣＰＵ８１は、操作データが第１Ｌボタン操作データおよび第１Ｒボタン操作データを同時に受信したか否かを判断する。具体的には、登録処理モジュール３０４は、同時に受信した複数の操作データのうちの一方の操作データに第１Ｌボタン操作データ、他方の操作データに第１Ｒボタン操作データが含まれているか否かを判断する。
【０２５５】
ステップＳ３７において、ＣＰＵ８１は、操作データが第１Ｌボタン操作データおよび第１Ｒボタン操作データを同時に受信したと判断した場合（ステップＳ３７においてＹＥＳ）には、組を構成する２本のコントローラに対してプレイヤ番号を登録する（ステップＳ４０）。具体的には、登録処理モジュール３０４は、登録情報にプレイヤ番号を登録する。プレイヤ登録の順番に従って２本のそれぞれのコントローラに対してプレイヤ番号を登録する。先頭のプレイヤはＰ１、２番目のプレイヤはＰ２、以降同様の形式に従ってプレイヤ番号を登録する。
【０２５６】
なお、本例においては、左コントローラ３と右コントローラ４とが組を構成する。したがって、左コントローラ２本あるいは右コントローラ２本では組を構成しない。また、操作データを同時に受信は完全に受信するタイミングが同じであることに限られず、最初の操作データを受信してから後の操作データを受信するまでの期間が極めて短い場合も含まれる概念である。
【０２５７】
次に、ＣＰＵ８１は、登録情報に縦持ち操作方式を登録する（ステップＳ４２）。具体的には、登録処理モジュール３０４は、登録情報の操作方式の欄に縦持ち操作方式であることを示す情報を登録する。
【０２５８】
図１９（Ｂ）には、一例としてコントローラ３ａおよび４ａから送信された操作データ５１０，５２０が示される。
【０２５９】
操作データ５１０は、識別情報データ５１２と、第１Ｌボタン操作データ５１４とを含む。
【０２６０】
操作データ５２０は、識別情報データ５２２と、第１Ｒボタン操作データ５２４とを含む。
【０２６１】
一例として、第１Ｌボタン操作データ５１４は、ユーザＰＡが左コントローラ３ａに設けられた第１Ｌボタン３８を押下した場合の操作データである。また、第１Ｒボタン操作データ５２４は、ユーザＰＡが右コントローラ４ａに設けられた第１Ｒボタン６０を押下した場合の操作データである。
【０２６２】
本体装置２は、操作データ５１０に含まれる識別情報データ５１２に基づいて左コントローラを識別することが可能である。そして、本体装置２は、操作データ５１０に含まれる識別情報データ５１２に基づいて左コントローラを識別することが可能である。また、本体装置２は、操作データ５２０に含まれる識別情報データ５２２に基づいて右コントローラを識別することが可能である。また、本体装置２は、左コントローラおよび右コントローラからそれぞれ第１Ｌボタン操作データおよび第１Ｒボタン操作データを受信したか否かを判断し、ともに受信したと判断した場合に２本のコントローラを登録する。すなわち、プレイヤ番号を２つのコントローラに割り当てる。また、本体装置２は、操作方式として縦持ち操作を登録する。
【０２６３】
再び、図１８を参照して、次に、ＣＰＵ８１は、コントローラ登録画面を更新する（ステップＳ３２）。具体的には、登録処理モジュール３０４は、プレイヤ登録された順番に従って設定されたコントローラのイメージ画像を表示する。たとえば、１番目のプレイヤ番号が登録された場合には、コントローラ登録画面において左から１番目の領域に縦持ちで操作する場合の左コントローラおよび右コントローラが表示される。また、インジケータ画像としてプレイヤ番号が１番目であることを示すインジケータ画像が表示される。なお、プレイヤ番号に対応する左コントローラおよび右コントローラの通知用ＬＥＤを点灯させるようにしても良い。
【０２６４】
以降の処理は同様であるのでその詳細な説明については繰り返さない。
一方、ステップＳ３７において、ＣＰＵ８１は、操作データが第１Ｌボタン操作データあるいは第１Ｒボタン操作データを有していないと判断した場合（ステップＳ３６においてＮＯ）には、ＣＰＵ８１は、操作データが第２Ｌボタンおよび第２Ｒボタン操作データを有しているか否かを判断する（ステップＳ４４）。
【０２６５】
次に、ＣＰＵ８１は、操作データが第２Ｌボタンおよび第２Ｒボタン操作データを有していると判断した場合（ステップＳ４４においてＹＥＳ）には、「Ａ」に進む。すなわち、１本のコントローラに対してプレイヤ番号を登録する（ステップＳ２８）。具体的には、登録処理モジュール３０４は、登録情報にプレイヤ番号を登録する。プレイヤ登録の順番に従ってプレイヤ番号を登録する。先頭のプレイヤはＰ１、２番目のプレイヤはＰ２、以降同様の形式に従ってプレイヤ番号を登録する。次に、ＣＰＵ８１は、登録情報に横持ち操作方式を登録する（ステップＳ３０）。具体的には、登録処理モジュール３０４は、登録情報の操作方式の欄に横持ち操作方式であることを示す情報を登録する。
【０２６６】
次に、ＣＰＵ８１は、コントローラ登録画面を更新する（ステップＳ３２）。具体的には、登録処理モジュール３０４は、プレイヤ登録された順番に従って設定されたコントローラのイメージ画像を表示する。たとえば、３番目のプレイヤ番号が登録された場合には、コントローラ登録画面において左から３番目の領域に横持ちで操作する場合の左コントローラが表示される。また、インジケータ画像としてプレイヤ番号が３番目であることを示すインジケータ画像が表示される。なお、プレイヤ番号に対応して対応する左コントローラの通知用ＬＥＤを点灯させるようにしても良い。
【０２６７】
一方、ステップＳ４４において、ＣＰＵ４４は、操作データが第２Ｌボタンおよび第２Ｒボタン操作データを有していないと判断した場合（ステップＳ４４においてＮＯ）には、操作方式の設定がされていないとしてステップＳ３４に進む。
【０２６８】
一方で、ＣＰＵ８１は、ステップＳ２４において、操作データが付属コントローラの操作データであると判断した場合（ステップＳ２４においてＹＥＳ）には、ＬボタンおよびＲボタン操作データを有しているか否かを判断する（ステップＳ４４）。具体的には、登録処理モジュール３０４は、受信した操作データにＬボタンおよびＲボタン操作データが含まれているか否かを判断する。
【０２６９】
ステップＳ４４において、ＣＰＵ８１は、操作データがＬボタンおよびＲボタン操作データを有していると判断した場合（ステップＳ４４においてＹＥＳ）には、付属コントローラに対してプレイヤ番号を登録する（ステップＳ４６）。具体的には、登録処理モジュール３０４は、登録情報にプレイヤ番号を登録する。プレイヤ登録の順番に従ってプレイヤ番号を登録する。先頭のプレイヤはＰ１、２番目のプレイヤはＰ２、以降同様の形式に従ってプレイヤ番号を登録する。
【０２７０】
図１９（Ｃ）には、一例として付属コントローラ４０１から送信された操作データ５３０が示される。
【０２７１】
操作データ５３０は、識別情報データ５３２と、Ｌボタン操作データ５３４と、Ｒボタン操作データ５３６とを含む。
【０２７２】
一例として、Ｌボタン操作データ５３４とＲボタン操作データ５３６は、ユーザＰＢが付属コントローラ４０１に設けられたＬボタン４２５Ｌと、Ｒボタン４２５Ｒとの両方を押下した場合の操作データである。
【０２７３】
本体装置２は、操作データ５３０に含まれる識別情報データ５３２に基づいて付属コントローラを識別することが可能である。そして、本体装置２は、操作データ５３０に含まれるＬボタン操作データ５３４と、Ｒボタン操作データ５３６とに基づいて付属コントローラを登録する。すなわち、プレイヤ番号を付属コントローラに割り当てる。なお、付属コントローラについては、複数の操作方式が設けられていないため操作方式は登録されない。なお、後述するが、本例においては、操作方式の登録内容（縦持ち操作方式か横持ち操作方式か）に基づいて操作データの変換の有無を判定するため付属コントローラに関しても変換の有無に関するデータを登録するようにしても良い。具体的には、変換方式として変換無しとして登録するようにしても良い。
【０２７４】
再び、図１８を参照して、次に、ＣＰＵ８１は、コントローラ登録画面を更新する（ステップＳ３２）。具体的には、登録処理モジュール３０４は、プレイヤ登録された順番に従って設定されたコントローラのイメージ画像を表示する。たとえば、２番目のプレイヤ番号が登録された場合には、コントローラ登録画面において左から２番目の領域に付属コントローラが表示される。また、インジケータ画像としてプレイヤ番号が２番目であることを示すインジケータ画像が表示される。なお、プレイヤ番号に対応する付属コントローラの通知用ＬＥＤを点灯させるようにしても良い。
【０２７５】
以降の処理は同様であるのでその詳細な説明については繰り返さない。
一方、ステップＳ４４において、ＣＰＵ８１は、操作データがＬボタンおよびＲボタン操作データを有していないと判断した場合（ステップＳ４４においてＮＯ）には、操作方式の設定がされていないとしてステップＳ３４に進む。
【０２７６】
当該処理により、各コントローラから送信される操作データに基づいてコントローラ登録処理を実行することが可能である。当該コントローラ登録処理において、複数の操作方式の選択が可能なコントローラについて、操作データの操作内容に基づいて１つの操作方式を登録することが可能である。これにより、操作方式について簡易にコントローラ登録処理を実行することが可能であり、ユーザビリティを向上させることが可能である。
【０２７７】
なお、コントローラ登録処理に関して、一旦登録された操作方式を変更することも可能である。
【０２７８】
例えば、２本のコントローラを用いた縦持ちの操作方式が登録された後に、１本のコントローラによる横持ちの操作方式に変更することも可能である。
【０２７９】
具体的には、プレイヤ番号Ｐ１に登録された２本のコントローラのうちの左コントローラ３について、第２Ｌボタンおよび第２Ｒボタンの両方を押下する。当該処理により、左コントローラから操作データが本体装置２に送信される。
【０２８０】
本体装置２は、当該操作データを受信して、プレイヤの再登録処理および横持ち登録処理を実行する。プレイヤ番号Ｐ１に登録された左コントローラ３について、登録情報のプレイヤ番号を維持しつつ、操作方式を横持ち操作方式に変更する。また、プレイヤ番号Ｐ１に登録されていた右コントローラ４については登録情報のプレイヤ番号の割り当ておよび操作方式の情報を消去する。左コントローラ３について説明したが、右コントローラ４についても同様であり、同様の方式によりプレイヤの再登録処理および横持ち登録処理が実行される。
【０２８１】
また、１本のコントローラを用いた横持ちの操作方式が登録された後に、２本のコントローラによる縦持ちの操作方式に変更することも可能である。
【０２８２】
具体的には、プレイヤ番号Ｐ３に登録された左コントローラ３と、プレイヤ番号Ｐ４に登録された右コントローラ４とについて、それぞれ第１Ｌボタンおよび第１Ｒボタンの両方を押下する。当該処理により、左コントローラ３および右コントローラ４から操作データが本体装置２に送信される。
【０２８３】
本体装置２は、当該操作データを受信して、上記で説明した方式に従ってプレイヤの再登録処理および縦持ち登録処理を実行する。
【０２８４】
プレイヤ番号Ｐ３に登録されていた左コントローラ３およびプレイヤ番号Ｐ４に登録されていた右コントローラ４を組を構成するコントローラとして判断される。登録情報に関して、プレイヤ番号Ｐ３に登録されていた左コントローラ３については、プレイヤ番号を維持しつつ、操作方式を縦持ち操作方式に変更する。プレイヤ番号Ｐ４に登録されていた右コントローラ４については、プレイヤ番号をプレイヤ番号Ｐ３に変更するとともに、操作方式を縦持ち操作方式に変更する。
【０２８５】
［Ｆ：ゲーム処理］
図２０は、実施形態に基づくゲーム装置１によって実行されるゲーム処理を説明する一例図である。
【０２８６】
図２０には、ゲーム装置１で生成した画像がテレビ６に表示されている。
本例においては、４人のプレイヤが示されている。ユーザＰＡは、２本のコントローラ３ａ，４ａを用いて対応するオブジェクトを操作する。ユーザＰＢは、付属コントローラ４０１を用いて対応するオブジェクトを操作する。ユーザＰＣは、１本のコントローラ３ｂを用いて対応するオブジェクトを操作する。ユーザＰＤは、１本のコントローラ４ｂを用いて対応するオブジェクトを操作する。
【０２８７】
本例においては、ゲーム装置１は、テレビ６の表示領域を４つに分割し、分割された表示領域６ＡにユーザＰＡのための画像（例えば、第１オブジェクトを含む画像）を表示し、分割された表示領域６ＢにユーザＰＢのための画像（例えば、第２オブジェクトを含む画像）を表示する。また、同様に、ゲーム装置１は、分割された表示領域６ＣにユーザＰＣのための画像（例えば、第３オブジェクトを含む画像）を表示し、分割された表示領域６ＤにユーザＰＤのための画像（例えば、第４オブジェクトを含む画像）を表示する。
【０２８８】
各コントローラは、ゲーム装置１からのプレイヤ番号に基づいて通知用ＬＥＤを制御する。
【０２８９】
なお、本例においては、４人のプレイヤであるユーザＰＡ〜ＰＤがそれぞれコントローラを用いて対応するオブジェクトを操作している場合について説明したが、１人のプレイヤの場合についても同様である。
【０２９０】
［Ｇ：処理手順］
次に、実施形態に基づくゲーム装置１におけるゲーム処理に係る処理手順について説明する。
【０２９１】
図２１は、実施形態に基づくゲーム処理に係る処理手順を示すフロー図である。
図２１に示される各ステップは、典型的には、本体装置２のＣＰＵ８１がプログラムを実行することで実現される。
【０２９２】
図２１を参照して、ＣＰＵ８１は、ゲーム処理の開始が指示されるか否かを判断する（ステップＳ５０）。ゲーム実行処理モジュール３０２は、ゲーム処理の開始が指示されたか否かを判断する。
【０２９３】
ＣＰＵ８１は、ゲーム処理の開始が指示されたと判断した場合（ステップＳ５０においてＹＥＳ）には、ゲーム空間内にオブジェクトを配置したゲーム画像を生成する（ステップＳ５１）。ゲーム実行処理モジュール３０２は、ＤＲＡＭ８５に保存されて実行されるプログラムに基づいてゲーム空間内にオブジェクトを配置したゲーム画像を生成する。
【０２９４】
次に、ＣＰＵ８１は、操作データを取得するか否かを判断する（ステップＳ５２）。具体的には、ゲーム実行処理モジュール３０２は、通信制御モジュール３１０を介して操作データを取得したか否かを判断する。
【０２９５】
ステップＳ５２において、ＣＰＵ８１は、操作データを取得したと判断した場合（ステップＳ５２においてＹＥＳ）には、付属コントローラの操作データか否かを判断する（ステップＳ５３）。具体的には、ゲーム実行処理モジュール３０２は、図２０で説明した受信した操作データの識別情報に基づいて付属コントローラであるか否かを判断する。
【０２９６】
ステップＳ５３において、ＣＰＵ８１は、付属コントローラの操作データで無いと判断した場合（ステップＳ５３においてＮＯ）には、横持ち操作が登録されているか否かを判断する（ステップＳ５４）。具体的には、ゲーム実行処理モジュール３０２は、フラッシュメモリ８４に格納されている登録情報を参照して、取得した操作データに対応するコントローラの登録情報の操作方式に関する情報に横持ち操作方式が登録されているか否かを判断する。
【０２９７】
ステップＳ５４において、ＣＰＵ８１は、横持ち操作が登録されていないと判断した場合（ステップＳ５４においてＮＯ）には、操作データに基づく処理を実行する（ステップＳ５６）。具体的には、ゲーム実行処理モジュール３０２は、フラッシュメモリ８４に格納されている登録情報を参照して、取得した操作データに対応するコントローラの登録情報の操作方式に関する情報に横持ち操作方式が登録されていないと判断した場合には、当該取得した操作データに基づくゲーム処理を実行する。
【０２９８】
次に、ＣＰＵ８１は、ゲーム画像を更新する（ステップＳ５８）。具体的には、ゲーム実行処理モジュール３０２は、取得したユーザ操作に従う操作データに応じたゲーム画像を生成する。そして、生成されたゲーム画像に従ってテレビ６に更新出力する。
【０２９９】
次に、ＣＰＵ８１は、ゲーム処理の終了が指示されたかどうかを判断する（ステップＳ６０）。
【０３００】
ステップＳ６０において、ＣＰＵ８１は、ゲーム処理の終了が指示されたと判断した場合（ステップＳ６０においてＹＥＳ）には、処理を終了する（エンド）。
【０３０１】
一方、ステップＳ６０において、ＣＰＵ８１は、ゲーム処理の終了が指示されていないと判断した場合（ステップＳ６０においてＮＯ）には、ステップＳ５２に戻り、上記処理を繰り返す。
【０３０２】
一方、ステップＳ５３において、ＣＰＵ８１は、付属コントローラの操作データであると判断した場合（ステップＳ５３においてＹＥＳ）には、操作データに基づく処理を実行する（ステップＳ５６）。具体的には、ゲーム実行処理モジュール３０２は、付属コントローラの操作データであると判断した場合には、当該取得した操作データに基づくゲーム処理を実行する。
【０３０３】
次に、ＣＰＵ８１は、ゲーム画像を更新する（ステップＳ５８）。具体的には、ゲーム実行処理モジュール３０２は、取得したユーザ操作に従う操作データに応じたゲーム画像を生成する。そして、生成されたゲーム画像に従ってテレビ６に更新出力する。
【０３０４】
以降の処理は同様であるのでその詳細な説明については繰り返さない。
一方、ステップＳ５４において、ＣＰＵ８１は、横持ち操作が登録されていると判断した場合（ステップＳ５４においてＹＥＳ）には、操作データを変換操作データに変換する処理を実行する（ステップＳ６２）。具体的には、ゲーム実行処理モジュール３０２は、フラッシュメモリ８４に格納されている登録情報を参照して、取得した操作データに対応するコントローラの登録情報の操作方式に関する情報に横持ち操作方式が登録されていると判断した場合には、操作データを変換操作データに変換する処理を実行する。
【０３０５】
具体的には、左コントローラ３の場合には、アナログスティック３２の方向指示を９０°反時計回りに回転させた変換操作データに変換する。
【０３０６】
これにより、オブジェクトに対する横持ち操作方式の左コントローラ３の指示と、左コントローラ３の縦持ち操作方式のアナログスティック３２の方向指示とを同じ方向に合わせることが可能となる。また、４つの操作ボタン３３〜３６の機能をそれぞれＸボタン、Ａボタン、ＹボタンおよびＢボタンにそれぞれ割り当てる。これにより、オブジェクトに対する横持ち操作方式の左コントローラ３の操作ボタンと、縦持ち操作方式の４つの操作ボタン３３〜３６の機能とを同じ機能に合わせることが可能となる。
【０３０７】
また、右コントローラ４の場合には、アナログスティック５２の方向指示を９０°時計回りに回転させた変換操作データに変換する。
【０３０８】
これにより、オブジェクトに対する横持ち操作方式の右コントローラ４の指示と、右コントローラ４の縦持ち操作方式のアナログスティック５２の方向指示とを同じ方向に合わせることが可能となる。また、４つの操作ボタン５３〜５６の機能をそれぞれＢボタン、Ｙボタン、ＡボタンおよびＸボタンにそれぞれ割り当てる。これにより、オブジェクトに対する横持ち操作方式の右コントローラ４の操作ボタンと、縦持ち操作方式の４つの操作ボタン５３〜５６の機能とを同じ機能に合わせることが可能となる。
【０３０９】
次に、ＣＰＵ８１は、変換操作データに基づく処理を実行する（ステップＳ６４）。具体的には、ゲーム実行処理モジュール３０２は、変換した変換操作データに応じたゲーム画像を生成する。そして、生成されたゲーム画像に従ってテレビ６に更新出力する。
【０３１０】
以降の処理は同様であるのでその詳細な説明については繰り返さない。
次に、ＣＰＵ８１は、ゲーム画像を更新する（ステップＳ５８）。具体的には、ゲーム実行処理モジュール３０２は、取得したユーザ操作に従う操作データに応じたゲーム画像を生成する。そして、生成されたゲーム画像に従ってテレビ６に更新出力する。
【０３１１】
以降の処理は同様であるのでその詳細な説明については繰り返さない。
［Ｈ：メニュー画面］
図２２は、実施形態に基づくゲーム装置１によって実行されるメニュー画面を説明する一例図である。
【０３１２】
図２２に示されるように、テレビ６にメニュー画面６００が表示されている場合が示されている。
【０３１３】
当該メニュー画面は、当該メニュー画面を起動する指示をした場合に表示される画面の一例である。具体的には、図２１で説明したゲーム処理を終了した場合にメニュー画面が表示される。
【０３１４】
メニュー画面６００には、複数のゲームを選択可能なアイコン６０２〜６０８が設けられている。アイコン６０２を選択すると、ゲームＡのアプリケーションプログラムが起動する。アイコン６０４を選択すると、ゲームＢのアプリケーションプログラムが起動する。ゲームＣのアイコン６０６を選択すると、ゲームＣのアプリケーションプログラムが起動する。アイコン６０８を選択すると、ゲームＤのアプリケーションプログラムが起動する。
【０３１５】
現在の状態としては、一例としてアイコン６０４にカーソルが合わせられて選択されている状態である。
【０３１６】
また、メニュー画面６００には、コントローラを登録するためのアイコン６１０も設けられている。当該アイコン６１０を選択すると、図１５で説明したコントローラ登録画面が表示されて、コントローラ登録処理を実行することが可能となる。
【０３１７】
メニュー画面６００において、４人のユーザＰＡ〜ＰＤがそれぞれ把持するコントローラは、任意にカーソルを操作することが可能に設けられている。
【０３１８】
本例において、４人のユーザＰＡ〜ＰＤは、それぞれ把持するコントローラを用いて、コントローラ登録処理で登録されている登録情報の操作方式に従う操作状態でのカーソル操作が可能に設けられている。
【０３１９】
例えば、図２０で説明した状態でゲーム処理を終了し、メニュー画面を表示した場合においても操作状態は維持される。すなわち、登録情報の操作方式の情報は維持されるためユーザＰＡは、２本のコントローラ３ａ，４ａを用いて対応するカーソルを縦持ち操作により操作する。ユーザＰＢは、付属コントローラ４０１を用いて対応するカーソルを操作する。ユーザＰＣは、１本のコントローラ３ｂを用いて対応するカーソルを横持ち操作により操作する。ユーザＰＤは、１本のコントローラ４ｂを用いて対応するカーソルを横持ち操作により操作する。
【０３２０】
すなわち、第１アプリケーションの実行（ゲーム処理）から第２アプリケーションの実行（メニュー画面）に移行した場合に、操作方式を維持した状態で処理を継続することが可能である。したがって、アプリケーションが変更された場合であっても操作方式として継続した操作が可能であり、ユーザビリティを向上させることが可能である。
【０３２１】
なお、メニュー画面において、上記したようにコントローラ登録処理を実行した場合には、操作方式の再登録が可能である。
【０３２２】
また、本例においては、第１アプリケーションの実行（ゲーム処理）から第２アプリケーションの実行（メニュー画面）に移行する場合について説明したが、例えば、第１アプリケーションの実行を終了するのではなく、バックグラウンド処理に移行し、第２アプリケーションをフォアグラウンド処理で実行する移行処理を実行する場合においても同様に適用可能である。
【０３２３】
図２３は、実施形態に基づくゲーム装置１によって実行されるメニュー画面における処理を説明するフロー図である。
【０３２４】
図２３に示される各ステップは、典型的には、本体装置２のＣＰＵ８１がプログラムを実行することで実現される。
【０３２５】
図２３を参照して、ＣＰＵ８１は、メニュー画面の起動指示が有るか否かを判断する（ステップＳ７０）。具体的には、メニュー画面表示処理モジュール３０６は、メニュー画面の起動指示があるか否かを判断する。一例として、ゲーム処理が終了した場合には、ゲーム実行処理モジュール３０２からの指示によりメニュー画面の起動指示が与えられる。
【０３２６】
ＣＰＵ８１は、メニュープログラムの起動指示が有ると判断するまで待機（ステップＳ７０においてＮＯ）し、メニュープログラムの起動指示が有ると判断した場合（ステップＳ７０においてＹＥＳ）には、メニュー画面を表示する（ステップＳ７２）。具体的には、メニュー画面表示処理モジュール３０６は、図２２で説明したメニュー画面を表示する。
【０３２７】
次に、ＣＰＵ８１は、ゲームの選択指示が有るか否かを判断する（ステップＳ７４）。
具体的には、メニュー画面表示処理モジュール３０６は、図２２で説明したメニュー画面においてゲームのアイコンを選択する指示を受け付けたか否かを判断する。
【０３２８】
ＣＰＵ８１は、ステップＳ７４において、ゲームの選択指示が有ると判断した場合（ステップＳ７４においてＹＥＳ）には、ゲーム処理を実行する（ステップＳ７６）。具体的には、メニュー画面表示処理モジュール３０６は、図２１で説明したゲーム処理を実行するようにゲーム実行処理モジュール３０２に指示する。
【０３２９】
そして、ＣＰＵ８１は、ゲーム処理が終了した場合には、ステップＳ７２に戻る。具体的には、ゲーム実行処理モジュール３０２は、ゲームの実行が終了した場合には、メニュー画面表示処理モジュール３０６に対してメニュー画面を起動するように指示する。
【０３３０】
一方、ＣＰＵ］８１は、ステップＳ７４において、ゲームの選択指示が無いと判断した場合（ステップＳ７４においてＮＯ）には、コントローラの登録指示が有るか否かを判断する（ステップＳ７８）。具体的には、図２２で説明したメニュー画面においてコントローラの登録のアイコンを選択する指示を受け付けたか否かを判断する。
【０３３１】
ステップＳ７８において、ＣＰＵ８１は、コントローラの登録指示が有ると判断した場合（ステップＳ７８においてＹＥＳ）には、コントローラ登録処理を実行する（ステップＳ８０）。具体的には、メニュー画面表示処理モジュール３０６は、図１８で説明したコントローラ登録処理を実行するように登録処理モジュール３０４に指示する。なお、ペアリング処理等が既に済んでいる場合には、ステップＳ２０における処理から実行するようにしても良い。
【０３３２】
そして、ＣＰＵ８１は、コントローラ登録処理が終了したと判断した場合には、ステップＳ７２に戻る。登録処理モジュール３０４は、コントローラの登録処理が終了した場合には、メニュー画面表示処理モジュール３０６に対してメニュー画面を起動するように指示する。
【０３３３】
一方、ステップＳ７８において、ＣＰＵ８１は、コントローラの登録指示が無いと判断した場合（ステップＳ７８においてＮＯ）には、ステップＳ７４に戻り、上記処理を繰り返す。
【０３３４】
図２４は、実施形態に基づくゲーム装置１によって実行されるモード制御処理を説明するフロー図である。
【０３３５】
図２４に示される各ステップは、典型的には、本体装置２のＣＰＵ８１がプログラムを実行することで実現される。
【０３３６】
図２４を参照して、ＣＰＵ８１は、電源ボタンの操作が有るか否かを判断する（ステップＳ８２）。具体的には、モード制御モジュール３０８は、電源ボタン２８の操作入力が有るか否かを判断する。
【０３３７】
ＣＰＵ８１は、電源ボタンの操作が有るまで待機（ステップＳ８２においてＮＯ）し、電源ボタンの操作が有ると判断した場合（ステップＳ８２においてＹＥＳ）には、長押し操作されたか否かを判断する（ステップＳ８３）。具体的には、モード制御モジュール３０８は、電源ボタン２８が所定期間以上押下し続けられたか否かを判断する。
【０３３８】
次に、ステップＳ８３において、ＣＰＵ８１は、電源ボタン２８が長押し操作されていないと判断した場合（ステップＳ８３においてＹＥＳ）には、スリープモードに移行する（ステップＳ８４）。具体的には、モード制御モジュール３０８は、電源ボタン２８が長押し操作されていないと判断した場合（短押し操作の場合）には、スリープモードに移行する。モード制御モジュール３０８は、スリープ制御部として機能する。スリープモードでは、例えば本体装置２のディスプレイ１２の画面表示が休止される。また、スリープモードでは、本体装置２からテレビ６への画面表示も休止される。また、実行中のアプリケーションにおける処理が休止されるようにしてもよい。
【０３３９】
次に、ＣＰＵ８１は、電源ボタンの操作が有るか否かを判断する（ステップＳ８６）。具体的には、モード制御モジュール３０８は、電源ボタン２８の操作入力が有るか否かを判断する。
【０３４０】
ステップＳ８６において、ＣＰＵ８１は、電源ボタンの操作が有ると判断するまで待機（ステップＳ８６においてＮＯ）し、電源ボタンの操作が有ると判断した場合（ステップＳ８６においてＹＥＳ）には、オンモードに移行する（ステップＳ８７）。具体的には、モード制御モジュール３０８は、電源ボタン２８の操作入力が有ると判断した場合には、スリープモードからオンモードに移行する。オンモードでは、例えば、本体装置２のディスプレイ１２の画面表示が行なわれる。また、オンモードでは、本体装置２からテレビ６への画面表示も行なわれる。
【０３４１】
次に、ＣＰＵ８１は、操作方式リセット処理を実行する（ステップＳ８８）。具体的には、モード制御モジュール３０８は、登録処理モジュール３０４に対して操作方式リセット処理を実行するように指示する。登録処理モジュール３０４は、当該指示に従って登録情報に格納されている操作方式の情報をリセットする処理を実行する。
【０３４２】
次に、ＣＰＵ８１は、メニュー画面を表示する（ステップＳ９０）。具体的には、モード制御モジュール３０８は、メニュー画面表示処理モジュール３０６に指示してメニュー画面を表示するように指示する。
【０３４３】
そして、処理を終了する（エンド）。
一方、ＣＰＵ８１は、ステップＳ８３において、長押し操作されたと判断した場合（ステップＳ８３においてＹＥＳ）には、電源をオフする。具体的には、登録処理モジュール３０４は、本体装置２への各部への電源供給を遮断する。
【０３４４】
そして、ＣＰＵ８１は、再び、電源ボタンの操作が有るか否かを判断する（ステップＳ９４）。具体的には、モード制御モジュール３０８は、電源ボタン２８の操作入力が有るか否かを判断する。
【０３４５】
ステップＳ９４において、ＣＰＵ８１は、電源ボタンの操作が有ると判断した場合（ステップＳ９４においてＹＥＳ）には、電源をオンする。具体的には、登録処理モジュール３０４は、本体装置２への各部への電源供給を開始する。
【０３４６】
そして、ＣＰＵ８１は、オンモードに移行する（ステップＳ８７）。具体的には、モード制御モジュール３０８は、電源ボタン２８の操作入力が有ると判断した場合には、スリープモードからオンモードに移行する。
【０３４７】
次に、ＣＰＵ８１は、操作方式リセット処理を実行する（ステップＳ８８）。具体的には、モード制御モジュール３０８は、登録処理モジュール３０４に対して操作方式リセット処理を実行するように指示する。登録処理モジュール３０４は、当該指示に従って登録情報に格納されている操作方式の情報をリセットする処理を実行する。
【０３４８】
次に、ＣＰＵ８１は、メニュー画面を表示する（ステップＳ９０）。具体的には、モード制御モジュール３０８は、メニュー画面表示処理モジュール３０６に指示してメニュー画面を表示するように指示する。
【０３４９】
そして、処理を終了する（エンド）。
図２５は、実施形態に基づく登録情報の操作方式リセット処理による更新を説明する図である。
【０３５０】
図２５を参照して、図１６の登録情報と比較して、操作方式に関連する情報が横持ち操作から縦持ち操作に変更された点が異なる。その他の部分については同様である。
【０３５１】
登録処理モジュール３０４は、操作方式リセット処理により操作方式に関連する情報に関して、横持ち操作で登録されている情報を縦持ち操作に変更する。
【０３５２】
例えば、操作方式リセット処理により更新された場合に、図２２で説明したメニュー画面を表示した場合には、横持ち操作のコントローラの操作状態は変更される。すなわち、ユーザＰＡは、２本のコントローラ３ａ，４ａを用いて対応するカーソルを縦持ち操作により操作する。ユーザＰＢは、付属コントローラ４０１を用いて対応するカーソルを操作する。ユーザＰＣは、１本のコントローラ３ｂを用いて対応するカーソルを縦持ち操作により操作する。ユーザＰＤは、１本のコントローラ４ｂを用いて対応するカーソルを縦持ち操作により操作する。
【０３５３】
スリープモードから復帰してオンモードに移行する場合、また、電源をオン（起動）した場合には、操作方式リセット処理を実行する。すなわち、操作方式に関連する情報として登録されていた横持ち操作を縦持ち操作に変更する。
【０３５４】
したがって、アプリケーションプログラムの実行処理を休止あるいは、停止した場合には、操作方式リセット処理により初期化する。
【０３５５】
なお、本例においては、リセット（初期化）する場合に横持ち操作を縦持ち操作に変更する方式について説明したが、縦持ち操作を横持ち操作に変更するようにしても良い。
【０３５６】
これにより、コントローラ登録処理により登録した操作方式を簡易にリセットすることが可能となり、ユーザビリティを向上させることが可能となる。
【０３５７】
本実施形態におけるプログラムとして、パーソナルコンピュータで実行可能なアプリケーションを提供してもよい。このとき、本実施形態に係るプログラムは、パーソナルコンピュータ上で実行される各種アプリケーションプログラムの一部の機能として組み込まれてもよい。
【０３５８】
今回開示された実施形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０３５９】
１  ゲーム装置、２  本体装置、３  左コントローラ、４  右コントローラ、５  クレードル、６  テレビ、１１，３１，５１，４０２  ハウジング、１１ａ，１１ｂ  スピーカ孔、１２  ディスプレイ、１３  タッチパネル、１５  左レール部材、１７  左側端子、１９  右レール部材、２１  右側端子、２３  第１スロット、２４  第２スロット、２５  音声入出力端子、２７  下側端子、２８  電源ボタン、３３〜３８  操作ボタン、４０，６２  スライダ、４２，６４  端子、８１  ＣＰＵ、８２  ネットワーク通信部、８３  コントローラ通信部、８４  フラッシュメモリ、８５  ＲＡＭ、８６  タッチパネルコントローラ、８７  コーデック回路、８８  スピーカ、８９，１０４，１１４  加速度センサ、９０，１０５，１１５  角速度センサ、９２  第２スロットインターフェイス、９７  電力制御部、９８  バッテリ、１０１，１１１  通信制御部、１０２  メモリ、１０３，１１３  操作ボタン群、１０９，１１９  電力供給部、３０２  ゲーム実行処理モジュール、３０４  登録処理モジュール、３１０  通信制御モジュール、４０１  付属コントローラ。
【図１】
2018081552.tif 000003
【図２】
2018081552.tif 000004
【図３】
2018081552.tif 000005
【図４】
2018081552.tif 000006
【図５】
2018081552.tif 000007
【図６】
2018081552.tif 000008
【図７】
2018081552.tif 000009
【図８】
2018081552.tif 000010
【図９】
2018081552.tif 000011
【図１０】
2018081552.tif 000012
【図１１】
2018081552.tif 000013
【図１２】
2018081552.tif 000014
【図１３】
2018081552.tif 000015
【図１４】
2018081552.tif 000016
【図１５】
2018081552.tif 000017
【図１６】
2018081552.tif 000018
【図１７】
2018081552.tif 000019
【図１８】
2018081552.tif 000020
【図１９】
2018081552.tif 000021
【図２０】
2018081552.tif 000022
【図２１】
2018081552.tif 000023
【図２２】
2018081552.tif 000024
【図２３】
2018081552.tif 000025
【図２４】
2018081552.tif 000026
【図２５】
2018081552.tif 000027
【手続補正書】
【提出日】平成30年3月1日(2018.3.1)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０２３４
【補正方法】変更
【補正の内容】
【０２３４】
ステップＳ２２において、ＣＰＵ８１は、操作データを受信しない場合（ステップＳ２２においてＮＯ）には操作データを受信するまで待機し、操作データを受信したと判断した場合（ステップＳ２２においてＹＥＳ）には、操作データが付属コントローラの操作データであるか否かを判断する（ステップＳ２４）。具体的には、登録処理モジュール３０４は、受信した操作データの識別情報に基づいて付属コントローラであるか否かを判断する。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０２６２
【補正方法】変更
【補正の内容】
【０２６２】
本体装置２は、操作データ５１０に含まれる識別情報データ５１２に基づいて左コントローラを識別することが可能である。また、本体装置２は、操作データ５２０に含まれる識別情報データ５２２に基づいて右コントローラを識別することが可能である。また、本体装置２は、左コントローラおよび右コントローラからそれぞれ第１Ｌボタン操作データおよび第１Ｒボタン操作データを受信したか否かを判断し、ともに受信したと判断した場合に２本のコントローラを登録する。すなわち、プレイヤ番号を２つのコントローラに割り当てる。また、本体装置２は、操作方式として縦持ち操作を登録する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０２６４
【補正方法】変更
【補正の内容】
【０２６４】
以降の処理は同様であるのでその詳細な説明については繰り返さない。
一方、ステップＳ３７において、ＣＰＵ８１は、操作データが第１Ｌボタン操作データあるいは第１Ｒボタン操作データを有していないと判断した場合（ステップＳ３７においてＮＯ）には、ＣＰＵ８１は、操作データが第２Ｌボタンおよび第２Ｒボタン操作データを有しているか否かを判断する（ステップＳ４５）。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０２６５
【補正方法】変更
【補正の内容】
【０２６５】
次に、ＣＰＵ８１は、操作データが第２Ｌボタンおよび第２Ｒボタン操作データを有していると判断した場合（ステップＳ４５においてＹＥＳ）には、「Ａ」に進む。すなわち、１本のコントローラに対してプレイヤ番号を登録する（ステップＳ２８）。具体的には、登録処理モジュール３０４は、登録情報にプレイヤ番号を登録する。プレイヤ登録の順番に従ってプレイヤ番号を登録する。先頭のプレイヤはＰ１、２番目のプレイヤはＰ２、以降同様の形式に従ってプレイヤ番号を登録する。次に、ＣＰＵ８１は、登録情報に横持ち操作方式を登録する（ステップＳ３０）。具体的には、登録処理モジュール３０４は、登録情報の操作方式の欄に横持ち操作方式であることを示す情報を登録する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０２６７
【補正方法】変更
【補正の内容】
【０２６７】
一方、ステップＳ４５において、ＣＰＵ８１は、操作データが第２Ｌボタンおよび第２Ｒボタン操作データを有していないと判断した場合（ステップＳ４５においてＮＯ）には、操作方式の設定がされていないとしてステップＳ３４に進む。
【手続補正６】
【補正対象書類名】図面
【補正対象項目名】図１４
【補正方法】変更
【補正の内容】
【図１４】
2018081552.tif 000028
【手続補正７】
【補正対象書類名】図面
【補正対象項目名】図１８
【補正方法】変更
【補正の内容】
【図１８】
2018081552.tif 000029