(57)【要約】【課題】これまでにない移動玩具の動作制御手法を提供し、多様な遊び方を可能にするプログラム、情報記憶媒体、ゲーム装置及び移動玩具を提供すること。【解決手段】移動玩具であって、ボディ１２と、前記ボディに搭載され、移動玩具１０，１０００を移動させるための原動機３０と、制御主となる外部の情報処理装置で生成された動作制御情報に基づき移動玩具の制御を行う制御部３１０と、前記動作制御情報を、外部の情報処理装置から受け取る外部インターフェース部３７０と、を含み、前記制御部３７０は、前記制御主となる外部の情報処理装置を所与のタイミングで切り替える制御主切り替え処理部を含み、制御主の切り替えが行われた場合には、切り替え後の制御主となる外部の情報処理装置で生成された動作制御情報に基づき移動玩具の動作制御を行うことを特徴とする。【選択図】図１３
2011130829.tif 000002
【特許請求の範囲】
【請求項１】
移動玩具であって、
ボディと、
前記ボディに搭載され、移動玩具を移動させるための原動機と、
制御主となる外部の情報処理装置で生成された動作制御情報に基づき移動玩具の制御を行う制御部と、
前記動作制御情報を、外部の情報処理装置から受け取る外部インターフェース部と、
を含み、
前記制御部は、
前記制御主となる外部の情報処理装置を所与のタイミングで切り替える制御主切り替え処理部を含み、
制御主の切り替えが行われた場合には、切り替え後の制御主となる外部の情報処理装置で生成された動作制御情報に基づき移動玩具の動作制御を行うことを特徴とする移動玩具。
【請求項２】
請求項１において、
前記動作制御情報を記憶する記憶部を、を含み、
前記制御部は、
記憶部に記憶された前記動作制御情報に基づき、移動玩具の動作制御を行うことを特徴とする移動玩具。
【請求項３】
請求項１又は２のいずれかにおいて、
時間の経過又は時刻を検出する時間／時刻検出部をさらに含み、
前記制御主切り替え処理部は、
検出された時間の経過又は時刻に基づき、前記制御主を切り替えるタイミングを決定することを特徴とする移動玩具。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記移動玩具の位置を検出する位置検出部をさらに含み、
前記制御主切り替え処理部は、
検出された位置の情報に基づき、前記制御主を切り替えるタイミングを決定することを特徴とする移動玩具。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記外部インターフェース部は、
制御主の切り替えタイミングを指示する切り替えタイミング指示情報を無線で受信し、
前記制御主切り替え処理部は、
前記切り替えタイミング指示情報に基づき、前記制御主を切り替えるタイミングを決定することを特徴とする移動玩具。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記制御主切り替え処理部は、
予め設定された所定の規則に従って制御主に切り替える処理を行うことを特徴とする移動玩具。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記制御主切り替え処理部は、
ランダムに次の制御主を決定し、決定した制御主に切り替える処理を行うことを特徴とする移動玩具。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記外部インターフェース部は、
前記制御主の切り替えが行われた場合に、前記制御主の切り替えが行われたことを示す制御主切り替え情報を無線通信で送信することを特徴とする移動玩具。
【請求項９】
請求項１乃至８のいずれかにおいて、
前記制御主の切り替えが行われた場合に、前記制御主の切り替えが行われたことを外部に告知するための出力を行う制御主切り替え告知部を、さらに含むことを特徴とする移動玩具。
【請求項１０】
移動玩具に動作制御情報を送信する情報処理装置を制御するためのプログラムであって、
前記移動玩具の制御主を所与のタイミングで切り替える制御主切り替え処理部と、
入力情報に基づき、前記移動玩具の動作を制御するための動作制御情報を生成する動作制御情報生成部と、
前記動作制御情報を前記移動玩具に送信するための処理を行う通信部として、コンピュータを機能させ、
前記制御主切り替え処理部は、
前記制御主となった情報処理装置に、送信主を示す情報として所定の制御主用のＩＤの使用を許可し、制御主でない情報処理装置には、前記所定の制御主用のＩＤを使用できないように制御することを特徴とするプログラム。
【請求項１１】
請求項１０において、
時間の経過又は時刻を検出する時間／時刻検出部としてコンピュータを機能させ、        前記制御主切り替え処理部は、
検出された時間の経過又は時刻に基づき、前記制御主を切り替えるタイミングを決定することを特徴とするプログラム。
【請求項１２】
請求項１０又は１１のいずれかにおいて、
前記制御主切り替え処理部は、
移動玩具の位置情報を取得し、取得した位置情報に基づき、前記制御主を切り替えるタイミングを決定することを特徴とするプログラム。
【請求項１３】
請求項１０乃至１２のいずれかにおいて、
前記通信部は、
制御主の切り替えタイミングを指示する切り替えタイミング指示情報を無線で受信し、  前記制御主切り替え処理は、
前記切り替えタイミング指示情報に基づき、前記制御主を切り替えるタイミングを決定することを特徴とするプログラム。
【請求項１４】
移動玩具に動作制御情報を送信する情報処理装置を制御するためのプログラムであって、
前記移動玩具の制御主を所与のタイミングで切り替える制御主切り替え処理部と、
入力情報に基づき、前記移動玩具の動作を制御するための動作制御情報を生成する動作制御情報生成部と、
前記動作制御情報を前記移動玩具に送信するための処理を行う通信部として、コンピュータを機能させ、
前記制御主切り替え処理部は、
移動玩具の移動区間を複数に分割して、分割された区間毎に制御主を決定し、各区間に決定された制御主にたいして当該区間の動作制御情報の生成を許可し、それ以外の制御主に対しては当該区間の動作制御情報の生成ができないように制御することを特徴とするプログラム。
【請求項１５】
請求項１０乃至１４のいずれかにおいて、
前記制御主切り替え処理部は、
予め設定された所定の規則に従って制御主に切り替える処理を行うことを特徴とするプログラム。
【請求項１６】
請求項１０乃至１４のいずれかにおいて、
前記制御主切り替え処理部は、
ランダムに次の制御主を決定し、決定した制御主に切り替える処理を行うことを特徴とするプログラム。
【請求項１７】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１０乃至１６のいずれかに記載のプログラムが記憶されていることを特徴とする情報記憶媒体。
【請求項１８】
移動玩具との間で第１の無線通信が可能な親機と、前記親機との間で第２の無線通信が可能な子機を含む複数の情報処理装置を含む移動玩具制御システムであって、
前記子機は、
入力情報に基づき、前記移動玩具の動作を制御するための動作制御情報を生成する動作制御情報生成部と、
前記動作制御情報を前記親機に第１の無線通信で送信するための処理を行う第１の無線通信部と、を含み、
前記親機は、
前記子機が送信した動作制御情報を第１の無線通信で受信する第１の無線通信部と、
前記子機から受信した前記動作制御情報を前記移動玩具に第２の無線通信で送信する第２の無線通信部を含むことを特徴とする移動玩具制御システム。
【請求項１９】
複数の情報処理装置によって、複数の移動玩具を無線で制御する移動玩具制御システムであって、
所定のグループを構成する全情報処理装置が所定のグループを構成する他の情報処理装置と通信可能な第１の状態にあるか否かを検出する手段と、
所定のグループを構成する全情報処理装置が、各情報処理装置に対応する前記移動玩具と通信可能な第２の状態にあるか否かを検出する手段と、
所定のグループを構成する全情報処理装置が、第１の状態かつ第２の状態である場合に、所定のコマンドを同期を取って発動するコマンド発動手段と、
を含む移動玩具制御システム。
【請求項２０】
請求項１９に記載の移動玩具制御システムにおいて、
前記コマンド発動手段は、
少なくとも１つの情報処理装置から所定のトリガコマンドが入力されたことを検出した場合に、同期を取って所定のコマンドを発動する移動玩具制御システム。
【請求項２１】
複数の情報処理装置によって、複数の移動玩具を無線で制御する移動玩具制御方法であって、
所定のグループを構成する全情報処理装置が所定のグループを構成する他の情報処理装置と通信可能な第１の状態にあるか否かを検出するステップと、
所定のグループを構成する全情報処理装置が、各情報処理装置に対応する前記移動玩具と通信可能な第２の状態にあるか否かを検出するステップと、
所定のグループを構成する全情報処理装置が、第１の状態かつ第２の状態である場合に、所定のコマンドを同期を取って発動するステップと、
を含む移動玩具制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動玩具、プログラム、情報記憶媒体、移動玩具制御システム及び移動玩具制御方法に関する。
【背景技術】
【０００２】
従来より、複数のコースパーツを連結することで構成されるコース上を走行させて楽しむ車両玩具（移動玩具）が知られている。このような車両玩具の従来例としては例えば特許文献１、２がある。
【０００３】
特許文献１には、コース状態に応じて、所定のプログラムに基づく自動操縦と、遠隔コントローラによる手動操縦とを切り替えることができる車両玩具走行装置が開示されている。この車両玩具走行装置では、自動操縦用プログラムは、外部端末において事前に設定されて、人形を模した記憶装置に書き込まれる。そして、この記憶装置を車両玩具に接続することで、自動操縦用プログラムを車両玩具に転送する。
【０００４】
また特許文献２には、ゲーム装置でゲームプレイすることで得られた制御情報を車両玩具に転送し、この制御情報に基づいて車両玩具の走行を制御する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平６−２６９５７４号公報
【特許文献２】特開２０００−２１０４７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１、２の従来技術では、画一的な制御情報により車両玩具の走行が制御されるだけであった。このため、車両玩具を用いたプレイが単調になってしまうという課題があった。
【０００７】
また、複数のプレーヤでゲームする場合にも、競争を行うことができるだけであったため、遊び方が単調でプレーヤに飽きられやすいという課題があった。
【０００８】
本発明の幾つかの態様によれば、複数のプレーヤでゲームする場合に、これまでにない移動玩具の動作制御手法を提供し、多様な遊び方を可能にするプログラム、情報記憶媒体、ゲーム装置及び移動玩具を提供できる。
【課題を解決するための手段】
【０００９】
（１）本発明は、
移動玩具であって、
ボディと、
前記ボディに搭載され、移動玩具を移動させるための原動機と、
制御主となる外部の情報処理装置で生成された動作制御情報に基づき移動玩具の制御を行う制御部と、
前記動作制御情報を、外部の情報処理装置から受け取る外部インターフェース部と、
を含み、
前記制御部は、
前記制御主となる外部の情報処理装置を所与のタイミングで切り替える制御主切り替え処理部を含み、
制御主の切り替えが行われた場合には、切り替え後の制御主となる外部の情報処理装置で生成された動作制御情報に基づき移動玩具の動作制御を行うことを特徴とする移動玩具に関する。
【００１０】
前記外部インターフェース部は、前記動作制御情報を、外部の情報処理装置から通信で受け取る構成でもよいし、所与の媒体（例えばＵＳＢメモリ等）を介して受け取る構成でもよい。
【００１１】
例えば移動玩具は、現在の制御主を記憶する制御主情報（例えば制御主となる情報処理装置の識別情報等）を記憶し、制御主が切り替えられる度に、制御主情報を新たな制御主情報に更新するようにしてもよい。そして制御主情報に対応する情報処理装置で生成された動作制御情報に基づき移動玩具の動作制御を行うようにしてもよい。なお複数の情報処理装置で生成された動作制御情報を、当該情報処理装置の識別情報に対応づけて記憶させ、あるいは動作制御情報に当該動作制御情報の生成主である情報処理装置の識別情報を含むように構成し、生成主の識別情報が制御主情報と一致する動作制御情報を用いて移動玩具の動作制御を行うようにしてもよい。この様にすると制御主が切り替わる度に、制御主情報も更新され、あらた制御主情報に対応づけられた動作制御情報に基づき移動玩具の移動玩具の移動動作が制御される。
【００１２】
なお動作制御情報は動作開始前に外部の情報処理装置から受け取って記憶部に記憶させておき、動作時に記憶部から読み出して動作制御を行う構成でもよいし、動作中にリアルタイムに外部の情報処理装置から動作制御情報を受け取り、受け取った動作制御情報（記憶部に一時的に記憶される）に基づき動作制御を行う構成でもよい。
【００１３】
また動作制御情報とは移動玩具の動作を制御するために用いられる情報であればよく、例えば加速や減速を指示するコマンドでもよいし、速度や加速度等のデータそのものでもよいし、データとコマンドの組み合わせでもよい。
【００１４】
（２）この移動玩具は、
前記動作制御情報を記憶する記憶部を、を含み、
前記制御部は、
記憶部に記憶された前記動作制御情報に基づき、移動玩具の動作制御を行ってもよい。
【００１５】
例えば動作中には動作制御情報の受け渡しを行わずに、動作開始前に、動作制御情報を記憶部に記憶させておく構成でもよい。
【００１６】
（３）この移動玩具は、
時間の経過又は時刻を検出する時間／時刻検出部をさらに含み、
前記制御主切り替え処理部は、
検出された時間の経過又は時刻に基づき、前記制御主を切り替えるタイミングを決定してもよい。
【００１７】
時間／時刻検出部は、時間の経過を検出するタイマや時刻を検出する時計等により実現してもよい。
【００１８】
この様にすると所与の時間の経過又は所与の時刻の到来のタイミングで自動的に制御主を切り替えることができる。
【００１９】
（４）この移動玩具は、
前記移動玩具の位置を検出する位置検出部をさらに含み、
前記制御主切り替え処理部は、
検出された位置の情報に基づき、前記制御主を切り替えるタイミングを決定してもよい。
【００２０】
検出する位置は例えば現在位置でもよし、通過位置でもよい。
【００２１】
位置検出部は、例えば移動玩具の移動面に設けられたマーカを検出するセンサや、ＧＰＳや赤外線やレーザ等で位置を検出するセンサ等で実現してもよい。
【００２２】
この様にすると移動玩具が所与の位置に来たとき又は所与の位置を通過するタイミングで自動的に制御主を切り替えることができる。
【００２３】
（５）この移動玩具において、
前記外部インターフェース部は、
制御主の切り替えタイミングを指示する切り替えタイミング指示情報を無線で受信し、
前記制御主切り替え処理部は、
前記切り替えタイミング指示情報に基づき、前記制御主を切り替えるタイミングを決定してもよい。
【００２４】
制御主の切り替えを指示する動作制御情報は、制御主の切り替えタイミングをリアルタイムに指示する情報であり、移動玩具は、この動作制御情報を受信すると制御主の切り替えを行うことになる。
【００２５】
（６）この移動玩具において、
前記制御主切り替え処理部は、
予め設定された所定の規則に従って制御主に切り替える処理を行ってもよい。
【００２６】
例えば所定の規則として、制御主となる情報処理装置の順番を予め設定しておいて、当該順番に従って制御主を切り替えてもよいし、所定の条件（移動玩具の属性や車種や性能や成績や得点やダメージポイント等の条件等）を定めておき、所定の条件を満たす移動玩具を次の制御主として決定してもよい。
【００２７】
（７）この移動玩具において、
前記制御主切り替え処理部は、
ランダムに次の制御主を決定し、決定した制御主に切り替える処理を行ってもよい。
【００２８】
例えば制御主になる可能性のある複数の情報処理装置を登録しておき、その中からランダムに制御主を選択してもよし、ランダムな順番で制御主を切り替えてもよい。
【００２９】
（８）この移動玩具において、
前記外部インターフェース部は、
前記制御主の切り替えが行われた場合に、前記制御主の切り替えが行われたことを示す制御主切り替え情報を無線通信で送信してもよい。
【００３０】
送信された制御主切り替え情報を、外部の情報処理装置が受信することで、外部の情報処理装置は、制御主の切り替えを自動検出することができる。
【００３１】
（９）この移動玩具は、
前記制御主の切り替えが行われた場合に、前記制御主の切り替えが行われたことを外部に告知するための出力を行う制御主切り替え告知部を、さらに含んでもよい。
【００３２】
制御主切り替え告知部は、例えば光、音、音声、画像等の出力部等で構成し、これらから制御主の切り替えが行われたことを告知するための光、音、音声、画像等の出力を行うようにしてもよい。
【００３３】
なお切り替えられた制御主に応じて、光、音、音声、画像等の出力態様を変化させてもよい。この様にすることで、新たな制御主を識別可能に告知することができる。
【００３４】
（１０）本発明は、
移動玩具に動作制御情報を送信する情報処理装置を制御するためのプログラムであって、
前記移動玩具の制御主を所与のタイミングで切り替える制御主切り替え処理部と、
入力情報に基づき、前記移動玩具の動作を制御するための動作制御情報を生成する動作制御情報生成部と、
前記動作制御情報を前記移動玩具に送信するための処理を行う通信部として、コンピュータを機能させ、
前記制御主切り替え処理部は、
前記制御主となった情報処理装置に、送信主を示す情報として所定の制御主用のＩＤの使用を許可し、制御主でない情報処理装置には、前記所定の制御主用のＩＤを使用できないように制御するプログラムに関する。
【００３５】
移動玩具は、動作中に動作制御情報を受信して、受信した動作制御情報に基づきリアルタイムに動作が制御される構成であって、送信主を示す情報として所定の制御主用のＩＤが使用されている動作制御情報に基づき動作制御が行われる構成でもよい。この様な場合、移動玩具は、制御主でない情報処理装置からの動作制御情報も受信するが、動作制御には用いない。
【００３６】
本発明によれば情報処理装置は制御主である期間しか前記所定の制御主用のＩＤを使用できないように構成されている。従って制御主が切り替わる毎に、前記所定の制御主用のＩＤを使用できる情報処理装置も切り替わるため、情報処理装置側の制御のみで制御主の切り替えを実現することができる。
【００３７】
（１１）このプログラムは、
時間の経過又は時刻を検出する時間／時刻検出部としてコンピュータを機能させ、      前記制御主切り替え処理部は、
検出された時間の経過又は時刻に基づき、前記制御主を切り替えるタイミングを決定してもよい。
【００３８】
（１２）このプログラムにより、
前記制御主切り替え処理部は、
移動玩具の位置情報を取得し、取得した位置情報に基づき、前記制御主を切り替えるタイミングを決定してもよい。
【００３９】
移動玩具の位置自体は移動玩具において検出し、情報処理装置は移動玩具が検出した位置情報を通信等で受信することにより取得してもよい。
【００４０】
（１３）このプログラムにより、
前記通信部は、
制御主の切り替えタイミングを指示する切り替えタイミング指示情報を無線で受信し、  前記制御主切り替え処理は、
前記切り替えタイミング指示情報に基づき、前記制御主を切り替えるタイミングを決定してもよい。
【００４１】
（１４）本発明は、
移動玩具に動作制御情報を送信する情報処理装置を制御するためのプログラムであって、
前記移動玩具の制御主を所与のタイミングで切り替える制御主切り替え処理部と、
入力情報に基づき、前記移動玩具の動作を制御するための動作制御情報を生成する動作制御情報生成部と、
前記動作制御情報を前記移動玩具に送信するための処理を行う通信部として、コンピュータを機能させ、
前記制御主切り替え処理部は、
移動玩具の移動区間を複数に分割して、分割された区間毎に制御主を決定し、各区間に決定された制御主にたいして当該区間の動作制御情報の生成を許可し、それ以外の制御主に対しては当該区間の動作制御情報の生成ができないように制御することを特徴とするプログラムに関する。
【００４２】
動作制御情報は移動玩具の動作前に予め生成して移動玩具の記憶部に記憶させておく構成でもよいし、移動玩具の動作中にリアルタイムに生成して移動玩具に無線で送信する構成でもよい。
【００４３】
この様にすると、動作制御情報生成部は、自機が制御主となる区間の動作制御情報を精製し、それ以外の区間の動作制御情報は生成しない。従って、各情報処理装置は自機が制御主となる区間の動作制御情報しか生成できないので、区間が変わる毎に制御主が切り替わる構成を実現することができる。
【００４４】
（１５）このプログラムにより、
前記制御主切り替え処理部は、
予め設定された所定の規則に従って制御主に切り替える処理を行ってもよい。
【００４５】
例えば所定の規則として、制御主となる情報処理装置の順番を予め設定しておいて、当該順番に従って制御主を切り替えてもよいし、所定の条件（移動玩具の属性や車種や性能や成績や得点やダメージポイント等の条件等）を定めておき、所定の条件を満たす移動玩具を次の制御主として決定してもよい。
【００４６】
（１６）このプログラムにより、
前記制御主切り替え処理部は、
ランダムに次の制御主を決定し、決定した制御主に切り替える処理を行ってもよい。
【００４７】
例えば制御主になる可能性のある複数の情報処理装置を登録しておき、その中からランダムに制御主を選択してもよし、ランダムな順番で制御主を切り替えてもよい。
【００４８】
（１７）本発明は、
コンピュータ読み取り可能な情報記憶媒体であって、上記のいずれかに記載のプログラムが記憶されていることを特徴とする情報記憶媒体である。
【００４９】
（１８）本発明は、
移動玩具との間で第１の無線通信が可能な親機と、前記親機との間で第２の無線通信が可能な子機を含む複数の情報処理装置を含む移動玩具制御システムであって、
前記子機は、
入力情報に基づき、前記移動玩具の動作を制御するための動作制御情報を生成する動作制御情報生成部と、
前記動作制御情報を前記親機に第１の無線通信で送信するための処理を行う第１の無線通信部と、を含み、
前記親機は、
前記子機が送信した動作制御情報を第１の無線通信で受信する第１の無線通信部と、
前記子機から受信した前記動作制御情報を前記移動玩具に第２の無線通信で送信する第２の無線通信部を含むことを特徴とする移動玩具制御システムに関する。
【００５０】
子機は移動玩具との間で第１の無線通信が行えない構成でもよい。
【００５１】
第１の無線通信は、赤外線通信等の光無線通信で実現してもよい。また第２の無線通信は、ブルートゥース（Bluetooth）等を用いた電波によるワイヤレス通信で実現してもよい。
【００５２】
本発明によれば子機と移動玩具の間で無線通信が行えない場合でも、子機は動作制御情報を親機に送信して、親機を介して子機に送信することができる。
【００５３】
（１９）本発明は、
複数の情報処理装置によって、複数の移動玩具を無線で制御する移動玩具制御システムであって、
所定のグループを構成する全情報処理装置が所定のグループを構成する他の情報処理装置と通信可能な第１の状態にあるか否かを検出する手段と、
所定のグループを構成する全情報処理装置が、各情報処理装置に対応する前記移動玩具と通信可能な第２の状態にあるか否かを検出する手段と、
所定のグループを構成する全情報処理装置が、第１の状態かつ第２の状態である場合に、所定のコマンドを同期を取って発動するコマンド発動手段と、
を含む移動玩具制御システムに関する。
【００５４】
グループに属する各情報処理装置は、それぞれが自機に対応する移動玩具の動作制御を行う。所定のグループを構成する全情報処理装置が所定のグループを構成する他の情報処理装置と通信可能な第１の状態にあるか否かは、所定のグループを構成する全情報処理装置が他の情報処理装置に対して所定の信号の送信を行い、他の情報処理装置からの所定の信号の受信ができるか否かを検出することで判断してもよい。
【００５５】
所定のグループを構成する全情報処理装置が、各情報処理装置に対応する前記移動玩具と通信可能な第２の状態にあるか否かは、所定のグループを各情報処理装置が移動玩具に対して所定の信号の送信を行い、移動玩具から所定の信号の受信ができるか否かを検出することで判断してもよい。
【００５６】
また所定のコマンドとは、例えばスタートコマンド（各移動玩具にスタートの指示を行うコマンド）でもよい。また同期を取ってとは、各ゲーム装置が同時に所定のコマンドを発動する場合でもよいし、各ゲーム装置が所定の間隔をおいて所定のコマンドを発動する場合でもよい。
【００５７】
（２０）この移動玩具制御システムにおいて、
前記コマンド発動手段は、
少なくとも１つの情報処理装置から所定のトリガコマンドが入力されたことを検出した場合に、同期を取って所定のコマンドを発動してもよい。
【００５８】
所定のトリガコマンドが入力されたことを検出した場合に、所定のグループを構成する全情報処理装置が所定のグループを構成する他の情報処理装置と通信可能な第１の状態にあるか否かを検出し、所定のグループを構成する全情報処理装置が、各情報処理装置に対応する前記移動玩具と通信可能な第２の状態にあるか否かを検出し、所定のグループを構成する全情報処理装置が、第１の状態かつ第２の状態である場合に、所定のコマンドを同期を取って発動してもよい。
【００５９】
（２１）本発明は、
複数の情報処理装置によって、複数の移動玩具を無線で制御する移動玩具制御方法であって、
所定のグループを構成する全情報処理装置が所定のグループを構成する他の情報処理装置と通信可能な第１の状態にあるか否かを検出するステップと、
所定のグループを構成する全情報処理装置が、各情報処理装置に対応する前記移動玩具と通信可能な第２の状態にあるか否かを検出するステップと、
所定のグループを構成する全情報処理装置が、第１の状態かつ第２の状態である場合に、所定のコマンドを同期を取って発動するステップと、
を含む移動玩具制御方法に関する。
【００６０】
このようにすれば、制御主を切り替える移動玩具の動作制御が可能になり、これまでにない移動玩具の動作制御手法を提供できる。
【図面の簡単な説明】
【００６１】
【図１】図１（Ａ）、図１（Ｂ）は移動玩具が走行するコースの説明図。
【図２】本実施形態が適用される移動玩具の外観斜視図。
【図３】本実施形態が適用される移動玩具の内部構成を示す平面図。
【図４】本実施形態が適用される移動玩具の機能ブロック図。
【図５】本実施形態が適用されるゲーム装置の外観図。
【図６】本実施形態が適用されるゲーム装置の機能ブロック図。
【図７】走行制御データの設定手法を説明するための図。
【図８】走行制御データの設定手法を説明するための図。
【図９】走行制御データの設定手法を説明するための図。
【図１０】ゲーム装置側の詳細な処理のフローチャート。
【図１１】ゲーム装置側の詳細な処理のフローチャート。
【図１２】ゲーム装置側の詳細な処理のフローチャート。
【図１３】ゲーム装置側の詳細な処理のフローチャート。
【図１４】ゲーム装置側の詳細な処理のフローチャート。
【図１５】図１５（Ａ）〜図１５（Ｃ）は走行特性データの設定手法を説明する図。
【図１６】コースデータの設定手法を説明する図。
【図１７】図１７（Ａ）、図１７（Ｂ）は本実施形態の減速制御、加速制御の手法の説明図。
【図１８】図１８（Ａ）、図１８（Ｂ）は差分情報に基づく減速制御、加速制御の手法の説明図。
【図１９】図１９（Ａ）〜図１９（Ｄ）は差分情報に基づく減速制御、加速制御の手法の説明図。
【図２０】図２０（Ａ）、図２０（Ｂ）はＰＷＭ駆動を用いた減速制御、加速制御の手法の説明図。
【図２１】図２１（Ａ）、図２１（Ｂ）はＰＷＭ駆動を用いた減速制御、加速制御の手法の説明図。
【図２２】駆動部の具体的な構成例を示す図。
【図２３】駆動部での具体的な信号波形例を示す図。
【図２４】移動玩具側の詳細な処理のフローチャート。
【図２５】第１の実施の形態のゲームシステムについて説明するための図。
【図２６】移動玩具の記憶される走行制御データについて説明するための図。
【図２７】各ゲーム装置から受信した走行制御データの内容の一例を示す図。
【図２８】図２８（Ａ）（Ｂ）は、制御主の切り替えと、移動玩具の制御に使用される走行制御データの関係について説明するための図。
【図２９】第１の実施の形態の移動玩具の制御主切り替え処理の一実施例（走行制御データを予め移動玩具の記憶させておく例）の処理の流れについて説明するためのフローチャート。
【図３０】第１の実施の形態の移動玩具の制御主切り替え処理の他の実施例（走行制御データをリアルタイムに受信する例）の処理の流れについて説明するためのフローチャート。
【図３１】第２の実施の形態におけるゲーム装置の制御主の切り替え制御について説明するための図。
【図３２】第２の実施の形態におけるゲーム装置の制御主の切り替え制御について説明するための図。
【図３３】第２の実施の形態が適用されるゲーム装置の機能ブロック図。
【図３４】第２の実施の形態のゲーム装置の制御主切り替え処理の流れを示すフローチャート。
【図３５】第２の実施の形態の移動玩具の制御主切り替え処理の流れを示すフローチャート。
【図３６】第３の実施の形態のゲームシステムについて説明するための図。
【図３７】図３７（Ａ）（Ｂ）は第４の実施の形態のゲームシステムについて説明するための図。
【図３８】図３８（Ａ）（Ｂ）は第４の実施の形態のゲームシステムについて説明するための図。
【図３９】第４の実施の形態のゲームシステムを構成する各ゲーム装置の同期処理の流れを示すフローチャート。
【図４０】各コース区間と制御主となるゲーム装置の識別ＩＤが登録されたテーブルの例。
【発明を実施するための形態】
【００６２】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００６３】
本実施の形態では、ゲーム装置（情報処理装置の一例）の生成した走行制御データ（動作制御情報の一例）によって走行が制御される移動玩具及び移動玩具を含むゲームシステムにおいて、当該移動玩具の制御主が切り替え可能な移動玩具及び移動玩具を含むゲームシステムについて説明する。
【００６４】
１．第１の実施の形態
第１の実施の形態では、移動玩具において制御主の切り替え処理を行う移動玩具及び移動玩具を含むゲームシステムについて説明する。
【００６５】
１−１．コース
図１（Ａ）に、本実施形態の移動玩具の一例である移動玩具を走行させるコースの例を斜視図で示す。なお以下では移動玩具として、車の形状を模した移動玩具を例にとり説明するが、本実施形態の移動玩具はこの移動玩具やこのようなコースを走行するものに限定されない。
【００６６】
移動玩具１０（広義には移動玩具）が走行するコース６０は、図１（Ａ）に示すように、直線形状、カーブ形状、スロープ形状等の各種形状の複数のコースパーツＣＰ１〜ＣＰ１６を連結することで構成される。具体的には、コース６０は、第１の周回コース６１と、この第１の周回コース６１に後続するように配置される第２の周回コース６２により構成される。第１の周回コース６１は、コースパーツＣＰ１〜ＣＰ８により構成される。第２の周回コース６２は、コースパーツＣＰ９〜ＣＰ１６により構成され、第１の周回コース６１と略同一のコース形状になっている。
【００６７】
第１の周回コース６１と第２の周回コース６２を用いて、２台の移動玩具を走行させて、カーレースを行うようにしてもよい。
【００６８】
第１の周回コース６１は、直線コースパーツＣＰ１、カーブコースパーツＣＰ２、スロープコースパーツＣＰ３、カーブコースパーツＣＰ４、スロープコースパーツＣＰ５、カーブコースパーツＣＰ６、直線コースパーツＣＰ７、カーブコースパーツＣＰ８を順に連結することで構成される。
【００６９】
直線コースパーツＣＰ１は、直線コースパーツＣＰ７より長い直線形状のコースパーツであり、カーブコースパーツＣＰ２に連結される。カーブコースパーツＣＰ２は、ループ形状のコースパーツであり、スロープコースパーツＣＰ３に連結される。スロープコースパーツＣＰ３は、カーブコースパーツＣＰ２及びＣＰ１０と立体交差するように、スロープ形状の架橋となって、後続のカーブコースパーツＣＰ４に連結される。カーブコースパーツＣＰ４は、緩やかなカーブコースであり、カーブコースパーツＣＰ１２と立体交差するように、スロープ形状の架橋となって、後続のスロープコースパーツＣＰ５に連結される。スロープコースパーツＣＰ５は、直線コースパーツＣＰ１、ＣＰ９と立体交差するように、スロープ形状の架橋となって、後続のカーブコースパーツＣＰ６に連結される。カーブコースパーツＣＰ６は、カーブ形状のコースパーツであり、後続の直線コースパーツＣＰ７に連結される。直線コースパーツＣＰ７は、直線形状のコースパーツであり、後続のカーブコースパーツＣＰ８に連結される。カーブコースパーツＣＰ８は、ループ形状のコースパーツであり、後続の第２の周回コース６２の導入コースとなる直線コースパーツＣＰ９に連結される。なおコースパーツＣＰ９〜ＣＰ１６で構成される第２の周回コース６２は、第１の周回コース６１とほぼ同様の構成・形状になっているため、その説明を省略する。
【００７０】
図１（Ｂ）に、図１（Ａ）のＡ−Ａに示す部分の断面図を示す。図１（Ｂ）に示すように、コース６０の各部では、第１の周回コース６１と第２の周回コース６２が並列され、各周回コース６１、６２に対し両サイドに、それぞれ側壁６３Ｌ、６３Ｒ、６４Ｌ、６４Ｒが設けられている。そして、各周回コース６１、６２の略中央には、黒色のセンターラインＣＬ１、ＣＬ２が設けられている。
【００７１】
また本実施形態では、図１（Ａ）に示すように、各コースパーツＣＰ１〜ＣＰ１６の連結部付近に、白色のマーカＭＣ１〜ＭＣ１６が設けられており、そのうち、直線コースブロックＣＰ１の一端に設けられるマーカＭＣ１がスタートライン（スタートエリア）となる。そして、マーカＭＣ１をスタートラインとして走行開始した移動玩具１０は、ゲーム装置（外部端末）から転送される走行制御データによって走行が制御されて、コース６０上を反時計回りで走行する。そして、本実施形態では、これらのマーカＭＣ１〜ＭＣ１６でコース６０を区切ることによって、コース区間ＣＳ１〜ＣＳ１６が設定されている。即ち、コースパーツＣＰ１〜ＣＰ１６に対応して、コース区間ＣＳ１〜ＣＳ１６が設定される。なお、本実施形態のコースは、図１（Ａ）、図１（Ｂ）の形状に限定されず、種々の変形実施が可能である。
【００７２】
１−２．移動玩具
図２に、本実施形態の移動玩具の一例である移動玩具１０の外観斜視図を示す。本実施形態では、図２に示すように、移動玩具１０のボディ１２は、スポーツカー等の外形を模した外装部１４と、前輪１８と後輪２０（接地部）が一対ずつ設けられるシャシ１６とを含む。これらの前輪１８および後輪２０は、シャシ１６に搭載されたモータ等の原動機によって駆動されて、移動玩具１０を移動させる。
【００７３】
図２に示すように、ボディ１２の四隅には、ガイドローラ（プレート）２１、２２、２３、２４（２４について図３参照）がそれぞれ設けられている。これらのガイドローラ２１〜２４は、コース６０を走行中に図１（Ｂ）に示す側壁６３Ｌ、６３Ｒ、６４Ｌ、６４Ｒにヒットすることで、移動玩具１０のコース６０上での進行を円滑にすると共に、移動玩具１０の走行の安定性を担保するための部材である。
【００７４】
なお、本実施形態では、移動玩具１０は、ボディ１２（外装部１４）がスポーツカーを模した形状になっているが、移動玩具１０は、これに限らず様々な形態の自動車（例えば、トラック等）、或いは二輪車（例えば、バイク等）の外形を有していてもよい。また、本実施形態の移動玩具は、移動玩具に限定されず、例えば、競馬の競走馬等の動物や漫画等の各キャラクタを模した人形等をコースに沿って移動させるものにも適用可能である。
【００７５】
図３は、本実施形態の移動玩具１０の内部構成を示す平面図であり、ボディ１２の外装部１４を取り外した状態を示す。本実施形態では、移動玩具１０は、前輪１８（１８Ｌ、１８Ｒ）及び後輪２０（２０Ｌ、２０Ｒ）をそれぞれ左右に一対ずつ有し、これら前輪１８、後輪２０を軸支する前輪用車軸（シャフト）２６、後輪用車軸２８に、シャシ１６
後方側に搭載されるモータ３０の駆動が伝達され、前輪１８及び後輪２０が回転駆動される四輪駆動移動玩具である。なお、所与の動力を供給して移動玩具１０を走行移動させるための機械的エネルギーに変換する原動機は、モータ３０に限定されず、例えば小型エンジン等の他の原動機であってもよい。
【００７６】
後輪用車軸２８には、後輪２０を駆動させるための後輪駆動用ギア３２が設けられ、当該後輪駆動用ギア３２を介して、当該後輪用車軸２８にモータ３０の駆動が伝達される。また、後輪用車軸２８には、前輪用車軸２６にモータ３０の駆動を伝達するための後輪側クラウンギア３４が設けられており、前輪用車軸２６に駆動を伝達するための駆動伝達軸３６の端部に設けられる後輪側駆動伝達ギア３８と噛合している。
【００７７】
一方、前輪用車軸２６には、駆動伝達軸３６を介してモータ３０の駆動を伝達するための前輪側クラウンギア４０が設けられており、駆動伝達軸３６の他端に設けられる前輪側駆動伝達ギア４２と噛合している。このため、モータ３０が駆動すると、モータ３０の駆動が後輪駆動用ギア３２、後輪側駆動伝達ギア３８、駆動伝達軸３６、前輪側駆動伝達ギア４２、および前輪側クラウンギア４０を介して伝達され、本実施形態の移動玩具１０が四輪駆動となる。なお、本実施形態の移動玩具１０のモータ３０に所与の動力を供給して移動玩具１０を走行させるための機械的エネルギーに変換する動力伝達機構は、図３の構成に限定されず、その構成要素の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００７８】
また、前輪用車軸２６は、シャシ１６に対し軸部４４を介して軸支される前輪軸支持部４６に回転自在に支持されている。このため、前輪１８は、前輪用車軸２６を介して水平軸周りに回転可能とすることによって移動玩具１０を走行させ、かつ軸部４４で軸支される前輪軸支持部４６を介して垂直軸周りに揺動可能とすることによって、移動玩具１０の走行方向を変化させる。
【００７９】
シャシ１６の略中央には、モータ３０に対して動力となる電力を供給する電源として乾電池４８（動力源）が設置されている。乾電池４８の設置場所は、シャシ１６の略中央に限定されないが、重量を有する乾電池４８をシャシ１６の略中央に設置することによって、移動玩具１０の重心が略中央に移動し、移動玩具１０の走行動作が安定するようになるので、乾電池４８の設置場所は、シャシ１６の略中央に設置することが好ましい。なお、本実施形態では、電力供給源として乾電池４８を設置する移動玩具１０としているが、電力供給を充電式によるものとすることも可能である。
【００８０】
更に、移動玩具１０がコース６０上に走行中にコース６０と対向するボディ１２の接地面側、すなわちシャシ１６の裏面側の前方には、当該接地面側のコース６０への対向を検知するセンサ５０が設けられている。このセンサ５０は、コース６０に設けられた複数のマーカＭＣ１〜ＭＣ１６の各マーカを検知する。具体的には本実施形態では、センサ５０は、検知対象の輝度（輝度情報）を検知する。そしてセンサ５０からの検知結果（検知信号）に基づいて、シャシ１６の裏面側となる接地面側が、コース６０に対向しているか否かを検知する。
【００８１】
具体的には、センサ５０は、図１（Ｂ）に示すコース６０の黒色のセンターラインＣＬ１、ＣＬ２と対向するように配置され、検知対象（センターライン、マーカ等）の輝度（画像）を検知する。この場合に、コースの輝度であるセンターラインＣＬ１、ＣＬの輝度は、所与の基準輝度未満であり、白色マーカＭＣ１〜ＭＣ１６の輝度は、基準輝度以上になるように設定される。そして、移動玩具１０が走行してコース６０上に設けられているＭＣ１〜ＭＣ１６の各マーカを通過すると、センサ５０の検知対象の輝度が基準輝度未満から基準輝度以上になったと判断されて、各マーカが検出される。一方、センサ５０の検出対象の輝度が、所定判定時間以上、基準輝度未満であると判断されると、移動玩具１０のジャンプ等により、シャシ１６の裏面側、すなわち接地面側がコース６０に対向しなくなったと判定される。このようにセンサ５０がコース６０のセンターラインＣＬ１、ＣＬ２およびマーカＭＣ１〜ＭＣ１６を適宜読み取るためには、センサ５０は、シャシ１４の裏面側（接地面側）のうち、前輪１８Ｌ、１８Ｒ（広義には第１、第２の接地部）の間に配置されることが好ましい。
【００８２】
本実施形態では、移動玩具１０が通常通りコース６０を走行している場合は、当該センサ５０がコース６０と対向するので、所与の間隔でコース６０上に設けられている白色のマーカＭＣ１〜ＭＣ１６を読み取れる。一方、移動玩具１０がジャンプしたり、コースアウト、転倒等した場合には、移動玩具１０の接地面がコース６０に対向しなくなるので、所定判定時間以上経過しても、マーカＭＣ１〜ＭＣ１６を読み取れなくなる。これによりジャンプ等を検出できる。
【００８３】
なお、センサ５０としては、例えば反射型のフォトセンサ（赤外線センサ）を用いることができる。この反射型のフォトセンサは、ＬＥＤ等の発光素子を有し、当該発光素子で発光した光を、検知対象で反射させて、その反射光を検知するセンサである。但しセンサ５０は、反射型のフォトセンサには限定されず、距離センサ、バーコード読み取りセンサ、或いはＣＣＤ等の各種センサを用いることができる。
【００８４】
また、移動玩具１０のスタート後（レース開始後、原動機がオンになった後）に、常時、センサ５０による検知対象の検知を実行するようにしてもよい。即ち、スタート後、常にセンサ５０による検知を行い、得られた検知結果のデータを記憶部３３０に蓄積して行く。このとき、例えば検知結果のデータを記憶部３３０の図示しないリングバッファに格納するようにしてもよい。この場合には、リングバッファの全ての格納領域に検知結果データが書き込まれると、その後は検知結果が上書きされることになるため、リングバッファに格納される検知結果データが所定時間毎に更新されるようになる。
【００８５】
移動玩具１０のボディ１２（シャシ１６）の後端側には、ブレーキランプ等として機能する発光素子５２Ｌ、５２Ｒが設けられており、移動玩具１０の速度変化時（例えば減速時、加速時等）に点灯する。これにより、減速時のブレーキランプの点灯等を擬似的に表現できる。
【００８６】
図４に、本実施形態の移動玩具（移動玩具）１０の機能ブロック図の例を示す。移動玩具１０のボディ１２内には、移動玩具１０の各構成要素を制御するための回路部品が実装された回路基板（システム基板）３００が設けられている。この回路基板３００は、図４に示すように、制御部３１０、記憶部３３０、発光素子駆動部３４０、駆動部３５０、センサコントローラ３６０、外部インターフェース（Ｉ／Ｆ）部３７０を含む。
【００８７】
制御部３１０は、移動玩具１０（移動玩具）の制御を行う。具体的には、記憶部３３０から読み出されたデータやプログラムなどに基づいて、移動玩具１０全体の制御や、回路基板３００の各構成要素（駆動部等）の制御を行う。本実施形態では、制御部３１０は、例えばセンサ５０からの検知情報や、記憶部３３０に記憶されるデータ（走行制御データ、動力設定データ、電力設定データ）に基づいて、モータ（広義には原動機）３０を駆動するための制御を行う。この制御部３１０の機能は、各種プロセッサ（ＣＰＵ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００８８】
記憶部３３０は、各種プログラムやデータを記憶するものであり、その機能はＲＡＭやＲＯＭなどにより実現できる。例えば制御部３１０は、記憶部３３０から読み出されたプログラムにより動作し、記憶部３３０をワーク領域として各種処理を行う。また外部のゲーム装置（外部端末）から受信した走行制御データなどの各種データは、記憶部３３０に保存される。なお、メモリーカードなどの携帯型情報記憶装置の装着が可能な移動玩具の場合には、当該携帯型情報記憶装置によって、記憶部３３０の一部の機能を実現してもよい。
【００８９】
発光素子駆動部３４０は、ＬＥＤ等の発光素子５２を駆動する。例えば本実施形態では、制御部３１０は、移動玩具１０の減速制御時（ブレーキング時）に、発光素子５２を発光させる制御を行う。具体的には、移動玩具１０の減速時に、制御部３１０からの指示信号に基づいて、発光素子駆動部３４０が発光素子５２を駆動して発光させ、ブレーキランプの点灯を疑似的に表現する。この場合の発光期間（減速期間）は、例えば後述する各コース区間の前半の第１の期間である。或いは、走行制御データに基づいて減速制御を行うと判断した場合、一定の期間だけ、発光素子５２を発光させるようにしてもよい。
【００９０】
なお発光素子駆動部３４０と発光素子５２Ｌ、５２Ｒは、制御主の切り替えが行われた場合に、ゲーム装置に対して制御主切り替えが行われたことを示す制御主切り替え情報を無線通信で送信する手段として機能させることができる。例えば制御主の切り替えが行われた場合に、発光素子５２Ｌ、５２Ｒを点滅させてもよい。この様にすると制御主の切り替えが行われたことを、ギャラリーに視覚的に告知することができる。また切り替えられた制御主に応じて点滅パターンを変化させるようにしてもよい。この様にすると、新たな制御主が誰であれるかギャラリーに視覚的に告知することができる。
【００９１】
駆動部３５０（モータ駆動部）は、制御部３１０の制御の下でモータ３０を駆動する。例えばモータ３０（原動機）は、移動玩具１０（移動玩具）のボディ１２に搭載され、所与の動力（電力）が供給されて移動玩具１０を走行（移動）させる。駆動部３５０はこのモータ３０を駆動する。
【００９２】
例えば移動玩具１０を走行させる場合には、駆動部３５０はモータ３０をＰＷＭ駆動する。この場合のＰＷＭ駆動のデューティは、記憶部３３０から読み出された走行制御データ（動力設定データ、電力設定データ）により設定される。そして、移動玩具１０の走行速度は、ＰＷＭ駆動のデューティにより制御できる。また移動玩具１０の加速制御を行う場合には、例えば高いデューティ（例えば１００パーセント）に対応する電圧をモータ３０に印加する。一方、減速制御を行う場合には、例えば通常走行時とは逆極性の電圧をモータ３０に印加する。
【００９３】
センサコントローラ３６０は、センサ５０の制御等を行うコントローラである。具体的には、センサ５０からの検知信号を受けて、検知信号に対応するデータを制御部３１０に出力する。例えばセンサ５０が反射型のフォトセンサである場合には、センサ５０は、ＬＥＤ等の発光素子により実現される投光部と、検知対象からの反射光を受光する受光部を有する。この場合にセンサコントローラ３６０は、発光素子を発光させたり、受光部からの検知信号を検出する処理などを行う。
【００９４】
外部インターフェース（Ｉ／Ｆ）部３７０は、外部機器とのインターフェース処理を行うものである。具体的には、外部機器であるゲーム装置から走行制御データなどのデータを受信したり、ゲーム装置に対して実走行結果データなどのデータを送信する。
【００９５】
この場合の外部Ｉ／Ｆ部３７０によるインターフェースは、ＲＳ２３２ＣやＵＳＢなどの有線のインターフェースにより実現してもよいし、赤外線などの無線のインターフェースにより実現してもよい。例えば赤外線通信（ＩＲＤＡ）により、外部Ｉ／Ｆ部３７０のインターフェースを実現する場合には、移動玩具１０の例えば裏面側に赤外線の受光センサを設ける。そしてゲーム装置側（ゲーム装置本体やゲーム装置に装着されるＩＣカード）の発光素子からの赤外線を、この受光センサで検知することで、ゲーム装置からの走行制御データ（動作制御データ）等のデータを、移動玩具１０にダウンロードする。また移動玩具１０の例えば裏面側に赤外線の発光素子を設ける。そして、この発光素子からの赤外線を、ゲーム装置側の受光センサにより検知することで、移動玩具１０の走行結果データ（動作結果データ）等のデータを、ゲーム装置にアップロードする。
【００９６】
そして本実施形態では、記憶部３３０は、コース６０での移動玩具（狭義には移動玩具１０）の走行（広義には移動）を制御するためのデータである走行制御データ（広義には動作制御データ）を記憶する。この走行制御データは、移動玩具の各コース区間での速度等を設定するためのデータである。
【００９７】
またセンサ５０は、位置検出部として機能し、コース６０に設けられた複数のマーカＭＣ１〜ＭＣ１６の各マーカを検知する。例えば移動玩具が各マーカの設置位置を通過した時に、その通過を検知し、移動玩具が、どのコース区間に位置するのかを検出する。
【００９８】
そして記憶部３３０は、走行制御データとして、コース６０の各コース区間において原動機（狭義にはモータ３０）に供給される動力の大きさを設定する走行制御データ（動力設定データ）を、コース６０の各コース区間に対応づけて記憶する。この走行制御データは、例えばモータ３０に供給される電力（実効電圧）を設定するためのデータであり、具体的にはモータ３０をＰＷＭ駆動する際のデューティを設定するためのデータである。
【００９９】
制御部３１０は、センサ５０からの検知情報に基づいて、コース６０の第ｉのコース区間（ｉは自然数）にいると判断した場合には、第ｉのコース区間に対応づけられた第ｉの走行制御データ（第ｉの電力設定データ）に基づいて、移動玩具の減速制御及び加速制御の少なくとも一方を行ってもよい。
【０１００】
例えば原動機であるモータ３０をＰＷＭ駆動する場合には、駆動部３５０は、第ｉのコース区間では、第ｉの走行制御データにより設定される第ｉのデューティでモータ３０をＰＷＭ駆動し、第ｉ＋１のコース区間では、第ｉ＋１の走行制御データにより設定される第ｉ＋１のデューティでモータ３０をＰＷＭ駆動する。
【０１０１】
また制御部３１０は、制御主となる外部の情報処理装置で生成された動作制御情報に基づき移動玩具の制御を行うもので、制御部制御主となる外部の情報処理装置を所与のタイミングで切り替える制御主切り替え処理部として機能し、制御主の切り替えが行われた場合には、切り替え後の制御主となる外部の情報処理装置で生成された動作制御情報に基づき移動玩具の動作制御を行う。
【０１０２】
また前記制御部３１０は、記憶部３３０に記憶された前記動作制御情報に基づき、移動玩具の動作制御を行ってもよい。
【０１０３】
また時間の経過又は時刻を検出する時間／時刻検出部をさらに含み、制御部３１０は、検出された時間の経過又は時刻に基づき、前記制御主を切り替えるタイミングを決定してもよい。また制御部３１０は、センサ５０により検出された位置の情報に基づき、前記制御主を切り替えるタイミングを決定してもよい。
【０１０４】
また外部インターフェース部３７０は、制御主の切り替えタイミングを指示する切り替えタイミング指示情報を無線で受信し、制御部３１０は、前記切り替えタイミング指示情報に基づき、前記制御主を切り替えるタイミングを決定してもよい。また制御部３１０は、予め設定された所定の規則に従って制御主に切り替える処理を行ってもよいし、ランダムに次の制御主を決定し、決定した制御主に切り替える処理を行ってもよい。
【０１０５】
また外部インターフェース部３７０は、前記制御主の切り替えが行われた場合に、前記制御主の切り替えが行われたことを示す制御主切り替え情報を無線通信で送信してもよい。
【０１０６】
１−３．ゲーム装置
図５に、本実施形態のゲーム装置（情報処理装置の一例）の外観図を示す。ここではゲーム装置の一例として携帯型ゲーム装置を示している。なお本実施形態のゲーム装置は、このような携帯型ゲーム装置には限定されず、例えば携帯型ゲーム装置以外のゲーム装置や、ゲームプログラムの実行が可能な携帯型情報処理装置や携帯電話機などの種々のゲーム装置に適用できる。
【０１０７】
図５のゲーム装置は、タッチパネル型の表示部１９０と、通常の表示部１９１を有する。また操作部として機能する方向指示キー（十字キー）４００、操作ボタン４０２や、音出力部として機能するスピーカ４０４、４０６を有する。また情報記憶媒体として機能するＩＣカード４１０（ゲームカード、ゲームカートリッジ）が着脱自在に装着されるカードスロット４１２を有する。このＩＣカード４１０には、ゲームプログラム（ゲームデータ）が記憶される。なおスタイラスペン４２０は、タッチパネル型の表示部１９０へのタッチ操作を、プレーヤ（ユーザ）の指の代わりに行うためのものである。
【０１０８】
表示部１９０、１９１には種々の画像（メニュー画面、シミュレーション画像、ゲーム画像）が表示される。これらの表示部１９０、表示部１９１は、ＴＦＴなどのカラー液晶ディスプレイにより構成できる。そしてタッチパネル型の表示部１９０では、カラー液晶ディスプレイの上面（或いは下面）にタッチパネルが一体的に形成されており、これによりタッチ操作による操作入力が可能になる。
【０１０９】
例えばタッチパネル型の表示部１９０には、後述する走行制御データ（動作制御データ）の設定画面が表示される。また表示部１９１には、シミュレーション画像（ゲーム画像）が表示される。具体的には、コース６０に対応する仮想コース４３０（コース６０を模した仮想空間内のコース）が表示される。また移動玩具１０に対応する仮想移動体４４０（移動玩具を模した移動オブジェクト）が表示され、仮想移動体４４０が仮想コース４３０で走行する様子が表示される。なお、これらの仮想移動体４４０、仮想コース４３０は、表示部に表示されるオブジェクトであってもよいし、非表示のオブジェクトであってもよい。
【０１１０】
図６に本実施形態のゲーム装置の機能ブロック図の例を示す。なお本実施形態のゲーム装置は図６の構成要素（各部）の一部を省略した構成としてもよい。
【０１１１】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、方向指示キー、操作ボタン、或いはジョイスティックなどにより実現できる。
【０１１２】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＤＲＡＭ、ＶＲＡＭ）などにより実現できる。この記憶部１７０は、走行特性データ記憶部１７２、コースデータ記憶部１７３、走行制御データ記憶部１７４、キャラクタデータ記憶部１７６、描画バッファ１７８を含む。
【０１１３】
走行特性データ記憶部１７２（広義には動作特性データ記憶部）は走行特性データ（広義には動作特性データ）を記憶する。この走行特性データ（動作特性データ）は、移動玩具の動作特性（走行特性、動き特性、モーション特性）に基づき設定されたデータである。具体的には、コース上を移動する移動玩具の走行特性（加速特性、ブレーキング特性、コーナリング特性等）に基づき設定されたデータである。
【０１１４】
コースデータ記憶部１７３はコースデータ（コース特性データ）を記憶する。このコースデータは、移動玩具が移動するコースのコース特性（コース長、コース幅、コーナー曲率等）に基づき設定されたデータである。
【０１１５】
走行制御データ記憶部１７４（広義には動作制御データ記憶部）は走行制御データ（動作制御データ）を記憶する。この走行制御データ（動作制御データ）は、移動玩具の走行（動き、モーション等の動作）を制御するためのデータである。具体的には、コースでの移動玩具の走行（速度、加速度、旋回等）を制御するためのデータである。
【０１１６】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、ＩＣカード（メモリーカード）、光ディスク（ＣＤ、ＤＶＤ）、ＨＤＤ（ハードディスクドライブ）、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータ（操作部、処理部、記憶部、出力部を備える装置）を機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【０１１７】
タッチパネル型の表示部１９０は、プレーヤ（ユーザ）が種々の操作を行ったり、本実施形態により生成された画像を表示するためのものであり、例えば、ＬＣＤ、有機ＥＬなどのディスプレイと、それに一体的に形成されたタッチパネルなどにより実現できる。タッチパネル方式としては、抵抗膜方式（４線式、５線式）、静電容量結合方式、超音波表面弾性波方式、赤外線走査方式などがある。
【０１１８】
表示部１９１は、本実施形態により生成された画像を表示するためのものであり、例えばＬＣＤ、有機ＥＬなどのディスプレイにより実現できる。なお表示部１９１としてタッチパネル型のディスプレイを用いてもよい。
【０１１９】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォン端子などにより実現できる。
【０１２０】
補助記憶装置１９４（補助メモリ、２次メモリ）は、記憶部１７０の容量を補うために使用される記憶装置であり、ＳＤメモリーカード、マルチメディアカードなどのＩＣカードにより実現できる。この補助記憶装置１９４は脱着自在になっているが、内蔵されるものであってもよい。この補助記憶装置１９４は、ゲームの途中結果などのセーブデータや、プレーヤ（ユーザ）の個人的な画像データや音楽データなどを保存するために使用される。
【０１２１】
通信部１９６は、有線や無線の通信網（ネットワーク）を介して外部（例えば移動玩具サーバ、他のゲーム装置等）との間で通信を行うものであり、その機能は、通信用ＡＳＩＣ又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現でき
る。
【０１２２】
例えばゲーム装置と移動玩具との間でデータの送受信を行う場合には、通信部１９６の機能は、ＲＳ２３２ＣやＵＳＢなどの規格にしたがってデータ転送を行う転送コントローラにより実現できる。この場合に、この転送コントローラを、図５のＩＣカード４１０に内蔵させてもよい。またＩＣカード４１０に、カードなどの外部情報記憶媒体の情報を読み取るバーコードリーダ等のコントローラを更に内蔵させてもよい。またゲーム装置と移動玩具との間で、通信部１９６により無線（例えば赤外線通信）によりデータを送受信するようにしてもよい。或いは、ＵＳＢメモリなどの携帯型記憶装置を用いて、ゲーム装置と移動玩具との間でデータを送受信してもよい。
【０１２３】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、サーバ（ホスト装置）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（あるいは記憶部１７０、補助記憶装置１９４）に配信してもよい。このようなサーバ（ホスト装置）による情報記憶媒体の使用も本発明の範囲内に含めることができる。
【０１２４】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理（シミュレーション処理）、画像生成処理、或いは音生成処理などを行う。この場合のゲーム処理としては、ゲームの内容やゲームモードを決定する処理、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部１００の機能は、各種プロセッサ（ＣＰＵ、ＧＰＵ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【０１２５】
処理部１００は、シミュレーション処理部１０２、送信処理部１０４、受信処理部１０６、認証処理部１０８、比較処理部１１０、表示制御部１１２、成績評価部１１４、アップロード処理部１１６、動作制御情報生成部１４０を含む。なおこれらの一部の構成要素（例えば認証処理部、比較処理部等）を省略する構成としてもよい。
【０１２６】
シミュレーション処理部１０２は、移動玩具に対応する仮想移動体を仮想空間内（シミュレーション空間内）で動作（走行、モーション）させるシミュレーション（走行シミュレーション、動作シミュレーション）を行う。例えばコースに対応する仮想コース上で仮想移動体を走行させるシミュレーション処理を行ったり、仮想移動体のモーション（動き）を変化させるシミュレーション処理を行う。
【０１２７】
具体的にはシミュレーション処理部１０２は、移動玩具に対応して設けられ動作特性データに基づきその動作特性が設定される仮想移動体を、仮想空間内において、動作制御データにしたがって動作（仮想動作）させるシミュレーションを行う。そして、動作シミュレーションの結果データを生成する。更に具体的にはシミュレーション処理部１０２は、移動玩具に対応して設けられ走行特性データに基づきその走行特性が設定される仮想移動体を、コースに対応して設けられコースデータに基づきそのコース特性が設定される仮想空間内の仮想コースにおいて、走行制御データにしたがって走行（仮想走行）させるシミュレーション処理を行う。そして、走行シミュレーションの結果データを生成する。
【０１２８】
この場合のシミュレーション処理は、通常のレーシングゲーム等と同様に、仮想移動体の移動情報（位置、回転角度、速度、或いは加速度）を、１フレーム（１／６０秒）毎に順次求める走行シミュレーション処理を行うことで実現してもよい。或いは、通常の格闘技ゲーム等と同様に、仮想移動体の動作情報（パーツオブジェクトの位置、或いは回転角度）を、１フレーム毎に順次求める動作シミュレーション処理を行うことで実現してもよい。
【０１２９】
例えば走行シミュレーションの場合には、仮想移動体の加速性能、最高速性能、ブレーキング性能、或いはコーナリング性能等を、走行特性データにより設定する。また、コースデータを、通常のレーシングゲームと同様の手法により設定する。例えばコースに沿って設定された複数のサンプリングポイントの各サンプリングポイントに対して、コース幅やコース方向などを対応づけたコースデータを用意する。そしてこのコースデータを用いて、移動玩具が走行する実際のコース（例えば、基本コースや店舗の特設コース等）に対応した仮想コースを、仮想空間（ゲーム空間）内に構築する。そして、レーシングゲームで一般的に使用される自動走行アルゴリズムにより、仮想移動体を仮想コース内で走行させるシミュレーション処理を行う。そして必要であれば、図５に示すように、仮想移動体４４０が仮想コース４３０上で走行する様子を、表示部１９１に表示する。
【０１３０】
或いは、このような仮想移動体のリアルタイムなシミュレーション走行処理は行わずに、動作特性データや動作制御データを入力データとし、動作シミュレーション結果データを出力データとするテーブルデータを用いて、シミュレーション処理を実現してもよい。
【０１３１】
具体的には、走行特性データやコースデータや走行制御データを入力データとし、ラップタイムなどの走行シミュレーション結果データを出力データとするテーブルデータを用いて、シミュレーション処理を実現する。
【０１３２】
このテーブルデータは、記憶部１７０の図示しないテーブルデータ記憶部に記憶される。そしてシミュレーション処理部１０２は、このテーブルデータを用いて、シミュレーション処理を実行する。この場合のテーブルデータは、例えば移動玩具のメーカが、移動玩具を実際に動作させたり、移動玩具を実際のコースで走行させることで、様々な条件のテーブルデータを用意する。例えば、同じコースで同じ種類（車種）の移動玩具であっても、移動玩具に装着されるパーツが異なる場合には、異なったシミュレーション結果データになるように、複数のテーブルデータの各テーブルデータを作成する。そして、作成したテーブルデータを、ゲームソフトのデータとして情報記憶媒体１８０に格納したり、ネットワーク、通信部１９６を介して外部からダウンロードできるようにする。
【０１３３】
送信処理部１０４は、移動玩具に対してデータを送信するための処理を行う。例えば送信するデータを記憶部１７０に用意したり、データの送信を通信部１９６に指示する。具体的には、送信処理部１０４は、動作制御データを移動玩具に送信するための処理を行う。例えば動作制御データとして走行制御データを送信する。更に具体的には、コースの各コース区間に対応づけられた走行制御データ（動力設定データ、電力設定データ）を送信する。或いは走行制御データとして、コースデータ取得用の走行制御データを移動玩具に送信してもよい。
【０１３４】
受信処理部１０６は、移動玩具からのデータを受信するための処理を行う。例えばデータの受信を通信部１９６に指示したり、受信したデータを記憶部１７０に保存する。具体的には、受信処理部１０６は、送信処理部１０４により送信された動作制御データに基づき移動玩具が動作することで得られた実動作結果データを、移動玩具から受信するための処理を行う。更に具体的には、送信処理部１０４により送信された走行制御データに基づき移動玩具がコースを走行することで得られた実走行結果データを、移動玩具から受信するための処理を行う。この場合に、コースの各コース区間での移動玩具の実走行ラップタイムデータを、実走行結果データとして受信してもよいし、コースの各コース区間での移動玩具の実加減速データを、実走行結果データとして受信してもよい。或いは、送信されたコースデータ取得用走行制御データに基づき移動玩具がコースを走行することで得られたコースデータ取得用の実走行結果データを、受信してもよい。
【０１３５】
認証処理部１０８は、移動玩具から受信したデータの認証処理を行う。例えば受信した実走行結果データ（広義には実動作結果データ）が正当なデータ（アップロード等が許可されるデータ）であるか否かを認証する。具体的には、移動玩具がコースのスタート地点からスタートしてコースのゴール地点を通過したと判定された場合に、実走行結果データが正当なデータであると判断する。例えば、スタート地点に対応するコース区間とゴール地点に対応するコース区間を移動玩具が通過したと、センサからの検知情報に基づき判断された場合に、その走行により得られた実走行結果データが正当なデータであると判断する。この場合に、コースの全てのコース区間（マーカ）を通過（検知）したことを条件に、その実走行結果データが正当なデータであると判断してもよい。或いは、移動玩具がコースでジャンプして、センサによる検出が読み飛ばされることを考慮し、１００パーセントよりも小さい一定の割合（例えば９０パーセント）以上のコース区間（マーカ）を通過（検知）したことを条件に、正当なデータであると判断してもよい。
【０１３６】
比較処理部１１０は、データの比較処理を行う。例えば、受信処理部１０６により受信された実走行結果データ（実動作結果データ）と、シミュレーション処理部１０２でのシミュレーション処理により得られた走行シミュレーション結果データ（動作シミュレーション結果データ）との比較処理を行う。この場合の比較処理としては、例えば各コース区間での実走行ラップタイムと、そのコース区間でのシミュレーションラップタイムを比較し、その差分を求める処理などがある。或いは、各コース区間での実加減速データと、そのコース区間でのシミュレーション加減速データの比較処理を行ってもよい。そして、このような比較処理を行うことで、実走行結果を向上させるのに必要なパーツを特定する。
【０１３７】
そして表示制御部１１２は、この比較処理での比較結果に基づいて、移動玩具のパーツ変更のアドバイス画面（変更パーツ表示画面）を表示する制御を行う。
【０１３８】
表示制御部１１２は、表示部１９０、１９１の表示制御を行う。例えば処理部１００で行われる種々の処理（シミュレーション処理、ゲーム処理）の結果に基づいて、描画バッファ１７８への画像の描画処理を行い、これにより画像（例えば図５の走行制御データ設定画面の画像、シミュレーション画像）を生成し、生成された画像を表示部１９０、１９１に表示する。この場合に、生成する画像は、いわゆる２次元画像であってもよいし、３次元画像であってもよい。そして３次元画像を生成する場合には、まず、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、透視変換後（ジオメトリ処理後）のオブジェクト（１又は複数プリミティブ面）を描画バッファ１７８（フレームバッファ、中間バッファなどのピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ）に描画する。これにより、仮想空間（オブジェクト空間）内において仮想カメラ（所与の視点）から見える画像が生成される。
【０１３９】
そして本実施形態では表示制御部１１２は、実動作結果データを表示部に表示する制御を行う。具体的には、実走行結果データを、コースの各コース区間に対応づけて表示する制御を行う。更に具体的には、実走行結果データであるラップタイムデータや加減速データを、コースの各コース区間に対応づけて表示する。或いは、シミュレーション処理により得られた走行シミュレーション結果データ（動作シミュレーション結果データ）に対して、実走行結果データ（実動作結果データ）を関連づけて表示してもよい。
【０１４０】
成績評価部１１４（成績演算部）は、プレーヤのプレイ成績（走行成績、得点、ポイント、勝敗等）の評価処理（演算処理）を行う。例えば、受信した実走行結果データ（実動作結果データ）に基づいて、移動玩具についてのプレーヤのプレイ成績（ラップタイム等の実走行結果、得点等の実動作結果）を評価する。或いはプレーヤのゲームプレイのプレイ成績を評価してもよい。
【０１４１】
アップロード処理部１１６は、データのアップロード処理を行う。具体的には、通信部１９６及びネットワークを介して、プレーヤの実走行結果データ（実動作結果データ）などのプレイ成績を、外部のサーバ等にアップロードする処理を行う。これにより、サーバの管理の下で、プレーヤの実走行結果データのランキング表示などが可能になる。この場合に、受信した実走行結果データが正当なデータであると認証処理部１０８により判断された場合に、正当なデータであると判断された実走行結果データを、ネットワークを介してアップロードしてもよい。即ち正当な実走行結果データについてはアップロードを許可し、不正な実走行結果データについてはアップロードを許可しないようにする。
【０１４２】
動作制御情報生成部１４０は、入力情報に基づき、前記移動玩具の動作を制御するための動作制御情報（走行制御データ等）を生成する。例えば図７〜図９で説明する手法により走行制御データの設定を行い動作制御情報を生成してもよい。
【０１４３】
１−４．走行制御データの設定
次に本実施形態の手法について説明する。まず走行制御データ（広義には動作制御データ）の設定手法について説明する。
【０１４４】
なお、以下では、コース上での移動玩具の走行を、走行制御データに基づいて制御する場合を主に例にとり説明するが、本実施形態の手法は、このような走行の制御には限定されない。例えば移動玩具の手足、体の動きや、パーツの動作等を制御する場合にも、本実施形態の手法は適用できる。この場合には、ゲーム装置から移動玩具に対して、移動玩具の手足、体の動きやパーツの動作を制御するための動作制御データを送信し、移動玩具側は、この動作制御データに基づいて、手足、体の動きやパーツの動作を制御することになる。
【０１４５】
図７に走行制御データの設定画面の例を示す。この設定画面は、図５に示すようにタッチパネル型の表示部１９０に表示され、プレーヤは、この設定画面において、図１（Ａ）のコース６０の各コース区間ＣＳ１〜ＣＳ１６での走行制御データを設定する。
【０１４６】
例えば、走行制御データの雛形データ（メーカ側が用意するデフォルトの走行制御データ）が存在する場合や、過去に設定して保存した走行制御データが存在する場合には、図７のＪ１に示すアイコンを、タッチパネル型表示部１９０へのタッチ操作により選択して、そのセッティング内容を読み出す。また走行制御データの設定が完了した場合には、Ｊ２に示すアイコンを選択して、そのセッティング内容を保存する。また走行制御データを移動玩具１０に送信（ダウンロード）する場合には、Ｊ３に示すアイコンを選択する。一方、実走行結果データ（実動作結果データ）等を移動玩具１０から受信（アップロード）する場合には、Ｈ１に示すアイコンを選択する。
【０１４７】
また、コース選択画面を表示して、コースを選択する場合には、Ｈ２に示すアイコンを選択し、コースの周回数を設定する場合には、Ｈ３に示すアイコンを選択する。また、キャラクタ選択画面を表示して、移動玩具１０を仮想的に操作するキャラクタ（ドライバ）を選択する場合には、Ｈ４に示すアイコンを選択する。
【０１４８】
また図７のＪ４では、スタート地点に対応するコース区間ＣＳ１での走行制御データとして、「６１」が設定されている。この場合の走行制御データは、モータ３０の動力設定データ（電力設定データ）であり、具体的には後述するＰＷＭ駆動におけるデューティである。走行制御データを「６１」を設定することで、このコース区間ＣＳ１では、６１パーセントのデューティでモータ３０がＰＷＭ駆動される。即ちコース区間ＣＳ１は、距離の長い直線の区間であるため、プレーヤは、高いデューティを設定して、移動玩具を加速させる。
【０１４９】
また図７のＪ５では、次のコース区間ＣＳ２での走行制御データとして、「１０」が設定されている。即ちコース区間ＣＳ２は急カーブの区間であるため、コースアウトしないように、プレーヤは、低いデューティを設定して、移動玩具１０を減速させる。
【０１５０】
また図７のＪ６では、次のコース区間ＣＳ３での走行制御データとして、「２９」が設定されている。即ちコース区間ＣＳ３は、直線の区間であるため、プレーヤは、コース区間ＣＳ２よりも高いデューティを設定して、移動玩具１０を加速させる。同様にしてコース区間ＣＳ３〜ＣＳ７の走行制御データを設定し、Ｊ７に示すように第１の周回コース６１の最終のコース区間ＣＳ８の走行制御データを設定する。またＪ８、Ｊ９、Ｊ１０、Ｊ１１等に示すように、第２の周回コース６２のコース区間ＣＳ９〜ＣＳ１６の走行制御データを設定する。
【０１５１】
図８のＪ２０では、プレーヤは、スタイラスペン４２０を用いたドラッグ操作により、走行制御データを設定している。図８のＪ２０では、ドラッグ操作により走行制御データが「６２」に設定され、その後にＪ２１に示すアイコンを選択することで、「６２」の走行制御データの設定が確定する。なお、設定をキャンセルする場合にはＪ２２に示すアイコンを選択する。
【０１５２】
全てのコース区間についての走行制御データの設定が完了すると、プレーヤは図８のＪ３に示すアイコンを選択する。そして、ゲーム装置から移動玩具１０への全ての走行制御データの送信（ダウンロード）が完了すると、図９に示すような画面が表示される。
【０１５３】
以上の本実施形態の走行制御データの設定手法によれば、プレーヤは、複数のコース区間の走行制御データを、簡素な作業で効率良く入力することが可能になる。
【０１５４】
１−５．ゲーム装置側の詳細な処理
次にゲーム装置側の詳細な処理フローについて図１０〜図１４のフローチャートを用いて説明する。
【０１５５】
図１０はメインループの処理フローである。まず、プレーヤに対してメニュー画面を表示する（ステップＳ２１）。そしてプレーヤがセッティングモード（初期設定モード）を選択した場合には、セッティング処理に移行し（ステップＳ２２、Ｓ２３）、走行シミュレーションモードを選択した場合には、走行シミュレーション処理に移行する（ステップＳ２４、Ｓ２５）。またプレーヤが、データ送信モードを選択した場合には、データ送信処理に移行し（ステップＳ２６、Ｓ２７）、データ受信モードを選択した場合には、データ受信処理に移行する（ステップＳ２８、Ｓ２９）。
【０１５６】
図１１はセッティング処理の詳細を示すフローチャートである。まず図１５（Ａ）〜１５（Ｃ）に示すような車種選択画面やパーツ選択画面を表示する（ステップＳ３１、Ｓ３２）。そして、プレーヤにより選択された車種、パーツに基づいて、走行特性データを設定する（ステップＳ３３）。
【０１５７】
次に、図１６に示すようなコース選択画面を表示する（ステップＳ３４）。そして、プレーヤにより選択されたコースに基づいてコースデータを設定する（ステップＳ３５）。このようにして、移動玩具やコースについての初期セッティングを終了する。シミュレーション処理は、例えばこのような初期セッティングの完了後に許可する。
【０１５８】
図１２は走行シミュレーション処理の詳細を示すフローチャートである。まず、走行特性データ記憶部から、図１１のセッティング処理で設定された走行特性データを読み出す（ステップＳ４１）。また、コースデータ記憶部から、図１１のセッティング処理で設定されたコースデータを読み出す（ステップＳ４２）。また、走行制御データ記憶部から、図７、図８で説明した手法により設定された走行制御データを読み出す（ステップＳ４３）。
【０１５９】
そして、読み出された走行特性データ、コースデータ、走行制御データに基づいて、走行シミュレーション処理を実行する（ステップＳ４４）。そして、走行シミュレーションが終了すると、その走行シミュレーション結果を表示部に表示する（ステップＳ４５、Ｓ４６）。例えば各コース区間にシミュレーションラップタイムを対応づけて表示する。
【０１６０】
図１３はデータ送信処理の詳細を示すフローチャートである。まず、図７、図８で説明した走行制御データの設定画面を表示する（ステップＳ５１）。そして、全てのコース区間についてのプレーヤの入力設定が完了したか否かを判断する（ステップＳ５２）。そして、入力設定が完了した場合には、プレーヤがデータ送信を選択したか否かを判断し（ステップＳ５３）、データ送信を選択した場合には、その走行制御データを移動玩具に送信する（ステップＳ５４）。
【０１６１】
図１４はデータ受信処理の詳細を示すフローチャートである。まず移動玩具がゲーム装置に適正に接続されたか否かを確認する（ステップＳ６１）。そして、適正に接続されたことが確認されると、プレーヤがデータの受信を選択したか否かを判断し（ステップＳ６２）、データ受信を選択した場合には、実走行結果データを移動玩具から受信する（ステップＳ６３）。
【０１６２】
次に、受信した実走行結果データをコース区間に関連づけて表示する（ステップＳ６４）。そして、走行シミュレーションを行っている場合には、受信した実走行結果データと、走行シミュレーション結果データを、コース区間に関連づけて表示する（ステップＳ６５、Ｓ６６）。また実走行結果データと走行シミュレーション結果データの比較処理を行い（ステップＳ６７）、比較処理の結果に基づいて、お勧めのパーツのアドバイス画面を表示する（ステップＳ６８）。
【０１６３】
１−６．減速制御、加速制御
次に本実施形態の減速制御、加速制御の手法について説明する。
【０１６４】
図１７（Ａ）に走行制御データのデータ構造の例を示す。図１７（Ａ）では、ＣＳ１〜ＣＳＮの各コース区間に対して、ＤＳ１〜ＤＳＮの各走行制御データが対応づけられて、図６の走行制御データ記憶部１７２に記憶される。具体的には、走行制御データとして、各コース区間においてモータに供給される動力（電力）の大きさを設定する走行制御データ（動力設定データ）が、ＣＳ１〜ＣＳＮの各コース区間に対応づけて記憶される。
【０１６５】
この走行制御データは、図７〜図９で説明した手法により設定できる。図７を例にとれば、コース区間ＣＳ１にはＤＳ１＝６１、コース区間ＣＳ２にはＤＳ２＝１０というように走行制御データＤＳ１、ＤＳ２が設定される。そしてＤＳ１＝６１と設定されたコース区間ＣＳ１では、移動玩具の速度が速くなり、ＤＳ２＝１０と設定されたコース区間ＣＳ２では、移動玩具の速度が遅くなる。
【０１６６】
また図１７（Ｂ）に示すように、移動玩具ＭＴに設けられたセンサにより、コース上のマーカＭＣｉ＋１（ｉは自然数）が検知される。これにより、移動玩具ＭＴが、コース区間ＣＳｉからコース区間ＣＳｉ＋１に進入したことが検出される。なお、マーカＭＣｉ＋１は、例えばコースブロックに一体形成されて埋め込まれる樹脂部材により実現してもよいし、コースブロックにはり付けられた白色のテープにより実現してもよい。或いはＩＣタグなどのデバイスにより実現してもよい。
【０１６７】
このようにセンサからの検知情報に基づいて、コースの第ｉのコース区間ＣＳｉから第ｉ＋１のコース区間ＣＳｉ＋１に移動玩具ＭＴが移動したと判断した場合に、差分情報ＤＦに基づいて、移動玩具ＭＴの減速制御や加速制御が行なうようにしてもよい。
【０１６８】
ここで差分情報ＤＦは、コース区間ＣＳｉに対応づけられた走行制御データＤＳｉと、コース区間ＣＳｉ＋１に対応づけられた走行制御データＤＳｉ＋１との差分ＤＳｉ＋１ＤＳｉに対応した情報である。この差分情報ＤＦは、ＤＳｉ＋１とＤＳｉの差分そのものであってもよいし、差分を引数とした関数により設定される情報であってもよい。
【０１６９】
例えば図１８（Ａ）では、コース区間ＣＳｉではＤＳｉ＝６０であり、ＣＳｉ＋１ではＤＳｉ＋１＝４０になっている。この場合には、ＤＦ＝ＤＳｉ＋１−ＤＳｉ＝−２０であり、差分が負になるため、移動玩具ＭＴの速度を低くする減速制御を行う。
【０１７０】
一方、図１８（Ｂ）では、コース区間ＣＳｉではＤＳｉ＝６０であり、ＣＳｉ＋１ではＤＳｉ＋１＝９０になっている。この場合には、ＤＦ＝ＤＳｉ＋１−ＤＳｉ＝３０であり、差分が正になるため、移動玩具ＭＴの速度を高くする加速制御を行う。なお差分情報ＤＦに基づいて、図１８（Ａ）の減速制御と図１８（Ｂ）の加速制御のいずれか一方のみを行ってもよい。
【０１７１】
また図１９（Ａ）では、差分情報ＤＦにより、減速制御を行うと判断されている。この場合には、コース区間ＣＳｉ＋１における前半の第１の期間Ｔ１において、第ｉ＋１の走行制御データＤＳｉ＋１（動力設定データ）に対応する第ｉ＋１の速度Ｖｉ＋１に近づくように、移動玩具ＭＴを減速する制御を行う。即ち、第１の期間Ｔ１では、前のコース区間ＣＳｉでの速度ＶｉからＶｉ＋１に減速するように制御が行われる。そして、コース区間ＣＳｉ＋１の後半の第２の期間Ｔ２では、移動玩具ＭＴを速度Ｖｉ＋１で移動させるための制御が行われる。即ち、ＶｉからＶｉ＋１に減速した後、例えば定速の速度Ｖｉ＋１で移動するように移動玩具ＭＴが制御される。
【０１７２】
また図１９（Ｂ）では、差分情報ＤＦにより、加速制御を行うと判断されている。この場合には、コース区間ＣＳｉ＋１における前半の第１の期間Ｔ１において、速度Ｖｉ＋１に近づくように、移動玩具ＭＴを加速する制御を行う。即ち、第１の期間Ｔ１では、前のコース区間ＣＳｉでの速度ＶｉからＶｉ＋１に加速するように制御が行われる。そして、コース区間ＣＳｉ＋１の後半の第２の期間Ｔ２では、移動玩具ＭＴを速度Ｖｉ＋１で移動させるための制御が行われる。即ち、ＶｉからＶｉ＋１に加速した後、例えば定速の速度Ｖｉ＋１で移動するように移動玩具ＭＴが制御される。
【０１７３】
更に図１９（Ｃ）、図１９（Ｄ）では、図１９（Ａ）、図１９（Ｂ）の減速制御又は加速制御を行う第１の期間Ｔ１の長さを、差分情報ＤＦに応じて変化させている。
【０１７４】
例えば図１９（Ｃ）では、ＤＦが大きいため、期間Ｔ１の長さを長くする。このようにすれば、差分情報ＤＦに応じて、減速期間や加速期間が長くなるため、コース区間ＣＳｉでの移動玩具ＭＴの速度Ｖｉを、コース区間ＣＳｉ＋１での速度Ｖｉ＋１に効率良く近づけることが可能になる。
【０１７５】
一方、図１９（Ｄ）では、ＤＦが小さいため、期間Ｔ１の長さを短くする。このようにすれば、減速期間や加速期間が短くなるため、減速しすぎて、速度Ｖｉ＋１を下回ってしまったり、加速しすぎて速度Ｖｉ＋１を上回ってしまうというような事態の発生を防止できる。
【０１７６】
以上の本実施形態の手法によれば、プレーヤは、各コース区間に対して走行制御データを設定するだけで、その走行制御データに応じた速度で移動玩具ＭＴを走行させることが可能になる。例えば図１８（Ａ）や図１８（Ｂ）においてプレーヤは、コース区間ＣＳｉ＋１において移動玩具ＭＴの減速や加速を明示的に指定しなくても、コース区間ＣＳｉ、ＣＳｉ＋１への走行制御データＤＳｉ、ＤＳｉ＋１の設定だけで、移動玩具ＭＴが自動的に減速又は加速するようになる。従って、プレーヤは、各コース区間に対して所望の走行制御データを設定するだけという簡素な作業で、移動玩具ＭＴの移動を制御できるようになり、プレーヤにとって利便性の高いインターフェース環境を提供できる。
【０１７７】
また図１９（Ａ）〜図１９（Ｄ）のように、定速走行させる期間Ｔ２の前に、減速又は加速する期間Ｔ１を設定することで、そのコース区間に設定された所望の速度に、移動玩具ＭＴの速度を効率良く近づけることが可能になる。
【０１７８】
例えば、このような減速又は加速用の期間Ｔ１を設けない手法によると、移動玩具ＭＴが有する慣性等が原因で、移動玩具ＭＴの速度を、そのコース区間に設定された所望の速度に早期に近づけることが難しくなる。このため、各コース区間に設定された走行制御データと、それによる移動玩具ＭＴの実際の速度とが、線形関係にならなくなってしまう。
【０１７９】
例えば走行制御データをＤＳｉ＋１＝５０に設定した場合の速度に対して、ＤＳｉ＋１＝８０に設定した場合の速度は、線形の関係を保って１．６倍になることが望ましい。しかしながら、期間Ｔ１を設けないと、このような線形の関係を保つことが難しくなる。
【０１８０】
この点、図１９（Ａ）〜図１９（Ｄ）の本実施形態の手法によれば、各コース区間に設定された速度に、移動玩具ＭＴの速度を効率良く近づけることができるため、走行制御データと、それによる移動玩具ＭＴの実際の速度とを、ほぼ線形な関係にすることが可能になる。従って、プレーヤが所望する速度で移動玩具ＭＴが各コース区間で走行するようになり、プレーヤの意向をより反映した移動玩具ＭＴの走行制御が可能になる。
【０１８１】
１−７．ＰＷＭ駆動
さて、原動機がモータである場合には、モータはＰＷＭ方式により駆動することが望ましい。即ち、走行制御データにより設定されるデューティで、原動機であるモータをＰＷＭ駆動する。
【０１８２】
例えば図２０（Ａ）に示すように。走行制御データが「６０」に設定されていた場合には、デューティが６０パーセントのＰＷＭの駆動波形でモータを駆動する。また走行制御データが「４０」に設定されていた場合には、デューティが４０パーセントのＰＷＭの駆動波形でモータを駆動する。このようにモータをＰＷＭ駆動すれば、モータはデューティに対応した実効電圧で駆動されるようになるため、デューティを変化させることで、移動玩具ＭＴを所望の速度で移動させることが可能になる。
【０１８３】
例えば図２０（Ｂ）において、移動玩具ＭＴがコース区間ＣＳｉに位置している時には、コース区間ＣＳｉの走行制御データにより設定される第ｉのデューティＤＴｉでモータをＰＷＭ駆動する。一方、移動玩具ＭＴがコース区間ＣＳｉからＣＳｉ＋１に進入した場合には、コース区間ＣＳｉ＋１の走行制御データにより設定される第ｉ＋１のデューティＤＴｉ＋１でモータをＰＷＭ駆動する。例えばコース区間ＣＳｉに設定されるデューティＤＴｉ＝６０の場合には、図２０（Ａ）の６０パーセントのデューティのＰＷＭ駆動波形でモータを駆動し、コース区間ＣＳｉ＋１に設定されるデューティＤＴｉ＋１＝４０の場合には、図２０（Ａ）の４０パーセントのデューティのＰＷＭ駆動波形でモータを駆動する。
【０１８４】
更に具体的には図２１（Ａ）に示すように、ＤＦ＜０となる減速制御の場合には、コース区間ＣＳｉ＋１における前半の第１の期間Ｔ１において、通常走行時の電圧とは逆極性の電圧をモータに印加する。即ち通常のＰＷＭ駆動時にモータの第１、第２の端子間に正極性の電圧が印加される場合には、図２１（Ａ）の期間Ｔ１ではモータの第１、第２の端子間に負極性の電圧が印加される。これによりモータの回転にブレーキングをかけて、移動玩具ＭＴを減速させることができる。そしてコース区間ＣＳｉ＋１の後半の第２の期間Ｔ２において、ＣＳｉ＋１に設定されたデューティＤＴｉ＋１でモータをＰＷＭ駆動する。これにより減速後、例えば定速走行に移行するようになる。
【０１８５】
一方、図２１（Ｂ）に示すように、ＤＦ＞０となる加速制御の場合には、前半の第１の期間Ｔ１において、デューティＤＴｉ＋１よりも高いデューティに対応する電圧をモータに印加する。例えばデューティ＝１００パーセントの電圧を印加する。これによりモータの回転が加速されて、移動玩具ＭＴが加速される。後半の第２の期間Ｔ２において、ＣＳｉ＋１に設定されたデューティＤＴｉ＋１でモータをＰＷＭ駆動する。これにより加速後、例えば定速走行に移行するようになる。
【０１８６】
なお図１９（Ｃ）、図１９（Ｄ）で説明したように、コース区間ＣＳｉに設定されたデューティＤＴｉとコース区間ＣＳｉ＋１に設定されたデューティＤＴｉ＋１との差分が大きくなればなるほど長くなるように、第１の期間Ｔ１の長さを設定する。そして設定された第１の期間Ｔ１において移動玩具の減速制御又は加速制御を行うようにする。このようにすれば減速期間又は加速期間となる第１の期間Ｔ１が、デューティの差分に応じて長くなったり、短くなる。これにより移動玩具ＭＴの減速の度合いや加速の度合いが自動的に調整されるため、適正な減速又は加速制御を実現できる。
【０１８７】
１−８．駆動部
次に図４の駆動部３５０の詳細な構成及び動作について説明する。図２２に駆動部３５０の回路構成例を示す。
【０１８８】
図２２に示すように駆動部３５０は、第１〜第４のトランジスタＴＲ１〜ＴＲ４を含む。また第５、第６のトランジスタＴＲ６、ＴＲ７や、ダイオードＤＩ１〜ＤＩ４や、抵抗Ｒ１〜Ｒ６を含むことができる。ここでトランジスタＴＲ１〜ＴＲ６は例えば電界効果型のトランジスタ（ＦＥＴ）である。なおトランジスタＴＲ１〜ＴＲ６は、ＭＯＳ型ＦＥＴであってもよいし、接合型ＦＥＴであってもよい。或いはバイポーラ型のトランジスタであってもよい。また本実施形態の駆動部３５０は図２２の構成に限定されず、その構成要素の一部（例えばトランジスタＴＲ６、ＴＲ７、ダイオードＤＩ１〜ＤＩ４等）を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【０１８９】
Ｐ型のトランジスタＴＲ１は、第１の電源ＶＤＤのノードＮＤと、モータ３０の第１の端子ＴＭ１のノードＮＴ１との間に設けられる。具体的にはトランジスタＴＲ１は、そのソース、ゲート、ドレインに、各々、ノードＮＤ、Ｎ１、ＮＴ１が接続される。またノードＮＤとＮ１の間には抵抗Ｒ１が設けられる。
【０１９０】
Ｐ型のトランジスタＴＲ２は、ノードＮＤと、モータ３０の第２の端子ＴＭ２のノードＮＴ２との間に設けられる。具体的にはトランジスタＴＲ２は、そのソース、ゲート、ドレインに、各々、ノードＮＤ、Ｎ２、ＮＴ２が接続される。またノードＮＤとＮ２の間には抵抗Ｒ２が設けられる。
【０１９１】
Ｎ型のトランジスタＴＲ３は、ノードＮＴ１と第２の電源ＶＳＳ（ＧＮＤ）のノードＮＳとの間に設けられる。具体的にはトランジスタＴＲ３は、そのソース、ゲート、ドレインに、各々、ノードＮＳ、Ｎ３、ＮＴ１が接続される。またノードＮ３とＮＳの間には抵抗Ｒ３が設けられ、ノードＮ３には制御信号ＳＧ３が入力される。
【０１９２】
Ｎ型のトランジスタＴＲ４は、ノードＮＴ２とＮＳとの間に設けられる。具体的にはトランジスタＴＲ４は、そのソース、ゲート、ドレインに、各々、ノードＮＳ、Ｎ４、ＮＴ２が接続される。またノードＮ４とＮＳの間には抵抗Ｒ４が設けられ、ノードＮ４には制御信号ＳＧ４が入力される。
【０１９３】
Ｎ型のトランジスタＴＲ５は、ノードＮ１とＮＳの間に設けられる。具体的にはトランジスタＴＲ５は、そのソース、ゲート、ドレインに、各々、ノードＮＳ、Ｎ５、Ｎ１が接続される。またノードＮ５とＮＳの間には抵抗Ｒ５が設けられ、ノードＮ５には制御信号ＳＧ５が入力される。
【０１９４】
Ｎ型のトランジスタＴＲ６は、ノードＮ２とＮＳの間に設けられる。具体的にはトランジスタＴＲ６は、そのソース、ゲート、ドレインに、各々、ノードＮＳ、Ｎ６、Ｎ２が接続される。またノードＮ６とＮＳの間には抵抗Ｒ６が設けられ、ノードＮ６には制御信号ＳＧ６が入力される。
【０１９５】
また、ダイオードＤＩ１はノードＮＤとＮＴ１の間に設けられ、ダイオードＤＩ２はノードＮＤとＮＴ２の間に設けられ、ダイオードＤＩ３はノードＮＴ１とＮＳの間に設けられ、ダイオードＤＩ４はノードＮＴ２とＮＳの間に設けられる。
【０１９６】
図２２の駆動部３５０では、移動玩具の通常走行時には、トランジスタＴＲ１がオンになり、トランジスタがオフＴＲ２、ＴＲ３がオフになる。そしてトランジスタＴＲ４がＰＷＭ駆動のデューティにしたがってオン・オフされる。一方、移動玩具の減速制御時には、トランジスタＴＲ１、ＴＲ４がオフになり、トランジスタＴＲ２、ＴＲ３がオンになる。これにより、モータの第１の端子ＴＭ１と第２の端子ＴＭ２との間に、通常走行時の電圧（正電圧）とは逆極性の電圧（負電圧）が印加される。
【０１９７】
図２３に、図２２の駆動部３５０の詳細な動作を説明するための信号波形例を示す。図２３のＨ１に示すように、コース区間ＣＳｉでは走行制御データが「８０」に設定されるため、期間Ｔ２においてデューティＤＴｉ＝８０のＰＷＭ駆動が行われている。具体的には、制御信号ＳＧ６、ＳＧ３がＬレベルになることで、トランジスタＴＲ６、ＴＲ２、ＴＲ３がオフになり、制御信号ＳＧ５がＨレベルになることで、トランジスタＴＲ５、ＴＲ１がオンになる。また制御信号ＳＧ４の駆動波形のデューティが８０に設定されて、デューティＤＴｉ＝８０のＰＷＭ駆動波形で、トランジスタＴＲ４がオン、オフされる。なおこれらの制御信号は例えば図４の制御部３１０により生成される。
【０１９８】
図２３のＨ２に示すように、コース区間ＣＳｉ＋１のマーカＭＣｉ＋１が検出されると、Ｈ３に示すように走行制御データの差分情報ＤＦが求められる。ここでは、コース区間ＣＳｉ、ＣＳｉ＋１の走行制御データは、各々、「８０」、「２０」に設定されているため、ＤＦ＝−６０になり、減速制御が行われる。そして、コース区間ＣＳｉ＋１の前半の第１の期間Ｔ１の長さが、差分情報ＤＦ＝−６０に対応する長さに設定され、Ｔ１＝６０ｍｓｅｃに設定される。これにより、Ｔ１＝６０ｍｓｅｃの期間、逆極性の電圧が印加されて、移動玩具が減速（ブレーキング）される。
【０１９９】
具体的には、制御信号ＳＧ６、ＳＧ３がＨレベルになることで、トランジスタＴＲ６、ＴＲ２、ＴＲ３がオンになり、制御信号ＳＧ５、ＳＧ４がＬレベルになることで、トランジスタＴＲ５、ＴＲ１、ＴＲ４がオフになる。このようにトランジスタＴＲ２、ＴＲ３がオンになり、ＴＲ１、ＴＲ４がオフになると、図２２から明らかなように、モータ３０の第２の端子ＴＭ２がＶＤＤに設定され、第１の端子ＴＭ１がＶＳＳに設定されるため、モータ３０に対して逆極性の電圧が印加され、その回転にブレーキングがかかる。これにより、移動玩具を減速させることが可能になる。
【０２００】
次に図２３のＨ４に示すように、コース区間ＣＳｉ＋１の後半の第２の期間Ｔ２ではデューティＤＴｉ＋１＝２０でＰＷＭ駆動が行われる。具体的には、制御信号ＳＧ６、ＳＧ３がＬレベルになることで、トランジスタＴＲ６、ＴＲ２、ＴＲ３がオフになり、制御信号ＳＧ５がＨレベルになることで、トランジスタＴＲ５、ＴＲ１がオンになる。そして制御信号ＳＧ４の駆動波形のデューティが２０に設定されて、デューティＤＴｉ＋１＝２０のＰＷＭ駆動波形で、トランジスタＴＲ４がオン、オフされる。
【０２０１】
また図２３のＨ５に示すように、次のコース区間ＣＳｉ＋２では、デューティＤＴｉ＋２＝１００でのＰＷＭ駆動が行われる。なお図２３では、差分情報に基づく減速制御は行っているが、差分情報に基づく加速制御については行っていない。
【０２０２】
以上のような構成の駆動部３５０を採用すれば、簡素な制御信号で、移動玩具の減速制御等を効率的に実現できる。また制御部３１０は、各コース区間に設定された走行制御データ（デューティ）を用いて、図２３に示すような制御信号を生成するだけで済むため、制御部３１０の処理負荷も軽減できる。また移動玩具を減速させる場合に、図２３のＨ４に示すようなＰＷＭ駆動信号を印加するだけでは、移動玩具が慣性を有するため、移動玩具の十分な減速を期待することが難しい。この点、本実施形態の手法によれば、Ｈ３に示すような逆極性電圧を印加しているため、移動玩具を十分に減速して、移動玩具の速度を、そのコース区間の走行制御データに対応した速度に設定することが可能になる。
【０２０３】
１．９．移動玩具側の詳細な処理
次に移動玩具側の詳細な処理フローについて図２４のフローチャートを用いて説明する。図２４は、主に図４の制御部３１０が行う処理を示したものである。
【０２０４】
まず、走行制御データをゲーム装置から受信したか否かを判断する（ステップＳ１）。そして走行制御データを受信した場合には、受信した走行制御データ（区間データ）を図４の記憶部３３０に格納する（ステップＳ２）。
【０２０５】
次に、移動玩具の動作開始を指示するセレクトボタンが押されたか否かを判断する（ステップＳ３）。そして、押された場合には、走行制御データの区間番号ｉを１に設定し（ステップＳ４）、移動玩具の走行をスタートする（ステップＳ５）。即ちモータの駆動を開始する。
【０２０６】
次に、ｉ番号の走行制御データＤＳｉの値を、モータ駆動用のＰＷＭ値に設定する（ステップＳ６）。そして、センサ５０によりマーカが検出されたか否かを判断する（ステップＳ７）。マーカが検出された場合には、コース区間ＣＳｉ＋１の走行制御データＤＳｉ＋１とコース区間ＣＳｉの走行制御データＤＳｉとの間に、ＤＳｉ＋１＜ＤＳｉの関係が成り立つか否かを判断する（ステップＳ８）。そして、ＤＳｉ＋１＜ＤＳｉである場合には、減速制御を行うと判断し、ＤＦ＝ＤＳｉ＋１−ＤＳｉに対応する期間Ｔ１だけ、デューティ＝１００の逆極性電圧をモータに印加する（ステップＳ９）。即ち図３５のＨ３に示すような逆極性電圧の印加を行う。
【０２０７】
次に、ｉ＝Ｎか否かを判断する（ステップＳ１０）。そしてｉ＝Ｎ（Ｎはコース区間の最終区間を示すインデックスの値）を示すではない場合には、ｉを１だけインクリメントして（ステップＳ１１）、ステップＳ６に戻る。一方、ｉ＝Ｎになった場合には、移動玩具がゴール地点に対応するコース区間ＣＳ１６にゴールしたと判断して、区間番号ｉを初期値である１に設定する（ステップＳ１２）。
【０２０８】
１−１０．移動玩具による制御主の切り替え制御
第１の実施の形態における移動玩具による制御主の切り替え制御の具体例について説明する。本実施の形態では、複数のゲーム装置がグループを組んで、グループ内のゲーム装置で移動玩具の制御主をリレーのバトンタッチのように切り替える制御主切り替え処理が行われる。
【０２０９】
例えば移動玩具の走行区間を複数の区間に分割して、各区間毎に制御主（ゲーム装置）を切り替えることにより、複数の制御主が各区間毎にバトンタッチしながら、移動玩具の走行を制御するゲームを行うことができる。この様にすると各区間毎に異なる制御主（ゲーム装置）によって制御されるため、あたかも移動玩具を用いてリレーをしているようなゲームを楽しむことができる。
【０２１０】
図２５に示すように、移動玩具１０００は、複数のゲーム装置１０１０−１、１０１０−２、・・・、１０１０−Ｍから動作制御情報（走行制御データや移動コマンド）１０２０−１、１０２０−２、・・・、１０２０−Ｍを受信する。
【０２１１】
ここで走行制御データを予め移動玩具の記憶させておいて、それを読み出して移動玩具１０００を制御する場合には、移動玩具１０００は走行開始に先立ち、複数のゲーム装置１０１０−１、１０１０−２、・・・、１０１０−Ｍから走行制御データ１０２０−１、１０２０−２、・・・、１０２０−Ｍを受信する。そして、図２６に示すように受信した走行制御データ１０２０−１、１０２０−２、・・・、１０２０−Ｍを送信元のゲーム装置の特定情報Ｐ１、Ｐ２、Ｐ３に関連づけて、移動玩具の記憶部に記憶させる。
【０２１２】
なお受信した走行制御データ１０２０−１、１０２０−２、・・・、１０２０−Ｍの中に、ゲーム装置の識別情報Ｐ１，Ｐ２、Ｐ３を含む場合（例えば走行制御データ１０２０−１、１０２０−２、・・・、１０２０−Ｍが、ゲーム装置の識別情報Ｐ１，Ｐ２、Ｐ３と走行制御用のデータＤ１、Ｄ２、・・・、ＤＭとで構成される場合）には、受信した走行制御データ１０２０−１、１０２０−２、・・・、１０２０−Ｍをそのまま記憶させてもよい。
【０２１３】
そして、区間毎に切り替えられた制御主に対応するゲーム装置の識別情報に関連づけて記憶されている走行制御データを読み出して、移動玩具の走行を制御するようにしてもよい。
【０２１４】
またゲーム装置がリアルタイムに走行制御データや走行制御コマンド等（動作制御情報の一例）を移動玩具に送信して、移動玩具を制御する場合には、移動玩具は複数のゲーム装置からの走行制御データや走行制御コマンド等を受信して、制御主として指定されているゲーム装置からの走行制御データや走行制御コマンド等に基づいて、移動玩具の走行を制御するようにしてもよい。
【０２１５】
図２７は、各ゲーム装置から受信した走行制御データの内容の一例を示す図である。Ｄ１〜ＤＭは、各ゲーム装置で、例えば図７〜図９で説明した手法により設定された走行制御データであり、各コース区間に対応する制御値として与えられているとする。
【０２１６】
図２８（Ａ）（Ｂ）は、制御主の切り替えと、移動玩具の制御に使用される走行制御データの関係について説明するための図である。
【０２１７】
図２８（Ａ）は、所定のタイミングＴ１、Ｔ２、Ｔ３、・・・で（ここでは４区間毎）に制御主が切り替えられる様子を示している。最初の４区間（第１の区間Ｋ１）では制御主はゲーム装置Ｐ１であるが、Ｔ１のタイミングで制御主はゲーム装置Ｐ２に切り替えられ次の４区間（第２の区間Ｋ２）では制御主はゲーム装置Ｐ２となる。そしてＴ２のタイミングで制御主はゲーム装置Ｐ３に切り替えられ次の４区間（第３の区間Ｋ３）では制御主はゲーム装置Ｐ３になる。
【０２１８】
従って、第１の区間Ｋ１では、Ｐ１の走行制御データＤ１−ＤＳ１〜Ｄ１−ＤＳ４によって移動玩具は制御され、第２の区間Ｋ２では、Ｐ２の走行制御データＤ２−ＤＳ５〜Ｄ２−ＤＳ８によって移動玩具は制御され、第３の区間Ｋ３では、Ｐ３の走行制御データＤ３−ＤＳ９〜Ｄ３−ＤＳ１３によって移動玩具は制御される。
【０２１９】
図２８（Ｂ）は、所定のタイミングＴ１’、Ｔ２’、Ｔ３’、・・・で（ここでは１周毎）に制御主が切り替えられる様子を示している。１周目（第１の区間Ｋ１’）は制御主はゲーム装置Ｐ２であるが、Ｔ１’のタイミングで制御主はゲーム装置Ｐ４に切り替えられ２周目（第２の区間Ｋ２’）では制御主はゲーム装置Ｐ４となる。そしてＴ２’のタイミングで制御主はゲーム装置Ｐ３に切り替えられ、３周目（第３の区間Ｋ３’）は制御主はゲーム装置Ｐ６になる。
【０２２０】
従って、第１の区間Ｋ１’では、Ｐ２の走行制御データＤ２−ＤＳ１〜Ｄ２−ＤＳＭによって移動玩具は制御され、第２の区間Ｋ２’では、Ｐ４の走行制御データＤ４−ＤＳ１〜Ｄ４−ＤＳＮによって移動玩具は制御され、第３の区間Ｋ３’では、Ｐ６の走行制御データＤ６−ＤＳ１〜Ｄ６−ＤＳＮによって移動玩具は制御される。
【０２２１】
図２９は、第１の実施の形態の移動玩具の制御主切り替え処理の一実施例（走行制御データを予め移動玩具の記憶させておく例）の処理の流れについて説明するためのフローチャートである。
ここでは、走行制御データを予め移動玩具の記憶させておいて、それを読み出して移動玩具１０００を制御する場合について説明する。
【０２２２】
移動玩具は、走行開始に先立ち移動玩具の制御主となるグループのゲーム装置の情報及びグループを構成するゲーム装置に対応した走行制御データをゲーム装置から受信し、ゲーム装置の識別情報に関連づけて、記憶部に記憶する（ステップＳ１００）。ここで移動玩具の制御主となるグループのゲーム装置の情報とは、例えばグループを構成するゲーム装置の数や識別情報等や、最初の制御主の情報等でもよい。
【０２２３】
セレクトボタンが押されると、最初の制御主を決定して、最初の制御主の識別情報を制御主指定情報に設定する（ステップＳ１１０）。制御主指定情報で指定されているゲーム装置に関連づけて記憶されているゲーム装置の走行制御データをワークメモリに設定する（ステップＳ１２０）。ここでセレクトボタンは、準備完了やレース開始を指示するボタンである。最初の制御主の決定は予め設定されている切り替え順位の最初に設定されているゲーム装置でもよいし、ランダムに決定してもよい。
【０２２４】
制御主の切り替えタイミングを検出すると、以下の処理を行う（ステップＳ１３０）。ここで制御主の切り替えタイミングは、割り込み信号等により検出してもよい。例えば、所定の時間経過毎に制御主を切り替える場合には、タイマーにより所定の時間の経過を検出したタイミングで制御主切り替え用の割り込みを発生させてもよい。
【０２２５】
また所定の区間毎に制御主を切り替える場合には、例えば移動玩具に設けられたセンサ（図３の５０）がコースに設けられたマーカ（図１のＭＣ１〜ＭＣ１６）を検出したタイミングで制御主切り替え用の割り込みを発生させてもよい。
【０２２６】
またゲーム装置から送信される制御主切り替えコマンド等により制御主を切り替える場合には、当該制御主切り替えコマンド等を受信したタイミングで制御主切り替え用の割り込みを発生させてもよい。
【０２２７】
次の制御主を決定する処理を行い、次の制御主の識別情報を制御主指定情報に設定する
（ステップＳ１４０）。
【０２２８】
そして制御主指定情報で指定されているゲーム装置に関連づけて記憶されているゲーム装置の走行制御データをワークメモリに設定する（ステップＳ１５０）。例えば区間単位で制御主を切り替える場合には、ワークメモリの切り替えの発生した区間以降について新たな制御主の走行制御データを設定し、切り替えの発生する以前の区間については切り替え前の制御主の走行制御データをのこしておいてもよい。
【０２２９】
移動玩具は、ワークメモリに設定されたデータに基づいて、例えば図２４で説明したようなモータ駆動処理を行い、減速や加速の制御を行うようにしてもよい。
【０２３０】
次に、制御主の切り替えが行われたことを告知する出力処理（音、ランプ点滅）を行う（ステップＳ１６０）。例えば発光素子（図３の５２）を発光させて切り替えが行われたことを告知してもよい。なお各ゲーム装置毎に異なる発光パターン（ランプの点滅パターン）を記憶させておき、切り替えられた制御主のゲーム装置に対応した発光パターンで発光素子を点滅させるようにしてもよい。
【０２３１】
また移動玩具に音出力部を設け、制御主の切り替えが行われたことを告知する音や音楽を出力してもよい。なお各ゲーム装置毎に異なる音パターンや音楽を記憶させておき、切り替えられた制御主のゲーム装置に対応した音パターンや音楽を出力するようにしてもよい。
【０２３２】
グループを構成するすべての制御主に対する切り替えは終了したか否か判断し、終了していない場合にはステップＳ１３０に戻って、ステップＳ１３０〜Ｓ１７０の処理を繰り返す（ステップＳ１７０）。
【０２３３】
図３０は、第１の実施の形態の移動玩具の制御主切り替え処理の他の実施例（走行制御データをリアルタイムに受信する例）の処理の流れについて説明するためのフローチャートである。
【０２３４】
セレクトボタンが押されると、最初の制御主を決定して、最初の制御主の識別情報を制御主指定情報に設定する（ステップＳ２００）。
【０２３５】
ゲーム終了まで、以下の処理を行う（ステップＳ２１０）。
【０２３６】
走行制御データを受信したら（ステップＳ２２０）、受信した走行制御データが制御主指定情報で指定されている識別情報のゲーム装置が送信したものである場合に当該走行制御データをワークメモリに設定する（ステップＳ２３０）。
【０２３７】
制御主の切り替えタイミングを検出したら（ステップＳ２４０）、以下の処理を行う。
【０２３８】
まず、次の制御主を決定する処理を行い、次の制御主の識別情報を制御主指定情報に設定する（ステップＳ２５０）。
【０２３９】
次に、制御主の切り替えが行われたことを告知する出力処理（音、ランプ点滅）を行う（ステップＳ２６０）。
【０２４０】
そして、ゲーム装置に対して制御主切り替えが行われたことを示す制御主切り替え情報を無線通信で送信する（ステップＳ２７０）。
【０２４１】
この様に受信した走行制御データが制御主のものである場合にはワークメモリに記憶される。従って移動玩具は、図２４で説明したようにワークメモリに記憶されている走行制御データに基づいて自機の移動を制御することで、次々に切り替えられる制御からの指示にしたがって移動を制御することができる。
【０２４２】
なお図２４では走行制御データによって区間毎の制御値が設定され、移動玩具が区間毎の制御値に基づき移動を制御する構成について処理例を示しているが、この構成には限られない。
【０２４３】
例えば走行制御データとして、速度や加速度をアップ又はダウンさせるためのコマンドがゲーム装置からリアルタイムに送信され、移動玩具は当該コマンドに従って加速したり減速したりしてもよい。
【０２４４】
２．第２の実施の形態
第２の実施の形態では、移動玩具の制御主の切り替え処理を行うゲーム装置及び当該ゲーム装置と移動玩具とを含むゲームシステムについて説明する。
【０２４５】
第２の実施の形態のゲームシステムは移動玩具の制御主の切り替え処理を行う複数のゲーム装置（情報処理装置の一例）と、ゲーム装置の生成した走行制御データ（動作制御情報の一例）によって走行が制御される移動玩具とを含む。
【０２４６】
ここにおいて移動玩具の構成は、第１の実施の形態の図３〜図４で説明した構成と同様でもよい。ただし第２の実施の形態では、移動玩具は、送信主ＩＤが所定の制御主用のＩＤである場合に、当該走行制御データに基づいて移動玩具の動作制御を行う。すなわち、第２の実施の形態では、移動玩具は複数のゲーム装置から走行制御データを受信することはできるが、受信した走行制御データに含まれる送信主ＩＤが所定の制御主用のＩＤでない場合には、移動玩具の動作制御には使用しない。
【０２４７】
図３１，図３２は、第２の実施の形態におけるゲーム装置の制御主の切り替え制御について説明するための図である。本実施の形態ではゲームシステムを構成する複数のゲーム装置でグループを構成して、グループ内のゲーム装置の間で制御主を切り替える制御を、ゲーム装置が行う。制御主切り替えのタイミングや内容（どのゲーム装置が次の制御主になるかや、制御主となるゲーム装置の順番等）は、グループにおいて親機となるゲーム装置が決定して、グループを構成する他のゲーム装置（子機）に送信する構成でもよいし、グループ内のゲーム装置が個別に同じアルゴリズムの演算を行う構成（この場合すべてのゲーム装置で同じ演算を行う）でもよい。
【０２４８】
図３１に、所定のタイミングＴ１、Ｔ２、Ｔ３、・・・で制御主が切り替えられた場合の、切り替えによって分割された各期間Ｋ１、Ｋ２、Ｋ３におけるグループを構成するゲーム装置Ｐ１、Ｐ２、Ｐ３の状態を示す。
【０２４９】
切り替えのタイミングは、例えばゲーム装置において、タイマーや時計を用いて時間の経過又は時刻を検出し、検出された時間の経過又は時刻に基づき切り替えタイミングを決定してもよい。また、移動玩具の位置（現在位置位置又は通過位置）を取得して、取得した位置（現在位置位置又は通過位置）に基づき、制御主を切り替えるタイミングを決定してもよい。この場合、位置の検出自体は移動玩具で行い、移動玩具が検出した位置情報をゲーム装置が受信することで、移動玩具の位置を取得する構成でもよい。
【０２５０】
期間Ｋ１の制御主はゲーム装置Ｐ１であるが、Ｔ１のタイミングで制御主の切り替えイベントが発生し、期間Ｋ２の制御主はゲーム装置Ｐ２となる。そしてＴ２のタイミングで制御主切り替えイベントが発生し、期間Ｋ３の制御主はゲーム装置Ｐ３になる。
【０２５１】
各ゲーム装置は、制御主切り替えのタイミングで、自機の制御主識別情報記憶部に、制御主となるゲーム装置の識別ＩＤを記憶させ、記憶されている識別ＩＤと自機の識別ＩＤを比較し、一致した場合に制御主フラグ（ＳＦ）をオンにし、一致しない場合に制御主フラグ（ＳＦ）をオフにしてもよい。
【０２５２】
期間Ｋ１の制御主はゲーム装置Ｐ１であるため、各ゲーム装置の制御主情報記憶部にゲーム装置Ｐ１の識別ＩＤ’Ｐ００１’がセットされる。期間Ｋ１において、ゲーム装置Ｐ１（識別ＩＤ’Ｐ００１’）では、制御主情報記憶部に記憶された制御主情報と自機の識別ＩＤが一致するため制御主フラグ（ＳＦ）＝ＯＮ（Ｓ期間）となる。また他のゲーム装置Ｐ２、Ｐ３、・・・では、制御主情報記憶部に記憶された制御主情報と自機の識別ＩＤが一致しないため制御主フラグ（ＳＦ）＝ＯＦＦ（ＮＳ期間）となる。
【０２５３】
期間Ｋ２の制御主はゲーム装置Ｐ２であるため、各ゲーム装置の制御主情報記憶部にゲーム装置Ｐ２の識別ＩＤ’Ｐ００２’がセットされる。期間Ｋ２において、ゲーム装置Ｐ２（識別ＩＤ’Ｐ００２’）では、制御主情報記憶部に記憶された制御主情報と自機の識別ＩＤが一致するため制御主フラグ（ＳＦ）＝ＯＮとなる。また他のゲーム装置Ｐ１、Ｐ３、・・・では、制御主情報記憶部に記憶された制御主情報と自機の識別ＩＤが一致しないため制御主フラグ（ＳＦ）＝ＯＦＦとなる。
【０２５４】
期間Ｋ３の制御主はゲーム装置Ｐ３であるため、各ゲーム装置の制御主情報記憶部にゲーム装置Ｐ３の識別ＩＤ’Ｐ００３’がセットされる。期間Ｋ３において、ゲーム装置Ｐ３（識別ＩＤ’Ｐ００３’）では、制御主情報記憶部に記憶された制御主情報と自機の識別ＩＤが一致するため制御主フラグ（ＳＦ）＝ＯＮとなる。また他のゲーム装置Ｐ１、Ｐ２、・・・では、制御主情報記憶部に記憶された制御主情報と自機の識別ＩＤが一致しないため制御主フラグ（ＳＦ）＝ＯＦＦとなる。
【０２５５】
図３２（Ａ）〜（Ｃ）は、ゲーム装置Ｐ１〜Ｐ３が送信する走行制御データの構成を示している。同図に示すように、自機が制御主であるＳ期間（ＳＦ＝ＯＮの期間）に生成又は送信される走行制御データに含まれる送信主を示すエリアは所定の制御主用のＩＤ’Ｓ００１’となっている（２０２２’−１，２０２２’−２，２０２２’−３）が、自機が制御主でないＮＳ期間（ＳＦ＝ＯＦＦの期間）に生成又は送信される走行制御データに含まれる送信主を示すエリアは自機の識別ＩＤとなっている（２０２２−１，２０２２−２，２０２２−３）。
【０２５６】
ゲームシステムを構成する移動玩具は、受信した走行制御データに含まれる送信主を示すエリアが所定の制御主用のＩＤ’Ｓ００１’となっている場合のみ、当該走行制御データを移動玩具の走行制御に使用する構成を有している。従ってゲーム装置側で使用可能な送信主ＩＤの制御を行うことで、制御主の切り替えを行うことができる。
【０２５７】
図３３は、第２の実施の形態が適用されるゲーム装置の機能ブロック図である。図６のゲーム装置と同じ構成については、同じ符号を付しており、同等の機能を有しているため、説明を省略する。
【０２５８】
制御主切り替え処理部１５０は、前記移動玩具の制御主を所与のタイミングで切り替える制御を行うもので、制御主となった情報処理装置に、送信主ＩＤとして所定の制御主用のＩＤの使用を許可し、制御主でない情報処理装置には、送信主ＩＤとして、前記所定の制御主用のＩＤを使用できないように制御する。
【０２５９】
また例えば図示していないタイマーや内部時計等を、時間の経過又は時刻を検出する時間／時刻検出手段として機能させ、制御主切り替え処理部１５０は、検出された時間の経過又は時刻に基づき、前記制御主を切り替えるタイミングを決定してもよい。
【０２６０】
また制御主切り替え処理部１５０は、移動玩具の位置情報（現在位置位置又は通過位置の情報）を取得し、取得した位置情報に基づき、前記制御主を切り替えるタイミングを決定してもよい。
【０２６１】
また通信部１９６が、制御主の切り替えタイミングを指示する切り替えタイミング指示情報を無線で受信した場合に、制御主切り替え処理部１５０は、切り替えタイミング指示情報に基づき、前記制御主を切り替えるタイミングを決定してもよい。
【０２６２】
また制御主切り替え処理部１５０は、予め設定された所定の規則に従って制御主に切り替える処理を行ってもよい。
【０２６３】
また制御主切り替え処理部１５０は、複数の情報処理装置の中からランダムに次の制御主を決定し、決定した制御主に切り替えてもよい。
【０２６４】
図３４は、第２の実施の形態のゲーム装置の制御主切り替え処理の流れを示すフローチャートである。
【０２６５】
移動玩具の制御主となるグループのゲーム装置の登録を行う（ステップＳ３００）。例えば、各ゲーム装置間で通信を行ってゲームに参加するゲーム装置を募り、通信が確立しゲーム参加を表明したゲーム装置でグループを構成し、グループを構成するゲーム装置の識別ＩＤの登録を行ってもよい。
【０２６６】
セレクトボタンが押されると、最初の制御主を決定して、最初の制御主の識別情報を制御主指定情報に設定する（ステップＳ３１０）。最初の制御主は、グループに登録されているゲーム装置から所与のアルゴリズムに従って決定してもよい。
【０２６７】
ゲーム終了になるまで、以下の処理を繰り返す（ステップＳ３２０）。
【０２６８】
走行制御データの送信指示があるか否か判断し、ない場合にはステップＳ３８０の処理を行う。指示がある場合には（ステップＳ３３０）、自機が制御主に指定されているか否か判断する（ステップＳ３４０）。自機が制御主に指定されているか否かは、制御主指定情報に記憶されている制御主の識別ＩＤと、自機の識別ＩＤを比較して判断してもよい。また図３１で説明したように制御主フラグが設定されている場合には当該フラグを参照して判断してもよい。
【０２６９】
自機が制御主に指定されている場合には、図３２の２０２２’−１、２０２２’−２、２０２２’−３に示すように、送信主ＩＤとして所定の制御主用のＩＤを使用して走行制御データを送信し（ステップＳ３５０）、自機が制御主に指定されていない場合には、図３２の２０２２−１、２０２２−２、２０２２−３に示すように、送信主ＩＤとして自機の識別Ｄを使用して走行制御データを送信する（ステップＳ３６０）。
【０２７０】
そして制御主の切り替えタイミングか否か判断し（ステップＳ３７０）、切り替えタイミングである場合には次の制御主を決定する処理を行い、次の制御主の識別情報を制御主指定情報に設定する（ステップＳ３７０）。
【０２７１】
図３５は、第２の実施の形態の移動玩具の制御主切り替え処理の流れを示すフローチャートである。  
セレクトボタンが押されたら（ステップＳ４００）、ゲーム終了になるまで、以下の処理を行う。走行制御データを受信したか場合には（ステップＳ４１０）、受信した走行制御データが所定の制御主ＩＤを使用したものか否か判断し（ステップＳ４２０）、所定の制御主ＩＤを使用したものである場合には、走行制御データをワークメモリに設定する（ステップＳ４３０）。
【０２７２】
なお第２の実施の形態で、ゲーム装置が行う移動玩具の制御主の切り替え処理として、移動玩具の移動区間を複数に分割して、分割された区間毎に制御主を決定し、各区間に決定された制御主にたいして当該区間の動作制御情報の設定を許可し、それ以外の制御主に対しては当該区間の動作制御情報の設定ができないように制御してもよい。
【０２７３】
例えば図7〜図９で説明したコースデータの設定処理において、コース区間毎に制御主となるゲーム装置を決定し、図４０に示すように各コース区間に対応づけて決定された制御主となるゲーム装置の識別ＩＤを登録するようにしてもよい。各ゲーム装置において、自機の識別ＩＤと各区間（図４０のコース区間１２００）の制御主として登録されている識別ＩＤ（図４０の制御主の情報１２１０）を比較して、各区間の制御主が自機であるか否か判断してもよい。そして区間の制御主として、自機の識別ＩＤが対応づけて登録されている場合に当該区間の走行制御データの設定ができ、それ以外の区間について走行制御データの設定ができないようにしてもよい。
【０２７４】
例えばコース区間ＣＳ1には制御主情報として’Ｐ００１’が登録されているので、自機の識別ＩＤが’Ｐ００１’であるゲーム装置は、当該区間の走行制御データの設定を行うことができ、それ以外のゲーム装置は当該区間の走行制御データの設定を行うことができないようにする。
【０２７５】
また例えばコース区間ＣＳ２には制御主情報として’Ｐ００２’が登録されているので、自機の識別ＩＤが’Ｐ００２’であるゲーム装置は、当該区間の走行制御データの設定を行うことができ、それ以外のゲーム装置は当該区間の走行制御データの設定を行うことができないようにする。
【０２７６】
３．第３の実施の形態
第３の実施の形態では、親機と子機を含む複数のゲーム装置が移動玩具に対し動作制御情報を送信して、移動玩具の動作を制御するゲームシステム（移動玩具制御システムの一例）について説明する。
【０２７７】
図３６は第３の実施の形態のゲームシステムについて説明するための図である。
【０２７８】
第３の実施の形態のゲームシステムは、移動玩具１００との間で無線通信を行う親機１０１０−１と前記親機１０１０−１との間で無線通信を行う子機１０１０−２、１０１０−３を含む複数の情報処理装置によって、移動玩具１０００を無線で制御する移動玩具制御システムである。子機１０１０−２、１０１０−３は、入力情報に基づき、前記移動玩具の動作を制御するための動作制御情報（例えば走行制御データ）を生成する移動玩具制御手段と、動作制御情報（例えば走行制御データ）Ｐ２−Ｄ、Ｐ３−Ｄを親機１０１０−１に無線送信するための処理を行う通信手段とを含む。
【０２７９】
親機１０１０−１は、子機１０１０−２、１０１０−３が送信した動作制御情報Ｐ２−Ｄ、Ｐ３−Ｄを無線で受信し、受信した動作制御情報例えば走行制御データ）Ｐ２−Ｄ、Ｐ３−Ｄを移動玩具１０００に無線送信する通信手段を含む。
【０２８０】
ここで親機１０１０−１や子機１０１０−２、１０１０−３となるゲーム装置は、例えば図６で説明したゲーム装置と同じ構成を有していてもよい。ここにおいて親機１０１０−１の通信部は、子機１０１０−２、１０１０−３との間ではブルートゥース（Bluetooth）等を用いた電波によるワイヤレス通信を行い、移動玩具１００との間では、赤外線通信等の光無線通信を行ってもよい。また子機１０１０−２、１０１０−３の通信部は、親機１０１０−１との間ではブルートゥース（Bluetooth）等を用いた電波によるワイヤレス通信を行い、移動玩具との間では無線通信が行えない構成でもよい。
【０２８１】
本実施の形態では、子機１０１０−２、１０１０−３と移動玩具の間で無線通信が行えない場合でも、子機は動作制御情報を一端親機に送信して、親機を介して子機に送信することができる。
【０２８２】
４．第４の実施の形態
第４の実施の形態では、複数の情報処理装置によって、複数の移動玩具を無線で制御するゲームシステム（移動玩具制御システムの一例）における同期処理について説明する。
【０２８３】
図３７（Ａ）（Ｂ）、図３８（Ａ）（Ｂ）は第４の実施の形態のゲームシステムについて説明するための図である。
【０２８４】
第４の実施の形態は、複数のゲーム装置によって、複数の移動玩具を無線で制御するゲームシステムである。複数のゲーム装置で、所定のグループを構成する。ここで所定のグループは、何らかの形で形成されていればよい。例えばプレーヤの入力によって形成されてもよいし、例えば移動玩具を用いたレースゲームへの参加の呼びかけに応じて参加を表明したゲーム装置でグループを形成してもよい。
【０２８５】
グループに属する各ゲーム装置は、それぞれが自機に対応する移動玩具の動作制御を行う。例えばグループを構成する複数のゲーム装置に対応した複数の移動玩具がレースゲームを行うようなゲームシステムでもよい。
【０２８６】
所定のグループを構成する全情報処理装置１０１０−１、１０１０−２、１０１０−３、１０１０−４が所定のグループを構成する他の情報処理装置と通信可能な第１の状態にあるか否かを検出し、所定のグループを構成する全情報処理装置１０１０−１、１０１０−２、１０１０−３、１０１０−４が、各情報処理装置に対応する前記移動玩具と通信可能な第２の状態にあるか否かを検出する。そして所定のグループを構成する全情報処理装置１０１０−１、１０１０−２、１０１０−３、１０１０−４が、第１の状態かつ第２の状態である場合に、所定のコマンドを同期を取って発動する。
【０２８７】
所定のグループを構成する全情報処理装置１０１０−１、１０１０−２、１０１０−３、１０１０−４が所定のグループを構成する他の情報処理装置と通信可能な第１の状態にあるか否かは、所定のグループを構成する各ゲーム装置１０１０−１、１０１０−２、１０１０−３、１０１０−４が他のゲーム装置に対して所定の信号の送信を行い、他のゲーム装置からの所定の信号の受信ができるか否かを検出することで判断することができる。
【０２８８】
例えば図３７（Ａ）では、ゲーム装置１０１０−１は他のゲーム装置１０１０−１、１０１０−３、１０１０−４との各通信１０５０−１、１０５０−２、１０５０−３が確立された状態であるので、第１の状態にある。しかしゲーム装置１０１０−４は他のゲーム装置１０１０−１、１０１０−３との各通信１０５０−３、１０５０−６は確立された状態にあるが、他のゲーム装置１０１０−２との通信１０５０−４は確立されていないので、第１の状態にはない。従って図３７（Ａ）では、所定のグループを構成する全情報処理装置１０１０−１、１０１０−２、１０１０−３、１０１０−４が第１の状態にあるといえない。
【０２８９】
これに対し図３７（Ｂ）では、全ゲーム装置１０１０−１、１０１０−２、１０１０−３、１０１０−４間の通信１０５０−１〜１０５０−６が確立された状態であるので、全ゲーム装置１０１０−１、１０１０−２、１０１０−３、１０１０−４は、第１の状態にあるといえる。
【０２９０】
例えば、グループを構成する各ゲーム装置が、無線ＬＡＮ機能を備え、IEEE 802.11規格（例えば、IEEE 802.11b）に準拠している場合には、ブロードキャスト方式、ユニキャスト方式、あるいはマルチキャスト方式によるパケット通信（データ通信）によって、グループの他のゲーム装置への呼びかけ信号の送信（所定の信号の送信）を行い、グループを構成する他のゲーム装置から呼びかけ信号の受信（所定の信号の受信）をおこなってもよい。グループを構成するゲーム装置（送信相手）が特定できる場合にはユニキャスト方式で送信するようにしてもよい。また送信相手が特定できない場合にはブロードキャスト方式で送信するようにしてもよい。
【０２９１】
ブロードキャスト（Broadcast）方式とは、自機の通信可能範囲内に存在する不特定多数の相手（ノード）に向かってデータデータを含むパケットを送信する通信方式である。この方式では、自機の通信可能範囲の全体を意味する特殊なネットワークアドレスを指定することによってデータの送信を行なう。
【０２９２】
またユニキャスト（Unicast）方式とは、自機の通信可能範囲内で、単一のネットワークアドレスを指定して特定の相手（ノード）にデータ（データを含むパケット）を送信する通信方式であって、マルチキャスト（Multicast）方式とは、自機の通信可能範囲内で、複数の相手（ノード）のネットワークアドレスを指定して同じデータ（データを含むパケット）を送信する通信方式である。
【０２９３】
所定のグループを構成する全情報処理装置１０１０−１、１０１０−２、１０１０−３、１０１０−４が、各情報処理装置に対応する前記移動玩具１０００−１、１０００−２、１０００−３、１０００−４と通信可能な第２の状態にあるか否かは、所定のグループを構成する各ゲーム装置１０１０−１、１０１０−２、１０１０−３、１０１０−４が各情報処理装置に対応する前記移動玩具１０００−１、１０００−２、１０００−３、１０００−４に対して所定の信号の送信を行い、自機に対応する移動玩具から所定の信号に対する応答信号の受信ができるか否かを検出することで判断することができる。各ゲーム装置はユニキャスト方式で、自機に対応する移動玩具１０００に呼びかけ送信を行い、移動玩具１０００はユニキャスト方式で各ゲーム装置に応答送信を行ってもよい。
【０２９４】
例えば図３８（Ａ）では、全ゲーム装置１０１０−１〜１０１０−４は、自機に対応する移動玩具１０００−１〜１０００−４との通信１０６０−１〜１０６０−６が確立された状態であるので、全ゲーム装置１０１０−１、１０１０−２、１０１０−３、１０１０−４は、第２の状態にあるといえる。
【０２９５】
これに対し図３８（Ｂ）では、ゲーム装置１０１０−３は、自機に対応する移動玩具１０００−３との通信１０６０−３が確立されていないので、全ゲーム装置１０１０−１、１０１０−２、１０１０−３、１０１０−４は、第２の状態にあるはいえない。
【０２９６】
本実施の形態では、図３７（Ｂ）のようにグループを構成する全ゲーム装置が第１の状態であって、かつ図３８（Ａ）のようにグループを構成する全ゲーム装置が第２の状態である場合に、所定のコマンドを同期を取って発動する。ここで、所定のコマンドとは、例えばスタートコマンド（各移動玩具にスタートの指示を行うコマンド）でもよい。また同期を取ってとは、各ゲーム装置が同時に所定のコマンドを発動する場合でもよいし、各ゲーム装置が所定の間隔をおいて所定のコマンドを発動する場合でもよい。
【０２９７】
図３９は、第４の実施の形態のゲームシステムを構成する各ゲーム装置の同期処理の流れを示すフローチャートである。例えば各ゲーム装置は、所定のボタンを押された場合や所定のコマンドが発動された場合に以下の処理を行うようにしてもよい。  
所定のグループを構成する他のゲーム装置すべてに対して第１のテスト通信を行い通信可能か否かを判断する（ステップＳ５００）。所定のグループを構成する他のゲーム装置は、例えばゲーム開始の段階で登録されていてもよい。第１のテスト通信は、例えば他のゲーム装置に対する呼びかけ送信と、他のゲーム装置が行った呼びかけ送信の受信とを含んでもよい。
【０２９８】
所定のグループを構成する他のゲーム装置すべてと通信可能（ステップＳ５１０）になるまでステップＳ５００〜Ｓ５１０の処理を繰り返す。所定のグループを構成する他のゲーム装置すべてと通信可能になると（ステップＳ５１０）、第１の通信確立の旨の通知信号を所定のグループを構成する他のゲーム装置すべてに対して送信する（ステップＳ５２０）。
【０２９９】
所定のグループを構成する他のゲーム装置すべてから第１の通信確立の旨の通知信号を受信する（ステップＳ５３０）まで、ステップＳ５２０〜Ｓ５３０の処理を繰り返す。
【０３００】
所定のグループを構成する他のゲーム装置すべてから第１の通信確立の旨の通知信号を受信する（ステップＳ５３０）と、自機に対応する移動玩具に対して第２の通信を行い通信可能か否かを判断する（ステップＳ５４０）。移動玩具と通信可能（ステップＳ５５０）になるまで、ステップＳ５４０〜Ｓ５５０の処理を繰り返す。
【０３０１】
移動玩具と通信可能（ステップＳ５５０）になると、第２の通信確立の旨の通知信号を所定のグループを構成する他のゲーム装置すべてに対して送信する（ステップＳ５６０）。
【０３０２】
所定のグループを構成する他のゲーム装置すべてから第２の通信確立の旨の通知信号を受信（ステップＳ５７０）するまで、ステップＳ５６０〜Ｓ５７０の処理を繰り返す。
【０３０３】
所定のグループを構成する他のゲーム装置すべてから第２の通信確立の旨の通知信号を受信（ステップＳ５７０）すると、所定のタイミングで所定のコマンドを発動（ステップＳ５８０）。
【０３０４】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語（移動玩具、原動機、動作制御データ、動作特性データ、実動作結果データ、動作シミュレーション結果データ等）として引用された用語（移動玩具、モータ、走行制御データ、走行特性データ、実走行結果データ、走行シミュレーション結果データ等）は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【０３０５】
また、移動玩具の制御手法、マーカの検知手法、走行制御データの設定手法、移動玩具の減速・加速制御手法、原動機の駆動手法、シミュレーション処理手法等は、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含むことができる。  また本発明が適用される移動玩具、ゲーム装置は、本発明で説明したような構成の移動玩具やゲーム装置に限定されるものではなく、種々の変形実施が可能である。
【符号の説明】
【０３０６】
ＣＳｉ、ＣＳｉ＋１  コース区間、ＤＳｉ、ＤＳｉ＋１  走行制御データ、
ＭＣｉ、ＭＣｉ＋１  マーカ、ＤＴｉ、ＤＴｉ＋１  デューティ、
ＭＴ  移動玩具、ＤＦ  差分情報、ＣＰ１〜ＣＰ１６  コースブロック、
１０  移動玩具、１２  ボディ、３０  モータ、５０  センサ、５２  発光素子、
６０  コース、６１、６２  第１、第２の周回コース、
１００  処理部、１０２  シミュレーション処理部、１０４  送信処理部、
１０６  受信処理部、１０８  認証処理部、１１０  比較処理部、１１２  表示制御部、
１１４  成績評価部、１１６  アップロード処理部、１４０  動作制御情報生成部、１５０  制御主切り替え処理部１６０、操作部、１７０  記憶部、
１７２  走行特性データ記憶部、１７３  コースデータ記憶部、
１７４  走行制御データ記憶部、１７６  キャラクタデータ記憶部、
１７８  描画バッファ、１９０  タッチパネル型表示部、１９１  表示部、
１９２  音出力部、１９４  補助記憶装置、１９６  通信部、
３００  回路基板、３１０  制御部、３３０  記憶部、３４０  発光素子駆動部、
３５０  駆動部、３６０  センサコントローラ、３７０  外部インターフェース部
【図６】
2011130829.tif 000003
【図２５】
2011130829.tif 000004
【図２６】
2011130829.tif 000005
【図２７】
2011130829.tif 000006
【図２８】
2011130829.tif 000007
【図２９】
2011130829.tif 000008
【図３０】
2011130829.tif 000009
【図３１】
2011130829.tif 000010
【図３２】
2011130829.tif 000011
【図３３】
2011130829.tif 000012
【図３４】
2011130829.tif 000013
【図３５】
2011130829.tif 000014
【図３６】
2011130829.tif 000015
【図３７】
2011130829.tif 000016
【図３８】
2011130829.tif 000017
【図３９】
2011130829.tif 000018
【図４０】
2011130829.tif 000019
【図１】
2011130829.tif 000020
【図２】
2011130829.tif 000021
【図３】
2011130829.tif 000022
【図４】
2011130829.tif 000023
【図５】
2011130829.tif 000024
【図７】
2011130829.tif 000025
【図８】
2011130829.tif 000026
【図９】
2011130829.tif 000027
【図１０】
2011130829.tif 000028
【図１１】
2011130829.tif 000029
【図１２】
2011130829.tif 000030
【図１３】
2011130829.tif 000031
【図１４】
2011130829.tif 000032
【図１５】
2011130829.tif 000033
【図１６】
2011130829.tif 000034
【図１７】
2011130829.tif 000035
【図１８】
2011130829.tif 000036
【図１９】
2011130829.tif 000037
【図２０】
2011130829.tif 000038
【図２１】
2011130829.tif 000039
【図２２】
2011130829.tif 000040
【図２３】
2011130829.tif 000041
【図２４】
2011130829.tif 000042