説明

携帯型の情報処理装置、情報処理プログラムおよび情報処理方法

【構成】 ゲーム装置10はCPU(50)を含み、ゲーム装置10が閉じられると、CPU(50)はスリープモードに移行する。スリープモードで、ユーザがゲーム装置10を持ち歩くと、加速度センサ(88)からの加速度データが示す加速度の大きさ応じて、マイコン(68)は歩数をカウントする。たとえば、ゲーム装置10の主電源がオンされ、メインメニュー画面(200)が表示されたとき、歩数が獲得コインに変換される。ゲーム装置10で実行される複数のアプリケーションのそれぞれでは、獲得コインを用いて、特殊アイテムを購入したり、特別コースでのプレイを許可したりする。
【効果】 歩数を変換した獲得コインを複数のアプリケーションのそれぞれで簡単に共用することができる。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は携帯型の情報処理装置、情報処理プログラムおよび情報処理方法に関し、特にたとえば、複数のアプリケーションを記憶する記憶部を備えた、携帯型の情報処理装置、情報処理プログラムおよび情報処理方法に関する。
【背景技術】
【0002】
従来のこの種の携帯型の情報処理装置の一例が、特許文献1に開示されている。この特許文献1のポイントシステムでは、歩数をポイントに変換し、ポイント数に応じて複数のサービスから希望のサービスを選択できる。具体的には、利用者が電子歩数計を身につけて歩くことによって歩数が計測され、携帯電話に電子歩数計を接続すると、測定された歩数がWEBサーバに送信され、ポイントが付与される。このようにして付与されたポイントを蓄積し、蓄積したポイントを、フィットネスクラブの会費の割引やクラブ内でのショッピングや飲食にかかる費用の割引に使用したり、インターネット上の特定サイトでの割引に使用したり、通常の店舗での割引に使用したりする。
【0003】
また、この種の携帯型の情報処理装置の他の例が、特許文献2に開示されている。この特許文献2のゲームシステムでは、複数の歩数計でそれぞれ計測された複数の歩数データを無線通信によりゲーム装置に送信することで、ゲーム装置で複数の歩数データを用いた種々のゲームが実行できる。たとえば、同時間に歩いたプレイヤの数によって内容が変化するゲームや、複数のプレイヤの歩数の合算値によって内容が変化するゲームなどが開示されている。
【特許文献1】特開2003−316905号公報
【特許文献2】特開2009−254539号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1のポイントシステムでは、歩数計で測定された歩数を様々なサービスで利用するために、歩数データを通信などにより他の機器に送信し、他の機器を用いてサービスを利用する必要があった。
【0005】
同様に、特許文献2のゲームシステムでは、歩数計で測定された歩数を種々のゲームで利用するために、歩数データを通信によりサーバに送信し、ゲームを行う必要があった。
【0006】
それゆえに、この発明の主たる目的は、新規な、携帯型の情報処理装置、情報処理プログラムおよび情報処理方法を提供することである。
【0007】
また、この発明の他の目的は、計測された歩数を複数のアプリケーションで利用することを容易にする、携帯型の情報処理装置、情報処理プログラムおよび情報処理方法を提供することである。
【課題を解決するための手段】
【0008】
第1の発明は、複数のアプリケーションを記憶する記憶部を備えた携帯型の情報処理装置であって、歩数計測装置、蓄積手段、アプリケーション実行手段、および利用手段を備える。歩数計測手段は、歩数を計測する。蓄積手段は、歩数計測手段によって計測された歩数を当該歩数に相関する歩数相関値に変換して蓄積する。アプリケーション実行手段は、記憶部に記憶された複数のアプリケーションからいずれかのアプリケーションを実行する。そして、利用手段は、アプリケーション実行手段によって実行されるそれぞれのアプリケーションにおいて、歩数相関値蓄積手段によって蓄積された歩数相関値を利用する。
【0009】
第1の発明によれば、蓄積された歩数相関値を複数のアプリケーションのそれぞれで利用するので、計測された歩数を複数のアプリケーションで利用することを容易にすることができる。また、1つの装置内に複数のアプリケーションを記憶する記憶部、歩数計測手段および蓄積手段を備えているので、蓄積された歩数相関値を手軽に複数のアプリケーションのそれぞれで利用することができる。
【0010】
第2の発明は、第1の発明に従属し、記憶部は、複数のアプリケーションのすべてがアクセス可能な共有データ領域と、複数のアプリケーションのそれぞれに設定され当該アプリケーションのみがアクセス可能な複数のアプリケーション専用領域とを有する。蓄積手段は、歩数相関値を共有データ領域に記憶する。利用手段は、共有データ領域に記憶された歩数相関値を読み出して利用し、それによって得られる更新情報(ゲームデータなど)を対応するアプリケーション専用データ領域に書き込む。
【0011】
第2の発明によれば、歩数相関値は共通に利用し、利用したアプリケーションの更新情報については各アプリケーションの専用データ領域に書き込まれるので、不正に更新情報が用いられることを防止できる。また、共通の歩数相関値を利用して、各アプリケーション専用のデータをそれぞれ更新することができる。
【0012】
第3の発明は、第1の発明に従属し、アプリケーション実行手段は、利用手段によって歩数相関値を利用する場合と、利用しない場合とで実行内容を変化させる。
【0013】
第3の発明によれば、歩数相関値を利用する場合と利用しない場合とで実行内容を変化させるので、たとえば、異なるゲーム処理を実行することができ、ユーザないしプレイヤの興味を増大させることができる。また、ユーザないしプレイヤの歩く意欲を引き起こすことができる。
【0014】
第4の発明は、第1ないし第3の発明に従属し、蓄積手段によって蓄積された歩数相関値が第1所定数を超えたかどうかを判断する判断手段をさらに備える。蓄積手段は、判断手段によって歩数相関値が第1所定数を超えたことが判断されたとき、歩数相関値を第1所定数に設定する。つまり、歩数相関値が第1所定値に制限される。
【0015】
第4の発明によれば、歩数相関値を第1所定数に制限するので、多く歩くことが可能なユーザとそうでないユーザとの差を比較的抑えることができ、不公平感を低減することができる。
【0016】
第5の発明は、第4の発明に従属し、歩数計測手段によって計測された歩数に日時情報を付加して記憶部に記憶する歩数記憶手段をさらに備える。判断手段は、同日内の歩数を変換した歩数相関値が第1所定数よりも小さい第2所定数を超えたかどうかをさらに判断する。また、蓄積手段は、判断手段によって歩数相関値が第2所定数を超えたことが判断されたとき、第2所定数の歩数相関値を蓄積する。つまり、1日に変換可能な歩数相関値が第2所定数に制限される。
【0017】
第5の発明によれば、1日に変換可能な歩数相関値が第2所定数に制限されるので、継続的に適量の歩行をユーザに促すことができる。
【0018】
第6の発明は、第1ないし第5の発明に従属し、情報処理装置の不使用状態と使用状態とを切り替える切替手段、および使用状態から不使用状態になったかどうかを判別する切替判別手段をさらに備える。歩数計測手段は、切替判別手段によって不使用状態になったことが判別されたとき、歩数を計測する。つまり、情報処理装置を使用しないときに、歩数を計測するのである。
【0019】
第6の発明によれば、ユーザないしプレイヤが機器を使用していないときに、歩数計として使用することができる。
【0020】
第7の発明は、第6の発明に従属し、切替手段は、省電力モードと通常モードとを切り替える。切替判別手段は、通常モードから省電力モードになったかどうかを判別することによって使用状態から不使用状態になったかどうかを判別する。
【0021】
第7の発明においても、ユーザないしプレイヤが機器を使用していないときに、歩数計として使用することができる。
【0022】
第8の発明は、第6の発明に従属し、アプリケーション実行手段を不能化する不能化手段をさらに備える。切替手段は、不能化手段によってアプリケーション実行手段が不能化されることによって使用状態から不使用状態に切り替える。
【0023】
第8の発明においても、ユーザないしプレイヤが機器を使用していないときに、歩数計として使用することができる。
【0024】
第9の発明は、第6の発明に従属し、装置本体は開閉可能な機構を有する。たとえば、装置の蓋を開閉したり、装置自体を開閉したりする。切替手段は、装置本体が閉じられている状態と開かれている状態とを切り替える。切替判別手段は、装置本体が開かれている状態から閉じられた状態になったかどうかを判別することによって使用状態から不使用状態になったかどうかを判別する。具体的には、切替判別手段は、装置本体が開かれている状態を使用状態と判別し、装置本体が閉じられている状態を不使用状態と判別する。
【0025】
第9の発明においても、ユーザないしプレイヤが機器を使用していないときに、歩数計として使用することができる。
【0026】
第10の発明は、第6ないし第9の発明に従属し、通信手段をさらに備える。通信手段は、歩数計測手段によって歩数が計測される間、間欠的に通信処理を実行する。つまり、通信手段は、データを送信したり、受信したり、送受信したりする。
【0027】
第10の発明によれば、ユーザないしプレイヤが機器を使用していないときに、さらに、データを送信したり、受信したり、送受信したりするような通信処理を実行するので、他の装置やアクセスポイントからデータを収集したり、他の装置やアクセスポイントにデータを送信したりすることができる。また、歩数が計測される間に通信処理を行うので、ユーザないしプレイヤが機器を外で持ち歩いている間に、他のユーザないしプレイヤが持ち歩いている機器や街中に設置されているアクセスポイントとの間で知らないうちに通信が行われる。従って、ユーザに驚きや興趣性を与えることができるとともに、ユーザの歩く意欲をより引き出すことができる。
【0028】
第11の発明は、第1ないし第10の発明に従属し、所定条件を満たしたか否かを判別する条件判別手段をさらに備える。蓄積手段は、条件判別手段によって所定条件を満たしたことが判別されたとき、歩数計測手段によって計測された歩数を歩数相関値に変換する。
【0029】
第11の発明によれば、所定条件を満たしたときに、歩数を歩数相関値に変換するので、変換のための処理負荷をいたずらに増大させることを防止することができる。
【0030】
第12の発明は、複数のアプリケーションを記憶する記憶部を備えた携帯型の情報処理装置の情報処理プログラムである。この情報処理プログラムは、情報処理装置のコンピュータを、歩数を計測する歩数計測手段、歩数計測手段によって計測された歩数を当該歩数に相関する歩数相関値に変換して蓄積する蓄積手段、記憶部に記憶された複数のアプリケーションからいずれかのアプリケーションを実行するアプリケーション実行手段、およびアプリケーション実行手段によって実行されるそれぞれのアプリケーションにおいて、歩数相関値蓄積手段によって蓄積された歩数相関値を利用する利用手段として機能させる。
【0031】
第12の発明においても、第1の発明と同様に、計測された歩数を複数のアプリケーションで利用することを容易にすることができる。
【0032】
第13の発明は、複数のアプリケーションを記憶する記憶部を備えた携帯型の情報処理装置の情報処理方法であって、情報処理装置のコンピュータは、(a)歩数を計測し、(b)ステップ(a)によって計測された歩数を当該歩数に相関する歩数相関値に変換して蓄積し、(c)記憶部に記憶された複数のアプリケーションからいずれかのアプリケーションを実行し、そして(d)ステップ(c)によって実行されるそれぞれのアプリケーションにおいて、ステップ(b)によって蓄積された歩数相関値を利用する。
【0033】
第13の発明においても、第1の発明と同様に、計測された歩数を複数のアプリケーションで利用することを容易にすることができる。
【発明の効果】
【0034】
この発明によれば、蓄積された歩数相関値を複数のアプリケーションのそれぞれで利用するので、計測された歩数を複数のアプリケーションで利用することを容易にすることができる。
【0035】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【0036】
【図1】図1はこの発明のゲーム装置の外観構成の一実施例を示す図解図である。
【図2】図2は図1に示すゲーム装置を折り畳んだ状態の上面図および左側面図を示す図解図である。
【図3】図3は図1および図2に示すゲーム装置の電気的な構成を示すブロック図である。
【図4】図4は図1−図3に示すゲーム装置の第1LCDまたは第2LCDに表示される画面の例を示す図解図である。
【図5】図5は図3に示す保存用データメモリのメモリマップの例を示す図解図である。
【図6】図6は図5に示すデータ記憶領域の詳細な内容を示す図解図である。
【図7】図7は図3に示すマイコンに内蔵されるメモリのメモリマップの例を示す図解図である。
【図8】図8は図3に示すCPUの全体処理の一部を示すフロー図である。
【図9】図9は図3に示すCPUの全体処理の他の一部であって、図8に後続するフロー図である。
【図10】図10は図3に示すCPUのコイン獲得処理の一部を示すフロー図である。
【図11】図11は図3に示すCPUのコイン獲得処理の第2の一部であって、図10に後続するフロー図である。
【図12】図12は図3に示すCPUのコイン獲得処理の第3の一部であって、図10に後続するフロー図である。
【図13】図13は図3に示すCPUのコイン獲得処理の第4の一部であって、図10に後続するフロー図である。
【図14】図14は図3に示すCPUのコイン獲得処理の第5の一部を示すフロー図である。
【図15】図15は図3に示すCPUの第1アプリ実行処理を示すフロー図である。
【図16】図16は図3に示すCPUの第2アプリ実行処理を示すフロー図である。
【図17】図17は図3に示すマイコンの歩数検出処理の一部を示すフロー図である。
【図18】図18は図3に示すマイコンの歩数検出処理の他の一部であって、図17に後続するフロー図である。
【発明を実施するための形態】
【0037】
図1を参照して、この発明の実施例のゲーム装置10は、上側ハウジング12および下側ハウジング14を含み、上側ハウジング12と下側ハウジング14とは、開閉可能(折り畳み可能)に連結されている。図1の例では、上側ハウジング12および下側ハウジング14は、それぞれ横長の長方形の板状に形成され、互いの長辺部分で回動可能に連結されている。つまり、この実施例のゲーム装置10は、折り畳み式の携帯型のゲーム装置であり、図1には、当該ゲーム装置10を開いた状態(開状態)で示してある。ゲーム装置10は、開いた状態においてもユーザが両手または片手で把持することができるようなサイズで構成される。
【0038】
通常、ユーザは、開状態でゲーム装置10を使用する。また、ユーザは、ゲーム装置10を使用しない場合には閉状態で保管する。ただし、ゲーム装置10は、上記閉状態および開状態のみでなく、上側ハウジング12と下側ハウジング14とのなす角度が閉状態と開状態との間の任意の角度において、連結部分に発生する摩擦力などによってその開閉角度を維持することができる。つまり、上側ハウジング12を下側ハウジング14に対して任意の角度で静止させることができる。
【0039】
なお、ゲーム装置10は、後述するカメラ(32,34)を搭載しており、当該カメラ(32,34)によって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりする撮像装置としても機能する。
【0040】
図1に示すように、上側ハウジング12には第1LCD16が設けられ、下側ハウジング14には第2LCD18が設けられる。第1LCD16および第2LCD18は、横長形状であり、それぞれの長辺方向が上側ハウジング12および下側ハウジング14の長辺方向と一致するように配置される。たとえば、第1LCD16および第2LCD18の解像度は、256(横)×192(縦)画素(ドット)に設定される。
【0041】
なお、この実施例では、表示器としてLCDを用いるようにしてあるが、LCDに代えて、EL(Electronic Luminescence)ディスプレイやプラズマディスプレイを用いるようにしてもよい。また、ゲーム装置10は、任意の解像度の表示装置を利用することができる。
【0042】
図1および図2に示すように、下側ハウジング14には、入力装置として、各操作ボタン20a−20kが設けられる。この各操作ボタン20a−20kのうち、方向入力ボタン20a、操作ボタン20b、操作ボタン20c、操作ボタン20d、操作ボタン20e、電源ボタン20f、スタートボタン20g、およびセレクトボタン20hは、下側ハウジング14の第2LCD18が設けられる側の面(内側の面)に配置される。具体的には、方向入力ボタン20aおよび電源ボタン20fは、第2LCD18の左側に配置され、操作ボタン20b−20e,20gおよび20hは、第2LCD18の右側に配置される。また、上側ハウジング12と下側ハウジング14とを折り畳んだときには、操作ボタン20a−20hはゲーム装置10の内部に収められる。
【0043】
方向入力ボタン(十字キー)20aは、ディジタルジョイスティックとして機能し、プレイヤオブジェクトの移動方向を指示したり、カーソルを移動させたりするなどに用いられる。各操作ボタン20b−20eは、プッシュボタンであり、たとえば、プレイヤオブジェクトに任意の動作をさせたり、決定やキャンセルを実行したりする等に用いられる。電源ボタン20fは、プッシュボタンであり、ゲーム装置10の主電源をオン/オフするために用いられる。スタートボタン20gは、プッシュボタンであり、ゲームを中断(ポーズ)したり、開始(再開)したりするために用いられる。セレクトボタン20hは、プッシュボタンであり、ゲームモードやメニューの選択等に用いられる。
【0044】
図1においては、操作ボタン20i−20kを省略したが、図2(A)に示すように、操作ボタン(Lボタン)20iは、下側ハウジング14の上側面の左端部に設けられ、操作ボタン(Rボタン)20jは、下側ハウジング14の上側面の右端部に設けられる。また、図2(B)に示すように、音量ボタン20kは、下側ハウジング14の左側面に設けられる。
【0045】
なお、図2(A)は、ゲーム装置10を折り畳んだ状態で、上面(上ハウジング12)側から見た図であり、図2(B)は、同じくゲーム装置10を折り畳んだ状態で、左側面から見た図である。
【0046】
Lボタン20iおよびRボタン20jは、プッシュボタンであり、操作ボタン20b−20eと同様の操作に用いたり、それらの操作ボタン20b−20eの補助的な操作に用いたりすることができる。また、この実施例では、Lボタン20iおよびRボタン20jは、撮影指示の操作(シャッター操作)を行うために用いることもできる。音量ボタン20kは、2つのプッシュボタンを用いて構成され、図示しない2つのスピーカ(右スピーカおよび左スピーカ)から出力される音の大きさを調整するために用いられる。この実施例では、音量ボタン20kには、2つの押圧部を含む操作部が設けられ、各押圧部に対応して上記のプッシュボタンが設けられる。したがって、一方の押圧部を押すと音量が大きくされ、他方の押圧部を押すと音量が小さくされる。たとえば、押圧部を押し続けると、音量が次第に大きくされたり、次第に小さくされたりする。
【0047】
図1に戻って、ゲーム装置10は、操作ボタン20a−20kとは別の入力装置として、さらにタッチパネル22を備えている。タッチパネル22は、第2LCD18の画面上を覆うように装着されている。この実施例では、タッチパネル22は、たとえば抵抗膜方式のタッチパネルが用いられる。ただし、タッチパネル22は、抵抗膜方式に限らず、任意の押圧式のタッチパネルを用いることができる。また、この実施例では、タッチパネル22として、たとえば第2LCD18の解像度と同解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル22の解像度と第2LCD18の解像度とが一致している必要はない。
【0048】
また、下側ハウジング14の右側面には、挿入口(図1に示す破線)が設けられている。挿入口は、タッチパネル22に対する操作を行うために用いられるタッチペン24を収納することができる。通常、タッチパネル22に対する入力は、タッチペン24を用いて行われるが、タッチペン24に限らずユーザの指でタッチパネル22を操作することも可能である。したがって、たとえば、タッチペン24を用いない場合には、タッチペン24の挿入口および収納部を設ける必要はない。
【0049】
また、下側ハウジング14の右側面には、メモリカード26を収納するための挿入口(図1では、二点鎖線で示している)が設けられている。この挿入口の内側には、ゲーム装置10とメモリカード26とを電気的に接続するためのコネクタ(図示せず)が設けられる。メモリカード26は、たとえばSDカードであり、コネクタに着脱自在に装着される。このメモリカード26は、たとえば、ゲーム装置10によって撮像された画像を記憶(保存)したり、他の装置で生成(撮像)ないし記憶された画像をゲーム装置10に読み込んだりするために用いられる。
【0050】
さらに、下側ハウジング14の上側面には、メモリカード28を収納するための挿入口(図1では、一点鎖線で示している)が設けられている。この挿入口の内側にも、ゲーム装置10とメモリカード28とを電気的に接続するためのコネクタ(図示せず)が設けられる。メモリカード28は、情報処理プログラムおよび必要なデータなどを記録した記録媒体であり、下側ハウジング14に設けられた挿入口に着脱自在に装着される。
【0051】
また、上側ハウジング12と下側ハウジング14との連結部(ヒンジ)の左端部分には、インジケータ30が設けられる。このインジケータ30は、3つのLED30a,30b,30cによって構成される。ここで、ゲーム装置10は、他の機器との間で無線通信を行うことが可能であり、第1LED30aは、無線通信が確立している場合に点灯する。第2LED30bは、ゲーム装置10の充電中に点灯する。第3LED30cは、ゲーム装置10の主電源がオンである場合に点灯する。したがって、インジケータ30(LED30a−30c)によって、ゲーム装置10の通信確立状況、充電状況、および主電源のオン/オフ状況をユーザに通知することができる。
【0052】
図示は省略するが、ヒンジの内部には、ゲーム装置10の開閉に応じて切り替えられるスイッチ(開閉スイッチ42:図3参照)が設けられる。たとえば、ゲーム装置10を開いている状態では、開閉スイッチ42はオンされる。一方、ゲーム装置10を閉じている(折り畳んでいる)状態では、開閉スイッチ42はオフされる。ただし、ゲーム装置10が開いている状態であるか閉じている状態であるかが分かればよいため、開閉スイッチ42のオンとオフとは逆であっても構わない。
【0053】
上述したように、上側ハウジング12には、第1LCD16が設けられる。この実施例では、第2LCD18を覆うように、タッチパネル22を設けているが、第1LCD16を覆うように、タッチパネル22を設けてもよい。または、第1LCD16および第2LCD18のそれぞれを覆うように、2つのタッチパネル22を設けるようにしてもよい。たとえば、第2LCD18には、各操作ボタン20a−20kやタッチパネル22の役割ないし操作方法をユーザに教えるための操作説明画面やゲーム画面が表示される。
【0054】
また、上側ハウジング12には、2つのカメラ(内側カメラ32および外側カメラ34)が設けられる。図1に示すように、内側カメラ32は、上側ハウジング12と下側ハウジング14との連結部付近であり、第1LCD16が設けられる側の面に、この第1LCD16の表示面とその撮影面とが平行または面一になるように取り付けられる。一方、外側カメラ34は、図2(A)に示すように、内側カメラ32が取り付けられる面とは反対側の面、すなわち、上側ハウジング12の外側の面(ゲーム装置10が閉状態となった場合に外側となる面であり、図1に示す上側ハウジング12の背面)に取り付けられる。ただし、図1においては、外側カメラ34を破線で示してある。
【0055】
したがって、内側カメラ32は、上側ハウジング12の内側の面が向く方向を撮像することが可能であり、外側カメラ34は、内側カメラ32の撮像方向の逆方向、すなわち、上側ハウジング12の外側の面が向く方向を撮像することが可能である。このように、この実施例では、内側カメラ32および外側カメラ34の撮像方向が互いに逆方向となるように、それら2つのカメラ32,34が設けられる。たとえば、ゲーム装置10を把持したユーザは、このゲーム装置10側からユーザの方を見た景色(たとえば、当該ユーザを含む)を内側カメラ32で撮像することができるとともに、ゲーム装置10側からユーザとは反対側の方向を見た景色を外側カメラ34で撮像することができる。
【0056】
なお、上記連結部付近の内側の面には、音声入力装置としてマイク84(図3参照)が収納されている。そして、上記連結部付近の内側の面には、マイク84がゲーム装置10外部の音を検知できるように、そのマイク84用の孔36が形成される。マイク84を収納する位置およびマイク84用の孔36の位置は必ずしも上記連結部である必要はなく、たとえば下側ハウジング14にマイク84を収納し、マイク84の収納位置に対応させて下側ハウジング14にマイク84用の孔36を設けるようにしてもよい。
【0057】
また、上側ハウジング12の外側の面には、外側カメラ34の近傍に第4LED38(図1では、破線で示す)が取り付けられる。第4LED38は、内側カメラ32または外側カメラ34によって撮影が行われた(シャッターボタンが押下された)時点で点灯する。また、内側カメラ32または外側カメラ34によって動画が撮影される場合には、第4LED38は、撮影の間点灯し続ける。つまり、第4LED38を点灯することによって、ゲーム装置10による撮影が行われた(行われている)ことを撮影対象者や周囲に通知することができる。
【0058】
また、上側ハウジング12には、第1LCD16の両側に、音抜き孔40が形成される。この音抜き孔40に対応する位置であり、上側ハウジング12の内部には、上述したスピーカが収納されている。音抜き孔40は、スピーカからの音をゲーム装置10の外部に放出するための孔である。
【0059】
以上に説明したように、上側ハウジング12には、画像を撮像するための構成である内側カメラ32および外側カメラ34と、主として、撮影された画像(撮影画像)およびゲーム画面を表示するための表示手段である第1LCD16とが設けられる。一方、下側ハウジング14には、ゲーム装置10に対する操作入力を行うための入力装置(操作ボタン20(20a−20k)およびタッチパネル22)と、主として、操作画面およびゲーム画面を表示するための表示手段である第2LCD18とが設けられる。したがって、ゲーム装置10は、2つの画面(16,18)および2系統の操作部(20,22)を備えている。
【0060】
図3は、この実施例のゲーム装置10の電気的な構成を示すブロック図である。図3に示すように、ゲーム装置10は、CPU50、メインメモリ52、メモリ制御回路54、保存用データメモリ56、プリセットデータ用メモリ58、メモリカードインターフェース(メモリカードI/F)60、メモリカードI/F62、無線通信モジュール64、ローカル通信モジュール66、マイコン68、電源回路70、インターフェース回路(I/F回路)72、第1GPU(Graphics Processing Unit)74、第2GPU76、第1VRAM(Video RAM)78、第2VRAM80、およびLCDコントローラ82等の電子部品を備えている。これらの電子部品(回路コンポーネント)は、電子回路基板上に実装されて、下側ハウジング14(または上側ハウジング12でもよい)内に収納される。
【0061】
CPU50は、所定のプログラムを実行するための情報処理手段である。この実施例では、所定のプログラムは、ゲーム装置10内のメモリ(たとえば保存用データメモリ56)やメモリカード26および/または28に記憶されており、CPU50は、当該所定のプログラムを実行することによって、後述する情報処理を実行する。
【0062】
なお、CPU50によって実行されるプログラムは、ゲーム装置10内のメモリに予め記憶していてもよいし、メモリカード26および/または28から取得してもよいし、他の機器と通信することによって当該他の機器から取得してもよい。
【0063】
CPU50には、メインメモリ52、メモリ制御回路54、およびプリセットデータ用メモリ58が接続される。また、メモリ制御回路54には、保存用データメモリ56が接続される。メインメモリ52は、CPU50のワーク領域やバッファ領域として用いられる記憶手段である。すなわち、メインメモリ52は、上記情報処理に用いられる各種データを記憶(一時記憶)したり、外部(メモリカード26および28や他の機器等)から取得されるプログラムを記憶したりする。この実施例では、メインメモリ52として、たとえばPSRAM(Pseudo−SRAM)を用いる。保存用データメモリ56は、CPU50によって実行されるプログラムや内側カメラ32および外側カメラ34によって撮像された画像のデータ等を記憶(保存)するための記憶手段である。この保存用データメモリ56は、不揮発性の記憶媒体によって構成されており、たとえば、NAND型フラッシュメモリを用いることができる。メモリ制御回路54は、CPU50の指示に従って、保存用データメモリ56に対するデータの読み出しおよび書き込みを制御する。プリセットデータ用メモリ58は、ゲーム装置10において予め設定される各種パラメータ等のデータ(プリセットデータ)を記憶するための記憶手段である。プリセットデータ用メモリ58としては、SPI(Serial Peripheral Interface)バスによってCPU50と接続されるフラッシュメモリを用いることができる。
【0064】
メモリカードI/F60および62は、それぞれCPU50に接続される。メモリカードI/F60は、コネクタに装着されたメモリカード26に対するデータの読み出しおよび書き込みを、CPU50の指示に応じて行う。また、メモリカードI/F62は、コネクタに装着されたメモリカード28に対するデータの読み出しおよび書き込みを、CPU50の指示に応じて行う。この実施例では、内側カメラ32および外側カメラ34によって撮像された画像に対応する画像データや他の装置から受信された画像データがメモリカード26に書き込まれたり、メモリカード26に記憶された画像データがメモリカード26から読み出されて保存用データメモリ56に記憶されたり、他の装置へ送信されたりする。また、メモリカード28に記憶された各種プログラムが、CPU50によって読み出されて実行されたりする。
【0065】
なお、ゲームプログラムなどの情報処理プログラムは、メモリカード28等の外部記憶媒体を通じてゲーム装置10に供給されるだけでなく、有線または無線の通信回線を通じてゲーム装置10に供給されてもよい。また、情報処理プログラムは、ゲーム装置10内部の不揮発性記憶装置に予め記録されていてもよい。さらに、情報処理プログラムを記憶する情報記憶媒体としては、上記不揮発性記憶装置に限らず、CD−ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体でもよい。
【0066】
無線通信モジュール64は、たとえばIEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。また、ローカル通信モジュール66は、所定の通信方式により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール64およびローカル通信モジュール66は、CPU50に接続される。CPU50は、無線通信モジュール64を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール66を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【0067】
また、CPU50には、マイコン68が接続される。マイコン68は、メモリ68aおよびRTC68bを含む。メモリ68aは、たとえばRAMであり、マイコン68による制御のためのプログラムやデータが記憶される。RTC68bは、時間をカウントする。マイコン68では、RTC68bによって計時された時間に基づいて、日付および現在時刻等を計算することもできる。
【0068】
マイコン68には、電源スイッチ20f、開閉スイッチ42、電源回路70、および加速度センサ88が接続される。電源スイッチ20fからは、オンの信号がマイコン68に与えられる。ゲーム装置10の主電源がオフされている状態で、電源スイッチ20fがオンされると、マイコン68のBootROMとしても機能するメモリ68aが起動され、後述するように、ゲーム装置10の開閉状態に応じて電源制御が行なわれる。一方、ゲーム装置10の主電源がオンされている状態で、電源スイッチ20fがオンされると、マイコン68は電源回路70に全回路コンポーネント(マイコン68を除く。)への電力供給の停止を指示する。ここで、電源回路70は、ゲーム装置10が有する電源(典型的には電池であり、下側ハウジング14に収納される)から供給される電力を制御し、ゲーム装置10の各回路コンポーネントに電力を供給する。
【0069】
また、開閉スイッチ42からは、オンまたはオフの信号がマイコン68に与えられる。開閉スイッチ42がオンされている状態(ゲーム装置10本体が開かれている状態)で、ゲーム装置10の主電源がオンされている場合には、マイコン68の制御の下、電源回路70からゲーム装置10の全回路コンポーネントに電力を供給するモード(以下、「通常モード」という)が設定される。通常モードでは、ゲーム装置10は任意のアプリケーションを実行可能であり、ユーザないしプレイヤが使用している状態(使用状態)である。
【0070】
また、ゲーム装置10の主電源がオンされている状態で、開閉スイッチ42がオフされている場合(ゲーム装置10本体が閉じられている状態)には、電源回路70からゲーム装置10の一部のコンポーネントに電力を供給するモード(以下、「スリープモード」という)が設定される。スリープモードでは、ゲーム装置10は任意のアプリケーションを実行不能であり、ユーザないしプレイヤは使用していない状態(不使用状態)である。この実施例では、一部のコンポーネントは、CPU50、無線通信モジュール64およびマイコン68である。ただし、スリープモード(スリープ状態)では、CPU50は、基本的にクロックを停止した状態(不能化された状態)であるため、ほとんど電力を消費しない。また、スリープモードでは、CPU50への電力の供給を停止しても良い。したがって、上述したように、この実施例では、スリープモードにおいては、CPU50によって、アプリケーションが実行されることはない。
【0071】
ただし、スリープ状態において、無線通信モジュール64によって通信を実行する場合には、無線通信モジュール64からの制御信号によってCPU50を起動する。つまり、無線通信モジュール64によってCPU50のクロックが動作され、その後、無線通信モジュール64からCPU50に通信の開始指示が与えられる。以下、同じ。そして、CPU50からマイコン68に指示して、メモリ制御回路54および保存用データメモリ56への電力の供給が開始される。したがって、通信により他のゲーム装置10等に保存用データメモリ56に記憶されたデータを送信したり、他のゲーム装置10等から受信したデータを保存用データメモリ56に記憶したりすることができる。
【0072】
また、スリープ状態において、マイコン68から歩数データ(後述する累積歩数データ152c)を出力する場合には、マイコン68からの制御信号によってCPU50を起動する。つまり、マイコン68によってCPU50のクロックが動作され、歩数データの出力が通知される。また、マイコン68は、電源回路70を制御して、メモリ制御回路54および保存用データメモリ56への電力の供給を開始する。したがって、マイコン68から出力される歩数データが保存用データメモリ56に記憶される。
【0073】
さらに、ゲーム装置10が開かれるなどして、スリープ状態が解除(非スリープ状態)にされると、開閉スイッチ42からオフの信号がマイコン68に入力される。したがって、マイコン68は、CPU50を起動して、CPU50にスリープの解除を指示する。これに応じて、CPU50は、マイコン68にスリープの解除を指示する。つまり、CPU50の指示の下、マイコン68は、電源回路70を制御して、全回路コンポーネントへの電源の供給を開始する。したがって、ゲーム装置10は、通常モードへ移行し、使用状態になる。
【0074】
また、上述したように、マイコン68には、加速度センサ88が接続される。たとえば、加速度センサ88は、3軸の加速度センサであり、下側ハウジング14(上側ハウジング12でもよい)の内部に設けられる。ゲーム装置10の第1LCD16(第2LCD18)の面に対して垂直な方向の加速度、および第1LCD16(第2LCD18)の面に対して平行であり、互いに直交する2方向(縦方向および横方向)の加速度を検出する。加速度センサ88は、検出した加速度についての信号(加速度信号)をマイコン68に出力する。マイコン68は、加速度信号に基づいて、ゲーム装置10の向きを検出したり、ゲーム装置10の振動の大きさを検出したりすることができる。したがって、たとえば、マイコン68および加速度センサ88を歩数計として機能させることができる。加速度センサ88を用いた歩数計は既に周知であるため、その詳細な内容については省略するが、加速度の大きさに応じて歩数が測定される。
【0075】
また、ゲーム装置10は、マイク84およびアンプ86を備えている。マイク84およびアンプ86は、それぞれI/F回路72に接続される。マイク84は、ゲーム装置10に向かって発声ないし発生されたユーザの音声ないし音(拍手や手拍子など)を検知して、当該音声ないし音を示す音声信号をI/F回路72に出力する。アンプ86は、I/F回路72から与えられる音声信号を増幅してスピーカ(図示せず)に与える。I/F回路72は、CPU50に接続される。
【0076】
また、タッチパネル22は、I/F回路72に接続される。I/F回路72は、マイク84およびアンプ86(スピーカ)の制御を行う音声制御回路と、タッチパネル22の制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するA/D変換およびD/A変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル22からの信号に基づいて所定の形式のタッチ位置データを生成してCPU50に出力する。たとえば、タッチ位置データは、タッチパネル22の入力面に対して入力が行われた位置の座標を示すデータである。
【0077】
なお、タッチパネル制御回路は、タッチパネル22からの信号の読み込み、および、タッチ位置データの生成を所定時間に1回の割合で行う。CPU50は、I/F回路72を介して、タッチ位置データを取得することにより、タッチパネル22に対して入力が行われた位置を知ることができる。
【0078】
操作ボタン20は、上記の各操作ボタン20a−20k(電源スイッチ20fを除く。以下、同じ。)によって構成され、CPU50に接続される。操作ボタン20からCPU50へは、各操作ボタン20a−20kに対する入力状況(押下されたか否か)を示す操作データが出力される。CPU50は、操作ボタン20からの操作データを取得し、取得した操作データに応じた処理を実行する。
【0079】
内側カメラ32および外側カメラ34は、それぞれCPU50に接続される。内側カメラ32および外側カメラ34は、CPU50の指示に応じて画像を撮像し、撮像した画像に対応する画像データをCPU50に出力する。この実施例では、CPU50は、内側カメラ32および外側カメラ34のいずれか一方に対して撮像指示を行い、撮像指示を受けたカメラ(32,34)が画像を撮像して画像データをCPU50に送る。
【0080】
第1GPU74には、第1VRAM78が接続され、第2GPU76には、第2VRAM80が接続される。第1GPU74は、CPU50からの指示に応じて、メインメモリ52に記憶されている表示画像を生成するためのデータに基づいて第1の表示画像を生成し、第1VRAM78に描画する。第2GPU76は、同様にCPU50からの指示に応じて第2の表示画像を生成し、第2VRAM80に描画する。第1VRAM78および第2VRAM80は、LCDコントローラ82に接続されている。
【0081】
LCDコントローラ82は、レジスタ82aを含む。レジスタ82aは、CPU50からの指示に応じて、「0」または「1」の値を記憶する。LCDコントローラ82は、レジスタ82aの値が「0」である場合には、第1VRAM78に描画された第1の表示画像を第2LCD18に出力し、第2VRAM80に描画された第2の表示画像を第1LCD16に出力する。また、レジスタ82aの値が「1」である場合には、第1VRAM78に描画された第1の表示画像を第1LCD16に出力し、第2VRAM80に描画された第2の表示画像を第2LCD18に出力する。
【0082】
たとえば、このようなゲーム装置10は、スリープモードに設定された状態では、すれ違い通信処理を実行する。ここで、すれ違い通信処理について簡単に説明する。スリープモードでは、無線通信モジュール64は、一定時間(たとえば、30ms)毎に、他のゲーム装置10に接続要求を示す信号(接続要求信号)を送信(ブロードキャスト)するとともに、他のゲーム装置10からの接続要求信号の受信を試みる。つまり、通信処理が間欠的に実行される。これによって、通信相手となる他のゲーム装置10がサーチ(スキャン)される。ただし、接続要求信号は、その送信元であるゲーム装置10の識別情報を含む。
【0083】
このとき、ゲーム装置10は、接続要求信号を受信すると、これに応答して、接続要求信号の送信元のゲーム装置10に、接続許可信号を送信する。ただし、接続許可信号は、その送信元であるゲーム装置10の識別情報を含む。これによって、2つのゲーム装置10で互いに他の存在を認識して、通信状態を確立する。
【0084】
ただし、接続要求信号に応答して接続許可信号を送信したゲーム装置10では、無線通信モジュール64が、CPU50を起動し、CPU50からの指示に従って、マイコン68の制御の下、電源回路70からメモリ制御回路54および保存用データメモリ56に電力の供給が開始される。また、同様に、接続許可信号を受信したゲーム装置10では、無線通信モジュール64が、CPU50を起動し、CPU50からの指示に従って、マイコン68の制御の下、電源回路70からメモリ制御回路54および保存用データメモリ56に電力の供給が開始される。
【0085】
通信状態を確立すると、2つのゲーム装置10の間で、予め設定(決定)されている、ゲームデータやメッセージデータなどのデータが送信または受信或いは送受信される。
【0086】
詳細な説明は省略するが、すれ違い通信を終了すると、各ゲーム装置10は、スリープ状態に戻る。
【0087】
したがって、ユーザないしプレイヤは、スリープ状態でゲーム装置10を持ち歩くと、何ら操作することなく、他のゲーム装置10との間で通信(すれ違い通信)が実行され、当該他のゲーム装置10からゲームデータやメッセージデータなどのデータを得ることができる。
【0088】
なお、ここでは、他のゲーム装置10との間ですれ違い通信処理を実行する場合について説明したが、所定のアクセスポイントとの間ですれ違い通信処理を実行するようにしてもよい。かかる場合には、アクセスポイントから送信されるゲームデータやメッセージデータなどを得ることが可能である。
【0089】
また、詳細な説明は省略するが、すれ違い通信が実行される場合、通信状態を確立した2つのゲーム装置10のうち、接続要求信号を送信したゲーム装置10が親機として機能し、接続要求信号に応答して接続許可信号を送信したゲーム装置10が子機として機能する。
【0090】
また、上述したように、スリープモードにおいては、ゲーム装置10は、歩数計としても機能し、上述のように、ユーザないしプレイヤが当該ゲーム装置10を持ち歩いている場合に、当該ユーザないしプレイヤの歩数がカウントされる。カウントされた歩数は、必要に応じて、ゲーム装置10で実行されるアプリケーションプログラムの処理に反映される。
【0091】
たとえば、図3に示した保存用データメモリ56には複数のアプリケーションについてのアプリケーションプログラムを記憶することができる。ゲーム装置10の主電源をオンすると、図4(A)に示すような、アプリケーションの選択等を行うためのメインメニュー画面200が第2LCD18(第1LCD16でも可)に表示される。
【0092】
なお、詳細な説は省略するが、各アプリケーションの処理を終了した場合にも、メインメニュー画面200が表示される。
【0093】
図4(A)に示すように、メインメニュー画面200には、アプリケーションを選択するための複数のボタン画像202、204、…が設けられ、その下部に、各種設定やオプションを選択するためのボタン画像210、212が設けられる。ユーザないしプレイヤは、ボタン画像202、204、…をオンすることによって、所望のアプリケーションを選択することができる。
【0094】
たとえば、ボタン画像202がオンされると、第1アプリケーションが選択される。第1アプリケーションのプログラム(第1アプリケーションプログラム)に従うゲーム中に、アイテムを購入する場面においては、図4(B)に示すような画面(アイテム購入画面)300が第2LCD18(第1LCD16でも可)に表示される。
【0095】
このアイテム購入画面300では、ボタン画像302、304、306、308、310、312が表示される。たとえば、ボタン画像302−308は、プレイヤ(ユーザ)ないしプレイヤキャラクタがゲーム内で取得するコイン(以下、「通常コイン」という)を用いて購入することができるアイテム(通常のアイテム:第1−第4アイテム)を選択するために設けられる。また、ボタン画像310およびボタン画像312は、計測した歩数に応じて獲得したコイン(以下、「獲得コイン」という)を用いて購入することができるアイテム(特殊アイテムA、B)を選択するために設けられる。
【0096】
詳細な説明は省略するが、第1−第4アイテムを購入するために必要な通常コインの数や特殊アイテムA、Bを購入するために必要な獲得コインの数が予め決定されている。当然のことながら、プレイヤ(ユーザ)ないしプレイヤキャラクタが、必要な通常コインの数や必要な獲得コインの数以上の通常コインや獲得コインを有していない場合には、第1−第4アイテムまたは特殊アイテムA、Bを購入することができない。
【0097】
また、図4(A)に示すメインメニュー画面200で、ボタン画像204がオンされると、第2アプリケーションが選択される。たとえば、第2アプリケーションのプログラム(第2アプリケーションプログラム)に従うゲームの開始(再開)時に、コースを選択する場面においては、図4(C)に示すような画面(コース選択画面)400が第2LCD18(第1LCD16でも可)に表示される。
【0098】
このコース選択画面400では、ボタン画像402、404、406、408、410、412が表示される。たとえば、ボタン画像402−408は、獲得コインを使用せずに選択することができるコース(通常のコース:第1−第4コース)を選択するために設けられる。また、ボタン画像410およびボタン画像412は、獲得コインを用いてプレイすることができるコース(特別コースA、B)を選択するために設けられる。
【0099】
詳細な説明は省略するが、特別コースA、Bでプレイするために必要な獲得コインの数は予め決定されている。当然のことながら、プレイヤ(ユーザ)ないしプレイヤキャラクタが必要な獲得コインの数以上の獲得コインを有していない場合には、特別コースA、Bでプレイすることができない。
【0100】
ただし、特別コースA、Bは、一度、獲得コインを使用してプレイすることができる状態にされた場合には、制限無くプレイできるようにしてもよいし、プレイ可能な回数や期間を設定しておいてもよい。
【0101】
このように、歩数を換算した獲得コインを、異なる複数のアプリケーションプログラムの処理で共通に使用することができる。ここでは、簡単のため、2つのアプリケーションプログラムの処理で獲得コインが使用される場合について説明したが、異なる3つ以上のアプリケーションプログラムの処理で獲得コインを使用することも可能である。ただし、アプリケーションプログラムは、保存用データメモリ56に記憶(インストール)されている必要は無く、ゲーム装置10に装着したメモリカード26、28から読み込むようにしてもよいし、外部の機器からダウンロードするようにしてもよい。
【0102】
図5は、図3に示した保存用データメモリ56のメモリマップの例を示す図解図である。図5に示すように、保存用データメモリ56は、プログラム記憶領域90とデータ記憶領域100とを含む。プログラム記憶領域90には、本体処理プログラム92、第1アプリケーションプログラム94、第2アプリケーションプログラム96、…が記憶される。
【0103】
本体処理プログラム92は、メインメニュー画面表示プログラム92a、歩数取得プログラム92bおよびコイン獲得プログラム92cなどによって構成される。
【0104】
メインメニュー画面表示プログラム92aは、ゲーム装置10の主電源がオンされた場合やアプリケーションの処理を終了した場合に、図4(A)に示したような、メインメニュー画面200を表示するためのプログラムである。
【0105】
歩数取得プログラム92bは、マイコン68から送信される歩数についてのデータ(歩数データ)を受信し、データ記憶領域100に記憶するためのプログラムである。
【0106】
コイン獲得プログラム92cは、歩数データ(1020、1022、…、102m)が示す歩数を獲得コインに変換するためのプログラムである。この実施例では、歩数に相関する値(相関値)として獲得コインに変換するようにしてあるが、これに限定される必要は無く、他のアイテムやパラメータに変換してもよい。
【0107】
図示は省略するが、本体処理プログラム92には、音出力プログラムなども記憶される。音出力プログラムは、音(効果音)や音楽(BGM)を出力するためのプログラムである。
【0108】
第1アプリケーションプログラム94は、画像表示プログラム94a、アイテム選択プログラム94b、獲得総数取得プログラム94cおよびアイテム購入プログラム94dなどによって構成される。
【0109】
画像表示プログラム94aは、ゲーム画像(ゲーム画面)を第1LCD16および第2LCD18に表示するためのプログラムである。具体的には、画像表示プログラム94aを実行することにより、図示しない画像データ(ポリゴンデータ、テクスチャデータなど)を用いて、ゲーム画像を生成し、第1LCD16および第2LCD18に出力する。以下、同様である。
【0110】
アイテム選択プログラム94bは、ユーザないしプレイヤの指示に従ってアイテムが選択されたかどうかを判断するためのプログラムである。具体的には、図4(B)に示したアイテム選択画面300において、ボタン画像302−312がオンされたかどうかを判断するのである。
【0111】
獲得総数取得プログラム94cは、獲得コインの総数(以下、「総コイン数」という)を取得するためのプログラムである。具体的には、後述する共用データ記憶領域102に記憶されるコイン獲得数データ102bに含まれる獲得総数データ1028を読み出す。
【0112】
アイテム購入プログラム94dは、通常コインまたは獲得コインを用いて、通常のアイテム(第1−第4アイテム)または特殊アイテム(特殊アイテムA、B)を購入するためのプログラムである。
【0113】
図示は省略するが、第1アプリケーションプログラムには、音出力プログラムやバックアッププログラムなども含まれる。音出力プログラムは、第1アプリケーションプログラムの実行に伴う音(効果音)や音楽(BGM)を出力するためのプログラムである。また、バックアッププログラムは、ユーザないしプレイヤの指示に従って、または所定のイベントに従って、メインメモリ52に記憶されたゲームデータ(途中データ、終了データ)を保存用データメモリ56の第1アプリケーション用記憶領域104(図6参照)やメモリカード26、28に保存(セーブ)するためのプログラムである。これらは、第2アプリケーションプログラムを含む他のアプリケーションプログラムについても同様である。
【0114】
また、第2アプリケーションプログラム96は、画像表示プログラム96a、コース選択プログラム96b、獲得総数取得プログラム96cおよび許可フラグ設定プログラム96dなどによって構成される。
【0115】
画像表示プログラム96aおよび獲得総数取得プログラム96cは、上述した画像表示プログラム94aおよび獲得総数取得プログラム94cと同様であるため、重複した説明は省略する。
【0116】
コース選択プログラム96bは、ゲームの開始(再開)時に、図4(C)に示したようなコース選択画面400において、ボタン画像402−412がオンされたかどうかを判断するためのプログラムである。
【0117】
許可フラグ設定プログラム96dは、特別コース(特別コースA、B)でプレイすることを許可するかどうかのフラグ(許可フラグ)を設定するためのプログラムである。
【0118】
図示は省略するが、第2アプリケーションプログラム96には、音出力プログラムやバックアッププログラムなども含まれる。
【0119】
また、図示は省略するが、プログラム記憶領域90には、他のアプリケーションプログラムも記憶される。
【0120】
図6に示すように、保存用データメモリ56のデータ記憶領域100は、共用データ記憶領域102、第1アプリケーション用記憶領域104および第2アプリケーション用記憶領域106などを含む。
【0121】
共用データ記憶領域102は、実行中のアプリケーションの種類に拘わらず、アクセス可能な領域である。すなわち、いずれのアプリケーションを実行している場合でも、データの読出し・書込みが可能な領域である。この共用データ記憶領域102には、累積歩数データ102a、コイン獲得数データ102b、前回歩数累計データ102c、現在歩数累計データ102d、前回日データ102eおよび前回日歩数データ102fなどが記憶される。累積歩数データ102aは、第1歩数データ1020、第2歩数データ1022、…、第m歩数データ102mを含む。歩数データ1020−102mは、マイコン68で単位時間毎に取得した歩数についてのデータであり、歩数を取得した時間(日付および時刻(時分秒))の情報を含む。ただし、歩数データ(1020、1022、…、102m)は、ゲーム装置10の第2LCD18(または第1LCD16)にメインメニュー画面200が表示された場合に、マイコン68から取得され、データ記憶領域100に記憶される。
【0122】
コイン獲得数データ102bは、獲得総数データ1028および前回獲得数データ1030を含む。獲得総数データ1028は、総コイン数についての数値データである。前回獲得数データ1030は、前回歩数を獲得コインに変換したときの当該獲得コインの数についての数値データである。
【0123】
前回歩数累計データ102cは、前回歩数を獲得コインに変換したときまでの歩数の累計についての数値データである。現在歩数累計データ102dは、現在までの歩数の累計についての数値データである。前回日データ102eは、前回歩数をコインに変換(コイン化)した日(年月日)についてのデータである。前回日歩数データ102fは、前回コイン化した日(年月日)の歩数のうち、コイン化したときまでの歩数についての数値データである。
【0124】
また、第1アプリケーション用記憶領域104は、第1アプリケーションプログラム94を実行している場合にのみアクセス可能な領域である。この第1アプリケーション用記憶領域104には、アイテムデータ104aが記憶される。図示は省略するが、アイテムデータ104aは、アイテムを取得(所持)しているか否かを示すデータであり、各アイテムに対応してフラグが設定されている。プレイヤ(ユーザ)ないしプレイヤキャラクタがアイテムを有(所持)している場合には、当該アイテムに対応するフラグがオンされる。一方、プレイヤ(ユーザ)ないしプレイヤキャラクタがアイテムを有(所持)していない場合には、当該アイテムに対応するフラグがオフされる。
【0125】
なお、簡単のため、アイテムデータ104aのみを記載してあるが、実際には、アイテムデータ104aを含むゲームデータが記憶される。
【0126】
さらに、第2アプリケーション用記憶領域106は、第2アプリケーションプログラム96を実行している場合にのみアクセス可能な領域である。この第2アプリケーション用記憶領域106には、コース許可データ106aが記憶される。図示は省略するが、コース許可データ106aは、特別コースA、Bでプレイすることが許可されているかどうかの許可フラグについてのデータである。特別コースA、Bでプレイすることが許可されている場合には、当該特別コースA、Bに対応するフラグがオンされる。一方、特別コースA、Bでプレイすることが許可されていない場合には、当該特別コースA、Bに対応するフラグがオフされる。
【0127】
なお、簡単のため、コース許可データ106aのみを記載してあるが、実際には、コース許可データ106aを含むゲームデータが記憶される。
【0128】
また、データ記憶領域100には、他のアプリケーション用記憶領域が設けられる。
【0129】
さらに、詳細な説明は省略するが、CPU50によって実行される、本体プログラム92やアプリケーションプログラム(94、96、…)は、メインメモリ52に読み出される(ロードされる)。また、本体プログラム92やアプリケーションプログラム(94、96、…)の実行中に、生成ないし発生するデータはメインメモリ52に保存され、必要に応じて、保存用データメモリ56に記憶(保存)される。
【0130】
図7は、マイコン68に設けられるメモリ68aのメモリマップである。メモリ68aは、プログラム記憶領域150およびデータ記憶領域152を含む。プログラム記憶領域150には、歩数カウントプログラム150aおよび電力制御プログラム150bなどのプログラムが記憶される。
【0131】
歩数カウントプログラム150aは、歩数をカウントするプログラムである。この実施例では、歩数カウントプログラム150aは、加速度センサ88からの加速度データが示す加速度(3軸の加速度)の変化量に基づいて歩数をカウントするためのプログラムである。電力制御プログラム150bは、開閉スイッチ42からのオンまたはオフの信号に応じて、通常モード(非スリープ状態)またはスリープモード(スリープ状態)をCPU50に指示し、CPU50からの指示の下、電源回路70から各回路コンポーネントへの電力供給を制御するためのプログラムである。これによって、ゲーム装置10の使用状態と不使用状態とが切り替えられる。
【0132】
なお、図示は省略するが、プログラム記憶領域150bには、他のプログラムも記憶される。
【0133】
データ記憶領域152には、タイマ152aおよび歩数カウンタ152bが設けられる。タイマ152aは、歩数のカウントの開始からの時間をカウントするためのタイマである。歩数カウンタ152bは、歩数をカウントするためのアップカウンタである。
【0134】
また、データ記憶領域152には、累積歩数データ152cが記憶される。累積歩数データ152cは、第1歩数データ1520、第2歩数データ1522、…、第n歩数データ152nが記憶される。ここで、各歩数データ(1520、1522、…、152n)は、第1単位時間(この実施例では、1時間)毎の歩数についてのデータである。たとえば、第1歩数データ1520、第2歩数データ1522、…、第n歩数データ152nの順で記憶される。また、メモリ68aは、比較的容量が少ないため、スリープモードでは、第2単位時間(この実施例では、3時間)毎にデータ記憶領域152に記憶された累積歩数データ152cは、CPU50に出力され、メモリ制御回路54を介して、保存用データメモリ56に移動(保存)される。より具体的に説明すると、マイコン68は、CPU50のクロックを動作させるとともに、CPU50の指示の下、電源回路70を制御して、メモリ制御回路54および保存用データメモリ56への電源供給を開始した後、累積歩数データ152cをCPU50に出力する。そして、CPU50が、メモリ制御回路54を介して保存用データメモリ56に累積歩数データ152cを記憶する。その後、マイコン68は、CPU50のクロックを停止させ、電源回路70を制御して、メモリ制御回路54および保存用データメモリ56への電力供給を停止させる。
【0135】
図8および図9は、図3に示したCPU50の全体処理である。ゲーム装置10の主電源がオンされると、図8に示すように、CPU50は全体処理を開始し、ステップS1で、図4(A)に示したようなメインメニュー画面200を表示する。続くステップS3では、後述するコイン獲得処理(図10−図12参照)を実行する。そして、ステップS5では、第1アプリケーションが選択されたかどうかを判断する。つまり、メインメニュー画面200で、第1アプリケーションを示すボタン画像202がオンされたかどうかを判断するのである。
【0136】
ステップS5で“YES”であれば、つまり第1アプリケーションが選択されれば、ステップS7で、後述する第1アプリケーション実行処理(図15参照)を実行して、ステップS13に進む。一方、ステップS5で“NO”であれば、つまり第1アプリケーションが選択されていなければ、ステップS9で、第2アプリケーションが選択されたかどうかを判断する。つまり、メインメニュー画面200で、第2アプリケーションを示すボタン画像204がオンされたかどうかを判断するのである。
【0137】
ステップS9で“YES”であれば、つまり第2アプリケーションが選択されれば、ステップS11で、後述する第2アプリケーション実行処理(図16参照)を実行して、ステップS13に進む。一方、ステップS9で“NO”であれば、つまり第2アプリケーションの実行が選択されなければ、そのままステップS13に進む。
【0138】
なお、この実施例では、ステップS9で“NO”の場合、そのままステップS13に進むようにしてあるが、さらに他のアプリケーションが選択可能である場合には、当該他のアプリケーションの実行が選択されたか否かが判断される。
【0139】
また、この実施例では、2つのアプリケーションから1つのアプリケーションを選択可能な場合について示してあるが、1つのアプリケーションのみしか選択できない場合もある。
【0140】
つまり、メモリカード26、28および保存用データメモリ58に記憶されているアプリケーションプログラムの数およびダウンロードしたアプリケーションプログラムの数に応じて、選択可能なアプリケーションの数は可変的に設定されるのである。
【0141】
図8に戻って、ステップS13では、スリープの指示が有るかどうかを判断する。つまり、CPU50は、マイコン68からスリープの指示があるかどうかを判断する。ただし、マイコン68は、開閉スイッチ42がオフされた場合に、スリープをCPU50に指示する。
【0142】
ステップS13で“NO”であれば、つまりスリープの指示が無ければ、ステップS15で、いずれかのアプリケーションを実行中であるかどうかを判断する。ステップS15で“NO”であれば、つまりいずれのアプリケーションも実行中で無ければ、そのままステップS1に戻る。
【0143】
一方、ステップS15で“YES”であれば、つまりいずれかのアプリケーションを実行中であれば、ステップS17で、実行中のアプリケーションを継続する。続いて、ステップS19で、アプリケーションの終了かどうかを判断する。ステップS19では、CPU50は、ユーザないしプレイヤによって、アプリケーションの終了指示があるかどうかを判断する。
【0144】
ステップS19で“NO”であれば、つまりアプリケーションの終了でなければ、そのままステップS17に戻る。一方、ステップS19で“YES”であれば、つまりアプリケーションの終了であれば、図示は省略するが、アプリケーションの実行を終了して、ステップS1に戻る。
【0145】
また、ステップS13で“YES”であれば、つまりスリープの指示が有れば、ステップS21で、マイコン68に歩数のカウント開始を指示する。次のステップS23では、マイコン68にスリープの実行を指示する。したがって、マイコン68は、CPU50のクロックを停止し、電源回路70を制御して、無線通信モジュール64以外の回路コンポーネントへの電力供給を停止する。ただし、CPU50は、アプリケーションの実行中である場合には、メインメモリ52のゲームデータを当該アプリケーション用記憶領域(104、106、…)に記憶した後に、アプリケーションを中断する。
【0146】
なお、上述したように、CPU50およびマイコン68には常に電力が供給されている。
【0147】
続いて、ステップS25では、すれ違い通信処理を実行する。ただし、スリープ中では、CPU50のクロックは停止されているため、無線通信モジュール64が他のゲーム装置10やアクセスポイントからの接続要求信号や接続許可信号を受信すると、無線通信モジュール64がCPU50を起動し、CPU50はすれ違い通信処理を実行する。このとき、CPU50の指示の下、マイコン68は電源回路70を制御して、メモリ制御回路54および保存用データメモリ56への電力の供給を開始する。
【0148】
次のステップS27では、スリープ解除の指示があるかどうかを判断する。つまり、CPU50は、マイコン68によってクロックが動作されたかどうかを判断する。ステップS27で“NO”であれば、つまりスリープ解除の指示が無ければ、そのままステップS25に戻る。
【0149】
なお、ステップS25およびS27の処理がCPU50によって実行されているように記載してあるが、実際には、スリープ中では、CPU50は何ら処理を実行しない。無線通信モジュール64やマイコン68によってCPU50が起動された場合に、すれ違い通信や通常の処理(ゲーム処理など)を実行するのである。
【0150】
また、ステップS27で“YES”であれば、つまりスリープ解除の指示があれば、図9に示すステップS29で、マイコン68にスリープの解除を指示する。続くステップS31では、マイコン68に歩数のカウント終了を指示する。そして、ステップS33で、マイコン68のメモリ68aから歩数値を読み出し、ステップS35で、単位時間毎に日時が付加された歩数値を保存する。
【0151】
つまり、CPU50は、ステップS33で、マイコン68のメモリ68aから累積歩数データ152c(第1−第n歩数データ1520−152n)を読み出し、ステップS35で、保存用データメモリ56のデータ記憶領域100に書き込む。このとき、CPU50は、現在歩数累計データ102dのコピーを前回歩数累計データ102cに書き込み(上書きし)、その後、今回読み出した歩数の合計値を現在歩数累計データ102d(または前回歩数累計データ102c)が示す現在歩数累計(前回歩数累計)に加算して得た歩数の合計値についての数値データを、現在歩数累計データ102dとして記憶(上書き)する。ただし、現在歩数累計データ102dは、累積歩数データ102aが示す歩数の合計値、すなわち第1歩数データ1020、第2歩数データ1022、…、第m歩数データ102mが示す歩数の合計値についての数値データであってもよい。
【0152】
図9に戻って、ステップS37では、いずれかのアプリケーションを実行中であるかどうかを判断する。ここでは、CPU50は、アプリケーションを実行しているときに、スリープが実行され、アプリケーションの実行が中断されていたかどうかを判断するのである。ステップS37で“NO”であれば、つまりいずれのアプリケーションも実行中で無ければ、図8に示したステップS1に戻る。
【0153】
一方、ステップS37で“YES”であれば、つまりいずれかのアプリケーションを実行中であれば、ステップS39で、実行中のアプリケーションに復帰(再開)する。このとき、CPU50は、スリープ前に、アプリケーション用記憶領域(104、106、…)に記憶したゲームデータを読み出して、メインメモリ52に書き込む(ロードする)。続いて、ステップS41で、アプリケーションの実行を継続し、そして、ステップS43で、アプリケーションの終了かどうかを判断する。
【0154】
ステップS43で“NO”であれば、つまりアプリケーションの終了でなければ、そのままステップS41に戻る。一方、ステップS43で“YES”であれば、つまりアプリケーションの終了であれば、図示は省略するが、アプリケーションの実行を終了して、ステップS1に戻る。
【0155】
図10は、図8のステップS3に示したコイン獲得処理のフロー図である。図10に示すように、CPU50は、コイン獲得処理を開始すると、ステップS51で、現在の総コイン数が3000以上であるかどうかを判断する。ただし、上述したように、総コイン数は、獲得総数データ1028が示す獲得コインの総数である。つまり、CPU50は、保存用データメモリ56のデータ記憶領域100に記憶された獲得総数データ1028を参照して、総コイン数が3000以上かどうか(上限であるかどうか)を判断する。
【0156】
ステップS51で“YES”であれば、つまり現在の総コイン数が3000以上であれば、上限に達していると判断して、そのまま全体処理にリターンする。一方、ステップS51で“NO”であれば、つまり現在の総コイン数が3000未満であれば、ステップS53で、現在歩数累計−前回歩数累計が10以上であるかどうかを判断する。ここでは、CPU50は、今回の獲得コインに変換することができる最低の歩数だけ、ユーザないしプレイヤが歩いたかどうかを判断しているのである。つまり、この実施例では、10歩につき、1枚の獲得コインに変換される。ただし、CPU50は、保存データメモリ58のデータ記憶領域100に記憶される、現在歩数累計データ102dが示す現在歩数累計から前回歩数累計データ102cが示す前回歩数累計を減算して、ステップS53の判断処理を実行する。また、歩数を獲得コインに変換する割合は単なる例示であり、これに限定される必要はない。
【0157】
ステップS53で“NO”であれば、つまり現在歩数累計−前回歩数累計が10未満であれば、そのまま全体処理にリターンする。一方、ステップS53で“YES”であれば、つまり現在歩数累計−前回歩数累計が10以上であれば、ステップS55で、変数currentに、前回コイン化した日を代入する。ただし、前回コイン化した日は、前回歩数を獲得コインに変換した日を意味する。
【0158】
続くステップS57では、変数currentの示す日が現在日(今日)であるかどうかを判断する。ステップS57で“YES”であれば、つまり変数currentの示す日が現在日であれば、ステップS59で、変数currentの示す日が前回コイン化した日であるかどうかを判断する。ここでは、CPU50は、前回日データ102eの示す日が変数currentの示す日と一致するかどうかを判断するのである。
【0159】
ステップS59で“NO”であれば、つまり変数currentの示す日が前回コイン化した日でない場合には、前回コイン化した日が現在日と同一日ではないので、ステップS61で、(現在歩数累計−前日までの歩数累計)/10を今回の獲得コイン数として算出して、図11に示すステップS65に進む。ただし、歩数に余りが出る場合には、獲得コインを1加算する。または、歩数に余りが出る場合には、歩数を切り捨てるようにしてもよい。以下、同様である。一方、ステップS59で“YES”であれば、つまり変数currentの示す日が前回コイン化した日である場合には、現在日と同一日に前回コイン化しているので、(現在歩数累計−前回歩数累計)/10を今回の獲得コイン数として算出して、図12に示すステップS83に進む。
【0160】
図11に示すステップS65では、今回の獲得コイン数が100以上であるかどうかを判断する。ステップS65で、“YES”であれば、ステップS67で、今回の獲得コイン数を100に設定(補正)して、総コイン数に加算して、ステップS71に進む。このように、ステップS67の処理を実行することにより、1日に変換できる最大の獲得コインの数を制限している。1日に変換できる獲得コイン数を無制限に認めると、歩く量の異なるユーザないしプレイヤ間で、ゲーム処理に大きな差が出てしまうからである。また、1日に変換できる獲得コイン数を制限することで、継続的に適量の歩行をユーザないしプレイヤに促すことができるからでもある。以下、獲得コイン数を制限する場合について同様である。ただし、1日に変換できる獲得コイン数を無制限に認めるようにしてもよい。一方、ステップS65で“NO”であれば、つまり今回の獲得コイン数が100未満であれば、ステップS69で、現在の総コイン数に今回の獲得コイン数を加算して、ステップS71に進む。
【0161】
また、図12に示すように、ステップS83では、前回の獲得コイン数と、今回の獲得コイン数との和が100以上であるかどうかを判断する。ただし、前回の獲得コイン数は、前回獲得数データ1030が示す獲得コインの数である。ステップS83で“YES”であれば、つまり前回の獲得コイン数と、今回の獲得コイン数との和が100以上であれば、ステップS85で、現在の総コイン数から前回の獲得コイン数を減算した後に、100加算して、図11に示したステップS71に進む。つまり、1日に獲得できる最大の獲得コインの数が制限される。一方、ステップS83で“NO”であれば、つまり前回の獲得コイン数と、今回の獲得コイン数との和が100未満であれば、ステップS87で、現在の総コイン数に、今回の獲得コイン数を加算して、ステップS71に進む。
【0162】
図11に戻って、ステップS71では、前回歩数累計に現在歩数累計を設定し、ステップS73で、前回日歩数に現在日歩数を設定する。さらに、ステップS75で、前回日に現在日を設定し、ステップS77で、前回の獲得コイン数に、今回の獲得コイン数を設定する。ただし、現在日歩数は、累積歩数データ102aのうち、今日の日付が付された第m歩数データ102mが示す歩数の合計値である。現在日は、RTC68bによって計時された時間に基づいて計算される今日の日付である。
【0163】
ここで、この実施例では、簡単のため、ステップS77では、前回の獲得コイン数に、今回の獲得コイン数を設定するようにしてあるが、厳密には、ステップS59で“YES”と判断された場合と、ステップS59で“NO”と判断された場合とで処理が異なる。具体的には、ステップS59で“NO”と判断された場合には、ステップS77の処理はそのままで良いが、ステップS59で“YES”と判断された場合には、ステップS77では、前回の獲得コイン数に、前回の獲得コイン数と今回の獲得コイン数との和が設定される。
【0164】
このようにするのは、1日に3回以上、歩数を獲得コインに変換した場合に、後述するステップS83で、直近の2回分の獲得コインの和が100を超えるかどうかを判断することになってしまい、不都合が生じるからである。
【0165】
そして、ステップS79で、現在の総コイン数が3000以上であるかどうかを判断する。ステップS79で“NO”であれば、そのまま全体処理にリターンする。一方、ステップS79で“YES”であれば、ステップS81で、総コイン数を3000に設定して、全体処理にリターンする。つまり、ステップS81の処理を実行することにより、総コイン数に制限を設けてある。このように、総コイン数に制限を設けるのは、ゲーム装置10を頻繁に持ち歩くユーザないしプレイヤと、ゲーム装置10を頻繁に持ち歩かないユーザないしプレイヤとの間で、ゲーム内容に著しく大きな差異を生じないようにするためである。つまり、ユーザないしプレイヤ間の不公平を低減するためである。
【0166】
また、図10に示したように、ステップS57で“NO”である場合には、図13に示すステップS89で、変数currentの示す日が前回日であるかどうかを判断する。ステップS89で“NO”であれば、つまり変数currentの示す日が前回日でなければ、変数currentの示す日の全歩数が未だコイン化されていないので、ステップS91で、変数currentの示す日の歩数/10を今回の獲得コイン数として算出して、ステップS95に進む。一方、ステップS89で“YES”であれば、つまり変数currentの示す日が前回日であれば、変数currentの示す日の全歩数のうち、一部(前回日歩数)がコイン化され残りがコイン化されていないので、ステップS93で、(変数currentの示す日の歩数−前回日歩数)/10を今回の獲得コイン数として算出して、図14に示すステップS105に進む。
【0167】
ステップS95では、今回の獲得コイン数が100以上であるかどうかを判断する。ステップS95で、“YES”であれば、ステップS97で、今回の獲得コイン数を100に設定して、総コイン数に加算して、ステップS101に進む。一方、ステップS95で“NO”であれば、ステップS99で、現在の総コイン数に今回の獲得コイン数を加算して、ステップS101に進む。
【0168】
また、図14に示すように、ステップS105では、前回の獲得コイン数と今回の獲得コイン数との和が100以上であるかどうかを判断する。ステップS105で“YES”であれば、ステップS107で、現在の総コイン数から前回の獲得コイン数を減算して、100加算し、図13に示したステップS101に進む。一方、ステップS103で“NO”であれば、ステップS109で、現在の総コイン数に、今回の獲得コイン数を加算して、ステップS101に進む。
【0169】
ステップS101では、前回の獲得コイン数に今回の獲得コイン数を設定する。そして、ステップS103で、変数currentに1加算して、図10に示したステップS57に戻る。
【0170】
つまり、ステップS57、S89−109の処理を繰り返すことによって、前回コイン化した日から現在日(今日)の前日までの歩数が日単位でそれぞれ獲得コインに変換される。
【0171】
図15は、図8のステップS7に示した第1アプリケーション実行処理のフロー図である。図15に示すように、CPU50は、第1アプリケーション実行処理を開始すると、ステップS111で、特殊アイテムの購入が選択されたかどうかを判断する。ここでは、CPU50は、図4(B)に示したアイテム購入画面300において、ユーザないしプレイヤによって、ボタン画像310、312がオンされたかどうかを判断するのである。
【0172】
ステップS111で“NO”であれば、つまり特殊アイテムの購入が選択されなければ、そのままステップS127に進む。一方、ステップS111で“YES”であれば、つまり特殊アイテムの購入が選択されれば、ステップS113で、特殊アイテム(この実施例では、特殊アイテムA、B)の購入に必要な獲得コインの数Aを取得する。ただし、特殊アイテムA、Bの購入に必要な獲得コインの数Aは予め決定されている。
【0173】
続くステップS115では、獲得総数データ1028が示す現在の総コイン数Tを読み出す。次のステップS117では、総コイン数T≧獲得コインの数Aであるかどうかを判断する。ステップS117で“NO”であれば、つまり総コイン数Tが必要な獲得コインの数Aに満たない場合には、ステップS121で、選択された特殊アイテムを購入できない旨のメッセージを表示して、ステップS127に進む。
【0174】
一方、ステップS117で“YES”であれば、つまり総コイン数Tが必要な獲得コインの数A以上である場合には、ステップS119で、総コイン数Tに、T−Aを設定して、ステップS123で、選択された特殊アイテムを購入アイテム(所持アイテム)として第1アプリケーション用記憶領域104に記憶する。つまり、選択された特殊アイテムについてのフラグがオンされることによって、アイテムデータ104aが更新される。次のステップS125では、第1アプリケーション用記憶領域104に記憶された購入アイテムを用いた処理を実行し、ステップS127に進む。
【0175】
なお、この実施例では、特殊アイテムを購入した場合に、直ぐにその特殊アイテム(購入アイテム)を用いた処理を実行するようにしてあるが、これは単なる一例であり、ユーザないしプレイヤの指示があったときに、購入アイテムを用いた処理を実行するようにしてもよい。
【0176】
また、購入アイテムを用いた処理とは、たとえば、購入アイテムが道具である場合には、プレイヤキャラクタがその道具を用いた動作を行う処理が該当する。また、たとえば、購入アイテムを用いることによって、一定期間、プレイヤキャラクタが無敵の状態にされる処理が該当する。これらは単なる例示であり、限定されるべきでない。
【0177】
図15に戻って、ステップS127では、その他の処理を実行して、全体処理にリターンする。ここでは、プレイヤの指示に従って、プレイヤキャラクタに任意のアクションをさせたり、プレイヤキャラクタを移動させたりする。また、コンピュータ(CPU50)の制御に従って、プレイヤの操作によらないで移動等するノンプレイヤキャラクタに任意のアクションをさせたり、ノンプレイヤキャラクタを移動させたりする。さらに、ゲームイベントに従う処理を実行したり、音(音楽)を出力する処理を実行したり、ゲーム画面を表示(更新)する処理を実行したりする。
【0178】
なお、この実施例では、特殊アイテムA、Bを購入する場合についてのみ説明したが、通常のアイテム(第1−第4アイテム)を購入する場合についても同様である。ただし、通常のアイテムは、歩数を変換した獲得コインでは無く、ゲーム内で獲得されたコインで購入可能である。
【0179】
図16は、図8に示したステップS11の第2アプリケーション実行処理のフロー図である。図16に示すように、CPU50は、第2アプリケーション実行処理を開始すると、ステップS141で、特別コースが選択されたかどうかを判断する。ここでは、CPU50は、図4(C)に示したコース選択画面400において、ボタン画像410またはボタン画像412がオンされたかどうかを判断する。ステップS141で“NO”であれば、つまり特別コースが選択されていなければ、そのままステップS153に進む。
【0180】
一方、ステップS141で“YES”であれば、つまり特別コースが選択されれば、ステップS143で、コース許可データ106aを参照して、選択された特別コース(この実施例では、特別コースA、B)の許可フラグがオンであるかどうかを判断する。ステップS143で“YES”であれば、つまり選択された特別コースの許可フラグがオンであれば、そのままステップS159に進む。一方、ステップS143で“NO”であれば、つまり選択された特別コースの許可フラグがオフであれば、ステップS145で、選択された特別コースの許可に必要な獲得コインの数Bを取得する。ただし、特別コースA、Bの許可に必要な獲得コインの数Bは予め決定されている。次のステップS147では、獲得総数データ1028を参照して、現在の総コイン数Tを読み出す。
【0181】
そして、ステップS149で、総コイン数T≧獲得コインの数Bであるかどうかを判断する。ステップS149で“NO”であれば、つまり総コイン数Tが必要な獲得コインの数Bに満たない場合には、ステップS151で、選択された特別コースでプレイできない旨のメッセージを表示する。そして、次のステップS153で、その他の処理を実行して、全体処理にリターンする。ただし、ステップS153では、ユーザないしプレイヤの指示に従って、通常のコース(この実施例では、第1−第4コース)を選択したり、選択された通常のコースにおいて、プレイヤキャラクタを移動させたりする。また、コンピュータ(CPU50)の制御に従って、選択された通常のコースにおいて、ノンプレイヤキャラクタを移動させる。さらに、ゲームイベントに従う処理を実行したり、音(音楽)を出力する処理を実行したり、ゲーム画面を表示(更新)する処理を実行したりする。
【0182】
一方、ステップS149で“YES”であれば、つまり総コイン数Tが必要な獲得コインの数B以上であれば、ステップS155で、総コイン数Tに、T−Bを設定し、ステップS157で、選択された特別コースの許可フラグをオンする。したがって、コース許可データ106aが更新される。
【0183】
続いて、ステップS159で、選択された特別コースにおけるゲーム処理を実行して、全体処理にリターンする。ここでは、ユーザないしプレイヤの指示に従って、選択された特別コースにおいて、プレイヤキャラクタを移動させる。また、コンピュータ(CPU50)の制御に従って、選択された特別コースにおいて、ノンプレイヤキャラクタを移動させる。さらに、ゲームイベントに従う処理を実行したり、音(音楽)を出力する処理を実行したり、ゲーム画面を表示(更新)する処理を実行したりする。
【0184】
なお、この実施例では、特別コースA、Bを選択する場合についてのみ説明したが、通常のコース(第1−第4コース)は獲得コインの数に拘わらず、選択可能であるため、許可フラグをオンするなどの処理は不要である。
【0185】
図17および図18は、マイコン68の歩数検出処理を示すフロー図である。図17に示すように、マイコン68は、歩数検出処理を開始すると、ステップS201で、タイマ152aをスタートさせる。次のステップS203では、所定値以上の加速度を検出したかどうかを判断する。ステップS203で“NO”であれば、つまり所定値以上の加速度を検出していなければ、歩数を検出していないと判断して、そのまま図18に示すステップS213に進む。一方、ステップS203で“YES”であれば、つまり所定値以上の加速度を検出すれば、歩数を検出したと判断して、ステップS205で、歩数カウンタ152bをインクリメントする。
【0186】
続いて、ステップS207では、第1単位時間を経過したかどうかを判断する。ここでは、マイコン68は、タイマ152aのカウント値を参照して、第1単位時間(1時間)が経過したかどうかを判断する。ステップS207で“NO”であれば、つまり第1単位時間を経過していなければ、そのまま図18に示すステップS217に進む。一方、ステップS207で“YES”であれば、つまり第1単位時間を経過すれば、ステップS209で、歩数カウンタ152bのカウント値に日時を付加してメモリ68aに書き込む。ただし、ステップS209では、単位時間毎のまとまりで第n歩数データ152nが記憶される。このとき、マイコン68は、RTC68bで計時される時間から日付および時刻(日時)を計算し、計算した日時に対応する日時データを第n歩数データ152nに付加する。次のステップS211で、歩数カウンタ152bをリセットして、ステップS213に進む。
【0187】
図18に示すように、ステップS213では、第2単位時間を経過したかどうかを判断する。ここでは、マイコン68は、タイマ152aのカウント値を参照して、第2単位時間(3時間)が経過したかどうかを判断する。ステップS213で“NO”であれば、つまり第2単位時間を経過していなければ、そのままステップS217に進む。一方、ステップS213で“YES”であれば、つまり第2単位時間を経過すれば、ステップS215で、日時の付された歩数値をCPU50に出力し、ステップS217に進む。つまり、ゲーム装置10がスリープ状態であっても、第2単位時間毎に、累積歩数データ152cは保存用データメモリ58に記憶(移動)される。図示は省略するが、上述したように、ステップS215では、マイコン68は、CPU50を起動し、また、CPU50の指示の下、電源回路70を制御して、メモリ制御回路54および保存用データメモリ56に電源の供給を開始する。
【0188】
そして、ステップS217では、終了かどうかを判断する。ここでは、マイコン68は、CPU50から歩数のカウント終了の指示があるかどうかを判断する。ただし、厳密には、開閉スイッチ42がオンされたときに、マイコン68はCPU50のクロックを起動させるとともに、電源回路70を制御して、各回路コンポーネントへの電力供給を開始する。そして、スリープ状態から復帰したCPU50が歩数のカウント終了をマイコン68に指示する。
【0189】
ステップS217で“NO”であれば、つまり終了でなければ、そのまま図17に示したステップS203に戻る。一方、ステップS217で“YES”であれば、つまり終了であれば、歩数検出処理を終了する。
【0190】
この実施例によれば、歩数の相関値として変換した獲得コインを共通データ記憶領域に記憶しておき、これをゲーム装置で実行される複数のアプリケーションで共通に用いることができる。また、獲得コインを複数のアプリケーションで用いるための他の機器を必要としないので、手軽に用いることができる。さらに、この実施例では、スリープ状態のゲーム装置を持ち歩くだけで、すれ違い通信により、他のゲーム装置やアクセスポイントからデータを取得することができ、また歩数に応じて特殊アイテムを取得したり、特別コースでプレイできたりする。
【0191】
なお、この実施例では、すれ違い通信機能を備えたゲーム装置について説明したが、他の機能(アプリケーション)を備えたゲーム装置であってもよい。
【0192】
また、この実施例では、メインメニュー画面が表示されたときに、コイン獲得処理を実行するようにしたが、これに限定される必要はない。ゲーム装置がスリープ状態から非スリープ状態に移行したときに実行するようにしてもよい。または、それらの両方で実行するようにしてもよい。
【0193】
さらに、この実施例では、ゲーム装置を閉じた場合に、スリープモードに移行するようにしたが、これに限定される必要はない。ゲーム装置の主電源がオンされている状態(通常モード)で、一定時間(たとえば、10分)操作が無い場合や所定の操作が実行された場合に、スリープモードに移行するようにしてもよい。かかる場合には、スリープ状態において、何らかの操作が実行された場合や所定の操作が実行された場合に、非スリープモード(通常モード)に移行する(戻る)ようにすればよい。
【0194】
さらにまた、この実施例では、省電力モードの一例として、スリープモードを示し、上述したように、ゲーム装置における電力制御などを行うようにしたが、単にLCDの電源をオフするだけでもよい。
【0195】
また、この実施例では、通常のアイテムと特殊アイテムとを同じ画面に表示して、購入するアイテムを選択するようにしたが、通常のアイテムと特殊アイテムとは異なる画面に表示するようにしてもよい。これは、通常のコースと特別コースとについても同様である。
【0196】
さらに、この実施例では、特殊アイテムが選択されたときに、総コイン数と、購入に必要な獲得コイン数とを比較して、特殊アイテムを購入できるかどうかを判断するようにした。他の実施例として、アイテム購入画面を表示する際に、総コイン数と、購入に必要な獲得コイン数とを比較して、特殊アイテムを購入可能かどうかを判断し、購入できない特殊アイテムについては非表示にしたり、グレーアウトしたりしてもよい。このことは、特別コース(コース選択画面)についても同様である。
【0197】
さらにまた、ゲーム装置の構成は実施例のものに限定される必要はない。たとえば、カメラは、1つでもよく、無くてもよい。また、タッチパネルを2つのLCD上に設けてもよい。
【0198】
また、この実施例では、マイコンは、CPUからの指示により、歩数のカウントを開始/終了するようにしたが、開閉スイッチがオフされたときに歩数のカウントを開始し、開閉スイッチがオンされたときに歩数のカウントを終了するようにしてもよい。
【0199】
さらに、この実施例では、共用データ記憶領域のうちのコイン獲得数データが複数のアプリケーションで共用できればよいので、少なくともコイン獲得数データを共用データ記憶領域に含め、それ以外の累積歩数データ、前回歩数累計データ、現在歩数累計データ、前回日データおよび前回日歩数データを共用できない他の記憶領域(たとえば、本体処理専用の記憶領域)に含めるようにしてもよい。
【0200】
さらにまた、この実施例では、折り畳み式のゲーム装置を開閉することにより、通常モードとスリープモードとを切り替えるようにしたが、ゲーム装置に開閉可能な蓋を設けて、当該蓋を開閉することにより、通常モードとスリープモードとを切り替えるようにしてもよい。または、ゲーム装置を収容可能なケースを設けて、当該ケースから取り出したり、当該ケースに収容したりすることにより、通常モードとスリープモードとを切り替えるようにしてもよい。つまり、ユーザないしプレイヤガ使用しない場合に、スリープモードが設定され、すれ違い通信が実行されるとともに、歩数がカウントされればよい。
【0201】
また、携帯ゲーム装置に限らず、携帯電話機、PDAなど、持ち運びが容易な他の携帯情報端末にも適用可能である。
【符号の説明】
【0202】
10 …ゲーム装置
12,14 …ハウジング
16,18 …LCD
20 …操作ボタン
22 …タッチパネル
24 …タッチペン
26,28 …メモリカード
32,34 …カメラ
50 …CPU
52 …メインメモリ
54 …メモリ制御回路
56 …保存用データメモリ
58 …プリセットデータ用メモリ
60,62 …メモリカードI/F
64 …無線通信モジュール
66 …ローカル通信モジュール
68 …マイコン
68a …メモリ
68b …RTC
70 …電源回路
72 …I/F回路
74,76 …GPU
78,80 …VRAM
82 …LCDコントローラ
84 …マイク
88 …加速度センサ

【特許請求の範囲】
【請求項1】
複数のアプリケーションを記憶する記憶部を備えた携帯型の情報処理装置であって、
歩数を計測する歩数計測手段、
前記歩数計測手段によって計測された歩数を当該歩数に相関する歩数相関値に変換して蓄積する蓄積手段、
前記記憶部に記憶された複数のアプリケーションからいずれかのアプリケーションを実行するアプリケーション実行手段、および
前記アプリケーション実行手段によって実行されるそれぞれのアプリケーションにおいて、前記歩数相関値蓄積手段によって蓄積された歩数相関値を利用する利用手段を備える、携帯型の情報処理装置。
【請求項2】
前記記憶部は、複数のアプリケーションのすべてがアクセス可能な共有データ領域と、複数のアプリケーションのそれぞれに設定され当該アプリケーションのみがアクセス可能な複数のアプリケーション専用領域とを有し、
前記蓄積手段は、前記歩数相関値を前記共有データ領域に記憶し、
前記利用手段は、前記共有データ領域に記憶された歩数相関値を読み出して利用し、それによって得られる更新情報を対応するアプリケーション専用データ領域に書き込む、請求項1記載の携帯型の情報処理装置。
【請求項3】
前記アプリケーション実行手段は、前記利用手段によって歩数相関値を利用する場合と、利用しない場合とで実行内容を変化させる、請求項1記載の携帯型の情報処理装置。
【請求項4】
前記蓄積手段によって蓄積された歩数相関値が第1所定数を超えたかどうかを判断する判断手段をさらに備え、
前記蓄積手段は、前記判断手段によって歩数相関値が第1所定数を超えたことが判断されたとき、前記歩数相関値を前記第1所定数に設定する、請求項1ないし3のいずれかに記載の携帯型の情報処理装置。
【請求項5】
前記歩数計測手段によって計測された歩数に日時情報を付加して前記記憶部に記憶する歩数記憶手段をさらに備え、
前記判断手段は、同日内の歩数を変換した歩数相関値が前記第1所定数よりも小さい第2所定数を超えたかどうかをさらに判断し、
前記蓄積手段は、前記判断手段によって歩数相関値が第2所定数を超えたことが判断されたとき、前記第2所定数の歩数相関値を蓄積する、請求項4記載の携帯型の情報処理装置。
【請求項6】
前記情報処理装置の不使用状態と使用状態とを切り替える切替手段、および
前記使用状態から前記不使用状態になったかどうかを判別する切替判別手段をさらに備え、
前記歩数計測手段は、前記切替判別手段によって前記不使用状態になったことが判別されたとき、歩数を計測する、請求項1ないし5のいずれかに記載の携帯型の情報処理装置。
【請求項7】
前記切替手段は、省電力モードと通常モードとを切り替え、
前記切替判別手段は、前記通常モードから前記省電力モードになったかどうかを判別することによって前記使用状態から前記不使用状態になったかどうかを判別する、請求項6記載の携帯型の情報処理装置。
【請求項8】
前記アプリケーション実行手段を不能化する不能化手段をさらに備え、
前記切替手段は、前記不能化手段によって前記アプリケーション実行手段が不能化されることによって前記使用状態から前記不使用状態に切り替える、請求項6記載の携帯型の情報処理装置。
【請求項9】
装置本体は開閉可能な機構を有し、
前記切替手段は、前記装置本体が閉じられている状態と開かれている状態とを切り替え、
前記切替判別手段は、前記装置本体が開かれている状態から閉じられている状態になったかどうかを判別することによって前記使用状態から前記不使用状態になったかどうかを判別する、請求項6記載の携帯型の情報処理装置。
【請求項10】
通信手段をさらに備え、
前記通信手段は、前記歩数計測手段によって歩数が計測される間、間欠的に通信処理を実行する、請求項6ないし9のいずれかに記載の携帯型の情報処理装置。
【請求項11】
所定条件を満たしたか否かを判別する条件判別手段をさらに備え、
前記蓄積手段は、前記条件判別手段によって前記所定条件を満たしたことが判別されたとき、前記歩数計測手段によって計測された歩数を歩数相関値に変換する、請求項1ないし10のいずれかに記載の情報処理装置。
【請求項12】
複数のアプリケーションを記憶する記憶部を備えた携帯型の情報処理装置の情報処理プログラムであって、
前記情報処理装置のコンピュータを、
歩数を計測する歩数計測手段、
前記歩数計測手段によって計測された歩数を当該歩数に相関する歩数相関値に変換して蓄積する蓄積手段、
前記記憶部に記憶された複数のアプリケーションからいずれかのアプリケーションを実行するアプリケーション実行手段、および
前記アプリケーション実行手段によって実行されるそれぞれのアプリケーションにおいて、前記歩数相関値蓄積手段によって蓄積された歩数相関値を利用する利用手段として機能させる、情報処理プログラム。
【請求項13】
複数のアプリケーションを記憶する記憶部を備えた携帯型の情報処理装置の情報処理方法であって、
前記情報処理装置のコンピュータは、
(a)歩数を計測し、
(b)前記ステップ(a)によって計測された歩数を当該歩数に相関する歩数相関値に変換して蓄積し、
(c)前記記憶部に記憶された複数のアプリケーションからいずれかのアプリケーションを実行し、そして
(d)前記ステップ(c)によって実行されるそれぞれのアプリケーションにおいて、前記ステップ(b)によって蓄積された歩数相関値を利用する、情報処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2011−244986(P2011−244986A)
【公開日】平成23年12月8日(2011.12.8)
【国際特許分類】
【出願番号】特願2010−120099(P2010−120099)
【出願日】平成22年5月26日(2010.5.26)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】