(57)【要約】  【課題】  ディスプレイに表示されたオブジェクトの直感的な操作を可能として、容易な操作により、ゲームを行うことができるゲーム装置を提供する。  【解決手段】  操作物１５０自体の動きに連動して、スクリーン９１上のカーソル１１１が移動するため、カーソル１１１の直感的な操作が可能となって、容易な操作によりゲームを行うことができる。プレイヤ９４が、操作物１５０により、カーソル１１１を操作すると、人魚１１２がカーソル１１１に追従して移動する。プレイヤ９４は、このように人魚１１２を間接的に操作して、障害オブジェクト１０４〜１０６及び障害画像１１３〜１１５を回避していく。【選択図】  図１１
2010279742.tif 000002
【特許請求の範囲】
【請求項１】
プレイヤによって操作される、再帰反射手段を含む操作物に、予め定められた周期で、光を照射するストロボスコープと、
前記ストロボスコープの発光時及び消灯時のそれぞれにおいて、前記操作物を撮影する撮像手段と、
前記撮影手段による前記ストロボスコープの発光時撮像画像と消灯時撮像画像との差分画像に基づいて、前記操作物の状態情報を算出する状態情報算出手段と、
前記操作物に連動する連動オブジェクトの表示を、前記操作物の前記状態情報に基づいて制御する連動オブジェクト制御手段と、
前記連動オブジェクトの移動を制限する制限画像を制御する制限画像制御手段と、を備えるゲーム装置。
【請求項２】
前記ストロボスコープは、特定の波長領域の光を出力する光源を含み、
前記ゲーム装置は、
ユニットベースと、
前記特定の波長領域の光のみを透過するフィルタと、をさらに備え、
前記ユニットベースは、
開口を有する支持筒と、
前記開口の下方であって、前記支持筒内に設けられるレンズと、を含み、
前記フィルタは、前記支持筒の前記開口を覆うように配置され、
前記撮像手段は、前記ユニットベース内に、かつ、前記レンズの下方に配置され、
前記光源は、前記操作物を照らすように、かつ、前記フィルタの近傍に配置される、請求項１記載のゲーム装置。
【請求項３】
プレイヤによって操作される、再帰反射手段を含む操作物に、予め定められた周期で、光を照射するストロボスコープの発光時及び消灯時のそれぞれにおいて、前記操作物を撮影する撮像手段を制御するステップと、
前記撮影手段による前記ストロボスコープの発光時撮像画像と消灯時撮像画像との差分画像に基づいて、前記操作物の状態情報を算出するステップと、
前記操作物に連動する連動オブジェクトの表示を、前記操作物の前記状態情報に基づいて制御するステップと、
前記連動オブジェクトの移動を制限する制限画像を制御するステップと、をコンピュータに実行させるゲームプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、操作物の操作により、ディスプレイに表示されたオブジェクトを操作してゲームを行うゲーム装置及びその関連技術に関する。
【背景技術】
【０００２】
特許文献１には、次のような迷路ゲーム装置が開示されている。プレイヤは、入力装置（キーボード、マウス等）を操作して、ディスプレイに表示されたオブジェクトを移動させて、迷路を進んでいく。この場合、所定時間経過するたびに、迷路が変更される。これにより、プレイヤが飽きることのない迷路ゲームが提供される。
【０００３】
一方、従来より、次のような実空間上のゲームが存在する。例えば、２本の金属線を垂直方向に並べて、経路を形成する。プレイヤは、金属が装着された棒を、その経路に横から差し込み、その経路に沿って、かつ、金属線に接触しないように、移動させる。２本の金属線には、電流が流れているため、いずれかの金属線に、棒の金属部分が接触すると、火花が散りゲームオーバーとなる。
【０００４】
従来より、このような実空間上のゲームを仮想空間で実現する移動ゲームが存在する。つまり、プレイヤは、入力装置（ゲーム機用コントローラ等）、を操作して、ディスプレイに表示されたオブジェクトを移動させて、迷路を進んでいく。そして、オブジェクトが迷路の壁に接触するとゲームオーバーとなる。このような移動ゲーム装置としては、例えば、１９９８年３月１９日に、株式会社ザウルスから発売されたテレビゲームがある（商品名「電流イライラ棒（登録商標）リターンズ」）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−２６３３７０号公報（００２０、図８）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記のような従来の迷路ゲーム装置では、オブジェクトの操作は、パーソナルコンピュータの一般的な入力装置であるマウス等により行われるため、パーソナルコンピュータの操作の延長に過ぎない。また、マウス等の入力装置は、パーソナルコンピュータ用のものであるため、操作性の点で、必ずしもこのようなゲーム装置に適しているとは言えない。また、パーソナルコンピュータを使用するゲームの場合は、パーソナルコンピュータに馴染みの少ない人たちは、そのゲームの実行が困難な場合もある。
【０００７】
上記のような従来の移動ゲーム装置では、オブジェクトの操作は、ゲーム機用の汎用コントローラにより行われるため、方向キーやアナログスティックを操作して、オブジェクトを移動させる。つまり、ゲーム機用コントローラ自体は基本的に動かされるものではなく、搭載された方向キーの押下やアナログスティックの倒し込みにより、オブジェクトを移動させる。人によっては、操作し難いと感じる場合もあり、思い通りの十分な操作が困難な場合も生じうる。
【０００８】
そこで、本発明は、ディスプレイに表示されたオブジェクトの直感的な操作を可能として、容易な操作により、ゲームを行うことができるゲーム装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の第１の観点によると、ゲーム装置は、プレイヤによって操作される操作物に、予め定められた周期で、光を照射するストロボスコープと、前記ストロボスコープの発光時及び消灯時のそれぞれにおいて、前記操作物を撮影して、発光時画像信号及び消灯時画像信号を生成する撮像手段と、前記発光時画像信号と前記消灯時画像信号との差分信号を生成する差分信号生成手段と、前記差分信号に基づいて、前記操作物の状態情報を算出する状態情報算出手段と、前記操作物に連動する連動オブジェクトの表示を、前記操作物の前記状態情報に基づいて制御する連動オブジェクト制御手段と、前記連動オブジェクトの移動を制限する制限画像を制御する制限画像制御手段と、を備える。
【００１０】
この構成によれば、操作物自体の動きに連動して、連動オブジェクトが移動するため、連動オブジェクトの直感的な操作が可能となって、容易な操作によりゲームを行うことができる。
【００１１】
このゲーム装置において、前記連動オブジェクトが、前記制限画像が表示される領域に接触あるいは侵入したときに、ゲームオーバーとなる。
【００１２】
この構成によれば、操作物自体を動かして、連動オブジェクトを操作できるため、制限画像及び連動オブジェクトが、ディスプレイ上に存在するにもかかわらず、あたかも、実空間に存在する障害物を回避しながら、操作物を動かしているような印象をプレイヤに与えることができる。また、実空間に存在する障害物を回避する内容のゲーム装置と比較して、コストの低減、および、省スペース化、を図ることができる。
【００１３】
本発明の第２の観点によると、ゲーム装置は、プレイヤによって操作される操作物に、予め定められた周期で、光を照射するストロボスコープと、前記ストロボスコープの発光時及び消灯時のそれぞれにおいて、前記操作物を撮影して、発光時画像信号及び消灯時画像信号を生成する撮像手段と、前記発光時画像信号と前記消灯時画像信号との差分信号を生成する差分信号生成手段と、前記差分信号に基づいて、前記操作物の状態情報を算出する状態情報算出手段と、前記操作物の位置を画面上に表すカーソルの表示を、前記操作物の前記状態情報に基づいて制御するカーソル制御手段と、前記カーソルの動きに追従する追従オブジェクトの表示を、前記カーソルの座標情報に基づいて制御する追従オブジェクト制御手段と、を備える。
【００１４】
この構成によれば、カーソルは操作物の画面上の位置を表すものであるため、カーソルの動きは操作物に同期あるいはほぼ同期している必要がある。このため、カーソルの制御は、操作物の動きに拘束される。一方、追従オブジェクトはカーソルの動きに追従するものであるため、どのような態様でカーソルに追従させるかは任意に決定できる。従って、追従オブジェクトの動きに趣向をこらすことができ、視覚的効果を大きくすることができる。
【００１５】
また、カーソルが操作物の状態情報に基づいて制御されるため、カーソルは、操作物自体の動きに同期あるいはほぼ同期して移動する。従って、プレイヤは、カーソルの直感的な操作が可能となって、容易な操作によりゲームを行うことができる。
【００１６】
このゲーム装置は、前記追従オブジェクトの移動を制限する制限画像を制御する制限画像制御手段をさらに備えることができる。
【００１７】
この構成によれば、プレイヤは、操作物によりカーソルを操作して、制限画像を回避するように追従オブジェクトを移動させなければならない。このため、ゲーム性が向上して、プレイヤにとって面白みがより大きくなる。
【００１８】
このゲーム装置において、前記追従オブジェクトが、前記制限画像が表示される領域に接触あるいは侵入したときに、ゲームオーバーとなる。
【００１９】
この構成によれば、操作物自体を動かして、カーソル及び追従オブジェクトを操作できるため、制限画像、カーソル、及び追従オブジェクトが、ディスプレイ上に存在するにもかかわらず、あたかも、実空間に存在する障害物を回避しながら、操作物を動かしているような印象をプレイヤに与えることができる。また、実空間に存在する障害物を回避する内容のゲーム装置と比較して、コストの低減、および、省スペース化、を図ることができる。
【００２０】
上記ゲーム装置は、プレイヤがゲームを継続できる指標となる情報を管理して、前記指標となる情報に基づいて、ゲームを終了させるゲーム継続管理手段をさらに備えることができる。
【００２１】
この構成によれば、プレイヤは、無制限にゲームを実行できなくなるので、緊張感が増して、より面白みのあるゲーム装置を提供できる。
【００２２】
上記ゲーム装置において、前記制限画像は、迷路を構成する画像である。
【００２３】
この構成によれば、操作物自体の動きに連動して、連動オブジェクト、あるいはカーソル及び追従オブジェクトが移動するため、これらの直感的な操作が可能となって、容易な操作により迷路ゲームを行うことができる。
【００２４】
上記ゲーム装置において、前記状態情報算出手段が算出する前記操作物の前記状態情報は、速さ情報、移動方向情報、移動距離情報、速度ベクトル情報、加速度情報、移動軌跡情報、面積情報、若しくは、位置情報、のいずれか、又は、それらの２以上の組み合わせ、である。
【００２５】
この構成によれば、操作物の様々な情報を利用して、連動オブジェクトあるいはカーソルを制御できるため、ゲーム内容の設計の自由度が大きくなる。
【図面の簡単な説明】
【００２６】
【図１】本発明の実施の形態におけるゲームシステムの全体構成を示す図。
【図２】図１の操作物の斜視図。
【図３】（ａ）図２の反射ボールの上面図。（ｂ）図３（ａ）の矢印Ａ方向からの反射ボールの側面図。（ｃ）図３（ａ）の矢印Ｂ方向からの反射ボールの側面図。
【図４】図２の反射ボールの縦断面図。
【図５】図１の撮像ユニットの一例を示す図解図。
【図６】図１のゲーム装置の電気的な構成を示す図。
【図７】図６の高速プロセッサのブロック図。
【図８】図６のイメージセンサから高速プロセッサへピクセルデータを取り込む構成及びＬＥＤ駆動回路を示す回路図。
【図９】（ａ）図８のイメージセンサが出力するフレームステータスフラグ信号ＦＳＦのタイミング図。（ｂ）図８のイメージセンサが出力するピクセルデータストローブ信号ＰＤＳのタイミング図。（ｃ）図８のイメージセンサが出力するピクセルデータＤ（Ｘ，Ｙ）のタイミング図。（ｄ）図８の高速プロセッサが出力するＬＥＤコントロール信号ＬＥＤＣのタイミング図。（ｅ）図８の赤外発光ダイオードの点灯状態を示すタイミング図。（ｆ）図８のイメージセンサの露光期間を示すタイミング図。
【図１０】（ａ）図９のフレームステータスフラグ信号ＦＳＦの拡大図。（ｂ）図９のピクセルデータストローブ信号ＰＤＳの拡大図。（ｃ）図９のピクセルデータＤ（Ｘ，Ｙ）の拡大図。
【図１１】図１のテレビジョンモニタのスクリーンに表示される第１ステージのゲーム画面の例示図。
【図１２】図１のテレビジョンモニタのスクリーンに表示される第１ステージのゲーム画面の他の例示図。
【図１３】図１のテレビジョンモニタのスクリーンに表示される第２ステージのゲーム画面の例示図。
【図１４】図１のテレビジョンモニタのスクリーンに表示されるオブジェクトを構成するスプライトの説明図。
【図１５】図１のテレビジョンモニタのスクリーンに表示されるバックグラウンドスクリーンの説明図。
【図１６】（ａ）バックグラウンドスクリーンをスクロールする前の説明図。（ｂ）バックグラウンドスクリーンをスクロールした後の説明図。
【図１７】図６のＲＯＭに格納されたプログラム及びデータを示す概念図。
【図１８】（ａ）一般的なイメージセンサにより撮影された、特別な処理を施さない画像の例示図。（ｂ）図１８（ａ）の画像信号を或る閾値でレベル弁別したときの画像信号の例示図。（ｃ）赤外フィルタを介したイメージセンサの点灯時の画像信号を或る閾値でレベル弁別したときの画像信号の例示図。（ｄ）赤外フィルタを介したイメージセンサの消灯時の画像信号を或る閾値でレベル弁別したときの画像信号の例示図。（ｅ）点灯時の画像信号と消灯時の画像信号との差分信号の例示図。
【図１９】図１の操作物の注目点の座標算出の説明図。
【図２０】（ａ）最大輝度値を持つピクセルの座標を基に、操作物の注目点座標を算出する際のＸ方向スキャンの説明図。（ｂ）最大輝度値を持つピクセルの座標を基に、操作物の注目点座標を算出する際のＹ方向スキャンのスタート時の説明図。（ｃ）最大輝度値を持つピクセルの座標を基に、操作物の注目点座標を算出する際のＹ方向スキャンの説明図。（ｄ）最大輝度値を持つピクセルの座標を基に、操作物の注目点座標を算出する際の結果の説明図。
【図２１】ＣＰＵ２０１による追従オブジェクト制御処理の説明図。
【図２２】（ａ）角度フラグの値と角度との関係図。（ｂ）方向フラグの値と方向を表す符号との関係図。（ｃ）角度フラグ及び方向フラグと、移動方向情報と、の関係図。
【図２３】図２２（ｃ）の移動方向情報と、人魚の移動方向と、の関係図。
【図２４】図２２（ｃ）の移動方向情報とアニメーションテーブル格納位置情報との関係図。
【図２５】図２４のアニメーションテーブル格納位置情報により示される、人魚をアニメーションするためのアニメーションテーブルの例示図。
【図２６】ＣＰＵ２０１による追従オブジェクト制御処理での衝突判定の説明図。
【図２７】（ａ）ＣＰＵ２０１の追従オブジェクト制御処理で判断される第１の重複パターンの説明図。（ｂ）ＣＰＵ２０１の追従オブジェクト制御処理で判断される第２の重複パターンの説明図。（ｃ）ＣＰＵ２０１の追従オブジェクト制御処理で判断される第３の重複パターンの説明図。（ｄ）ＣＰＵ２０１の追従オブジェクト制御処理で判断される第４の重複パターンの説明図。（ｅ）ＣＰＵ２０１の追従オブジェクト制御処理で判断される第５の重複パターンの説明図。（ｆ）ＣＰＵ２０１の追従オブジェクト制御処理で判断される第６の重複パターンの説明図。（ｇ）ＣＰＵ２０１の追従オブジェクト制御処理で判断される第７の重複パターンの説明図。（ｈ）ＣＰＵ２０１の追従オブジェクト制御処理で判断される第８の重複パターンの説明図。（ｉ）ＣＰＵ２０１の追従オブジェクト制御処理で判断される第９の重複パターンの説明図。（ｊ）ＣＰＵ２０１の追従オブジェクト制御処理で判断される第１０の重複パターンの説明図。（ｋ）ＣＰＵ２０１の追従オブジェクト制御処理で判断される第１１の重複パターンの説明図。（ｌ）ＣＰＵ２０１の追従オブジェクト制御処理で判断される第１２の重複パターンの説明図。（ｍ）ＣＰＵ２０１の追従オブジェクト制御処理で判断される第１３の重複パターンの説明図。（ｎ）ＣＰＵ２０１の追従オブジェクト制御処理で判断される第１４の重複パターンの説明図。
【図２８】（ａ）図１１〜図１３の体力ゲージを構成する枠の例示図。（ｂ）体力ゲージのバーを構成する要素の例示図。
【図２９】図１のゲーム装置の全体の処理の流れの１例を示すフローチャート。
【図３０】図２９のステップＳ１の初期設定処理の流れの１例を示すフローチャート。
【図３１】図３０のステップＳ２０のセンサ初期設定処理の流れの１例を示すフローチャート。
【図３２】図３１のステップＳ３１のコマンド送信処理の流れの１例を示すフローチャート。
【図３３】（ａ）図８のレジスタ設定クロックＣＬＫのタイミング図。（ｂ）図８のレジスタデータのタイミング図。
【図３４】図３１のステップＳ３３のレジスタ設定処理の流れの１例を示すフローチャート。
【図３５】図２９のステップＳ４の状態情報算出処理の流れの１例を示すフローチャート。
【図３６】図３５のステップＳ６０のピクセルデータ群取得処理の流れの１例を示すフローチャート。
【図３７】図３６のステップＳ７１のピクセルデータ取得処理の流れの１例を示すフローチャート。
【図３８】図３５のステップＳ６１の注目点抽出処理の流れの１例を示すフローチャート。
【図３９】図３８のステップＳ９４の注目点座標算出処理の流れの１例を示すフローチャート。
【図４０】図２９のステップＳ８の追従オブジェクト制御処理の流れの１例を示すフローチャート。
【図４１】本実施の形態の変形例におけるゲーム画面の例示図。
【図４２】図４１のゲーム画面における衝突判定の説明図。
【図４３】図４１のカーソルが壁に衝突した場合の座標算出の説明図。
【発明を実施するための形態】
【００２７】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、図中、同一または相当部分については同一の参照符号を付してその説明を援用する。
【００２８】
図１は、本発明の実施の形態におけるゲームシステムの全体構成を示す図である。図１に示すように、このゲームシステムは、ゲーム装置１、操作物１５０、及び、テレビジョンモニタ９０、を含む。
【００２９】
ゲーム装置１のハウジング１９には、撮像ユニット１３が組み込まれる。撮像ユニット１３は、４つの赤外発光ダイオード１５及び赤外フィルタ１７を含む。赤外発光ダイオード１５の発光部は、赤外フィルタ１７から露出している。
【００３０】
ゲーム装置１には、ＡＣアダプタ９２により、直流電源電圧が与えられる。ただし、ＡＣアダプタ９２に代えて、電池（図示せず）により、直流電源電圧を与えることもできる。
【００３１】
テレビジョンモニタ９０には、その前面にスクリーン９１が設けられる。テレビジョンモニタ９０とゲーム装置１とは、ＡＶケーブル９３により接続される。なお、ゲーム装置１は、例えば、図１に示すように、テレビジョンモニタ９０の上面に載置される。
【００３２】
プレイヤ９４が、ゲーム装置１の背面に設けられた電源スイッチ（図示せず）をオンにすると、スクリーン９１に、ゲーム画面が表示される。プレイヤ９４は、操作物１５０を操作して、ゲーム画面上のカーソル及び追従オブジェクト（後述）を動かして、ゲームを実行する。ここで、操作物１５０の操作とは、操作物自体を動かすこと（例えば、移動させること）を意味し、スイッチを押下したり、アナログスティックを動かしたり、等は含まない。
【００３３】
撮像ユニット１３の赤外発光ダイオード１５は、間欠的に赤外光を発光する。赤外発光ダイオード１５からの赤外光は、この操作物１５０に取り付けられた反射シート（後述）により反射され、赤外フィルタ１７の内部に設けられた撮像素子（後述）に入力される。このようにして、操作物１５０が間欠的に撮影される。従って、ゲーム装置１は、プレイヤ９４により動かされた操作物１５０の間欠的な画像信号を取得できる。ゲーム装置１は、この画像信号を解析して、その解析結果をゲームに反映する。
【００３４】
本実施の形態で使用する反射シートは、例えば、再帰反射シートである。
【００３５】
図２は、図１の操作物１５０の斜視図である。図２に示すように、操作物１５０は、スティック１５２の先端に反射ボール１５１を固定して構成される。この反射ボール１５１により、赤外発光ダイオード１５からの赤外光が反射される。反射ボール１５１の詳細を説明する。
【００３６】
図３（ａ）は、図２の反射ボール１５１の上面図、図３（ｂ）は、図３（ａ）の矢印Ａ方向からの反射ボール１５１の側面図、図３（ｃ）は、図３（ａ）の矢印Ｂ方向からの反射ボール１５１の側面図、である。
【００３７】
図３（ａ）〜図３(ｃ)に示すように、反射ボール１５１は、透明色（半透明、有色透明、及び、無色透明、を含む。）の球状外殻１５３の内部に球状内殻１５４を固定してなる。球状内殻１５４には、反射シート１５５が取り付けられる。この反射シート１５５が、赤外発光ダイオード１５からの赤外光を反射する。
【００３８】
図４は、図２の反射ボール１５１の縦断面図である。図４に示すように、球状外殻１５３は、２つの半球状外殻をボス１５６及びビス（図示せず）により固定してなる。球状内殻１５４は、球状外殻１５３の内部に、２つの半球状内殻をボス１５７により固定してなる。また、反射ボール１５１には、スティック１５２が、挿入して固定される。具体的には、球状外殻１５３を構成する２つの半球状外殻と、球状内殻１５４を構成する２つの半球状内殻と、によりスティック１５２を挟み、２つの半球状外殻をボス１５６及びビスで固定するとともに、２つの半球状内殻をボス１５７で固定することで、スティック１５２を反射ボール１５１に取り付ける。
【００３９】
図５は、図１の撮像ユニット１３の一例を示す図解図である。図５に示すように、この撮像ユニット１３は、たとえばプラスチック成型によって形成されるユニットベース３５を含み、このユニットベース３５内には支持筒３６が取り付けられる。支持筒３６の上面には内面が逆円錐形状であるラッパ状の開口４１が形成され、その開口４１の下方の筒状部内部には、いずれもがたとえば透明プラスチックの成型によって形成された凹レンズ３９および凸レンズ３７を含む光学系が設けられ、凸レンズ３７の下方において、撮像素子としてのイメージセンサ４３が固着される。したがって、イメージセンサ４３は、開口４１からレンズ３９および３７を通して入射する光に応じた画像を撮影することができる。
【００４０】
イメージセンサ４３は、低解像度のＣＭＯＳイメージセンサ(たとえば３２ピクセル×３２ピクセル：グレースケール)である。ただし、このイメージセンサ４３は、画素数のもっと多いものでもよいし、ＣＣＤ等の他の素子からなるものであってよい。以下では、イメージセンサ４３が、３２ピクセル×３２ピクセルからなるものとして説明を行う。
【００４１】
また、ユニットベース３５には、光出射方向がいずれも上方向とされた複数（実施の形態では４つ）の赤外発光ダイオード１５が取り付けられる。この赤外発光ダイオード１５によって、撮像ユニット１３の上方に赤外光が照射される。また、ユニットベース３５の上方には、赤外フィルタ（赤外光のみを透過するフィルタ）１７が上記開口４１を覆うように、取り付けられる。そして、赤外発光ダイオード１５は後述のように、点灯／消灯（非点灯）が連続的に繰り返されるので、ストロボスコープとして機能する。ただし、「ストロボスコープ」とは、運動体を間欠的に照らす装置の総称である。したがって、上記イメージセンサ４３は、その撮影範囲内で移動する物体、つまり、操作物１５０を撮影することになる。なお、後述する図８に示すように、ストロボスコープは、主に、赤外発光ダイオード１５、ＬＥＤ駆動回路７５、及び、高速プロセッサ２００、により構成される。
【００４２】
ここで、撮像ユニット１３は、イメージセンサ４３の受光面が、水平面から所定角度（例えば、９０度）だけ傾くように、ハウジング１９に組み込まれる。また、凹レンズ３９および凸レンズ３７により、イメージセンサ４３の撮影範囲は、例えば、６０度の範囲である。
【００４３】
図６は、図１のゲーム装置１の電気的な構成を示す図である。図６に示すように、ゲーム装置１は、イメージセンサ４３、赤外発光ダイオード１５、映像信号出力端子４７、音声信号出力端子４９、高速プロセッサ２００、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）５１、及び、バス５３、を含む。
【００４４】
高速プロセッサ２００には、バス５３が接続される。さらに、バス５３には、ＲＯＭ５１が接続される。従って、高速プロセッサ２００は、バス５３を介して、ＲＯＭ５１にアクセスすることができるので、ＲＯＭ５１に格納されたゲームプログラムをリードして実行でき、また、ＲＯＭ５１に格納された画像データ及び楽音データをリードして処理し、映像信号及び音声信号を生成して、映像信号出力端子４７及び音声信号出力端子４９に出力することができる。
【００４５】
操作物１５０は、赤外発光ダイオード１５が発光する赤外光に照射され、その赤外光を反射シート１５５で反射する。この反射シート１５５からの反射光がイメージセンサ４３によって検知され、したがって、イメージセンサ４３からは反射シート１５５の画像信号が出力される。イメージセンサ４３からのこのアナログ画像信号は高速プロセッサ２００に内蔵されたＡ／Ｄコンバータ（後述）によってデジタルデータに変換される。赤外光消灯時も同様の処理が行われる。高速プロセッサ２００は、このデジタルデータを解析して、その解析結果をゲーム処理に反映する。
【００４６】
図７は、図６の高速プロセッサ２００のブロック図である。図７に示すように、この高速プロセッサ２００は、中央演算処理装置（ＣＰＵ：ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）２０１、グラフィックプロセッサ２０２、サウンドプロセッサ２０３、ＤＭＡ（ｄｉｒｅｃｔ  ｍｅｍｏｒｙ  ａｃｃｅｓｓ）コントローラ２０４、第１バス調停回路２０５、第２バス調停回路２０６、内部メモリ２０７、Ａ／Ｄコンバータ（ＡＤＣ：ａｎａｌｏｇ  ｔｏ  ｄｉｇｉｔａｌ  ｃｏｎｖｅｒｔｅｒ）２０８、入出力制御回路２０９、タイマ回路２１０、ＤＲＡＭ（ｄｙｎａｍｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）リフレッシュ制御回路２１１、外部メモリインタフェース回路２１２、クロックドライバ２１３、ＰＬＬ（ｐｈａｓｅ−ｌｏｃｋｅｄ  ｌｏｏｐ）回路２１４、低電圧検出回路２１５、第１バス２１８、及び、第２バス２１９、を含む。
【００４７】
ＣＰＵ２０１は、メモリ（内部メモリ２０７、又は、ＲＯＭ５１）に格納されたプログラムに従い、各種演算やシステム全体の制御を行う。ＣＰＵ２０１は、第１バス２１８及び第２バス２１９のバスマスタであり、それぞれのバスに接続された資源にアクセスが可能である。
【００４８】
グラフィックプロセッサ２０２は、第１バス２１８及び第２バス２１９のバスマスタであり、内部メモリ２０７、又は、ＲＯＭ５１に格納されたデータを基に、映像信号を生成して、映像信号出力端子４７へ出力する。グラフィックプロセッサ２０２は、第１バス２１８を通じて、ＣＰＵ２０１により制御される。また、グラフィックプロセッサ２０２は、ＣＰＵ２０１に対して、割込み要求信号２２０を発生する機能を有する。
【００４９】
サウンドプロセッサ２０３は、第１バス２１８及び第２バス２１９のバスマスタであり、内部メモリ２０７、又は、ＲＯＭ５１に格納されたデータを基に、音声信号を生成して、音声信号出力端子４９へ出力する。サウンドプロセッサ２０３は、第１バス２１８を通じて、ＣＰＵ２０１により制御される。また、サウンドプロセッサ２０３は、ＣＰＵ２０１に対して、割込み要求信号２２０を発生する機能を有する。
【００５０】
ＤＭＡコントローラ２０４は、ＲＯＭ５１から、内部メモリ２０７へのデータ転送を司る。また、ＤＭＡコントローラ２０４は、データ転送の完了を通知するために、ＣＰＵ２０１に対する割込み要求信号２２０を発生する機能を有する。ＤＭＡコントローラ２０４は、第１バス２１８及び第２バス２１９のバスマスタである。ＤＭＡコントローラ２０４は、第１バス２１８を通じてＣＰＵ２０１により制御される。
【００５１】
内部メモリ２０７は、マスクＲＯＭ、ＳＲＡＭ（ｓｔａｔｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、及び、ＤＲＡＭのうち、必要なものを備える。バッテリによるＳＲＡＭのデータ保持が必要とされる場合、バッテリ２１７が必要となる。ＤＲＡＭが搭載される場合、定期的にリフレッシュと呼ばれる記憶内容保持のための動作が必要とされる。
【００５２】
第１バス調停回路２０５は、第１バス２１８の各バスマスタからの第１バス使用要求信号を受け付け、調停を行い、各バスマスタへの第１バス使用許可信号を発行する。各バスマスタは、第１バス使用許可信号を受領することによって第１バス２１８に対するアクセスが許可される。ここで、第１バス使用要求信号及び第１バス使用許可信号は、図７では、第１バス調停信号２２２として示されている。
【００５３】
第２バス調停回路２０６は、第２バス２１９の各バスマスタからの第２バス使用要求信号を受け付け、調停を行い、各バスマスタへの第２バス使用許可信号を発行する。各バスマスタは、第２バス使用許可信号を受領することによって第２バス２１９に対するアクセスが許可される。ここで、第２バス使用要求信号及び第２バス使用許可信号は、図７では、第２バス調停信号２２３として示されている。
【００５４】
入出力制御回路２０９は、外部入出力装置や外部の半導体素子との通信等を入出力信号を介して行う。入出力信号は、第１バス２１８を介して、ＣＰＵ２０１からリード／ライトされる。また、入出力制御回路２０９は、ＣＰＵ２０１に対して、割込み要求信号２２０を発生する機能を有する。
【００５５】
この入出力制御回路２０９から、赤外発光ダイオード１５を制御するＬＥＤコントロール信号ＬＥＤＣが出力される。
【００５６】
タイマ回路２１０は、設定された時間間隔に基づき、ＣＰＵ２０１に対する割込み要求信号２２０を発生する機能を有する。時間間隔等の設定は、第１バス２１８を介してＣＰＵ２０１によって行われる。
【００５７】
ＡＤＣ２０８は、アナログ入力信号をデジタル信号に変換する。このデジタル信号は、第１バス２１８を介してＣＰＵ２０１によってリードされる。また、ＡＤＣ２０８は、ＣＰＵ２０１に対して、割込み要求信号２２０を発生する機能を有する。
【００５８】
このＡＤＣ２０８が、イメージセンサ４３からのピクセルデータ（アナログ）を受けて、デジタルデータに変換する。
【００５９】
ＰＬＬ回路２１４は、水晶振動子２１６より得られる正弦波信号を逓倍した高周波クロック信号を生成する。
【００６０】
クロックドライバ２１３は、ＰＬＬ回路２１４より受け取った高周波クロック信号を、各ブロックへクロック信号２２５を供給するのに十分な信号強度へ増幅する。
【００６１】
低電圧検出回路２１５は、電源電圧Ｖｃｃを監視し、電源電圧Ｖｃｃが一定電圧以下のときに、ＰＬＬ回路２１４のリセット信号２２６、その他のシステム全体のリセット信号２２７を発行する。また、内部メモリ２０７がＳＲＡＭで構成されており、かつ、ＳＲＡＭのバッテリ２１７によるデータ保持が要求される場合、電源電圧Ｖｃｃが一定電圧以下のときに、バッテリバックアップ制御信号２２４を発行する機能を有する。
【００６２】
外部メモリインタフェース回路２１２は、第２バス２１９を外部バス５３に接続するための機能、及び、第２バス２１９のサイクル終了信号２２８を発行することにより、第２バスのバスサイクル長を制御する機能、を有する。
【００６３】
ＤＲＡＭリフレッシュ制御回路２１１は、一定期間毎に第１バス２１８の使用権を無条件に獲得し、ＤＲＡＭのリフレッシュ動作を行う。なお、ＤＲＡＭリフレッシュ制御回路２１１は、内部メモリ２０７がＤＲＡＭを含む場合に設けられる。
【００６４】
ここで、図８〜図１０を参照して、イメージセンサ４３から高速プロセッサ２００へピクセルデータを取り込むための構成を詳細に説明する。
【００６５】
図８は、図６のイメージセンサ４３から高速プロセッサ２００へピクセルデータを取り込む構成及びＬＥＤ駆動回路を示す回路図である。図９は、図６のイメージセンサ４３から高速プロセッサ２００へピクセルデータを取り込む際の動作を示すタイミング図である。図１０は、図９の一部を拡大して示すタイミング図である。
【００６６】
図８に示すように、イメージセンサ４３は、ピクセルデータＤ（Ｘ，Ｙ）をアナログ信号として出力するタイプのものであるため、このピクセルデータＤ（Ｘ，Ｙ）は高速プロセッサ２００のアナログ入力ポートに入力される。アナログ入力ポートは、この高速プロセッサ２００においてＡＤＣ２０８に接続され、したがって、高速プロセッサ２００は、ＡＤＣ２０８からデジタルデータに変換されたピクセルデータをその内部に取得する。
【００６７】
上述のアナログピクセルデータＤ（Ｘ，Ｙ）の中点は、イメージセンサ４３の基準電圧端子Ｖｒｅｆに与えられる基準電圧によって決定される。そのため、イメージセンサ４３に関連して例えば抵抗分圧回路からなる基準電圧発生回路５９が設けられ、この回路５９から基準電圧端子Ｖｒｅｆに常に一定の大きさの基準電圧が与えられる。
【００６８】
イメージセンサ４３を制御するための各デジタル信号は、高速プロセッサ２００のＩ／Ｏポートに与えられ、またはそこから出力される。このＩ／Ｏポートは各々入力／出力の制御が可能なデジタルポートであり、この高速プロセッサ２００で入出力制御回路２０９に接続されている。
【００６９】
詳しく言うと、高速プロセッサ２００の出力ポートからはイメージセンサ４３をリセットするためのリセット信号ｒｅｓｅｔが出力され、イメージセンサ４３に与えられる。また、イメージセンサ４３からは、ピクセルデータストローブ信号ＰＤＳおよびフレームステータスフラグ信号ＦＳＦが出力され、それらの信号が高速プロセッサ２００の入力ポートに与えられる。
【００７０】
ピクセルデータストローブ信号ＰＤＳは上述の各ピクセル信号Ｄ（Ｘ，Ｙ）を読み込むための図９（ｂ）に示すようなストローブ信号である。フレームステータスフラグ信号ＦＳＦはイメージセンサ４３の状態を示すフラグ信号で、図９（ａ）に示すように、このイメージセンサ４３の露光期間を規定する。つまり、フレームステータスフラグ信号ＦＳＦの図９（ａ）に示すローレベルが露光期間を示し、図９（ａ）に示すハイレベルが非露光期間を示す。
【００７１】
また、高速プロセッサ２００は、イメージセンサ４３の制御レジスタ（図示せず）に設定するコマンド（またはコマンド＋データ）をレジスタデータとしてＩ／Ｏポートから出力するとともに、たとえばハイレベルおよびローレベルを繰り返すレジスタ設定クロックＣＬＫを出力し、それらをイメージセンサ４３に与える。
【００７２】
なお、赤外発光ダイオード１５として、図８に示すように互いに並列接続された４つの赤外発光ダイオード１５ａ，１５ｂ，１５ｃおよび１５ｄを用いる。この４つの赤外発光ダイオード１５ａ〜１５ｄは、上で説明したように、操作物１５０を照らすように、イメージセンサ４３の視点方向と同一方向に赤外光を照射するようにかつイメージセンサ４３を囲むように配置される。ただし、これら個別の赤外発光ダイオード１５ａ〜１５ｄは、特に区別する必要がある場合を除いて、単に赤外発光ダイオード１５と呼ばれる。
【００７３】
この赤外発光ダイオード１５はＬＥＤ駆動回路７５によって、点灯されまたは消灯（非点灯）される。ＬＥＤ駆動回路７５は、イメージセンサ４３から上述のフレームステータスフラグ信号ＦＳＦを受け、このフラグ信号ＦＳＦは、抵抗６９およびコンデンサ７１からなる微分回路６７を通してＰＮＰトランジスタ７７のベースに与えられる。このＰＮＰトランジスタ７７にはさらにプルアップ抵抗７９が接続されていて、このＰＮＰトランジスタ７７のベースは、通常は、ハイレベルにプルアップされている。そして、フレームステータス信号ＦＳＦがローレベルになると、そのローレベルが微分回路６７を経てベースに入力されるため、ＰＮＰトランジスタ７７は、フラグ信号ＦＳＦがローレベル期間にのみオンする。
【００７４】
ＰＮＰトランジスタ７７のエミッタは抵抗７３および６５を介して接地される。そして、エミッタ抵抗７３および６５の接続点がＮＰＮトランジスタ８１のベースに接続される。このＮＰＮトランジスタ８１のコレクタが各赤外発光ダイオード１５ａ〜１５ｄのアノードに共通に接続される。ＮＰＮトランジスタ８１のエミッタが別のＮＰＮトランジスタ６１のベースに直接接続される。ＮＰＮトランジスタ６１のコレクタが各赤外発光ダイオード１５ａ〜１５ｄのカソードに共通接続され、エミッタが接地される。
【００７５】
このＬＥＤ駆動回路７５では、高速プロセッサ２００のＩ／Ｏポートから出力されるＬＥＤコントロール信号ＬＥＤＣがアクティブ（ハイレベル）でありかつイメージセンサ４３からのフレームステータスフラグ信号ＦＳＦがローレベルである期間にのみ赤外発光ダイオード１５が点灯される。
【００７６】
図９（ａ）に示すようにフレームステータスフラグ信号ＦＳＦがローレベルになると、そのローレベル期間中（実際には微分回路６７の時定数での遅れがあるが）、ＰＮＰトランジスタ７７がオンする。したがって、図９（ｄ）に示すＬＥＤコントロール信号ＬＥＤＣが高速プロセッサ２００からハイレベルで出力されると、ＮＰＮトランジスタ８１のベースがハイベルとなり、このトランジスタ８１がオンとなる。トランジスタ８１がオンするとトランジスタ６１はオンとなる。したがって、電源（図８では小さい白丸で示す）から各赤外発光ダイオード１５ａ〜１５ｄおよびトランジスタ６１を経て電流が流れ、応じて図９（ｅ）に示すように各赤外発光ダイオード１５ａ〜１５ｄが点灯される。
【００７７】
ＬＥＤ駆動回路７５では、このように、図９（ｄ）のＬＥＤコントロール信号ＬＥＤＣがアクティブでありかつ図９（ａ）のフレームステータスフラグ信号ＦＳＦがローレベルである期間にのみ赤外発光ダイオード１５が点灯されるので、イメージセンサ４３の露光期間（図９（ｆ）参照）にのみ赤外発光ダイオード１５が点灯されることになる。
【００７８】
したがって、無駄な電力消費を抑制することができる。さらに、フレームステータスフラグ信号ＦＳＦはコンデンサ７１によってカップリングされているので、万一イメージセンサ４３の暴走等によりそのフラグ信号ＦＳＦがローレベルのまま停止した場合でも、一定時間後にはトランジスタ７７は必ずオフされ、赤外発光ダイオード１５も一定時間後には必ずオフされる。
【００７９】
このように、フレームステータス信号ＦＳＦの持続期間を変更することによって、イメージセンサ４３の露光時間を任意にかつ自在に設定または変更することができる。
【００８０】
さらに、フレームステータス信号ＦＳＦおよびＬＥＤコントロール信号ＬＥＤＣの持続時間や周期を変更することによって、赤外発光ダイオード１５すなわちストロボスコープの発光期間、非発光期間、発光／非発光周期などを任意にかつ自在に変更または設定できる。
【００８１】
先に説明したように、赤外発光ダイオード１５からの赤外光によって操作物１５０が照射されると、操作物１５０からの反射光によってイメージセンサ４３が露光される。応じて、イメージセンサ４３から上述のピクセルデータＤ（Ｘ，Ｙ）が出力される。詳しく説明すると、イメージセンサ４３は、上述の図９（ａ）のフレームステータスフラグ信号ＦＳＦがハイレベルの期間（赤外発光ダイオード１５の非点灯期間）に図９（ｂ）に示すピクセルデータストローブＰＤＳに同期して、図９（ｃ）に示すようにアナログのピクセルデータＤ（Ｘ，Ｙ）を出力する。
【００８２】
高速プロセッサ２００では、そのフレームステータスフラグ信号ＦＳＦとピクセルデータストローブＰＤＳとを監視しながら、ＡＤＣ２０８を通じて、デジタルのピクセルデータを取得する。
【００８３】
ただし、ピクセルデータは、図１０（ｃ）に示すように、第０行，第１行，…第３１行と行順次に出力される。ただし、後に説明するように、各行の先頭の１ピクセルはダミーデータとなる。
【００８４】
次に、ゲーム装置１によるゲーム内容について、具体例を挙げながら説明する。
【００８５】
図１１は、図１のテレビジョンモニタ９０のスクリーン９１に表示される第１ステージのゲーム画面の例示図である。図１１に示すように、このゲーム画面は、背景１２０、カーソル１１１、追従オブジェクト１１２、障害オブジェクト１０４〜１０６、体力ゲージ１３１、及び、マスク１０１，１０２を含む。背景１２０は、障害画像１１３〜１１５を含む。体力ゲージ１３１は、バー１０３を含む。ここで、追従オブジェクト１１２は、人魚を模した図形であるため、以下、単に「人魚１１２」と呼ぶ。また、障害オブジェクト１０４〜１０６及び後述の障害オブジェクトを包括して表現する場合は、障害オブジェクトＰと呼ぶことがある。障害画像１１３〜１１５及び後述の障害画像を包括して表現するときは、障害画像Ｑと呼ぶことがある。
【００８６】
体力ゲージ１３１は、人魚１１２の体力を表現する。ゲーム開始時では、このバー１０３は最長であり、十分な体力がある。そして、時間の経過とともに、このバー１０３は短くなっていき（体力が少なくなっていき）、バー１０３の長さが「０」になったとき（体力がなくなったとき）にゲームオーバーとなる。なお、バー１０３は、原則として、最長時から消滅時まで、一定速度で短くなる。つまり、人魚１１２の体力は、原則として、一定速度で減少する。
【００８７】
背景１２０は、スクリーン９１に向かって、左方向にスクロールされる。当然、背景１２０の一部である障害画像１１３〜１１５も、左方向にスクロールされる。一方、障害オブジェクト１０４〜１０５の各々は、単数又は複数のスプライトにより構成され、スクリーン９１の右側（マスク１０２側）から出現し、左方向に移動して、スクリーン９１の左側（マスク１０１側）に消えていく。スプライトについては後述する。
【００８８】
カーソル１１１は、操作物１５０のスクリーン９１上での位置を表しており、操作物１５０の動きに連動してスクリーン９１上を移動する。従って、プレイヤ９４から見れば、操作物１５０の操作とカーソル１１１の操作とは同義である。人魚１１２は、カーソル１１１の動き（間接的には操作物１５０の動き）に追従する。プレイヤ９４は、操作物１５０により人魚１１２を操作して、障害オブジェクト１０４〜１０６及び障害画像１１３〜１１５を回避しながら、体力が残っている間に（バー１０３の長さが「０」になる前に）ゴールに到達しなければならない。
【００８９】
なお、人魚１１２が、障害オブジェクト１０４〜１０６あるいは障害画像１１３〜１１５に衝突すると、体力ゲージ１３１のバー１０３が、上記の一定速度に関係なく、所定長だけ短くなり、体力が急激に減少する。人魚１１２が、障害オブジェクト１０４〜１０６あるいは障害画像１１３〜１１５に衝突した後一定時間だけ、その後の衝突によっては、人魚１０４の体力を急激に減少させる処理を行わないようにすることもできる。
【００９０】
図１２は、図１のテレビジョンモニタ９０のスクリーン９１に表示される第１ステージのゲーム画面の他の例示図である。図１２に示すように、このゲーム画面は、背景１２０、カーソル１１１、人魚１１２、障害オブジェクト１０７〜１０９、体力ゲージ１３１、アイテム１１０、及び、マスク１０１，１０２を含む。背景１２０は、障害画像１１６，１１７含む。
【００９１】
プレイヤ９４が操作物１５０を操作して、人魚１１２を、アイテム１１０が表示されている所定領域に移動させると、体力ゲージ１３１のバー１０３が所定長だけ長くなる。つまり、この場合、人魚１１２の体力が増加して、プレイヤ９４に有利となる。なお、障害オブジェクト１０７〜１０９及び障害画像１１６，１１７は、それぞれ、障害オブジェクト１０４〜１０６及び障害画像１１３〜１１５と同様のものである。
【００９２】
図１３は、図１のテレビジョンモニタ９０のスクリーン９１に表示される第２ステージのゲーム画面の例示図である。図１３に示すように、このゲーム画面は、背景１２０、カーソル１１１、人魚１１２、障害オブジェクト１２１〜１２５、体力ゲージ１３１、及び、アイテム１２６を含む。
【００９３】
障害オブジェクト１２１〜１２５の各々及びアイテム１２６は、単数又は複数のスプライトにより構成され、スクリーン９１の上側に出現し、下降して、スクリーン９１の下側に消えていく。なお、第２ステージでは、背景１２０のスクロールはない。
【００９４】
プレイヤ９４は、操作物１５０により人魚１１２を操作して、障害オブジェクト１２１〜１２５を回避なければならない。人魚１１２が、障害オブジェクト１２１〜１２５に衝突すると、体力ゲージ１３１のバー１０３が所定長だけ短くなる。つまり、人魚１１２の体力が減少する。アイテム１２６は、図１２のアイテム１１０と同様のものである。
【００９５】
ここで、障害オブジェクト１０４〜１０９の各々及び人魚１１２は、アニメーションの、あるコマの画像である。従って、人魚１１２のアニメーションのために、一連の人魚１１２の画像が用意されている。また、障害オブジェクト１０４〜１０９の各々のアニメーションのために、障害オブジェクト１０４〜１０９ごとに、一連の障害オブジェクト１０４〜１０９の画像が用意されている。
【００９６】
上記したように、人魚１１２、障害オブジェクト１０４〜１０９，１２１〜１２５の各々、アイテム１１０，１２６の各々、及び、体力ゲージ１３１、は単数あるいは複数のスプライトからなる。スプライトは、矩形の画素集合であり、スクリーン９１の任意の位置に配置できる。なお、人魚１１２、障害オブジェクト１０４〜１０９，１２１〜１２５の各々、アイテム１１０，１２６の各々、及び、体力ゲージ１３１、を総称してオブジェクト（あるいはオブジェクト画像）と呼ぶこともある。
【００９７】
図１４は、スクリーン９１に表示されるオブジェクトを構成するスプライトの説明図である。図１４に示すように、図１１の人魚１１２は、例えば、６個のスプライトＳＰ０〜ＳＰ５により構成される。スプライトＳＰ０〜ＳＰ５の各々は、例えば、１６画素×１６画素からなる。人魚１１２をスクリーン９１上に配置するときは、例えば、左上の角のスプライトＳＰ０の中心を、スクリーン９１上のどの座標に配置するかが指定される。そして、指定された座標及びスプライトＳＰ０〜ＳＰ５のサイズをもとに、各スプライトＳＰ１〜ＳＰ５の中心を配置する座標が算出される。
【００９８】
次に、背景１２０のスクロールについて説明する。まず、バックグラウンドスクリーンについて説明する。
【００９９】
図１５は、図１のテレビジョンモニタ９０のスクリーン９１に表示されるバックグラウンドスクリーンの説明図である。図１５に示すように、バックグラウンドスクリーン１４０は、例えば、３２個×３２個のブロック「０」〜ブロック「１０２３」により構成される。ブロック「０」〜ブロック「１０２３」の各々は、例えば、８画素×８画素からなる矩形要素である。ブロック「０」〜ブロック「１０２３」に対応して、配列ＰＡ[０]〜ＰＡ［１０２３］及び配列ＣＡ［０］〜ＣＡ［１０２３］が用意される。ここで、ブロック「０」〜ブロック「１０２３」を包括して表現するときは、単に「ブロック」と表記し、配列ＰＡ[０]〜ＰＡ［１０２３］を包括して表現するときは、「配列ＰＡ」と表記し、配列ＣＡ［０］〜ＣＡ［１０２３］を包括して表現するときは、「配列ＣＡ」と表記する。
【０１００】
配列ＰＡには、対応するブロックの画素パターンを指定するデータ（画素パターンデータ）の格納位置情報が代入される。画素パターンデータは、ブロックを構成する８画素×８画素の各画素の色情報からなる。また、配列ＣＡには、対応するブロックに使用するカラーパレットを指定する情報（カラーパレット情報）及びデプス値が代入される。カラーパレットは、所定数の色情報からなる。デプス値は、画素の奥行きを表す情報であり、同じ位置に、複数の画素が存在することとなる場合、最も大きなデプス値を持つ画素だけが表示されることになる。
【０１０１】
図１６（ａ）は、バックグラウンドスクリーン１４０をスクロールする前の説明図、図１６（ｂ）は、バックグラウンドスクリーン１４０をスクロールした後の説明図、である。図１６（ａ）に示すように、テレビジョンモニタ９０のスクリーン９１のサイズは、２２４画素×２５６画素であるため、バックグラウンドスクリーン１４０のうち、２２４画素×２５６画素の範囲がスクリーン９１に表示される。ここで、バックグラウンドスクリーン１４０の中心位置をｋ画素だけ左にスクロールすることを考える。そうすると、バックグラウンドスクリーン１４０の横方向（水平方向）の幅が、スクリーン９１の横方向の幅と同じであるため、図１６（ｂ）に示すように、スクリーン９１の範囲外となった部分（斜線部分）が、スクリーン９１の右端に表示される。つまり、概念的には、横方向にスクロールをする場合は、同じ複数のバックグラウンドスクリーン１４０が横方向に連なっていると考えることができる。
【０１０２】
例えば、スクリーン９１の範囲外となった部分（斜線部分）が、図１５のブロック「６４」，ブロック「９６」，…，ブロック「８９６」，ブロック「９２８」とすると、これらのブロックに対応する配列ＰＡ［６４］，ＰＡ「９６」，…，ＰＡ「８９６」，ＰＡ［９２８］及び配列ＣＡ［６４］，ＣＡ「９６」，…，ＣＡ「８９６」，ＣＡ［９２８］によって定まる画像が、スクリーン９１の右端に表示される。従って、バックグラウンドスクリーン１４０の左スクロールにより、背景が連続的に連なるようにするには、スクリーン９１の範囲外となった部分（斜線部分）に含まれるブロックに対応する配列ＰＡ及び配列ＣＡに代入されたデータを更新する必要がある。そうすれば、更新された配列ＰＡ及び配列ＣＡによって定まる画像が、スクリーン９１の右端に表示される。
【０１０３】
背景を滑らかに連続するように見せるためには、スクリーン９１の右端に表示される前に、該当する配列ＰＡ及び配列ＣＡのデータを更新する必要がある。そうすると、スクリーン９１の左端に表示中のときに、該当する配列ＰＡ及び配列ＣＡのデータを更新する必要が生じ、スクリーン９１の左端の表示が不連続なものとなる。従って、このような不都合を回避するため、図１１及び図１２に示すように、スクリーン９１の左端にマスク１０１をする。なお、本実施形態では、右方向へのスクロールは行わないが、バランスをとるため、右端にもマスク１０２をしている。
【０１０４】
以上のようにして、バックグラウンドスクリーン１４０をスクロールさせることで、背景１２０をスクロールさせる。
【０１０５】
図１７は、図６のＲＯＭ５１に格納されたプログラム及びデータを示す概念図である。図１７に示すように、ＲＯＭ５１には、ゲームプログラム３００、画像データ３０１、及び、楽音データ３０４、が格納される。画像データ３０１は、オブジェクト画像データ３０２（人魚１１２、障害オブジェクト１０４〜１０９，１２１〜１２５、アイテム１１０，１２６、及び、体力ゲージ１３１、等の画像データを含む。）及び背景画像データ３０３を含む。楽音データ３０４は、楽譜データ３０５、及び、波形データ（音源データ）３０６、を含む。高速プロセッサ２００は、ＲＯＭ５１に格納されたゲームプログラム３００を実行し、画像データ３０１及び楽音データ３０４を利用する。
【０１０６】
高速プロセッサ２００が実行する主な処理について説明する。
【０１０７】
［ピクセルデータ群取得処理］ＣＰＵ２０１は、イメージセンサ４３が出力したアナログのピクセルデータを変換したデジタルのピクセルデータを取得して、配列Ｐ［Ｘ］［Ｙ］に代入する。なお、イメージセンサ４３の水平方向（横方向、行方向）をＸ軸、垂直方向（縦方向、列方向）をＹ軸とする。
【０１０８】
［差分データ算出処理］ＣＰＵ２０１は、赤外発光ダイオード１５の点灯時のピクセルデータＰ［Ｘ］［Ｙ］と、消灯時のピクセルデータＰ［Ｘ］［Ｙ］と、の差分を算出して、差分データを配列Ｄｉｆ［Ｘ］［Ｙ］に代入する。ここで、図面を用いて、差分を求める効果を説明する。ここで、ピクセルデータは輝度を表す。よって、差分データも輝度を表す。
【０１０９】
図１８（ａ）は、一般的なイメージセンサにより撮影された、特別な処理を施さない画像の例示図、図１８（ｂ）は、図１８（ａ）の画像信号を或る閾値でレベル弁別したときの画像信号の例示図、図１８（ｃ）は、赤外フィルタ１７を介したイメージセンサ４３の点灯時の画像信号を或る閾値でレベル弁別したときの画像信号の例示図、図１８（ｄ）は、赤外フィルタ１７を介したイメージセンサ４３の消灯時の画像信号を或る閾値でレベル弁別したときの画像信号の例示図、図１８（ｅ）は、点灯時の画像信号と消灯時の画像信号との差分信号の例示図、である。
【０１１０】
上記のように、操作物１５０に赤外光を照射し、赤外フィルタ１７を介してイメージセンサ４３に入射した反射赤外光による画像を撮影している。一般的な室内環境で一般的な光源を用いて操作物１５０をストロボスコープ撮影した場合には、一般的なイメージセンサ（図５のイメージセンサ４３に相当する。）には、図１８（ａ）に示すように、操作物１５０による画像以外に、蛍光灯光源、白熱灯光源、太陽光（窓）のような光源だけでなく、室内のすべてのものの画像がすべて写り込む。したがって、この図１８（ａ）の画像を処理して操作物１５０の画像のみを抽出するのは、かなり高速のコンピュータまたはプロセサが必要である。しかしながら、安価が条件の装置ではそのような高性能コンピュータを使えない。そこで種々の処理を行って負担を軽減することが考えられる。
【０１１１】
なお、図１８（ａ）の画像は、本来ならば、白黒の階調により表される画像であるが、その図示を省略している。また、図１８（ａ）〜図１８（ｅ）では、操作物１５０の反射シート１５５が撮影されている。
【０１１２】
図１８（ｂ）は、図１８（ａ）の画像信号を或る閾値でレベル弁別したときの画像信号である。このようなレベル弁別処理は専用のハードウェア回路でも、ソフトウェア的にでも、実行することができるが、いずれの方法によっても、一定以下の光量のピクセルデータをカットするレベル弁別を実行すると、操作物１５０や光源以外の低輝度画像を除去することができる。この図１８（ｂ）の画像では操作物１５０および室内の光源以外の画像の処理を省略でき、したがって、コンピュータの負担を軽減できるが、それでも、光源画像を含む高輝度画像が依然として写り込んでいるので、操作物１５０と他の光源を分別することは難しい。
【０１１３】
そこで、図５に示したように赤外フィルタ１７を利用して、イメージセンサ４３に赤外光による画像以外の画像が写らないようにした。それによって、図１８（ｃ）に示すように、赤外光を殆ど含まない蛍光灯光源の画像は除去できる。しかしながら、それでもなお太陽光や白熱灯が画像信号中に含まれてしまう。したがって、更なる負担軽減のために、赤外ストロボスコープの点灯時のピクセルデータと消灯時のピクセルデータとの差分を計算することとした。
【０１１４】
そのため、図１８（ｃ）の点灯時の画像信号のピクセルデータと、図１８（ｄ）の消灯時の画像信号のピクセルデータとの差分を計算した。すると、図１８（ｅ）に示すように、その差分だけの画像が取得できる。この差分データによる画像は、図１８（ａ）と対比すれば明らかなように、操作物１５０によって得られる画像のみを含むことになる。したがって、処理の軽減を図りながらも、操作物１５０の状態情報を取得できる。
【０１１５】
ここで、状態情報とは、例えば、速さ情報、移動方向情報、移動距離情報、速度ベクトル情報、加速度情報、移動軌跡情報、面積情報、若しくは、位置情報、のいずれか、又は、それらの２以上の組み合わせ、等である。
【０１１６】
以上のような理由で、ＣＰＵ２０１は、赤外発光ダイオード１５の点灯時のピクセルデータと、消灯時のピクセルデータと、の差分を算出して、差分データを得る。
【０１１７】
［注目点抽出処理］ＣＰＵ２０１は、算出した差分データＤｉｆ［Ｘ］［Ｙ］を基に、操作物１５０の注目点の座標を求める。この点を詳細に説明する。
【０１１８】
図１９は、操作物１５０の注目点の座標算出の説明図である。なお、図１９に示したイメージセンサ４３は、３２ピクセル×３２ピクセルのものとする。
【０１１９】
図１９に示すように、ＣＰＵ２０１は、Ｘ方向（水平方向、横方向、行方向）に３２ピクセル分の差分データをスキャンし、そして、Ｙ座標をインクリメントし、Ｘ方向に３２ピクセル分の差分データをスキャンし、そして、Ｙ座標をインクリメントし、というように、Ｙ座標をインクリメントしながら、Ｘ方向に３２ピクセル分の差分データをスキャンしていく。
【０１２０】
この場合、ＣＰＵ２０１は、スキャンした３２ピクセル×３２ピクセル分の差分データから、最大輝度値の差分データを求め、その最大輝度値と所定の閾値Ｔｈとを比較する。そして、ＣＰＵ２０１は、その最大輝度値が所定の閾値Ｔｈより大きい場合は、その最大輝度値を持つピクセルの座標を基に、操作物１５０の注目点の座標を算出する。この点を詳しく説明する。
【０１２１】
図２０（ａ）は、最大輝度値を持つピクセルの座標を基に、操作物１５０の注目点座標を算出する際のＸ方向スキャンの説明図、図２０（ｂ）は、最大輝度値を持つピクセルの座標を基に、操作物１５０の注目点座標を算出する際のＹ方向スキャンのスタート時の説明図、図２０（ｃ）は、最大輝度値を持つピクセルの座標を基に、操作物１５０の注目点座標を算出する際のＹ方向スキャンの説明図、図２０（ｄ）は、最大輝度値を持つピクセルの座標を基に、操作物１５０の注目点座標を算出する際の結果の説明図、である。
【０１２２】
図２０（ａ）に示すように、ＣＰＵ２０１は、最大輝度値のピクセルの座標を中心に、Ｘ方向に、差分データのスキャンを実行して、所定の閾値Ｔｈより大きい輝度値のピクセルを検出する。図２０（ａ）の例では、Ｘ＝１１〜１５までが、所定の閾値Ｔｈを超えたピクセルである。
【０１２３】
次に、図２０（ｂ）に示すように、ＣＰＵ２０１は、Ｘ＝１１〜１５の中心を求める。すると、中心のＸ座標は、Ｘｃ＝１３である。
【０１２４】
次に、図２０（ｃ）に示すように、図２０（ｂ）で求めたＸ座標（＝１３）を中心に、Ｙ方向に、差分データのスキャンを実行して、所定の閾値Ｔｈより大きい輝度値のピクセルを検出する。図２０（ｃ）の例では、Ｙ＝５〜１０までが、所定の閾値Ｔｈを超えたピクセルである。
【０１２５】
次に、図２０（ｄ）に示すように、ＣＰＵ２０１は、Ｙ＝５〜１０の中心を求める。すると、中心のＹ座標は、Ｙｃ＝７である。
【０１２６】
ＣＰＵ２０１は、以上のようにして算出した注目点の座標Ｘｃ（＝１３）をＰＸ［Ｍ］に代入し、座標Ｙｃ（＝７）をＰＹ［Ｍ］に代入する。そして、ＣＰＵ２０１は、注目点（Ｘｃ，Ｙｃ）の移動平均（ＡＸ，ＡＹ）を算出する。さらに、ＣＰＵ２０１は、イメージセンサ４３上の注目点の平均座標（ＡＸ，ＡＹ）を、スクリーン９１上の座標（ｘｃ，ｙｃ）に変換する。そして、ＣＰＵ２０１は、座標ｘｃを配列Ａｘ［Ｍ］に代入し、座標ｙｃを配列Ａｙ［Ｍ］に代入する。ＣＰＵ２０１は、以上のような注目点の座標（Ａｘ［Ｍ］，Ａｙ［Ｍ］）を求める処理を、フレームが更新されるたびに実行する。ここで、例えば、スクリーン９１における座標原点は、スクリーン９１の中心位置とする。
【０１２７】
ＣＰＵ２０１は、例えば、次式により、（ｎ＋１）フレーム分の移動平均を算出する。「ｎ」は自然数（例えば、「３」）である。
【０１２８】
ＡＸ＝（ＰＸ［Ｍ］＋ＰＸ［Ｍ−１］＋…＋ＰＸ［Ｍ−ｎ］）／（ｎ＋１）  …（１）
ＡＹ＝（ＰＹ［Ｍ］＋ＰＹ［Ｍ−１］＋…＋ＰＹ［Ｍ−ｎ］）／（ｎ＋１）  …（２）
【０１２９】
「Ｍ」は整数であり、スクリーン９１に表示するフレームが更新されるたびに１つインクリメントされる。
【０１３０】
［背景制御処理］ＣＰＵ２０１は、ゲームの第１ステージでは（図１１及び図１２参照）、バックグラウンドスクリーン１４０の中心位置の配置を、一定速度で変更して（図１６（ａ）及び図１６（ｂ）参照）、中心位置の変更後の配置座標を登録する。この場合、ＣＰＵ２０１は、該当する配列ＰＡ及び配列ＣＡのデータを変更する。以上のようにして、ＣＰＵ２０１は、背景１２０のスクロール制御を行う。また、ＣＰＵ２０１は、ゲームの第２ステージでは（図１３参照）、ゲームプログラム３００に従って、配列ＰＡ及び配列ＣＡのデータを変更して、背景１２０の内容の一部あるいは全部を変化させる。
【０１３１】
［自動オブジェクト制御処理］ＣＰＵ２０１は、障害オブジェクトＰ及びアイテム１１０，１２６の座標を計算して登録する。例えば、障害オブジェクトＰ及びアイテム１１０が一定速度で移動するように、座標計算を行い、その結果を登録する（内部メモリ２０７に格納する）。また、ＣＰＵ２０１は、表示すべき障害オブジェクトＰ及びアイテム１１０，１２６のアニメーションテーブルの格納位置情報を登録する。このアニメーションテーブルは、後述する人魚１１２のアニメーションテーブルと同様のものである。
【０１３２】
［カーソル制御処理］ＣＰＵ２０１は、操作物１５０の注目点の座標（Ａｘ［Ｍ］，Ａｙ［Ｍ］）を、次のフレームで表示するカーソル１０５の座標として登録する（内部メモリ２０７に格納する）。また、ＣＰＵ２０１は、カーソル１１１のアニメーションテーブルの格納位置情報を登録する。このアニメーションテーブルは、後述する人魚１１２のアニメーションテーブルと同様のものである。
【０１３３】
［追従オブジェクト制御処理］ＣＰＵ２０１は、人魚１１２を、カーソル１１１の動きに追従させる。この場合、人魚１１２に第１の加速度を持たせて移動させる。この第１の加速度には、カーソル１１１と人魚１１２との間の距離が大きいほど大きな値を、小さいほど小さい値を設定する。なお、第１の加速度の向きは正方向である。正方向とは、人魚の進行方向である。また、人魚１１２には、第２の加速度をも持たせて移動させる。この第２の加速度には、人魚の速度が大きいほど大きな値を、小さいほど小さい値を設定する。この第２の加速度の向きは負方向とする。負方向とは、人魚の進行方向と逆の方向である。以上により、人魚１１２が、あたかも水中を運動しているかのような効果を得ることができる。以上の点を具体例を挙げながら説明する。
【０１３４】
図２１は、ＣＰＵ２０１による追従オブジェクト制御処理の説明図である。ＣＰＵ２０１は、人魚１１２の今回の座標（ｘｍ[Ｍ]，ｙｍ[Ｍ]）を算出するため、例えば、次式を用いる。
【０１３５】
ｘｍ[Ｍ]＝ｘｍ[Ｍ−１]＋Ｖｘｍ[Ｍ−１]×（１−ｋ）＋Ｂｘ[Ｍ]  …（３）
ｙｍ[Ｍ]＝ｙｍ[Ｍ−１]＋Ｖｙｍ[Ｍ−１]×（１−ｋ）＋Ｂｙ[Ｍ]  …（４）
【０１３６】
Ｖｘｍ[Ｍ−１]＝ｘｍ[Ｍ−１]−ｘｍ[Ｍ−２]  …（５）
Ｖｙｍ[Ｍ−１]＝ｙｍ[Ｍ−１]−ｙｍ[Ｍ−２]  …（６）
【０１３７】
Ｂｘ[Ｍ]＝Ｌｘ[Ｍ]×Ｂ０  …（７）
Ｂｙ[Ｍ]＝Ｌｙ[Ｍ]×Ｂ０  …（８）
【０１３８】
Ｌｘ[Ｍ]＝Ａｘ[Ｍ]−ｘｍ[Ｍ−１]  …（９）
Ｌｙ[Ｍ]＝Ａｙ[Ｍ]−ｙｍ[Ｍ−１]  …（１０）
【０１３９】
図２１に示すように、式（３）〜式（１０）では、人魚１１２の前回の座標（ｘｍ[Ｍ−１]，ｙｍ[Ｍ−１]）、人魚１１２の前回の速度ベクトル（Ｖｘｍ[Ｍ−１]，Ｖｙｍ[Ｍ−１]）、人魚１１２の今回の加速度ベクトル（Ｂｘ[Ｍ]，Ｂｙ[Ｍ]）、人魚１１２の前前回の座標（ｘｍ[Ｍ−２]，ｙｍ[Ｍ−２]）、水の抵抗を表す定数ｋ（ｋ＜１）、及び、人魚１１２の加速度を調整する定数Ｂ０、を使用する。ここで、水の抵抗を大きくしたいときには、定数ｋを大きい値に設定し、小さくしたいときは小さい値に設定する。また、人魚の加速度Ｂｘ［Ｍ］，Ｂｙ［Ｍ］は、今回のカーソル１１１と前回の人魚１１２との間の距離Ｌｘ［Ｍ］，Ｌｙ［Ｍ］に比例する。なお、定数ｋの値及び定数Ｂ０の値は、任意の値とすることができ、例えば、経験により定めることができる。
【０１４０】
また、ＣＰＵ２０１は、次式により、人魚１１２の今回の速度ベクトル（Ｖｘｍ[Ｍ]，Ｖｙｍ[Ｍ]）を算出する。
【０１４１】
Ｖｘｍ[Ｍ]＝ｘｍ[Ｍ]−ｘｍ[Ｍ−１]  …（１１）
Ｖｙｍ[Ｍ]＝ｙｍ[Ｍ]−ｙｍ[Ｍ−１]  …（１２）
【０１４２】
さらに、ＣＰＵ２０１は、人魚１１２のｘ方向の移動距離ｍｘおよびｙ方向の移動距離ｍｙを算出する。ｘ方向の移動距離ｍｘは、ｘ成分Ｖｘｍ[Ｍ]の絶対値であり、ｙ方向の移動距離ｍｙは、ｙ成分Ｖｙｍ[Ｍ]の絶対値である。
【０１４３】
ＣＰＵ２０１は、上記のようにして、人魚１１２の位置を制御するだけでなく、人魚１１２のアニメーションを制御する。この点を詳細に説明する。
【０１４４】
ＣＰＵ２０１は、人魚１１２のｘ方向の移動距離ｍｘと所定値ｘｒとの間で大小を判断する。また、ＣＰＵ２０１は、人魚１１２のｙ方向の移動距離ｍｙと所定値ｙｒとの間で大小を判断する。その判断の結果、ＣＰＵ２０１は、移動距離ｍｘが所定値ｘｒより大きく、移動距離ｍｙが所定値ｙｒより小さい場合は、人魚１１２を横方向（水平方向）に移動させるべく、角度フラグを対応する値にセットする。
【０１４５】
また、判断の結果、ＣＰＵ２０１は、移動距離ｍｘが所定値ｘｒより小さく、移動距離ｍｙが所定値ｙｒより大きい場合は、人魚１１２を縦方向（垂直方向）に移動させるべく、角度フラグを対応する値にセットする。また、判断の結果、ＣＰＵ２０１は、移動距離ｍｘが所定値ｘｒより大きく、移動距離ｍｙが所定値ｙｒより大きい場合は、人魚１１２を斜め方向に移動させるべく、角度フラグを対応する値にセットする。
【０１４６】
さらに、ＣＰＵ２０１は、人魚１１２の速度ベクトル（Ｖｘｍ[Ｍ]，Ｖｙｍ[Ｍ]）の符号を判断して、ｘ方向フラグ及びｙ方向フラグを対応する値にセットする。なお、ｘ方向フラグ及びｙ方向フラグを包括して表現するときは、単に方向フラグと呼ぶ。
【０１４７】
そして、ＣＰＵ２０１は、角度フラグ、ｘ方向フラグ、及び、ｙ方向フラグ、にセットされている値に従って、人魚１１２の移動方向情報を決定する。人魚１１２の移動方向情報は、人魚１１２の移動態様を表す情報である。この移動方向情報により、人魚１１２の向きが決定される。この点の詳細を説明する。
【０１４８】
図２２（ａ）は、角度フラグの値と角度との関係図、図２２（ｂ）は、方向フラグの値と方向を表す符号との関係図、図２２（ｃ）は、角度フラグ及び方向フラグと、移動方向情報と、の関係図、である。上記のように、ＣＰＵ２０１は、人魚１１２の移動距離ｍｘ及びｍｙと、所定値ｘｒ及びｙｒと、の間で大小を判断して、図２２（ａ）に示すように、角度フラグをセットする。
【０１４９】
また、上記のように、ＣＰＵ２０１は、人魚１１２の速度ベクトル（Ｖｘｍ[Ｍ]，Ｖｙｍ[Ｍ]）の符号を判断して、図２２（ｂ）に示すように、ｘ方向フラグ及びｙ方向フラグをセットする。
【０１５０】
さらに、図２２（ｃ）に示すように、ＣＰＵ２０１は、角度フラグ、ｘ方向フラグ、及び、ｙ方向フラグ、にセットされている値から、人魚１１２の移動方向情報を決定する。
【０１５１】
図２３は、図２２（ｃ）の移動方向情報と、人魚１１２の移動方向と、の関係図である。図２２及び図２３に示すように、移動方向情報Ａ０は、人魚１１２を、横方向に、かつ、ｘ軸の正方向（右方向）に移動させることを意味する。移動方向情報Ａ１は、人魚１１２を、横方向に、かつ、ｘ軸の負方向（左方向）に移動させることを意味する。移動方向情報Ａ２は、人魚１１２を、縦方向に、かつ、ｙ軸の正方向（上方向）に移動させることを意味する。移動方向情報Ａ３は、人魚１１２を、縦方向に、かつ、ｙ軸の負方向（下方向）に移動させることを意味する。移動方向情報Ａ４は、人魚１１２を、右上斜め方向に移動させることを意味する。移動方向情報Ａ５は、人魚１１２を、右下斜め方向に移動させることを意味する。移動方向情報Ａ６は、人魚１１２を、左上斜め方向に移動させることを意味する。移動方向情報Ａ７は、人魚１１２を、左下斜め方向に移動させることを意味する。
【０１５２】
ＣＰＵ２０１は、上記のようにして取得した移動方向情報Ａ０〜Ａ７に関連付けられたアニメーションテーブル格納位置情報を登録する（人魚アニメーション登録）。アニメーションテーブル格納位置情報は、アニメーションテーブルの格納位置を示す情報である。また、この場合のアニメーションテーブルには、人魚１１２をアニメーションするための様々な情報が含まれている。
【０１５３】
図２４は、移動方向情報Ａ０〜Ａ７とアニメーションテーブル格納位置情報との関係図である。図２４では、例えば、移動方向情報Ａ０とアニメーションテーブル格納位置情報ａｄｄｒｅｓｓ０とが関連付けられている。ここで、アニメーションテーブル格納位置情報は、アニメーションテーブルが格納されている領域の先頭アドレス情報である。
【０１５４】
図２５は、図２４のアニメーションテーブル格納位置情報により示される、人魚１１２をアニメーションするためのアニメーションテーブルの例示図である。図２５に示すように、アニメーションテーブルは、アニメーション画像データの格納位置情報、アニメーションを行うオブジェクト（人魚１１２）の番号を時系列に配置したもの、持続フレーム数情報、次オブジェクト情報、オブジェクト（人魚１１２）のサイズ情報、カラーパレット情報、デプス値の情報、及び、スプライトサイズ情報、を関連付けたテーブルである。
【０１５５】
アニメーション画像データは、複数のオブジェクト（人魚１１２）画像を時系列に配置したデータである。持続フレーム数情報は、何フレーム連続して各オブジェクト（人魚１１２）を表示するかを示す情報である。次オブジェクト情報は、持続フレーム数情報に従ってオブジェクト（人魚１１２）を表示した後に、何番のオブジェクト（人魚１１２）を表示するかを指示する情報である。例えば、次オブジェクト情報「ｎｅｘｔ」は、番号「１」のオブジェクトを１フレーム（持続フレーム数）表示した後は、次の番号「２」のオブジェクトを表示することを意味する。また、例えば、次オブジェクト情報「ｔｏｐ」は、番号「１５」のオブジェクトを１フレーム（持続フレーム数）表示した後は、先頭の番号「１」のオブジェクトを表示することを意味する。
【０１５６】
なお、アニメーション画像データは、画素パターンデータである。ここで、画素パターンデータ、及び、デプス値は、オブジェクト（人魚１１２）を構成するスプライトに関するものであり、その意味は、図１５で説明したブロックに関するものと同様である。
【０１５７】
ここで、図２５のアニメーションテーブルは、人魚１１２のアニメーションを行うためのものである。従って、例えば、図２４の移動方向情報Ａ０は、人魚１１２を横方向かつ正方向に移動させることを示す情報であるため、移動方向情報Ａ０に対応したアニメーションテーブル格納位置情報ａｄｄｒｅｓｓ０が示すアニメーションテーブルの格納位置情報ａｄ０は、横方向かつ正方向に向いた人魚１１２のアニメーション画像データの格納位置を示す。
【０１５８】
以上のように、人魚１１２の移動方向情報Ａ０〜Ａ７に応じたアニメーションテーブル格納位置情報ａｄｄｒｅｓｓ０〜ａｄｄｒｅｓｓ７が登録され、しかも、人魚１１２の移動方向情報Ａ０〜Ａ７は、操作物１５０の注目点（カーソル１１１）の座標（Ａｘ［Ｍ］，Ａｙ［Ｍ］）に基づいているため（式（９）及び式（１０）参照）、操作物１５０（カーソル１１１）の移動方向に向いた人魚１１２のアニメーションが実行される。
【０１５９】
さらに、ＣＰＵ２０１は、人魚１１２が、障害オブジェクトＰあるいは障害画像Ｑに衝突したか否かを判定して、衝突したときに、人魚１１２の動きを制限し、かつ、衝突フラグをオンにする。この点を詳細に説明する。
【０１６０】
図２６は、ＣＰＵ２０１による衝突判定処理の説明図である。図２６に示すように、人魚１１２、障害オブジェクトＰ、及び、障害画像Ｑ、を矩形あるいは矩形の集合によりモデル化する。そして、ＣＰＵ２０１は、人魚１１２と、表示されている全ての障害オブジェクトＰおよび表示されている全ての障害画像Ｑと、の衝突を判定する。ここで、人魚１１２を構成する矩形を、「人魚矩形」と呼び、障害オブジェクトＰ、あるいは、障害画像Ｑ、を構成する矩形を、「障害矩形」と呼ぶ。衝突判定について詳しく説明する。
【０１６１】
ＣＰＵ２０１は、人魚矩形の各々の各頂点座標、及び、障害矩形の各々の各頂点座標、を用いて、人魚矩形と障害矩形との重複を判断する。そして、ＣＰＵ２０１は、いずれかの人魚矩形といずれかの障害矩形とが重複していれば、人魚１１２と、重複した障害矩形を持つ障害オブジェクトＰと、が衝突し、あるいは、人魚１１２と、重複した障害矩形を持つ障害画像Ｑと、が衝突したと判断して、衝突フラグをオンにする。
【０１６２】
図２７は、ＣＰＵ２０１による追従オブジェクト制御処理で判断される重複パターンの説明図である。図２７（ａ）〜図２７（ｎ）に示すように、人魚矩形ｒｃｍと障害矩形ｒｃｏとの重複パターンは、１４通りある。ＣＰＵ２０１は、いずれかの重複パターンが存在すれば、人魚１１２と、重複した障害矩形ｒｃｏを持つ障害オブジェクトＰと、が衝突し、あるいは、人魚１１２と、重複した障害矩形ｒｃｏを持つ障害画像Ｑと、が衝突したと判断する。
【０１６３】
以上のような処理を、人魚１１２と、表示されている全ての障害オブジェクトＰおよび表示されている全ての障害画像Ｑと、の間で行う。
【０１６４】
［体力ゲージ制御処理］ＣＰＵ２０１は、体力ゲージ１３１を制御する。この点を図面を用いて説明する。
【０１６５】
図２８（ａ）は、図１１〜図１３の体力ゲージ１３１を構成する枠の例示図、図２８（ｂ）は、体力ゲージ１３１のバー１０３を構成する要素の例示図、である。図２８（ａ）に示すように、体力ゲージ１３１の枠は、８×５６画素の大きさであり、８×８画素のスプライトを７つ表示して構成する。
【０１６６】
図２８（ｂ）に示すように、バー１０３を表示するために、８×８画素からなるスプライトＰ０〜Ｐ７が８つ用意される。図２８（ｂ）において、例えば、破線部は赤色であり、それ以外は白色である。ＣＰＵ２０１は、一定速度でバー１０３が短くなるように、スプライトＰ０〜Ｐ７の中から、単数あるいは複数のスプライトを選択して、体力ゲージ１３１の枠内に表示する。
【０１６７】
例えば、ＣＰＵ２０１は、ゲーム開始時に、７個のスプライトＰ７を枠内に表示して、バー１０３を最長とする。そして、ゲーム開始から一定時間ｔが経過したら、一番右側のスプライトＰ７に代えて、スプライトＰ６を枠内に表示し、さらに一定時間ｔ経過したら、スプライトＰ６に代えて、スプライトＰ５を枠内に表示し、…、というように、一定時間ｔの経過とともに、赤色のバー１０３を短くしていく。つまり、一定時間ｔが経過するたびに、バー１０３が１画素づつ短くなる。
【０１６８】
さらに、ＣＰＵ２０１は、衝突フラグがオンになっている場合は、つまり、人魚１１２が、障害オブジェクトあるいは障害画像に衝突した場合は、赤色のバー１０３が所定長（例えば、４画素分）だけ短くなるように、スプライトＰ０〜Ｐ７を選択して表示する。ＣＰＵ２０１は、例えば、体力ゲージ１３１において、６個のスプライトがスプライトＰ７であり、一番右側が、スプライトＰ０であるときに、衝突フラグがオンになっている場合は、そのスプライトＰ０を外し、かつ、そのスプライトＰ０の左隣のスプライトＰ７に代えて、スプライトＰ４を表示する。これにより、バー１０３が４画素分短くなる。
【０１６９】
［画像表示処理］ＣＰＵ２０１は、背景制御処理、自動オブジェクト制御処理、カーソル制御処理、追従オブジェクト制御処理、及び、体力ゲージ制御処理、により登録された情報をもとに、描画に必要な情報を垂直ブランキング期間に、図７のグラフィックプロセッサ２０２に与える。すると、グラフィックプロセッサ２０２は、与えられた情報をもとに映像信号を生成して、映像信号出力端子４７に出力する。これにより、テレビジョンモニタ９０のスクリーン９１に、人魚１１２等を含むゲーム画面が表示される。より具体的には、次の通りである。
【０１７０】
ＣＰＵ２０１は、障害オブジェクトＰのアニメーションテーブルおよび自動オブジェクト制御処理で登録した座標情報をもとに、障害オブジェクトＰを構成する各スプライトの表示座標を算出する。そして、ＣＰＵ２０１は、障害オブジェクトＰのアニメーションテーブルを参照して、障害オブジェクトＰを構成する各スプライトの、表示座標情報、カラーパレット情報、デプス値、サイズ情報、及び、画素パターンデータ格納位置情報、をグラフィックプロセッサ２０２に与える。
【０１７１】
また、ＣＰＵ２０１は、カーソル１１１のアニメーションテーブルおよびカーソル制御処理で登録した座標情報（操作物１５０の注目点の座標情報）をもとに、カーソル１１１を構成する各スプライトの表示座標を算出する。そして、ＣＰＵ２０１は、カーソル１１１のアニメーションテーブルを参照して、カーソル１１１を構成する各スプライトの、表示座標情報、カラーパレット情報、デプス値、サイズ情報、及び、画素パターンデータ格納位置情報、をグラフィックプロセッサ２０２に与える。
【０１７２】
また、ＣＰＵ２０１は、追従オブジェクト制御処理で登録したアニメーションテーブル格納位置情報にもとづいて、アニメーションテーブルを参照し、人魚１１２（オブジェクト）のサイズ情報、及び、人魚１１２を構成するスプライトのサイズ情報、を取得する。そして、ＣＰＵ２０１は、これらの情報と、追従オブジェクト制御処理で算出した座標（ｘｍ[Ｍ]，ｙｍ[Ｍ]）と、をもとに、人魚１１２を構成する各スプライトの表示座標を算出する。また、ＣＰＵ２０１は、これから表示する人魚１１２のオブジェクト番号、人魚１１２のサイズ情報、人魚１１２を構成するスプライトのサイズ情報、及び、アニメーション画像データの格納位置情報、をもとに、人魚１１２を構成する各スプライトの画素パターンデータ格納位置情報を算出する。
【０１７３】
そして、さらに、ＣＰＵ２０１は、アニメーションテーブルを参照して、人魚１１２を構成する各スプライトの、カラーパレット情報、デプス値、及び、サイズ情報を、各スプライトの画素パターンデータ格納位置情報及び表示座標情報とともに、グラフィックプロセッサ２０２に与える。この場合、ＣＰＵ２０１は、アニメーションテーブルの持続フレーム数情報および次オブジェクト情報に従って、上記の情報をグラフィックプロセッサ２０２に与える。
【０１７４】
また、ＣＰＵ２０１は、体力ゲージ１３１の枠を構成する各スプライトの、カラーパレット情報、デプス値、サイズ情報、画素パターンデータ格納位置情報、及び、表示座標情報を、グラフィックプロセッサ２０２に与える。さらに、ＣＰＵ２０１は、体力ゲージ制御処理で登録した、バー１０３を構成する各スプライトの、カラーパレット情報、デプス値、サイズ情報、画素パターンデータ格納位置情報、及び、表示座標情報を、グラフィックプロセッサ２０２に与える。
【０１７５】
また、ＣＰＵ２０１は、背景制御処理で登録したバックグラウンドスクリーン１４０の中心位置の配置座標、並びに、背景制御処理で設定した配列ＰＡ[０]〜配列ＰＡ［１０２３］の先頭アドレスおよび配列ＣＡ［０］〜配列ＣＡ［１０２３］の先頭アドレスを、グラフィックプロセッサ２０２に与える。グラフィックプロセッサ２０２は、与えられた先頭アドレスをもとに、配列ＰＡ[０]〜配列ＰＡ［１０２３］の情報を読み出して、それをもとに、ブロック［０］〜ブロック［１０２３］の画素パターンデータ格納位置情報を読み出す。また、グラフィックプロセッサ２０２は、与えられた先頭アドレスをもとに、配列ＣＡ［０］〜配列ＣＡ［１０２３］の情報を読み出す。
【０１７６】
グラフィックプロセッサ２０２は、ＣＰＵ２０１から与えられた情報および読みさした情報をもとに、障害オブジェクトＰ、カーソル１１１、人魚１１２、体力ゲージ１３１、及び背景１２０を表す映像信号を生成して、映像信号出力端子４７に出力する。
【０１７７】
［楽音再生］楽音の再生は、割込み処理により行われる。ＣＰＵ２０１は、楽譜データポインタをインクリメントしながら、楽譜データ３０５を読み出して解釈する。なお、楽譜データポインタは、楽譜データ３０５の読み出し位置を示すポインタである。
【０１７８】
そして、ＣＰＵ２０１は、読み出した楽譜データ３０５に含まれるコマンドが、ノートオンであれば、その楽譜データ３０５に含まれるノートナンバが示す音の高さ（ピッチ）及び楽器指定情報が示す楽器（音色）に応じた波形データ（音源データ）３０６が格納されている先頭アドレスを、サウンドプロセッサ２０３に与える。さらに、ＣＰＵ２０１は、読み出した楽譜データ３０５に含まれるコマンドが、ノートオンであれば、必要なエンベロープデータが格納されている先頭アドレスを、サウンドプロセッサ２０３に与える。さらに、ＣＰＵ２０１は、読み出した楽譜データ３０５に含まれるコマンドが、ノートオンであれば、その楽譜データ３０５に含まれるノートナンバが示す音の高さ（ピッチ）に応じたピッチ制御情報、及び、その楽譜データ３０５に含まれるボリューム情報、をサウンドプロセッサ２０３に与える。
【０１７９】
ここで、ピッチ制御情報について説明しておく。ピッチ制御情報は、波形データ（音源データ）３０６を読み出す周期を変えることによって行われるピッチ変換に用いられる。つまり、サウンドプロセッサ２０３は、ピッチ制御情報を一定期間毎に読み出して累算する。そして、サウンドプロセッサ２０３は、この累算結果を加工して、波形データ（音源データ）３０６のアドレスポインタとする。よって、ピッチ制御情報に大きな値が設定されれば、アドレスポインタのインクリメントは早く行われ、波形データ（音源データ）３０６の周波数が高くなり、ピッチ制御情報に小さな値が設定されれば、アドレスポインタのインクリメントは遅く行われ、波形データ（音源データ）３０６の周波数が低くなる。このようにして、サウンドプロセッサ２０３は、波形データ（音源データ）３０６のピッチ変換を行う。
【０１８０】
サウンドプロセッサ２０３は、与えられたピッチ制御情報に基づいて、アドレスポインタをインクリメントしながら、与えられた先頭アドレスが示す位置に格納されている波形データ（音源データ）３０６をＲＯＭ５１から読み出す。そして、サウンドプロセッサ２０３は、順次読み出される波形データ（音源データ）３０６に、エンベロープデータ及びボリューム情報を乗算して、音声信号を生成する。このようにして、楽譜データ３０５が指示する楽器の音色、音の高さ（ピッチ）、及び、音量、の音声信号が生成され、音声信号出力端子４９に出力される。
【０１８１】
一方、ＣＰＵ２０１は、読み出した楽譜データ３０５に含まれるゲートタイムを管理している。従って、ＣＰＵ２０１は、ゲートタイムが経過した時に、該当する楽音の発音を終了するように、サウンドプロセッサ２０３に指示を出す。これを受けて、サウンドプロセッサ２０３は、指示された楽音の発音を終了する。
【０１８２】
以上のようにして、楽譜データ３０５に基づいて楽曲が再生され、テレビジョンモニタ９０のスピーカ（図示せず）から発音される。
【０１８３】
次に、図１のゲーム装置１の全体の処理の流れの１例を、フローチャートを用いて説明する。
【０１８４】
図２９は、図１のゲーム装置１の全体の処理の流れの１例を示すフローチャートである。図２９に示すように、ステップＳ１にて、ＣＰＵ２０１は、システムの初期設定を実行する。
【０１８５】
ステップＳ２にて、ＣＰＵ２０１は、人魚１１２の体力を確認して、体力が「０」（体力ゲージ１３１のバー１０３の長さが「０」）ならば、所定の失敗画面を表示して、ゲームを終了し、体力が残っているならば、ステップＳ３に進む。ステップＳ３にて、ＣＰＵ２０１は、人魚１１２がゴールに到着したか否かを判断して、到着したならば、所定の成功画面を表示して、ゲームを終了し、到着していない場合は、ステップＳ４へ進む。
【０１８６】
ステップＳ４にて、ＣＰＵ２０１は、操作物１５０の状態情報を算出する。ステップＳ５にて、ＣＰＵ２０１は、背景１２０の表示を制御する。ステップＳ６にて、ＣＰＵ２０１は、障害オブジェクトＰの表示を制御する。ステップＳ７にて、ＣＰＵ２０１は、操作物１５０の状態情報に基づいて、カーソル１１１の表示を制御する。
【０１８７】
ステップＳ８にて、ＣＰＵ２０１は、カーソル１１１の座標情報に基づいて、人魚１１２の表示を制御する（式（３）〜式（１２）参照）。ステップＳ９にて、ＣＰＵ２０１は、体力ゲージ１３１の表示を制御する。
【０１８８】
ステップＳ１０にて、ＣＰＵ２０１は、「Ｍ」が所定値「Ｋ」より小さいかどうかを判断する。ＣＰＵ２０１は、「Ｍ」が所定値「Ｋ」以上である場合、ステップＳ１１に進み、「Ｍ」に「０」を代入して、ステップＳ１２に進む。一方、ＣＰＵ２０１は、「Ｍ」が所定値「Ｋ」より小さい場合、ステップＳ１０からステップＳ１２に進む。この「Ｍ」については、後述の説明の中で明らかになる。
【０１８９】
ステップＳ１２では、ＣＰＵ２０１は、ビデオ同期の割込み待ちかどうかを判断する。ＣＰＵ２０１は、テレビジョンモニタ９０の表示画面を更新するための画像情報を、垂直ブランキング期間の開始後にグラフィックプロセッサ２０２に与える。従って、表示画面を更新するための演算処理が完了したら、ビデオ同期割込みがあるまで処理を進めないようにしている。ステップＳ１２で「ＹＥＳ」であれば、即ち、ビデオ同期の割込み待ちであれば（ビデオ同期信号による割り込みがなければ）、同じステップＳ１２に戻る。一方、ステップＳ１２で「ＮＯ」であれば、即ち、ビデオ同期の割込み待ちでなければ（ビデオ同期信号による割り込みがあれば）、ステップＳ１３に進む。
【０１９０】
ステップＳ１３にて、ＣＰＵ２０１は、ステップＳ５〜ステップＳ９の結果に基づいて、ゲーム画面（図１１〜図１３参照）の生成に必要な画像情報を、グラフィックプロセッサ２０２に与える（画像表示処理）。そして、処理は、ステップＳ２に進む。
【０１９１】
図３０は、図２９のステップＳ１の初期設定処理の流れの１例を示すフローチャートである。図３０に示すように、ステップＳ２０にて、ＣＰＵ２０１は、イメージセンサ４３の初期設定処理を実行する。ステップＳ２１にて、ＣＰＵ２０１は、各種フラグ及び各種カウンタを初期化する。ステップＳ２２にて、ＣＰＵ２０１は、タイマ回路２１０を発音のための割込み源としてセットする。なお、割込み処理により、サウンドプロセッサ２０３による処理が実行されて、テレビジョンモニタ９０のスピーカから楽曲が出力される。
【０１９２】
図３１は、図３０のステップＳ２０のセンサ初期設定処理の流れの１例を示すフローチャートである。図３１に示すように、最初のステップＳ３０では、高速プロセッサ２００は、設定データとして、コマンド“ＣＯＮＦ”を設定する。ただし、このコマンド“ＣＯＮＦ”は、イメージセンサ４３に、高速プロセッサ２００からコマンドを送信する設定モードに入ることを知らせるためのコマンドである。そして、次のステップＳ３１にて、コマンド送信処理を実行する。
【０１９３】
図３２は、図３１のステップＳ３１のコマンド送信処理の流れの１例を示すフローチャートである。図３２に示すように、最初のステップＳ４０では、高速プロセッサ２００は、設定データ（ステップＳ３１の場合はコマンド“ＣＯＮＦ”）をレジスタデータ（Ｉ／Ｏポート）に設定し、次のステップＳ４１でレジスタ設定クロックＣＬＫ（Ｉ／Ｏポート）をローレベルに設定する。その後、ステップＳ４２で規定時間待機した後、ステップＳ４３で、レジスタ設定クロックＣＬＫをハイレベルに設定する。そして、さらにステップＳ４４での規定時間の待機の後、ステップＳ４５でレジスタ設定クロックＣＬＫを再びローレベルに設定する。
【０１９４】
このようにして、図３３に示すように、規定時間の待機を行いながら、レジスタ設定クロックＣＬＫをローレベル，ハイレベルそしてローレベルとすることによって、コマンド（コマンドまたはコマンド＋データ）の送信処理が行われる。
【０１９５】
図３１の説明に戻る。ステップＳ３２では、ピクセルモードを設定するとともに、露光時間の設定を行う。この実施の形態の場合、イメージセンサ４３は先に述べたようにたとえば３２ピクセル×３２ピクセルのＣＭＯＳイメージセンサであるため、設定アドレス“０”のピクセルモードレジスタに３２ピクセル×３２ピクセルであることを示す“０ｈ”を設定する。次のステップＳ３３において、高速プロセッサ２００は、レジスタ設定処理を実行する。
【０１９６】
図３４は、図３１のステップＳ３３のレジスタ設定処理の流れの１例を示すフローチャートである。図３４に示すように、最初のステップＳ５０では、高速プロセッサ２００は、設定データとして、コマンド“ＭＯＶ”＋アドレスを設定し、次のステップＳ５１で、図３２で先に説明したコマンド送信処理を実行して、それを送信する。次にステップＳ５２において、高速プロセッサ２００は、設定データとして、コマンド“ＬＤ”＋データを設定し、次のステップＳ５３でコマンド送信処理を実行して、それを送信する。そして、ステップＳ５４で、高速プロセッサ２００は、設定データとして、コマンド“ＳＥＴ”を設定し、次のステップＳ５５でそれを送信する。なお、コマンド“ＭＯＶ”は制御レジスタのアドレスを送信することを示すコマンドで、コマンド“ＬＤ”はデータを送信することを示すコマンドで、コマンド“ＳＥＴ”はデータをそのアドレスに実際に設定させるためのコマンドである。なお、この処理は、設定する制御レジスタが複数ある場合には、繰り返し実行される。
【０１９７】
図３１の説明に戻る。ステップＳ３４では、設定アドレスを“１”（露光時間設定レジスタのローニブルのアドレスを示す）とし、最大露光時間を示す“ＦＦｈ”のローニブルデータ“Ｆｈ”を設定すべきデータとして設定する。そして、ステップＳ３５で図３４のレジスタ設定処理を実行する。同様にして、ステップＳ３６において、設定アドレスを“２”（露光時間設定レジスタのハイニブルのアドレスを示す）とし、最大露光時間を示す“ＦＦｈ”のハイニブルデータ“Ｆｈ”を設定すべきデータとして設定し、ステップＳ３７でレジスタ設定処理を実行する。
【０１９８】
その後、ステップＳ３８で設定終了を示しかつイメージセンサ４３にデータの出力を開始させるためのコマンド“ＲＵＮ”を設定し、ステップＳ３９で送信する。このようにして、図３０に示すステップＳ２０でのセンサ初期設定処理が実行される。ただし、図３１〜図３４に示す具体例は、使用されるイメージセンサ４３の仕様に応じて、適宜変更され得るものである。
【０１９９】
図３５は、図２９のステップＳ４の状態情報算出処理の流れの１例を示すフローチャートである。図３５に示すように、ステップＳ６０にて、ＣＰＵ２０１は、ＡＤＣ２０８からデジタルのピクセルデータを取得する。このデジタルのピクセルデータは、イメージセンサ４３からのアナログのピクセルデータが、ＡＤＣ２０８により、デジタルに変換されたものである。
【０２００】
ステップＳ６１にて、注目点抽出処理が実行される。具体的には、ＣＰＵ２０１が、赤外発光ダイオード１５の発光時のピクセルデータと消灯時のピクセルデータとの差分を算出して、差分データを得る。そして、ＣＰＵ２０１が、その差分データの最大値を検出して、所定の閾値Ｔｈと比較する。さらに、ＣＰＵ２０１は、差分データの最大値が所定の閾値Ｔｈを超えている場合は、その最大値の差分データを持つピクセルの座標を算出する。そして、さらに、ＣＰＵ２０１は、以上のようにして算出した座標の移動平均を求め、これをテレビジョンモニタ９０のスクリーン９１上の座標に変換し、操作物１５０の注目点の座標（Ａｘ[Ｍ]，Ａｙ［Ｍ］）とする。
【０２０１】
図３６は、図３５のステップＳ６０のピクセルデータ群取得処理の流れの１例を示すフローチャートである。図３６に示すように、最初のステップＳ７０で、ＣＰＵ２０１は、ピクセルデータ配列の要素番号としてＸに「−１」、Ｙに「０」を設定する。本実施の形態におけるピクセルデータ配列は、Ｘ＝０〜３１、Ｙ＝０〜３１の２次元配列であるが、前述のように各行の先頭ピクセルのデータとしてダミーデータが出力されるので、Ｘの初期値として「−１」が設定される。続くステップＳ７１では、ピクセルデータの取得処理を実行する。
【０２０２】
図３７は、図３６のステップＳ７１のピクセルデータ取得処理の流れの１例を示すフローチャートである。図３７に示すように、最初のステップＳ８０で、ＣＰＵ２０１は、イメージセンサ４３からのフレームステータスフラグ信号ＦＳＦをチェックし、ステップＳ８１でそのアップエッジ（ローレベルからハイレベルへの）が発生したかどうか判断する。そして、ステップＳ８１でフラグ信号ＦＳＦのアップエッジを検出すると、次のステップＳ８２において、ＣＰＵ２０１は、ＡＤＣ２０８に入力されてきたアナログのピクセルデータのデジタルデータへの変換の開始を指示する。その後、ステップＳ８３でイメージセンサ４３からのピクセルストローブＰＤＳをチェックし、ステップＳ８４でそのストローブ信号ＰＤＳのローレベルからハイレベルへのアップエッジが発生したかどうか判断する。
【０２０３】
ステップＳ８４で“ＹＥＳ”が判断されると、ＣＰＵ２０１は、ステップＳ８５において、Ｘ＝−１かどうか、すなわち先頭ピクセルかどうか判断する。先に述べたように、各行の先頭ピクセルはダミーピクセルとして設定されているので、このステップＳ８５で“ＹＥＳ”が判断されると、次のステップＳ８７でそのときのピクセルデータを取得しないで、要素番号Ｘをインクリメントする。
【０２０４】
ステップＳ８５で“ＮＯ”が判断されると、行の第２番目以降のピクセルデータであるので、ステップＳ８６およびＳ８８において、そのときのピクセルデータを取得し、テンポラリレジスタ（図示せず）にそのピクセルデータを格納する。その後、図３６のステップＳ７２に進む。
【０２０５】
図３６のステップＳ７２では、テンポラリレジスタに格納されたピクセルデータをピクセルデータ配列Ｐ［Ｙ］［Ｘ］に代入する。
【０２０６】
続くステップＳ７３でＸをインクリメントする。Ｘが３２に満たない場合、前述のＳ７１からＳ７３の処理を繰り返し実行する。Ｘが３２の場合、すなわちピクセルデータの取得が行の終端に到達した場合には、続くステップＳ７５でＸに「−１」を設定し、ステップＳ７６でＹをインクリメントし、次の行の先頭からピクセルデータの取得処理を繰り返す。
【０２０７】
ステップＳ７７でＹが３２の場合、すなわちピクセルデータの取得がピクセルデータ配列Ｐ［Ｙ］［Ｘ］の終端に到達した場合、図３５のステップＳ６１に進む。
【０２０８】
図３８は、図３５のステップＳ６１の注目点抽出処理の流れの１例を示すフローチャートである。図３８に示すように、ステップＳ９０にて、ＣＰＵ２０１は、イメージセンサ４３からの、赤外発光ダイオード１５の点灯時のピクセルデータと、赤外発光ダイオード１５の消灯時のピクセルデータと、の差分を算出して、差分データを得る。ステップＳ９１にて、ＣＰＵ２０１は、配列Ｄｉｆ［Ｘ］[Ｙ]に、算出した差分データを代入する。ここで、実施の形態では、３２ピクセル×３２ピクセルのイメージセンサ４３を用いているため、Ｘ＝０〜３１、Ｙ＝０〜３１、である。
【０２０９】
ステップＳ９２にて、ＣＰＵ２０１は、配列Ｄｉｆ［Ｘ］［Ｙ］の全要素をスキャンして、その最大値を検出する。ＣＰＵ２０１は、最大値が所定の閾値Ｔｈより大きい場合は、ステップＳ９４に進み、所定の閾値Ｔｈ以下の場合は、図２９のステップＳ１０に進む（ステップＳ９３）。
【０２１０】
ステップＳ９４にて、ＣＰＵ２０１は、その最大値の座標を基に、操作物１５０の注目点の座標（Ｘｃ，Ｙｃ）を算出する。ステップＳ９５にて、ＣＰＵ２０１は、回数Ｍの値を１つインクリメントする（Ｍ＝Ｍ＋１）。
【０２１１】
ステップＳ９６にて、ＣＰＵ２０１は、座標Ｘｃ及びＹｃをそれぞれ、配列ＰＸ［Ｍ］及びＰＹ［Ｍ］に代入する。ステップＳ９７にて、ＣＰＵ２０１は、操作物１５０の注目点（Ｘｃ，Ｙｃ）の移動平均（ＡＸ［Ｍ］，ＡＹ［Ｍ］）を算出する。ステップＳ９８にて、ＣＰＵ２０１は、イメージセンサ４３上の注目点の平均座標（ＡＸ［Ｍ］，ＡＹ［Ｍ］）を、テレビジョンモニタ９０のスクリーン９１上の座標（ｘｃ，ｙｃ）に変換する。
【０２１２】
図３９は、図３８のステップＳ９４の注目点座標算出処理の流れの１例を示すフローチャートである。図３９に示すように、ステップＳ１００にて、ＣＰＵ２０１は、「ｍ」及び「ｎ」にそれぞれ、ステップＳ９２で求めた最大値のＸ座標及びＹ座標を代入する。ステップＳ１０１にて、ＣＰＵ２０１は、「ｍ」を１つインクリメントする（ｍ＝ｍ＋１）。ＣＰＵ２０１は、差分データＤｉｆ［ｍ］［ｎ］が、所定の閾値Ｔｈより大きい場合は、ステップＳ１０３に進み、そうでない場合は、ステップＳ１０４に進む（ステップＳ１０２）。ステップＳ１０３にて、ＣＰＵ２０１は、「ｍｒ」にそのときの「ｍ」を代入する。このように、ステップＳ１０１〜Ｓ１０３を繰り返しながら、最大値からＸ軸の正方向にスキャンを実行して、値が所定の閾値Ｔｈを超える一番端の差分データのＸ座標を求める。
【０２１３】
ステップＳ１０４にて、ＣＰＵ２０１は、「ｍ」に、ステップＳ９２で求めた最大値のＸ座標を代入する。ステップＳ１０５にて、ＣＰＵ２０１は、「ｍ」を１つデクリメントする。ＣＰＵ２０１は、差分データＤｉｆ［ｍ］［ｎ］が、所定の閾値Ｔｈより大きい場合は、ステップＳ１０７に進み、そうでない場合は、ステップＳ１０８に進む（ステップＳ１０６）。ステップＳ１０７にて、ＣＰＵ２０１は、「ｍｌ」にそのときの「ｍ」を代入する。このように、ステップＳ１０５〜Ｓ１０７を繰り返しながら、最大値からＸ軸の負方向にスキャンを実行して、値が所定の閾値Ｔｈを超える一番端の差分データのＸ座標を求める。
【０２１４】
ステップＳ１０８にて、ＣＰＵ２０１は、Ｘ座標ｍｒとＸ座標ｍｌとの中心座標を算出して、それを、注目点のＸ座標（Ｘｃ）とする。ステップＳ１０９にて、ＣＰＵ２０１は、「ｍ」及び「ｎ」にそれぞれ、ステップＳ１０８で求めた「Ｘｃ」およびステップＳ９２で求めた最大値のＹ座標を代入する。ステップＳ１１０にて、ＣＰＵ２０１は、「ｎ」を１つインクリメントする（ｎ＝ｎ＋１）。ＣＰＵ２０１は、差分データＤｉｆ［ｍ］［ｎ］が、所定の閾値Ｔｈより大きい場合は、ステップＳ１１２に進み、そうでない場合は、ステップＳ１１３に進む（ステップＳ１１１）。ステップＳ１１２にて、ＣＰＵ２０１は、「ｎｄ」にそのときの「ｎ」を代入する。このように、ステップＳ１１０〜Ｓ１１２を繰り返しながら、最大値からＹ軸の正方向にスキャンを実行して、値が所定の閾値Ｔｈを超える一番端の差分データのＹ座標を求める。
【０２１５】
ステップＳ１１３にて、ＣＰＵ２０１は、「ｎ」に、ステップＳ９２で求めた最大値のＹ座標を代入する。ステップＳ１１４にて、ＣＰＵ２０１は、「ｎ」を１つデクリメントする。ＣＰＵ２０１は、差分データＤｉｆ［ｍ］［ｎ］が、所定の閾値Ｔｈより大きい場合は、ステップＳ１１６に進み、そうでない場合は、ステップＳ１１７に進む（ステップＳ１１５）。ステップＳ１１６にて、ＣＰＵ２０１は、「ｎｕ」にそのときの「ｎ」を代入する。このように、ステップＳ１１４〜Ｓ１１６を繰り返しながら、最大値からＹ軸の負方向にスキャンを実行して、値が所定の閾値Ｔｈを超える一番端の差分データのＹ座標を求める。
【０２１６】
ステップＳ１１７にて、ＣＰＵ２０１は、Ｙ座標ｎｄとＹ座標ｎｕとの中心座標を算出して、それを、注目点のＹ座標（Ｙｃ）とする。以上のようにして、操作物１５０の注目点の座標（Ｘｃ，Ｙｃ）が算出される。
【０２１７】
図４０は、図２９のステップＳ８の追従オブジェクト制御処理の流れの１例を示すフローチャートである。図４０に示すように、ステップＳ１４０にて、ＣＰＵ２０１は、式（３）及び式（４）により、人魚１１２の表示座標（ｘｍ[Ｍ]，ｙｍ[Ｍ]）を算出して登録する。
【０２１８】
ステップＳ１４１にて、ＣＰＵ２０１は、衝突フラグを参照して、現在表示中のフレームにおいて、人魚１１２が、障害画像Ｑあるいは障害オブジェクトＰに衝突したか否かを確認する。その結果、ＣＰＵ２０１は、衝突フラグがオンの場合は、ステップＳ１５１に進み、オフの場合は、ステップＳ１４２に進む（ステップＳ１４１）。
【０２１９】
ステップＳ１４２にて、ＣＰＵ２０１は、人魚１１２のｘ方向の移動距離ｍｘと所定値ｘｒとを比較する。また、ＣＰＵ２０１は、人魚１１２のｙ方向の移動距離ｍｙと所定値ｙｒとを比較する。ステップＳ１４３にて、ＣＰＵ２０１は、ステップＳ１４２の比較結果に基づいて、角度フラグをセットする（図２２（ａ）参照）。
【０２２０】
ステップＳ１４４にて、ＣＰＵ２０１は、人魚１１２の速度ベクトル（Ｖｘｍ[Ｍ]，Ｖｙｍ[Ｍ]）の符号を判定する。ステップＳ１４５にて、ＣＰＵ２０１は、ステップＳ１４４の結果に基づいて、方向フラグをセットする（図２２（ｂ）参照）。
【０２２１】
ステップＳ１４６にて、ＣＰＵ２０１は、角度フラグ及び方向フラグを参照して、移動方向情報を決定する（図２２（ｃ）参照）。ステップＳ１４７にて、ＣＰＵ２０１は、決定した移動方向情報に従って、アニメーションテーブル格納位置情報を登録する（図２４参照）。
【０２２２】
さて、一方、ステップＳ１５１にて、ＣＰＵ２０１は、人魚１１２が衝突したものが、障害画像Ｑが否かを判定する。判定の結果、ＣＰＵ２０１は、障害画像Ｑに衝突した場合は、ステップＳ１５２に進み、そうでない場合、即ち、障害オブジェクトＰに衝突した場合は、ステップＳ１５３に進む。
【０２２３】
ステップＳ１５２にて、ＣＰＵ２０１は、背景１２０のスクロール速度を基に、再び人魚１１２の表示座標を算出し、そして、再登録する。より具体的は、ＣＰＵ２０１は、人魚１１２のｘ座標に、スクロール速度のｘ成分を加えたものを、人魚１１２の新たなｘ座標とする。なお、人魚のｙ座標は、前回のｙ座標を維持する。一方、ステップＳ１５３にて、ＣＰＵ２０１は、現在表示中の人魚１１２の座標を再登録する。
【０２２４】
ステップＳ１５４にて、ＣＰＵ２０１は、人魚１１２が衝突した際に使用するアニメーションテーブルの格納位置情報を登録する。ステップＳ１５５にて、ＣＰＵ２０１は、衝突フラグをオフにする。
【０２２５】
ステップＳ１４８にて、ＣＰＵ２０１は、ステップＳ１４０で算出した人魚１１２の座標をもとに、人魚１１２と、障害画像Ｑ及び障害オブジェクトＰと、の間での衝突判定を行う（図２６及び図２７参照）。そして、ＣＰＵ２０１は、衝突したと判定したときは、衝突フラグをオンにする。
【０２２６】
さて、以上のように本実施の形態では、操作物１５０自体の動きに連動して、カーソル１１１（連動オブジェクト）が移動するため、カーソル１１１の直感的な操作が可能となって、容易な操作によりゲームを行うことができる。
【０２２７】
また、カーソル１１１は操作物１５０のスクリーン９１上の位置を表すものであるため、カーソル１１１の動きは操作物１５０に同期あるいはほぼ同期している必要がある。このため、カーソル１１１の制御は、操作物１５０の動きに拘束される。一方、人魚１１２（追従オブジェクト）はカーソル１１１の動きに追従するものであるため、どのような態様でカーソル１１１に追従させるかは任意に決定できる。従って、人魚１１２の動きに趣向をこらすことができ、視覚的効果を大きくすることができる。本実施の形態では、人魚１１２の動きに、カーソル１１１との位置関係で決定される加速度、および、人魚１１２の速度に応じた抵抗、を加味して、人魚１１２があたかも水中を移動しているかのような視覚的効果を与えている（式（３）及び式（４）参照）。
【０２２８】
また、本実施の形態では、ＣＰＵ２０１は、体力ゲージ１３１（プレイヤ９４がゲームを継続できる指標となる情報）を管理して、体力ゲージ１３１に基づいて、ゲームを終了させる。つまり、本実施の形態では、体力ゲージ１３１のバー１０３の長さが「０」になったら、ゲームオーバーとなる。このようにすれば、プレイヤ９４は、無制限にゲームを実行できなくなるので、緊張感が増して、より面白みを増すことができる。
【０２２９】
さらに、本実施の形態では、人魚１１２が制限画像（障害オブジェクトＰあるいは障害画像Ｑ）が表示される領域に接触あるいは侵入したときに、体力ゲージ１３１を、第１の規則（原則的な規則）ではない第２の規則（プレイヤ９４に不利な例外的な規則）に従って変更する。つまり、本実施の形態では、このような場合、体力ゲージ１３１のバー１０３が急激に短くなる。このようにすれば、プレイヤ９４は、その制限画像を回避するように、カーソル１１１を介して人魚１１２を操作する必要があり、より一層面白みが増す。
【０２３０】
さらに、本実施の形態では、人魚１１２が、アイテム１１０，１２６が表示される領域に接触あるいは侵入したときに、体力ゲージ１３１を、第１の規則（原則的な規則）ではない第３の規則（プレイヤ９４に有利な例外的な規則）に従って変更する。つまり、本実施の形態では、このような場合、体力ゲージ１３１のバー１０３を所定長だけ長くする。このようにすれば、プレイヤ９４は、そのアイテム１１０，１２６を取得するように、カーソル１１１を介して人魚１１２を操作する必要があり、より一層面白みが増す。
【０２３１】
さらに、本実施の形態では、背景１２０に障害画像Ｑが含まれため、背景１２０のスクロール制御と障害画像Ｑの制御とが同義である。このため、障害画像Ｑの表示制御が容易になる。
【０２３２】
さらに、本実施の形態では、障害オブジェクトＰを、単数又は複数のスプライトにより構成しているため、障害オブジェクトＰの詳細な表示制御が可能となって、ゲーム内容の設計の自由度が大きくなる。
【０２３３】
さらに、本実施の形態では、操作物１５０の状態情報として、速さ情報、移動方向情報、移動距離情報、速度ベクトル情報、加速度情報、移動軌跡情報、面積情報、若しくは、位置情報、のいずれか、又は、それらの２以上の組み合わせ、を利用できる。このため、操作物１５０の様々な情報を利用して、カーソル１１１及び人魚１１２を制御できるため、ゲーム内容の設計の自由度が大きくなる。
【０２３４】
さらに、本実施の形態では、操作物１５０に間欠的に光を照射して、これを撮影することにより、操作物１５０の状態情報を求める。このため、操作物１５０の状態情報を求めるために、操作物１５０に電源により駆動する回路を内蔵する必要がない。よって、操作物１５０の操作性及び信頼性の向上を図ることができ、また、コストの低減を図ることができる。
【０２３５】
さて、次に、本実施の形態の変形例を説明する。図４１は、本実施の形態の変形例におけるゲーム画面の例示図である。なお、図４１において、図１１と同様の部分については、同一の参照符号を付している。図４１に示すように、テレビジョンモニタ９０のスクリーン９１に表示されるゲーム画面は、迷路であり、この迷路は、通路１３３及び壁１３４を含む。プレイヤ９４は、操作物１５０を操作して、ゲーム画面のカーソル１３５を操作する。このカーソル１３５は、図１１〜図１３のカーソル１１１と同様のものであり、操作物１５０に連動する。なお、カーソル１３５の制御は、カーソル１１１の制御と同様である。
【０２３６】
プレイヤ９４は、操作物１５０によりカーソル１３５を操作して通路１３３を進んでいく。スクリーン９１の右端あるいは左端までカーソル１３５が移動したら、ゲーム画面がスクロールされる。なお、スクロール制御については、上記の実施の形態と同様である。従って、このゲーム画面は、バックグラウンドスクリーン１４０として構成される（図１５参照）。
【０２３７】
図４２は、図４１のゲーム画面における衝突判定の説明図である。図４２に示すように、バックグラウンドスクリーン１４０のうち、スクリーン９１に表示された領域（２８×３２ブロック）を考える。そして、この２８×３２ブロックに対応した配列ＪＡ［０］〜ＪＡ［８９５］を用意する。なお、配列ＪＡ［０］〜ＪＡ［８９５］を包括して表現するときは、配列ＪＡと表記する。ここで、通路１３３を構成するブロックに対応する配列ＪＡには、「０」を代入し、壁１３４を構成するブロックに対応する配列ＪＡには、「１」を代入する。
【０２３８】
ＣＰＵ２０１は、操作物１５０の注目点が位置するブロックに対応する配列ＪＡの要素をチェックする。そして、ＣＰＵ２０１は、該当する配列ＪＡの要素が「１」ならば、以下のようにして、カーソル１３５を壁１３４まで移動させる。つまり、カーソル１３５は、壁１３４を越えて移動することはできない。
【０２３９】
図４３は、図４１のカーソル１３５が壁１３４に衝突した場合の座標算出の説明図である。図４３に示すように、例えば、要素が「１」の配列ＪＡ[１０]に対応するブロック１４９を考える。そして、注目点の前回の位置が点Ａであり、注目点の今回の位置が点Ｂであるとする。この場合は、まず、ＣＰＵ２０１は、直線ＡＢが、直線ａｂ、直線ｂｃ、直線ｃｄおよび直線ｄａのいずれと交わるかを算出する。つまり、２つのベクトル外積が「０」であれば、その２つのベクトルの交点は存在しない。
【０２４０】
次に、ＣＰＵ２０１は、直線ＡＢが交差する直線ａｃと直線ＡＢとの交点Ｉを算出する。そして、ＣＰＵ２０１は、この交点Ｉの座標を、カーソル１３５の今回の表示座標とする。こうすれば、カーソル１３５が、壁１３４に進入することはない。
【０２４１】
この変形例によれば、実施の形態と同様に、操作物１５０自体の動きに連動して、カーソル１３５が移動するため、カーソル１３５の直感的な操作が可能となって、容易な操作により迷路ゲームを行うことができる。
【０２４２】
なお、カーソル１３５を中心とした所定範囲だけを、スポットを当てたように視認できるようにして、他の領域を暗くするようにすることもできる。こうすれば、迷路が単純だったとしても、難易度が高くなり、より面白みが増す。
【０２４３】
また、上記の例では、カーソル１３５を操作物１５０により操作して、迷路を移動させたが、図１１等に示したように、カーソル１３５とは別に、追従オブジェクトを表示して、この追従オブジェクトをカーソル１３５を介して操作し、迷路を移動するようにすることもできる。この場合、例えば、カーソル１３５の制御は実施の形態と同様とし、追従オブジェクトの制御は、人魚１１２の制御と同様とすることができる。
【０２４４】
さて、上記では、操作物１５０の注目点が、要素が「１」の配列ＪＡに対応するブロックに進入した場合は、カーソル１３５を、通路１３３と壁１３４との境界まで移動させることとして、カーソル１３５の動きを通路１３３内に規制した。しかし、他の例として、操作物１５０の注目点の位置が、要素が「１」の配列ＪＡに対応するブロック１４９にある場合は、ゲームオーバーとすることもできる。従って、この場合、プレイヤ９４は、壁１３４に接触しないように、カーソル１３５を操作しなければならない。なお、この場合も、図１１等に示したように、カーソル１３５とは別に、追従オブジェクトを表示して、この追従オブジェクトをカーソル１３５を介して操作し、迷路を移動するようにすることもできる。
【０２４５】
この変形例によれば、実施の形態と同様に、操作物１５０自体を動かして、カーソル１３５を操作できるため、障害物に相当する壁１３４がスクリーン９１上に存在するにもかかわらず、あたかも、実空間に存在する障害物を回避しながら、操作物１５０を動かしているような印象をプレイヤ９４に与えることができる。また、実空間に存在する障害物を回避する内容のゲーム装置と比較して、コストの低減、および、省スペース化、を図ることができる。
【０２４６】
なお、本発明は、上記の実施の形態に限られるものではなく、その要旨を逸脱しない範囲で種々の態様において実施することが可能であり、例えば、以下のような変形も可能である。
【０２４７】
（１）実施の形態では、追従オブジェクトとしての人魚１１２をカーソル１１１（連動オブジェクト）に追従させた。しかし、追従オブジェクトとしての人魚１１２を表示せず、カーソル１１１として、人魚１１２を表示することもできる。この場合は、プレイヤ９４は、操作物１５０を操作して、カーソル１１１としての人魚１１２を移動させることになる。このように、この例では、プレイヤ９４は、操作物１５０により直接的に人魚１１２を操作することになる。なお、実施の形態では、プレイヤ９４は、操作物１５０によりカーソル１１１を介して間接的に人魚１１２を操作する。
【０２４８】
（２）実施の形態では、操作物として、スティック１５２および反射ボール１５１からなる操作物１５０を採用したが、反射体（例えば、再帰反射シート）を具備するのもであれば、操作物の形態はこれに限定されない。
【０２４９】
（３）実施の形態では、図２０（ａ）〜図２０（ｄ）に示すようにして、操作物１５０の注目点の座標を算出したが、所定の閾値Ｔｈを超える最大輝度値を持つピクセルの座標を、スクリーン９１上の座標に変換して、これを注目点の座標とすることもできる。
【０２５０】
（４）図６の高速プロセッサ２００として、任意の種類のプロセッサを使用できるが、本件出願人が既に特許出願している高速プロセッサを用いることが好ましい。この高速プロセッサは、例えば、特開平１０−３０７７９０号公報およびこれに対応するアメリカ特許第６，０７０，２０５号に詳細に開示されている。
【符号の説明】
【０２５１】
１…ゲーム装置、１３…撮像ユニット、１５…赤外発光ダイオード、１７…赤外フィルタ、１９…ハウジング、３５…ユニットベース、３６…支持筒、３７…凸レンズ、３９…凹レンズ、４１…開口部、４３…イメージセンサ、４７…映像信号出力端子、４９…音声信号出力端子、５１…ＲＯＭ、５３…バス、５９…基準電圧発生回路、６１，８１…ＮＰＮトランジスタ、６７…微分回路、７１…コンデンサ、７５…ＬＥＤ駆動回路、７７…ＰＮＰトランジスタ、６５，６９，７３，７９…抵抗素子、９０…テレビジョンモニタ、９１…スクリーン、９２…ＡＣアダプタ、９３…ＡＶケーブル、９４…プレイヤ、１０１，１０２…マスク、１０３…バー、１０４〜１０９，１２１〜１２５，Ｐ…障害オブジェクト、１１０，１２６…アイテム、１１１，１３５…カーソル、１１２…追従オブジェクト、１１３〜１１７，Ｑ…障害画像、１２０…背景、１３１…体力ゲージ、１３３…通路、１３４…壁、１４０…バックグラウンドスクリーン、１４９…ブロック、１５０…操作物、１５１…反射ボール、１５２…スティック、１５３…球状外殻、１５４…球状内殻、１５５…反射シート、１５６，１５７…ボス、２００…高速プロセッサ、２０１…ＣＰＵ、２０２…グラフィックプロセッサ、２０３…サウンドプロセッサ、２０４…ＤＭＡコントローラ、２０５…第１バス調停回路、２０６…第２バス調停回路、２０７…内部メモリ、２０８…ＡＤＣ（Ａ／Ｄコンバータ）、２０９…入出力制御回路、２１０…タイマ回路、２１１…ＤＲＡＭリフレッシュ制御回路、２１２…外部メモリインタフェース回路、２１３…クロックドライバ、２１４…ＰＬＬ回路、２１５…低電圧検出回路、２１６…水晶振動子、２１７…バッテリ、２１８…第１バス、２１９…第２バス、３００…ゲームプログラム、３０１…画像データ、３０２…オブジェクト画像データ、３０３…背景画像データ、３０４…楽音データ、３０５…楽譜データ、３０６…波形データ。
【図１】
2010279742.tif 000003
【図２】
2010279742.tif 000004
【図３】
2010279742.tif 000005
【図４】
2010279742.tif 000006
【図５】
2010279742.tif 000007
【図６】
2010279742.tif 000008
【図７】
2010279742.tif 000009
【図８】
2010279742.tif 000010
【図９】
2010279742.tif 000011
【図１０】
2010279742.tif 000012
【図１１】
2010279742.tif 000013
【図１２】
2010279742.tif 000014
【図１３】
2010279742.tif 000015
【図１４】
2010279742.tif 000016
【図１５】
2010279742.tif 000017
【図１６】
2010279742.tif 000018
【図１７】
2010279742.tif 000019
【図１８】
2010279742.tif 000020
【図１９】
2010279742.tif 000021
【図２０】
2010279742.tif 000022
【図２１】
2010279742.tif 000023
【図２２】
2010279742.tif 000024
【図２３】
2010279742.tif 000025
【図２４】
2010279742.tif 000026
【図２５】
2010279742.tif 000027
【図２６】
2010279742.tif 000028
【図２７】
2010279742.tif 000029
【図２８】
2010279742.tif 000030
【図２９】
2010279742.tif 000031
【図３０】
2010279742.tif 000032
【図３１】
2010279742.tif 000033
【図３２】
2010279742.tif 000034
【図３３】
2010279742.tif 000035
【図３４】
2010279742.tif 000036
【図３５】
2010279742.tif 000037
【図３６】
2010279742.tif 000038
【図３７】
2010279742.tif 000039
【図３８】
2010279742.tif 000040
【図３９】
2010279742.tif 000041
【図４０】
2010279742.tif 000042
【図４１】
2010279742.tif 000043
【図４２】
2010279742.tif 000044
【図４３】
2010279742.tif 000045