(57)【特許請求の範囲】
【請求項１】
タッチパネルからの入力を受け取り可能な情報処理装置のコンピュータで実行される情報処理プログラムであって、
前記コンピュータに、
前記タッチパネルによって指示された指示座標を記憶手段に記憶する指示座標記憶ステップ、
前記指示座標記憶ステップによって記憶された指示座標に基づいて、タッチ操作のタイミングと当該タッチ操作の種類とを決定するタッチ操作決定ステップ、
予め定められたタッチ操作のタイミングおよびタッチ操作の種類と、前記タッチ操作決定ステップによって決定されたタッチ操作のタイミングおよびタッチ操作の種類との比較を行うタッチ操作比較ステップ、および
前記タッチ操作比較ステップによって比較された結果に応じて所定の処理を実行する処理実行ステップを実行させ
前記コンピュータは、
前記タッチ操作比較ステップおよび前記処理実行ステップを第１タスクで実行し、
前記指示座標記憶ステップおよび前記タッチ操作決定ステップを前記第１タスクとは異なる第２タスクで実行し、
前記第２タスクの処理周期は、前記第１タスクの処理周期よりも短く設定される、情報処理プログラム。
【請求項２】
前記タッチパネルをタッチしている状態からタッチしていない状態へと遷移したことを判定するタッチオフ判定ステップ、および
前記タッチオフ判定ステップで遷移したと判定された際に、前記指示座標記憶ステップによって記憶された指示座標に基づいて、前記タッチオフ判定ステップで遷移したと判定される直前の前記タッチパネル上における移動量を算出する移動量算出ステップを前記コンピュータにさらに実行させ、
前記タッチ操作決定ステップは、前記移動量算出ステップによって算出された移動量の大きさに基づいて前記タッチ操作の種類を決定する、請求項１記載の情報処理プログラム。
【請求項３】
前記タッチ操作決定ステップは、前記移動量算出ステップによって算出された移動量の大きさに基づいて前記タッチ操作の種類を第１の種類または第２の種類に決定する、請求項２記載の情報処理プログラム。
【請求項４】
前記タッチパネルをタッチしていない状態からタッチしている状態へと遷移したことを判定するタッチオン判定ステップを前記コンピュータにさらに実行させ、
前記タッチ操作決定ステップは、前記タッチオン判定ステップで遷移したと判定された場合に前記タッチ操作の種類を第３の種類に決定する、請求項３記載の情報処理プログラム。
【請求項５】
前記タッチ操作決定ステップによって決定されたタッチ操作のタイミングとは、前記タッチパネルがタッチされているか否かの状態の遷移が生じたタイミングを少なくとも含む、請求項４記載の情報処理プログラム。
【請求項６】
前記タッチ操作決定ステップによって決定されたタッチ操作のタイミングは、前記タッチ操作の種類が前記第１の種類または前記第２の種類である場合には、前記タッチオフ判定ステップで遷移したと判定されたタイミングであり、前記タッチ操作の種類が前記第３の種類である場合には、前記タッチオン判定ステップで遷移したと判定されたタイミングである、請求項５記載の情報処理プログラム。
【請求項７】
前記タッチ操作決定ステップによって決定されたタッチ操作のタイミングとは、前記タッチパネルがタッチされているか否かの状態の遷移が生じたタイミングを少なくとも含む、請求項１または２記載の情報処理プログラム。
【請求項８】
前記タッチ操作決定ステップによって決定されたタッチ操作のタイミングとタッチ操作の種類とを前記記憶手段に記憶するタッチ操作バッファ記憶ステップ、および
前記タッチ操作比較ステップおよび前記処理実行ステップが実行された後に、前記記憶手段に記憶されたタッチ操作のタイミングとタッチ操作の種類とを消去するタッチ操作バッファ消去ステップを前記コンピュータにさらに実行させ、
前記タッチ操作比較ステップおよび前記処理実行ステップは、前記記憶手段に記憶されたすべてのタッチ操作のタイミングとタッチ操作の種類とを処理対象とする、請求項１ないし７のいずれかに記載の情報処理プログラム。
【請求項９】
前記処理実行ステップは、前記タッチ操作比較ステップによって比較された結果に応じて、前記タッチ操作を評価する評価ステップを含み、前記評価ステップの評価に応じて前記所定の処理を実行する、請求項１ないし８のいずれかに記載の情報処理プログラム。
【請求項１０】
前記タッチ操作比較ステップは、予め定められたタッチ操作のタイミングおよびタッチ操作の種類と、前記タッチ操作決定ステップによって決定されたタッチ操作のタイミングおよびタッチ操作の種類との一致度を検出する一致度検出ステップを含み、
前記処理実行ステップは、前記一致度検出ステップによって検出された一致度に応じて、前記所定の処理を実行する、請求項１ないし９のいずれかに記載の情報処理プログラム。
【請求項１１】
前記評価ステップは、前記一致度検出ステップによって検出された一致度が高いほど、前記評価ステップは高い評価をする、請求項１０記載の情報処理プログラム。
【請求項１２】
予め定められたタッチ操作のタイミングとタッチ操作の種類とを教示する教示ステップを前記コンピュータにさらに実行させ、
前記タッチ操作比較ステップは、前記教示ステップによって教示されたタッチ操作のタイミングおよびタッチ操作の種類と、前記タッチ操作決定ステップによって決定されたタッチ操作のタイミングおよびタッチ操作の種類との比較を行う、請求項１ないし１１のいずれかに記載の情報処理プログラム。
【請求項１３】
前記教示ステップは、音楽および映像の少なくとも一方を出力することにより、前記予め定められたタッチ操作のタイミングとタッチ操作の種類とを教示する、請求項１２記載の情報処理プログラム。
【請求項１４】
タッチパネルからの入力を受け取り可能な情報処理装置のコンピュータで実行される情報処理プログラムであって、
前記コンピュータに、
前記タッチパネルによって指示された指示座標を記憶手段に記憶する指示座標記憶ステップ、
前記指示座標記憶ステップによって記憶された指示座標に基づいて、タッチ操作のタイミングを決定するとともに、当該タッチ操作の種類を少なくともタッチオン、タッチオフまたは弾き操作に決定するタッチ操作決定ステップ、
予め定められたタッチ操作のタイミングおよびタッチ操作の種類と、前記タッチ操作決定ステップによって決定されたタッチ操作のタイミングおよびタッチ操作の種類との比較を行うタッチ操作比較ステップ、および
前記タッチ操作比較ステップによって比較された結果に応じて所定の処理を実行する処理実行ステップを実行させ、
前記コンピュータは、
前記タッチ操作比較ステップおよび前記処理実行ステップを第１タスクで実行し、
前記指示座標記憶ステップおよび前記タッチ操作決定ステップを前記第１タスクとは異なる第２タスクで実行し、
前記第２タスクの処理周期は、前記第１タスクの処理周期よりも短く設定される、情報処理プログラム。
【請求項１５】
タッチパネルからの入力を受け取り可能な情報処理装置であって、
前記タッチパネルによって指示された指示座標を記憶手段に記憶する指示座標記憶手段、
前記指示座標記憶手段によって記憶された指示座標に基づいて、タッチ操作のタイミングと当該タッチ操作の種類とを決定するタッチ操作決定手段、
予め定められたタッチ操作のタイミングおよびタッチ操作の種類と、前記タッチ操作決定手段によって決定されたタッチ操作のタイミングおよびタッチ操作の種類との比較を行うタッチ操作比較手段、および
前記タッチ操作比較手段によって比較された結果に応じて所定の処理を実行する処理実行手段を備え、
前記情報処理装置のコンピュータは、
第１タスクにおいて前記タッチ操作比較手段および前記処理実行手段として機能し、
前記第１タスクとは異なる第２タスクにおいて前記指示座標記憶手段および前記タッチ操作決定手段として機能し、
前記第２タスクの処理周期は、前記第１タスクの処理周期よりも短く設定される、情報処理装置。
【請求項１６】
タッチパネルからの入力を受け取り可能な情報処理装置であって、
前記タッチパネルによって指示された指示座標を記憶手段に記憶する指示座標記憶手段、
前記指示座標記憶手段によって記憶された指示座標に基づいて、タッチ操作のタイミングを決定するとともに、当該タッチ操作の種類を少なくともタッチオン、タッチオフまたは弾き操作に決定するタッチ操作決定手段、
予め定められたタッチ操作のタイミングおよびタッチ操作の種類と、前記タッチ操作決定手段によって決定されたタッチ操作のタイミングおよびタッチ操作の種類との比較を行うタッチ操作比較手段、および
前記タッチ操作比較手段によって比較された結果に応じて所定の処理を実行する処理実行手段を備え、
前記情報処理装置のコンピュータは、
第１タスクにおいて前記タッチ操作比較手段および前記処理実行手段として機能し、
前記第１タスクとは異なる第２タスクにおいて前記指示座標記憶手段および前記タッチ操作決定手段として機能し、
前記第２タスクの処理周期は、前記第１タスクの処理周期よりも短く設定される、情報処理装置。
【請求項１７】
タッチパネルからの入力を受け取り可能な情報処理システムであって、
前記タッチパネルによって指示された指示座標を記憶手段に記憶する指示座標記憶手段、
前記指示座標記憶手段によって記憶された指示座標に基づいて、タッチ操作のタイミングと当該タッチ操作の種類とを決定するタッチ操作決定手段、
予め定められたタッチ操作のタイミングおよびタッチ操作の種類と、前記タッチ操作決定手段によって決定されたタッチ操作のタイミングおよびタッチ操作の種類との比較を行うタッチ操作比較手段、および
前記タッチ操作比較手段によって比較された結果に応じて所定の処理を実行する処理実行手段を備え、
前記情報処理システムのコンピュータは、
第１タスクにおいて前記タッチ操作比較手段および前記処理実行手段として機能し、
前記第１タスクとは異なる第２タスクにおいて前記指示座標記憶手段および前記タッチ操作決定手段として機能し、
前記第２タスクの処理周期は、前記第１タスクの処理周期よりも短く設定される、情報処理システム。
【請求項１８】
タッチパネルからの入力を受け取り可能な情報処理システムであって、
前記タッチパネルによって指示された指示座標を記憶手段に記憶する指示座標記憶手段、
前記指示座標記憶手段によって記憶された指示座標に基づいて、タッチ操作のタイミングを決定するとともに、当該タッチ操作の種類を少なくともタッチオン、タッチオフまたは弾き操作に決定するタッチ操作決定手段、
予め定められたタッチ操作のタイミングおよびタッチ操作の種類と、前記タッチ操作決定手段によって決定されたタッチ操作のタイミングおよびタッチ操作の種類との比較を行うタッチ操作比較手段、および
前記タッチ操作比較手段によって比較された結果に応じて所定の処理を実行する処理実行手段を備え、
前記情報処理システムのコンピュータは、
第１タスクにおいて前記タッチ操作比較手段および前記処理実行手段として機能し、
前記第１タスクとは異なる第２タスクにおいて前記指示座標記憶手段および前記タッチ操作決定手段として機能し、
前記第２タスクの処理周期は、前記第１タスクの処理周期よりも短く設定される、情報処理システム。
【請求項１９】
タッチパネルからの入力を受け取り可能なコンピュータの情報処理方法であって、
前記コンピュータは、
第１タスクにおいて、
（ａ）前記タッチパネルによって指示された指示座標を記憶手段に記憶し、
（ｂ）前記ステップ（ａ）において記憶した指示座標に基づいて、タッチ操作のタイミングと当該タッチ操作の種類とを決定し、
前記第１タスクとは異なる、かつ当該第１タスクよりも処理周期の長い第２タスクにおいて、
（ｃ）予め定められたタッチ操作のタイミングおよびタッチ操作の種類と、前記ステップ（ｂ）において決定したタッチ操作のタイミングおよびタッチ操作の種類との比較を行い、そして
（ｄ）前記ステップ（ｃ）において比較した結果に応じて所定の処理を実行する、情報処理方法。
【請求項２０】
タッチパネルからの入力を受け取り可能なコンピュータの情報処理方法であって、
前記コンピュータは、
第１タスクにおいて、
（ａ）前記タッチパネルによって指示された指示座標を記憶手段に記憶し、
（ｂ）前記ステップ（ａ）において記憶した指示座標に基づいて、タッチ操作のタイミングを決定するとともに、当該タッチ操作の種類を少なくともタッチオン、タッチオフまたは弾き操作に決定し、
前記第１タスクとは異なる、かつ当該第１タスクよりも処理周期の長い第２タスクにおいて、
（ｃ）予め定められたタッチ操作のタイミングおよびタッチ操作の種類と、前記ステップ（ｂ）において決定したタッチ操作のタイミングおよびタッチ操作の種類との比較を行い、そして
（ｄ）前記ステップ（ｃ）において比較した結果に応じて所定の処理を実行する、情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は情報処理プログラム、情報処理装置、情報処理システムおよび情報処理方法に関し、特にたとえば、タッチパネルのようなポインティングデバイスを用いた、情報処理プログラム、情報処理装置、情報処理システムおよび情報処理方法に関する。
【背景技術】
【０００２】
背景技術の一例が特許文献１に開示されている。この特許文献１によれば、音楽演奏に合わせて、ゲーム画面にマーカ画像がその位置を可変的に表示されるとともに、当該マーカ画像のタッチタイミングを示すタイマサークル画像が表示される。プレイヤは、音楽演奏を聴き、また、タイマサークル画像を見て、タイミングを計り、タッチすべきマーカ画像をタッチする。タッチのタイミングとタッチの位置とに基づいてタッチの成功または失敗を評価し、タッチの評価が失敗である場合には、ゲーム画面をぶれさせる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−３４０７４４号公報［A63F 13/00, A63F 13/12］
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１に開示された技術では、タッチ（タッチオン）の評価を行うだけであり、ユーザに求める入力のパターンに限りがあり、タッチすべきマーカ画像を可変的にゲーム画面に表示したとしても、入力が単調になりがちであった。
【０００５】
それゆえに、この発明の主たる目的は、新規な、情報処理プログラム、情報処理装置、情報処理システムおよび情報処理方法を提供することである。
【０００６】
また、この発明の他の目的は、タッチ操作のバリエーションを増加させて操作性を向上できる、情報処理プログラム、情報処理装置、情報処理システムおよび情報処理方法を提供することである。
【課題を解決するための手段】
【０００７】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【０００８】
第１の発明は、タッチパネルからの入力を受け取り可能な情報処理装置のコンピュータで実行される情報処理プログラムであって、コンピュータに、指示座標記憶ステップ、タッチ操作決定ステップ、タッチ操作比較ステップ、および処理実行ステップを実行させる。指示座標記憶ステップは、タッチパネルによって指示された指示座標を記憶手段に記憶する。タッチ操作決定ステップは、指示座標記憶ステップによって記憶された指示座標に基づいて、タッチ操作のタイミングと当該タッチ操作の種類とを決定する。タッチ操作比較ステップは、予め定められたタッチ操作のタイミングおよびタッチ操作の種類と、タッチ操作決定ステップによって決定されたタッチ操作のタイミングおよびタッチ操作の種類との比較を行う。そして、処理実行ステップは、タッチ操作比較ステップによって比較された結果に応じて、所定の処理を実行する。コンピュータは、タッチ操作比較ステップおよび処理実行ステップを第１タスクで実行し、指示座標記憶ステップおよびタッチ操作決定ステップを第１タスクとは異なる第２タスクで実行し、第２タスクの処理周期は、第１タスクの処理周期よりも短く設定される。
【０００９】
第１の発明では、情報処理プログラムは、タッチパネル（２４）からの入力を受けつけ可能な情報処理装置（１０）のコンピュータ（３４，４４，４６）で実行される。この情報処理プログラムは、コンピュータに、指示座標記憶ステップ（３４，Ｓ１２１）、タッチ操作決定ステップ（３４，Ｓ１２９，Ｓ１３１）、タッチ操作比較ステップ（３４，Ｓ８５，Ｓ８７）、および処理実行ステップ（３４，Ｓ８９，Ｓ９３，Ｓ９５）を実行させる。指示座標記憶ステップは、タッチパネルによって指示された指示座標を記憶手段（４２，７４）に記憶する。タッチ操作決定ステップは、指示座標記憶ステップによって記憶された指示座標に基づいて、タッチ操作のタイミングと当該タッチ操作の種類とを決定する。つまり、ユーザないしプレイヤのタッチ操作のタイミングが決定されるとともに、そのタッチ操作の種類が判別される。タッチ操作比較ステップは、予め定められたタッチ操作のタイミングおよびタッチ操作の種類と、タッチ操作決定ステップによって決定されたタッチ操作のタイミングおよびタッチ操作の種類との比較を行う。つまり、正しいタイミングで正しいタッチ操作がされたか否かを判断するのである。そして、処理実行ステップは、タッチ操作比較ステップによって比較された結果に応じて、所定の処理を実行する。たとえば、正しいタイミングで正しいタッチ操作があった場合には、タッチ操作が成功であることについての所定の処理が実行される。また、正しいタイミングではあるが、タッチ操作の種類が異なる場合、または、正しくないタイミングでタッチ操作された場合には、タッチ操作が失敗であることについての所定の処理が実行される。
コンピュータは、タッチ操作比較ステップおよび処理実行ステップを第１タスクで実行する。また、コンピュータは、指示座標記憶ステップおよびタッチ操作決定ステップを第１タスクとは異なる第２タスクで実行する。第１タスクは、たとえば、１フレーム（画面更新単位時間）の処理周期で実行され、第２タスクは１フレームよりも短い処理周期で実行される。
【００１０】
第１の発明によれば、タッチ操作のタイミングのみならず、指示座標に基づいてタッチ操作の種類を判断するので、バリエーションの豊富なタッチ操作を行うことができ、タッチ操作が単調になるのを防止することができる。
また、タッチパネルを用いるので、ユーザないしプレイヤは、たとえば、タッチペン（スタイラスペン）や指などで、タッチオン，タッチオフ、スライド（ドラッグ）操作のような様々な種類のタッチ操作を簡単に行うことができる。
さらに、第２タスクの処理周期を第１タスクの処理周期よりも短くするので、ユーザのタッチ操作の取りこぼしを軽減することができる。
【００１１】
第２の発明は第１の発明に従属し、タッチパネルをタッチしている状態からタッチしていない状態へと遷移したことを判定するタッチオフ判定ステップ、およびタッチオフ判定ステップで遷移したと判定された際に、指示座標記憶ステップによって記憶された指示座標に基づいて、タッチオフ判定ステップで遷移したと判定される直前のタッチパネル上における移動量を算出する移動量算出ステップをコンピュータにさらに実行させ、タッチ操作決定ステップは、移動量算出ステップによって算出された移動量の大きさに基づいてタッチ操作の種類を決定する。
【００１２】
第２の発明では、タッチオフ判定ステップ（３４，Ｓ１２７，Ｓ１７１）は、タッチパネルをタッチしている状態（タッチオンの状態）からタッチしていない状態（タッチオフの状態）へと遷移したことを判定する。移動量算出ステップ（３４，Ｓ１２３，Ｓ１２５，Ｓ１７２）は、タッチオフ判定ステップで遷移したと判定された際に、指示座標記憶ステップによって記憶された指示座標に基づいて、タッチオフ判定ステップで遷移したと判定される直前のタッチパネル上における移動量を算出する。たとえば、時間的に連続して検出される指示座標間の距離が算出されるのである。タッチ操作決定ステップは、移動量算出ステップで算出された移動量の大きさに基づいてタッチ操作の種類を決定する。
【００１３】
第２の発明によれば、タッチオフしたときの直前の移動量に応じてタッチ操作の種類を決定（判別）するので、タッチ操作のバリエーションを豊富にすることができる。
【００１４】
第３の発明は第２の発明に従属し、タッチ操作決定ステップは、移動量算出ステップによって算出された移動量の大きさに基づいてタッチ操作の種類を第１の種類または第２の種類に決定する。
【００１５】
第３の発明では、タッチ操作決定ステップは、移動量算出ステップで算出された移動量の大きさに基づいてタッチ操作の種類を第１種類または第２種類に決定する。たとえば、移動量が所定値以下の場合（Ｓ１７３で“ＹＥＳ”）にタッチ操作の種類を第１の種類に決定し、移動量が所定値より大きい場合（Ｓ１７３で“ＮＯ”）にタッチ操作の種類を第２の種類に決定する。
【００１６】
第３の発明によれば、第２の発明と同様に、タッチ操作のバリエーションを豊富にすることができる。
【００１７】
第４の発明は、第３の発明に従属し、タッチパネルをタッチしていない状態からタッチしている状態へと遷移したことを判定するタッチオン判定ステップをコンピュータにさらに実行させ、タッチ操作決定ステップは、タッチオン判定ステップで遷移したと判定された場合にタッチ操作の種類を第３の種類に決定する。
【００１８】
第４の発明では、タッチオン判定ステップ（３４，Ｓ１２７，Ｓ１４１）は、タッチパネルをタッチしていない状態（タッチオフの状態）からタッチしている状態（タッチオンの状態）へと遷移したことを判定する。タッチ操作決定ステップは、タッチオン判定ステップで遷移したと判定された場合に（Ｓ１２７で“ＹＥＳ”かつＳ１４１で“ＮＯ”）、タッチ操作の種類を第３の種類に決定する。
【００１９】
第４の発明によれば、タッチオンの状態への遷移によってもタッチ操作の種類を決定するので、タッチ操作のバリエーションを簡単に決定（判別）することができる。
【００２０】
第５の発明は、第４の発明に従属し、タッチ操作決定ステップによって決定されたタッチ操作のタイミングとは、タッチパネルがタッチされているか否かの状態の遷移が生じたタイミングを少なくとも含む。
【００２１】
第５の発明では、タッチ操作決定ステップによって決定されたタッチ操作のタイミングとは、タッチパネルがタッチされているか否かの状態の遷移が生じたタイミング、すなわちタッチオンからタッチオフに遷移したタイミングやタッチオフからタッチオンに遷移したタイミングを少なくとも含む。
【００２２】
第５の発明によれば、タッチされているか否かの状態の遷移が生じたタイミングをタッチ操作のタイミングとして決定するので、タッチ操作のタイミングの検出が簡単である。
【００２３】
第６の発明は、第５の発明に従属し、タッチ操作決定ステップによって決定されたタッチ操作のタイミングは、タッチ操作の種類が第１の種類または第２の種類である場合には、タッチオフ判定ステップで遷移したと判定されたタイミングであり、タッチ操作の種類が第３の種類である場合には、タッチオン判定ステップで遷移したと判定されたタイミングである。
【００２４】
第６の発明では、タッチ操作のタイミングは、タッチ操作の種類に応じて決定される。たとえば、タッチ操作の種類が第１の種類または第２の種類である場合には、タッチオフ判定ステップによって遷移したと判定されたタイミングである。つまり、タッチオンの状態からタッチオフの状態に遷移したと判定されたタイミングである。また、タッチ操作の種類が第３の種類である場合には、タッチオン判定ステップによって遷移したと判定されたタイミングである。つまり、タッチオフの状態からタッチオンの状態に遷移したと判定されたタイミングである。
【００２５】
第６の発明によれば、タッチの状態が遷移したと判定されたタイミングをタッチ操作のタイミングとするので、タイミングの判定が簡単である。
【００２６】
第７の発明は、第１または第２の発明に従属し、タッチ操作決定ステップによって決定されたタッチ操作のタイミングとは、タッチパネルがタッチされているか否かの状態の遷移が生じたタイミングを少なくとも含む。
【００２７】
第７の発明では、タッチ操作決定ステップによって決定されたタッチ操作のタイミングとは、タッチパネルがタッチされているか否かの状態の遷移が生じたタイミング、すなわちタッチオンからタッチオフに遷移したタイミングやタッチオフからタッチオンに遷移したタイミングを少なくとも含む。
【００２８】
第７の発明によれば、第５の発明と同様に、タッチ操作のタイミングの検出が簡単である。
【００３２】
第８の発明は、第１ないし第７の発明のいずれかに従属し、タッチ操作決定ステップによって決定されたタッチ操作のタイミングとタッチ操作の種類とを記憶手段に記憶するタッチ操作バッファ記憶ステップ、およびタッチ操作比較ステップおよび処理実行ステップが実行された後に、記憶手段に記憶されたタッチ操作のタイミングとタッチ操作の種類とを消去するタッチ操作バッファ消去ステップをコンピュータにさらに実行させ、タッチ操作比較ステップおよび処理実行ステップは、記憶手段に記憶されたすべてのタッチ操作のタイミングとタッチ操作の種類とを処理対象とする。
【００３３】
第８の発明では、情報処理プログラムは、タッチ操作バッファ記憶ステップ（３４，Ｓ１４９，Ｓ１５７，Ｓ１７５，Ｓ１７７）およびタッチ操作バッファ消去ステップ（３４，Ｓ９９）を、コンピュータにさらに実行させる。タッチ操作バッファ記憶ステップは、タッチ操作決定ステップによって決定されたタッチ操作のタイミングとタッチ操作の種類とを記憶手段に記憶する。タッチ操作バッファ消去ステップは、タッチ操作比較ステップおよび処理実行ステップが実行された後に、記憶手段に記憶されたタッチ操作のタイミングとタッチ操作の種類とを消去する。タッチ操作比較ステップおよび処理実行ステップは、記憶手段に記憶されたすべてのタッチ操作のタイミングとタッチ操作の種類とを処理対象とする（Ｓ８３，Ｓ９７）。
【００３４】
第８の発明によれば、記憶手段に記憶されたタッチ操作のタイミングとタッチ操作の種類とをすべて処理対象とするので、ユーザのタッチ操作を確実に処理することができる。
【００３５】
第９の発明は、第１ないし第８の発明のいずれかに従属し、処理実行ステップは、タッチ操作比較ステップによって比較された結果に応じて、タッチ操作を評価する評価ステップを含み、評価ステップの評価に応じて所定の処理を実行する。
【００３６】
第９の発明では、情報処理プログラムは、処理実行ステップ（３４，Ｓ８９，Ｓ９３，Ｓ９５）は、タッチ操作比較ステップによって比較された結果に応じて、タッチ操作を評価する評価ステップ（３４，Ｓ８５，Ｓ８７，Ｓ９３）を含み、その評価に応じて所定の処理を実行する。
【００３７】
第９の発明によれば、評価に応じた処理を実行するので、当該処理によってユーザはタッチ操作についての評価を知ることができる。
【００３８】
第１０の発明は、第１ないし第９の発明のいずれかに従属し、タッチ操作比較ステップは、予め定められたタッチ操作のタイミングおよびタッチ操作の種類と、タッチ操作決定ステップによって決定されたタッチ操作のタイミングおよびタッチ操作の種類との一致度を検出する一致度検出ステップを含み、処理実行ステップは、一致度検出ステップによって検出された一致度に応じて、所定の処理を実行する。
【００３９】
第１０の発明では、一致度検出ステップ（３４，Ｓ８５，Ｓ８７）は、予め定められたタッチ操作のタイミングおよびタッチ操作の種類と、タッチ操作決定ステップによって決定されたタッチ操作のタイミングおよびタッチ操作の種類との一致度を検出する。正しいタッチ操作のタイミングで正しい種類のタッチ操作がなされたかどうかを検出するのである。一致度は、たとえば、タッチ操作のタイミングのずれである。処理実行ステップは、その一致度に応じて、所定の処理を実行する。
【００４０】
第１０の発明によれば、タッチ操作の一致度に応じた処理が実行されるので、それによってユーザないしプレイヤは自分のタッチ操作の正しさなどを知ることができる。
【００４１】
第１１の発明は、第１０の発明に従属し、評価ステップは、一致度検出ステップによって検出された一致度が高いほど、評価ステップは高い評価をする。
【００４２】
第１１の発明では、評価ステップは、一致度が高いほど、高い評価をする。したがって、所定の処理も評価の違いに応じた内容で実行される。
【００４３】
第１１の発明によれば、評価に応じた処理を実行するので、当該処理によってユーザはタッチ操作についての評価を知ることができる。
【００４４】
第１２の発明は、第１ないし第１１の発明のいずれかに従属し、予め定められたタッチ操作のタイミングとタッチ操作の種類とを教示する教示ステップをコンピュータにさらに実行させ、タッチ操作比較ステップは、教示ステップによって教示されたタッチ操作のタイミングおよびタッチ操作の種類と、タッチ操作決定ステップによって決定されたタッチ操作のタイミングおよびタッチ操作の種類との比較を行う。
【００４５】
第１２の発明では、教示ステップ（３４，Ｓ３）は、予め定められたタッチ操作のタイミングとタッチ操作の種類とを教示する。したがって、タッチ操作比較ステップは、教示ステップによって教示されたタッチ操作のタイミングおよびタッチ操作の種類と、タッチ操作決定ステップによって決定されたタッチ操作のタイミングおよびタッチ操作の種類との比較を行う。
【００４６】
第１２の発明よれば、予め定められたタッチ操作のタイミングとタッチ操作の種類とをユーザやプレイヤに教示するので、これによって、ユーザやプレイヤはタイミングを計るとともに、正しいタッチ操作を行うように操作するので、操作し易い。
【００４７】
第１３の発明は、第１２の発明に従属し、教示ステップは、音楽および映像の少なくとも一方を出力することにより、予め定められたタッチ操作のタイミングとタッチ操作の種類とを教示する。
【００４８】
第１３の発明では、教示ステップは、予め定められたタッチ操作のタイミングに合わせた音楽を再生したり、予め定められたタッチ操作のタイミングとタッチ操作の種類とに合わせた映像を出力（画面表示）したりすることにより、ユーザないしプレイヤに教示する。
【００４９】
第１３の発明によれば、音楽や映像により、タッチ操作のタイミングとタッチ操作の種類とを教示するので、簡単に操作することができる。
【００５０】
第１４の発明は、タッチパネルからの入力を受け取り可能な情報処理装置のコンピュータで実行される情報処理プログラムであって、コンピュータに、指示座標記憶ステップ、タッチ操作決定ステップ、タッチ操作比較ステップ、および処理実行ステップを実行させる。指示座標記憶ステップは、タッチパネルによって指示された指示座標を記憶手段に記憶する。タッチ操作決定ステップは、指示座標記憶ステップによって記憶された指示座標に基づいて、タッチ操作のタイミングを決定するとともに、当該タッチ操作の種類を少なくともタッチオン、タッチオフまたは弾き操作に決定する。タッチ操作比較ステップは、予め定められたタッチ操作のタイミングおよびタッチ操作の種類と、タッチ操作決定ステップによって決定されたタッチ操作のタイミングおよびタッチ操作の種類との比較を行う。そして、処理実行ステップは、タッチ操作比較ステップによって比較された結果に応じて所定の処理を実行する。コンピュータは、タッチ操作比較ステップおよび処理実行ステップを第１タスクで実行し、指示座標記憶ステップおよびタッチ操作決定ステップを第１タスクとは異なる第２タスクで実行し、第２タスクの処理周期は、第１タスクの処理周期よりも短く設定される。
【００６１】
第１５の発明は、タッチパネルからの入力を受け取り可能な情報処理装置であって、指示座標記憶手段、タッチ操作決定手段、タッチ操作比較手段、および処理実行手段を備える。指示座標記憶手段は、タッチパネルによって指示された指示座標を記憶手段に記憶する。タッチ操作決定手段は、指示座標記憶手段によって記憶された指示座標に基づいて、タッチ操作のタイミングと当該タッチ操作の種類とを決定する。タッチ操作比較手段は、予め定められたタッチ操作のタイミングおよびタッチ操作の種類と、タッチ操作決定ステップによって決定されたタッチ操作のタイミングおよびタッチ操作の種類との比較を行う。そして、処理実行手段は、タッチ操作比較手段によって比較された結果に応じて、所定の処理を実行する。また、情報処理装置のコンピュータを、第１タスクにおいてタッチ操作比較手段および処理実行手段として機能させ、第１タスクとは異なる第２タスクにおいて指示座標記憶手段およびタッチ操作決定手段として機能させ、第２タスクの処理周期は、第１タスクの処理周期よりも短く設定される。
第１６の発明は、タッチパネルからの入力を受け取り可能な情報処理装置であって、指示座標記憶手段、タッチ操作決定手段、タッチ操作比較手段、および処理実行手段を備える。指示座標記憶手段は、タッチパネルによって指示された指示座標を記憶手段に記憶する。タッチ操作決定手段は、指示座標記憶手段によって記憶された指示座標に基づいて、タッチ操作のタイミングを決定するとともに、当該タッチ操作の種類を少なくともタッチオン、タッチオフまたは弾き操作に決定する。タッチ操作比較手段は、予め定められたタッチ操作のタイミングおよびタッチ操作の種類と、タッチ操作決定手段によって決定されたタッチ操作のタイミングおよびタッチ操作の種類との比較を行う。処理実行手段は、タッチ操作比較手段によって比較された結果に応じて所定の処理を実行する。また、情報処理装置のコンピュータは、第１タスクにおいてタッチ操作比較手段および処理実行手段として機能し、第１タスクとは異なる第２タスクにおいて指示座標記憶手段およびタッチ操作決定手段として機能し、第２タスクの処理周期は、第１タスクの処理周期よりも短く設定される。
第１７の発明は、タッチパネルからの入力を受け取り可能な情報処理システムであって、指示座標記憶手段、タッチ操作決定手段、タッチ操作比較手段、および処理実行手段を備える。指示座標記憶手段は、タッチパネルによって指示された指示座標を記憶手段に記憶する。タッチ操作決定手段は、指示座標記憶手段によって記憶された指示座標に基づいて、タッチ操作のタイミングと当該タッチ操作の種類とを決定する。タッチ操作比較手段は、予め定められたタッチ操作のタイミングおよびタッチ操作の種類と、タッチ操作決定ステップによって決定されたタッチ操作のタイミングおよびタッチ操作の種類との比較を行う。そして、処理実行手段は、タッチ操作比較手段によって比較された結果に応じて、所定の処理を実行する。情報処理システムのコンピュータは、第１タスクにおいて前記タッチ操作比較手段および前記処理実行手段として機能し、第１タスクとは異なる第２タスクにおいて前記指示座標記憶手段および前記タッチ操作決定手段として機能し、第２タスクの処理周期は、前記第１タスクの処理周期よりも短く設定される。
第１８の発明は、タッチパネルからの入力を受け取り可能な情報処理システムであって、指示座標記憶手段、タッチ操作決定手段、タッチ操作比較手段、および処理実行手段を備える。指示座標記憶手段は、タッチパネルによって指示された指示座標を記憶手段に記憶する。タッチ操作決定手段は、指示座標記憶手段によって記憶された指示座標に基づいて、タッチ操作のタイミングを決定するとともに、当該タッチ操作の種類を少なくともタッチオン、タッチオフまたは弾き操作に決定する。タッチ操作比較手段は、予め定められたタッチ操作のタイミングおよびタッチ操作の種類と、タッチ操作決定手段によって決定されたタッチ操作のタイミングおよびタッチ操作の種類との比較を行う。処理実行手段は、タッチ操作比較手段によって比較された結果に応じて所定の処理を実行する。情報処理システムのコンピュータは、第１タスクにおいて前記タッチ操作比較手段および前記処理実行手段として機能し、第１タスクとは異なる第２タスクにおいて前記指示座標記憶手段および前記タッチ操作決定手段として機能し、第２タスクの処理周期は、前記第１タスクの処理周期よりも短く設定される。
第１９の発明は、タッチパネルからの入力を受け取り可能なコンピュータの情報処理方法であって、コンピュータは、第１タスクにおいて、（ａ）タッチパネルによって指示された指示座標を記憶手段に記憶し、（ｂ）ステップ（ａ）において記憶した指示座標に基づいて、タッチ操作のタイミングと当該タッチ操作の種類とを決定し、第１タスクとは異なる、かつ当該第１タスクよりも処理周期の長い第２タスクにおいて、（ｃ）予め定められたタッチ操作のタイミングおよびタッチ操作の種類と、ステップ（ｂ）において決定したタッチ操作のタイミングおよびタッチ操作の種類との比較を行い、そして（ｄ）ステップ（ｃ）において比較した結果に応じて所定の処理を実行する、情報処理方法である。
第２０の発明は、タッチパネルからの入力を受け取り可能なコンピュータの情報処理方法であって、コンピュータは、第１タスクにおいて、（ａ）タッチパネルによって指示された指示座標を記憶手段に記憶し、（ｂ）ステップ（ａ）において記憶した指示座標に基づいて、タッチ操作のタイミングを決定するとともに、当該タッチ操作の種類を少なくともタッチオン、タッチオフまたは弾き操作に決定し、第１タスクとは異なる、かつ当該第１タスクよりも処理周期の長い第２タスクにおいて、（ｃ）予め定められたタッチ操作のタイミングおよびタッチ操作の種類と、ステップ（ｂ）において決定したタッチ操作のタイミングおよびタッチ操作の種類との比較を行い、そして（ｄ）ステップ（ｃ）において比較した結果に応じて所定の処理を実行する、情報処理方法である。
【００６２】
第１４−２０の発明においても、第１の発明と同様に、タッチ操作のタイミングのみならず、指示座標に基づいてタッチ操作の種類を判断するので、バリエーションの豊富なタッチ操作を行うことができ、タッチ操作が単調になるのを防止することができる。
【発明の効果】
【００６３】
この発明によれば、指示座標の履歴に基づいて入力の種類を判断するので、バリエーションの豊富な入力を行うことができ、入力操作が単調になるのを防止することができる。つまり、操作性を向上することができる。
【００６４】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００６５】
【図１】図１はこの発明のゲーム装置の一実施例を示す図解図である。
【図２】図２は図１に示すゲーム装置の電気的な構成を示すブロック図である。
【図３】図３は図１に示すゲーム装置を用いてゲームプレイする場合の使用状態を示す図解図である。
【図４】図４は図３に示すゲーム装置に表示される或る仮想ゲームのゲーム画面の例を示す図解図である。
【図５】図５は図３に示すゲーム装置に表示される或る仮想ゲームのゲーム画面の他の例を示す図解図である。
【図６】図６はプレイヤの実入力タイミングをチェックするためのチェック区間を説明するための図解図である。
【図７】図７は他の仮想ゲームのゲーム画面の例を示す図解図である。
【図８】図８はその他の仮想ゲームのゲーム画面の例を示す図解図である。
【図９】図９は図２に示すＲＡＭのメモリマップの一例を示す図解図である。
【図１０】図１０は図９に示すデータ記憶領域の具体的な内容と設定入力テーブルの内容とを示す図解図である。
【図１１】図１１は図２に示すＣＰＵコアのメイン処理のフロー図である。
【図１２】図１２は図２に示すＣＰＵコアの初期処理のフロー図である。
【図１３】図１３は図２に示すＣＰＵコアのタイミング更新処理のフロー図である。
【図１４】図１４は図２に示すＣＰＵコアの入力判定処理のフロー図である。
【図１５】図１５は図２に示すＣＰＵコアの入力バッファ処理のロー図である。
【図１６】図１６は図２に示すＣＰＵコアの接触処理のフロー図である。
【図１７】図１７は図２に示すＣＰＵコアの非接触処理のフロー図である。
【発明を実施するための形態】
【００６６】
図１を参照して、この発明の実施例であるゲーム装置１０は、後述するように、画像処理プログラムを記憶することにより、画像処理装置としても機能する。このゲーム装置１０は、第１の液晶表示器（ＬＣＤ）１２および第２のＬＣＤ１４を含む。ＬＣＤ１２およびＬＣＤ１４は、所定の配置位置となるようにハウジング1６に収納される。この実施例では、ハウジング１６は、上側ハウジング１６ａと下側ハウジング１６ｂとによって構成され、ＬＣＤ１２は上側ハウジング１６ａに収納され、ＬＣＤ１４は下側ハウジング１６ｂに収納される。したがって、ＬＣＤ１２とＬＣＤ１４とは縦（上下）に並ぶように近接して配置される。
【００６７】
なお、この実施例では、表示器としてＬＣＤを用いるようにしてあるが、ＬＣＤに代えて、ＥＬ(Electronic Luminescence)ディスプレイやプラズマディスプレイを用いるようにしてもよい。
【００６８】
図１からも分かるように、上側ハウジング１６ａは、ＬＣＤ１２の平面形状よりも少し大きな平面形状を有し、一方主面からＬＣＤ１２の表示面を露出するように開口部が形成される。一方、下側ハウジング１６ｂは、その平面形状が上側ハウジング１６ａと略同じであり、その略中央部にＬＣＤ１４の表示面を露出するように開口部が形成される。下側ハウジング１６ｂのＬＣＤ１４の左方には電源スイッチ１８が設けられる。
【００６９】
また、上側ハウジング１６ａには、ＬＣＤ１２を挟んで左右に、スピーカ３６ａおよび３６ｂ（図２）のための音抜き孔２０ａおよび２０ｂが形成される。そして、下側ハウジング１６ｂには、マイク（図示せず）のためのマイク孔２０ｃが形成されるとともに、操作スイッチ２２（２２ａ，２２ｂ，２２ｃ，２２ｄ，２２ｅ，２２ｆ，２２ｇ，２２Ｌおよび２２Ｒ）が設けられる。
【００７０】
また、上側ハウジング１６ａと下側ハウジング１６ｂとは、上側ハウジング１６ａの下辺（下端）と下側ハウジング１６ｂの上辺（上端）の一部とが回動可能に連結されている。したがって、たとえば、ゲームをプレイしない場合には、ＬＣＤ１２の表示面とＬＣＤ１４の表示面とが対面するように、上側ハウジング１６ａを回動させて折りたたんでおけば、ＬＣＤ１２の表示面およびＬＣＤ１４の表示面に傷がつくなどの破損を防止することができる。ただし、上側ハウジング１６ａと下側ハウジング１６ｂとは、回動可能に連結せずに、それらを一体的（固定的）に設けたハウジング１６を形成するようにしてもよい。
【００７１】
操作スイッチ２２は、方向指示スイッチ（十字スイッチ）２２ａ，スタートスイッチ２２ｂ、セレクトスイッチ２２ｃ、動作スイッチ（Ａボタン）２２ｄ、動作スイッチ（Ｂボタン）２２ｅ、動作スイッチ（Ｘボタン）２２ｆ、動作スイッチ（Ｙボタン）２２ｇ、動作スイッチ（Ｌボタン）２２Ｌおよび動作スイッチ（Ｒボタン）２２Ｒを含む。スイッチ２２ａは、下側ハウジング１６ｂの一方主面であり、ＬＣＤ１４の左側に配置される。その他のスイッチ２２ｂ−２２ｇは、下側ハウジング１６ｂの一方主面であり、ＬＣＤ１４の右側に配置される。さらに、スイッチ２２Ｌおよびスイッチ２２Ｒは、それぞれ、上側ハウジング１６ａとの連結部を挟む下側ハウジング１６ｂの上側面の左右角部に配置される。
【００７２】
方向指示スイッチ２２ａは、ディジタルジョイスティックとして機能し、４つの押圧部の１つを操作することによって、ユーザないしプレイヤによって操作可能なプレイヤキャラクタ(またはプレイヤオブジェクト)の移動方向を指示したり、カーソルの移動方向を指示したりする等に用いられる。また、各押圧部には、特定の役割を割り当てることができ、４つの押圧部の１つを操作することによって、割り当てられた役割を指示（指定）することができる。
【００７３】
スタートスイッチ２２ｂは、プッシュボタンで構成され、ゲームを開始（再開）したり、一時停止(Pause)したりする等に用いられる。また、セレクトスイッチ２２ｃは、プッシュボタンで構成され、ゲームモードの選択等に用いられる。
【００７４】
動作スイッチ２２ｄすなわちＡボタンは、プッシュボタンで構成され、方向指示以外の動作、すなわち、プレイヤキャラクタに打つ（パンチ）、投げる、つかむ（取得）、乗る、ジャンプするなどの任意のアクションをさせることができる。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かす等を指示することができる。また、ロールプレイングゲーム(ＲＰＧ)やシミュレーションＲＰＧにおいては、アイテムの取得、武器やコマンドの選択および決定等を指示することができる。動作スイッチ２２ｅすなわちＢボタンは、プッシュボタンで構成され、セレクトスイッチ２２ｃで選択したゲームモードの変更やＡボタン２２ｄで決定したアクションの取り消し等のために用いられる。
【００７５】
動作スイッチ２２ｆすなわちＸボタン、および動作スイッチ２２ｇすなわちＹボタンは、プッシュボタンで構成され、Ａボタン２２ｄとＢボタン２２ｅだけでは、ゲーム進行ができないときに、補助的な操作に用いられる。ただし、Ｘボタン２２ｆおよびＹボタン２２ｇは、Ａボタン２２ｄおよびＢボタン２２ｅと同様の操作に用いることも可能である。もちろん、ゲームプレイにおいてＸボタン２２ｆとＹボタン２２ｇとを必ずしも使用しなくてよい。
【００７６】
動作スイッチ２２Ｌ（左押しボタン）および動作スイッチ２２Ｒ（右押しボタン）は、プッシュボタンで構成され、左押しボタン（Ｌボタン）２２Ｌおよび右押しボタン（Ｒボタン）２２Ｒは、Ａボタン２２ｄおよびＢボタン２２ｅと同様の操作に用いることができ、また、Ａボタン２２ｄおよびＢボタン２２ｅの補助的な操作に用いることができる。さらに、Ｌボタン２２ＬおよびＲボタン２２Ｒは、方向スイッチ２２ａ、Ａボタン２２ｄ，Ｂボタン２２ｅ，Ｘボタン２２ｆ，Ｙボタン２２ｇに割り当てられた役割を、他の役割に変更することができる。
【００７７】
また、ＬＣＤ１４の上面には、タッチパネル２４が装着される。タッチパネル２４としては、たとえば、抵抗膜方式、光学式(赤外線方式)および静電容量結合式のいずれかの種類のものを用いることができる。また、タッチパネル２４は、その上面をスティック２６ないしはペン（スタイラスペン）或いは指（以下、これらを「スティック２６等」という場合がある。）で、押圧したり、撫でたり、触れたりすることにより操作（タッチ操作）すると、スティック２６等の操作位置の座標を検出して、検出した座標（検出座標）に対応する座標データを出力する。
【００７８】
なお、この実施例では、ＬＣＤ１４（ＬＣＤ１２も同じ、または略同じ。）の表示面の解像度は２５６ｄｏｔ×１９２ｄｏｔであり、タッチパネル２４の検出精度も表示画面に対応して２５６ｄｏｔ×１９２ｄｏｔとしてあるが、タッチパネル２４の検出精度は表示画面の解像度よりも低くてもよく、高くてもよい。
【００７９】
ＬＣＤ１２およびＬＣＤ１４には異なるゲーム画面が表示されてもよい。たとえば、レースゲームでは一方のＬＣＤに運転席からの視点による画面を表示し、他方のＬＣＤにレース（コース）全体の画面を表示することができる。また、ＲＰＧでは、一方のＬＣＤにマップやプレイヤキャラクタ等のキャラクタを表示し、他方のＬＣＤにプレイヤキャラクタが所有するアイテムを表示することができる。さらに、一方のＬＣＤ（この実施例では、ＬＣＤ１４）にゲームの操作画面（ゲーム画面）を表示し、他方のＬＣＤ（この実施例では、ＬＣＤ１２）に当該ゲームに関する情報（得点やレベルなど）を含む他のゲーム画面を表示することができる。さらには、２つのＬＣＤ１２およびＬＣＤ１４を合わせて１つの画面として用いることにより、プレイヤキャラクタが倒さなければならない巨大な怪物（敵キャラクタ）を表示することもできる。
【００８０】
したがって、プレイヤはスティック２６等でタッチパネル２４を操作することにより、ＬＣＤ１４の画面に表示されるプレイヤキャラクタ、敵キャラクタ、アイテムキャラクタ、操作オブジェクトなどの画像を指示（操作）したり、コマンドを選択（入力）したりすることができる。また、３次元ゲーム空間に設けられる仮想カメラ（視点）の方向（視線の向き）を変化させたり、ゲーム画面（マップ）のスクロール(徐々に移動表示)方向を指示したりすることもできる。
【００８１】
なお、ゲームの種類によっては、タッチパネル２４を用いることにより、その他の入力指示も可能である。たとえば、座標入力指示を入力したり、ＬＣＤ１４において文字，数字，記号等を手書き入力したりすることができる。
【００８２】
このように、ゲーム装置１０は、２画面分の表示部となるＬＣＤ１２およびＬＣＤ１４を有し、いずれか一方（この実施例では、ＬＣＤ１４）の上面にタッチパネル２４が設けられるので、２画面（１２，１４）と２系統の操作部（２２，２４）とを有する構成になっている。
【００８３】
また、この実施例では、スティック２６は、たとえば下側ハウジング１６ｂに設けられる収納部（図示せず）に収納することができ、必要に応じて取り出される。ただし、スティック２６を設けない場合には、その収納部も設ける必要はない。
【００８４】
さらに、ゲーム装置１０はメモリカード（またはカートリッジ）２８を含み、このメモリカード２８は着脱自在であり、下側ハウジング１６ｂの裏面ないしは下端（底面）に設けられる挿入部３０（図１では点線で示す）に挿入される。図１では省略するが、挿入部３０の奥部には、メモリカード２８の挿入方向先端部に設けられるコネクタ（図示せず）と接合するためのコネクタ３２（図２参照）が設けられており、したがって、メモリカード２８が挿入部３０に挿入されると、コネクタ同士が接合され、ゲーム装置１０のＣＰＵコア３４（図２参照）がメモリカード２８にアクセス可能となる。
【００８５】
なお、図１では表現できないが、上側ハウジング１６ａの音抜き孔２０ａおよび２０ｂと対応する位置であり、この上側ハウジング１６ａの内部にはスピーカ３６ａおよび３６ｂ（図２参照）が設けられる。
【００８６】
また、図１では省略するが、たとえば、下側ハウジング１６ｂの裏面側には、電池収容ボックスが設けられ、また、下側ハウジング１６ｂの底面側には、音量スイッチ、外部拡張コネクタおよびイヤフォンジャックなどが設けられる。
【００８７】
図２はゲーム装置１０の電気的な構成を示すブロック図である。図２を参照して、ゲーム装置１０は電子回路基板３８を含み、この電子回路基板３８には上述のＣＰＵコア３４等の回路コンポーネントが実装される。ＣＰＵコア３４は、バス４０を介して前述のコネクタ３２に接続されるとともに、ＲＡＭ４２、第１のグラフィック処理ユニット（ＧＰＵ）４４、第２のＧＰＵ４６、入出カインターフエース回路（以下、「Ｉ／Ｆ回路」という。）４８およびＬＣＤコントローラ５０が接続される。
【００８８】
コネクタ３２には、上述したように、メモリカード２８が着脱自在に接続される。メモリカード２８は、ＲＯＭ２８ａおよびＲＡＭ２８ｂを含み、図示は省略するが、ＲＯＭ２８ａおよびＲＡＭ２８ｂは、互いにバスで接続され、さらに、コネクタ３２と接合されるコネクタ（図示せず）に接続される。したがって、上述したように、ＣＰＵコア３４は、ＲＯＭ２８ａおよびＲＡＭ２８ｂにアクセスすることができるのである。
【００８９】
ＲＯＭ２８ａは、ゲーム装置１０で実行すべきゲームのためのゲームプログラム、画像データ（文字やオブジェクトの画像、背景画像、アイテム画像、アイコン（ボタン）画像、メッセージ画像など）およびゲームに必要な音（音楽）のデータ（音データ）等を予め記憶する。ＲＡＭ（バックアップＲＡＭ）２８ｂは、そのゲームの途中データやゲームの結果データなどを記憶（セーブ）する。
【００９０】
ＲＡＭ４２は、バッファメモリないしはワーキングメモリとして使用される。つまり、ＣＰＵコア３４は、メモリカード２８のＲＯＭ２８ａに記憶されたゲームプログラム、画像データおよび音データ等をＲＡＭ４２にロードし、ロードしたゲームプログラムを実行する。また、ＣＰＵコア３４は、ゲームの進行に応じて一時的に発生するデータ（ゲームデータやフラグデータ）をＲＡＭ４２に記憶しつつゲーム処理を実行する。
【００９１】
なお、ゲームプログラム、画像データおよび音データ等は、ＲＯＭ２８ａから一度に全部、または部分的かつ順次的に読み出され、ＲＡＭ４２に記憶（ロード）される。
【００９２】
ただし、メモリカード２８のＲＯＭ２８ａには、ゲーム以外の他のアプリケーションについてのプログラムおよび当該アプリケーションの実行に必要な画像データが記憶される。また、必要に応じて、音（音楽）データが記憶されてもよい。かかる場合には、ゲーム装置１０では、当該アプリケーションが実行される。
【００９３】
ＧＰＵ４４およびＧＰＵ４６は、それぞれ、描画手段の一部を形成し、たとえばシングルチップＡＳＩＣで構成され、ＣＰＵコア３４からのグラフィックスコマンド（作画命令）を受け、そのグラフィックスコマンドに従って画像データを生成する。ただし、ＣＰＵコア３４は、グラフィックスコマンドに加えて、画像データの生成に必要な画像生成プログラム（ゲームプログラムに含まれる。）をＧＰＵ４４およびＧＰＵ４６のそれぞれに与える。
【００９４】
また、ＧＰＵ４４には、第１のビデオＲＡＭ（以下、「ＶＲＡＭ」という。）５２が接続され、ＧＰＵ４６には、第２のＶＲＡＭ５４が接続される。ＧＰＵ４４およびＧＰＵ４６が作画コマンドを実行するにあたって必要なデータ（画像データ：ポリゴンやテクスチャ等のデータ）は、ＧＰＵ４４およびＧＰＵ４６が、それぞれ、第１のＶＲＡＭ５２および第２のＶＲＡＭ５４にアクセスして取得する。
【００９５】
なお、ＣＰＵコア３４は、描画に必要な画像データをＧＰＵ４４およびＧＰＵ４６を介して第１のＶＲＡＭ５２および第２のＶＲＡＭ５４に書き込む。ＧＰＵ４４はＶＲＡＭ５２にアクセスして描画のための画像データを作成し、ＧＰＵ４６はＶＲＡＭ５４にアクセスして描画のための画像データを作成する。
【００９６】
ＶＲＡＭ５２およびＶＲＡＭ５４は、ＬＣＤコントローラ５０に接続される。ＬＣＤコントローラ５０はレジスタ５６を含み、レジスタ５６はたとえば１ビットで構成され、ＣＰＵコア３４の指示によって「０」または「１」の値（データ値）を記憶する。ＬＣＤコントローラ５０は、レジスタ５６のデータ値が「０」である場合には、ＧＰＵ４４によって作成された画像データをＬＣＤ１２に出力し、ＧＰＵ４６によって作成された画像データをＬＣＤ１４に出力する。また、ＬＣＤコントローラ５０は、レジスタ５６のデータ値が「１」である場合には、ＧＰＵ４４によって作成された画像データをＬＣＤ１４に出力し、ＧＰＵ４６によって作成された画像データをＬＣＤ１２に出力する。
【００９７】
なお、ＬＣＤコントローラ５０は、ＶＲＡＭ５２およびＶＲＡＭ５４から直接画像データを読み出したり、ＧＰＵ４４およびＧＰＵ４６を介してＶＲＡＭ５２およびＶＲＡＭ５４から画像データを読み出したりする。
【００９８】
Ｉ／Ｆ回路４８には、操作スイッチ２２，タッチパネル２４およびスピーカ３６ａ，３６ｂが接続される。ここで、操作スイッチ２２は、上述したスイッチ２２ａ，２２ｂ，２２ｃ，２２ｄ，２２ｅ，２２ｆ，２２ｇ，２２Ｌおよび２２Ｒであり、操作スイッチ２２が操作されると、対応する操作信号（操作データ）がＩ／Ｆ回路４８を介してＣＰＵコア３４に入力される。また、タッチパネル２４からの座標データがＩ／Ｆ回路４８を介してＣＰＵコア３４に入力される。さらに、ＣＰＵコア３４は、ゲーム音楽（ＢＧＭ）、効果音またはゲームキャラクタの音声（擬制音）などのゲームに必要な音データをＲＡＭ４２から読み出し、Ｉ／Ｆ回路４８を介してスピーカ３６ａ，３６ｂから出力する。
【００９９】
図３は、この実施例の仮想ゲームをプレイする場合に、図１に示したゲーム装置１０の使用例を示す図解図である。図３から分かるように、この実施例では、ゲーム装置１０は、図１に示した状態から反時計周り（左周り）に９０度回転させた状態で使用される。したがって、ＬＣＤ１２とＬＣＤ１４（タッチパネル２４）とが横並びに配置される。ＬＣＤ１２には、後述するように、ゲーム画面が表示され、ＬＣＤ１４にはメニュー画面が表示される。このＬＣＤ１２に表示されるゲーム画面は、予め設定された入力のタイミング（設定入力タイミング）と入力の種類（設定入力種類）とを教示するための画像（映像）およびプレイの入力に従う画像（映像）が表示され、ＬＣＤ１４の上面に装着されたタッチパネル２４が、このＬＣＤ１２に表示される画像（映像）に対して入力を行う入力装置として用いられる。また、ＬＣＤ１４に表示されるメニュー画面は、主として、プレイするゲームを選択するための画面であり、ゲーム中においては、ＬＣＤ１４には何ら画像（映像）を表示させない、またはＬＣＤ１２に抽象的なグラフィックを表示するようにしてある。ここで、他の実施形態においては、ＬＣＤ１４に表示される画像（映像）は何でもよく、たとえば、ＬＣＤ１２に表示される、予め設定された入力のタイミング（設定入力タイミング）と入力の種類（設定入力種類）とを教示するための画像（映像）に関連した画像（映像）であってもよい。
【０１００】
図４（Ａ），図４（Ｂ）および図５は、この実施例の仮想ゲームをプレイする場合に、ＬＣＤ１２に表示されるゲーム画面１００の例が示される。このゲーム画面１００には、ノンプレイヤオブジェクト１０２，１０４，１０６およびプレイヤオブジェクト１０８が表示される。ノンプイレヤオブジェクト１０２は、指揮者のオブジェクトであり、ノンプレイヤオブジェクト１０４，１０６は、コーラスする３人のうちの２人のオブジェクトである。そして、プレイヤオブジェクト１０８は、コーラスする３人のうちの１人のオブジェクトである。
【０１０１】
図４（Ａ），（Ｂ）および図５に示す仮想ゲームでは、たとえば、演奏に合わせて、ノンプレイヤオブジェクト１０４，１０６およびプレイヤオブジェクト１０８の順に発声する。プレイヤは、演奏される音楽やノンプレイヤオブジェクト１０４，１０６の発声に基づいて、発声するタイミングを図るとともに、発声する音（音声）の種類と長さを認識する。ただし、演奏される音楽やノンプレイヤオブジェクト１０４，１０６が発声する音（音声）は、スピーカ２０ａ，２０ｂから出力されることにより、プレイヤに教示（提示）される。
【０１０２】
プレイヤは、ゲーム画面１００を見たり、音楽を聴いたり、ノンプレイヤオブジェクト１０４，１０６の発生を聴いたりして、入力するタイミングと入力の種類（方法）と長さとを認識し、入力操作を行う。ここでは、スティック２６等でタッチパネル２４をオン（タッチオン）すると、プレイヤオブジェト１０８は発声しない（発声を停止する）。つまり、プレイヤがタッチパネル２４をタッチオンした状態が継続すると、プレイヤオブジェクト１０８が発声しない状態も継続する。
【０１０３】
一方、プレイヤがタッチパネル２４からスティック２６等をオフ（タッチオフ）すると、プレイヤオブジェクト１０８は発声する。このとき、発声される音声は、タッチオンされてからタッチオフされるまでのプレイヤの入力履歴に応じて決定される。
【０１０４】
ここでは、今回検出された指示座標（タッチオフする直前の指示座標）と前回検出された指示座標との差分（移動量）に応じてプレイヤが発声する音（音声）を決定する。差分が所定値未満であれば、単にタッチオフしたと判断して、第１の音声（たとえば、「あ」）を出力する。一方、差分が所定値以上であれば、スティック２６等でタッチパネル２４を弾くように操作（以下、「弾き操作」という。）したと判断して、第１の音声とは異なる第２の音声（たとえば、「ぎゃ」）を出力する。
【０１０５】
また、プレイヤがタッチオフした状態が継続すると、それに従って発声中の音声も継続して出力される。つまり、第１の音声または第２の音声が長音で出力される。この発声を停止させるためには、上述したように、プレイヤは、タッチパネル２４を再度タッチオンする。つまり、プレイヤは、発声する音の長さのタイミングも計る必要がある。
【０１０６】
なお、この実施例では、タッチオン、タッチオフおよび弾き操作の他に、擦り操作も可能であるが、図４（Ａ），（Ｂ）および図５に示す仮想ゲームでは、擦り操作を行ったとしても、プレイヤオブジェクト１０８は何ら発声しない。ただし、擦り操作とは、スティック２６等でタッチパネル２４をタッチオンした状態で（タッチオフせずに）、このタッチパネル２４上で往復するようにスティック２６等をスライド操作する場合の往路または復路に相当する１回のスライド操作を意味する。
【０１０７】
図示は省略するが、何ら入力を行わなかったり、入力を行ったにも関わらず、発声を開始するタイミングが大幅にずれたり、発声を停止（終了）するタイミングが大幅にずれたり、発声する音声を誤った場合には、失敗処理が実行される。たとえば、図４（Ａ），（Ｂ）および図５に示すような場合に、失敗処理が実行されると、プレイヤオブジェクト１０８がノンプレイヤオブジェクト１０４，１０６からにらまれる様子がゲーム画面１００で表示される。また、発声の開始タイミングが大幅にずれている場合には、さらに音程がずれた音が出力される。たとえば、音程のずれた音は、鍵盤では弾くことのできない音（音程が四分の１ずれた音）や不協和音である。
【０１０８】
ただし、この実施例では、発声を開始（タッチオフ）するタイミングおよび発声を終了（タッチオン）するタイミングが、成功（丁度，少しずれている）か、失敗（大幅にずれているか）の判定は、演奏する音楽に対応するＭＩＤＩデータについてのティック数を参照して判定するようにしてある。たとえば、後述するように、プレイヤが入力をするべきタイミング（ティック数）に対応して、実行するべき入力の種類（タッチオン，タッチオフ，弾く操作，擦り操作）が記述されたテーブル（設定入力テーブル）が用意されている（図１０（Ｂ）参照）。この設定入力テーブルに従って、入力が成功であるか、失敗であるかを判定（評価）するが、設定入力テーブルに記述されたタイミングと完全に一致するタイミングで入力した場合にのみ、入力が成功であると判定するようにすると、ほとんどの場合に、入力が失敗であると判定されてしまう。
【０１０９】
このため、この実施例では、或る一定の幅を設けて、入力が成功であるか、失敗であるかを判定するようにしてある。具体的には、演奏開始からのティック数が現在のフレーム数に基づいて算出され、現在のティック数が入力の成功または失敗を判定する区間（チェック区間）になると、テーブルに記述された設定入力種類と、入力バッファの入力の種類（実入力種類）とが一致するかどうかを判断する。
【０１１０】
たとえば、図６に示すように、チェック区間は、設定入力タイミングのティック数の前後に、一定のティック数（＋α，−α）を設定することにより規定される。このチェック区間内において、プレイヤの入力が有り、その実入力種類が設定入力種類と一致する場合には、入力が成功であると判定される。ただし、チェック区間内において、プレイヤの入力が無い場合や、チェック区間内にプレイヤの入力が有るが、その実入力種類が設定入力種類と一致しない場合には、入力が失敗であると判定される。
【０１１１】
また、チェック区間は、２種類の区間に分割されている。図６において網掛け模様を付して示す１つの区間（第１区間）は、設定入力タイミングを含み、チェック区間内の内側（たとえば、中央）に設けられる。また、図６において斜線模様を付して示す他の２つの区間（第２区間）は、チェック区間内の第１区間を除く区間であり、第１区間の両側に設けられる。
【０１１２】
したがって、チェック区間のうちの第１区間に、プレイヤの入力が有り、当該入力の種類（実入力種類）が、設定入力テーブルに記述された入力の種類（設定入力種類）と同じである場合には、正しい音を正しい音程で発声する演出がなされる。具体的には、正しいタイミングで発声する様子のゲーム画面１００がＬＣＤ１２に表示されるとともに、正しい音程の正しい音がスピーカ３６ａ，３６ｂから出力される。
【０１１３】
また、チェック区間のうちの第２区間に、プレイヤの入力があり、この実入力種類が、設定入力種類と同じである場合には、半音ずれた音を発声する演出がなされる。具体的には、正しいタイミングで発声する様子のゲーム画面１００がＬＣＤ１２に表示されるが、半音ずれた音程の正しい音（♯，♭）がスピーカ３６ａ，３６ｂから出力される。
【０１１４】
ただし、チェック区間に、プレイヤの入力が有るが、この実入力種類が、設定入力種類と異なる場合には、プレイヤの入力に応じた音が発声され、入力の種類が誤っている（失敗している）ことを示す演出がなされる。かかる場合には、図示は省略するが、上述したように、ノンプイレヤオブジェクト１０４，１０６がプレイヤオブジェクト１０８をにらんでいる様子のゲーム画面１００がＬＣＤ１２に表示されるとともに、プレイヤの入力に応じた音がスピーカ３６ａ，３６ｂから出力される。
【０１１５】
また、プレイヤの実入力タイミングがチェック区間の前後である場合には、実入力種類が設定入力種類と一致する場合であっても、入力が失敗であることを示す演出がなされる。具体的には、プレイヤの実入力タイミングで、プレイヤオブジェクト１０８が発声する様子のゲーム画面１００がＬＣＤ１２に表示されるとともに、正しい音に対して音程が全音の４分の１だけ異なる音や不協和音のような不快な音がスピーカ３６ａ，３６ｂから出力される。その後、ノンプレイヤオブジェクト１０４、１０６がプレイヤオブジェクト１０８をにらむ様子のゲーム画面１００がＬＣＤ１２に表示される。
【０１１６】
さらに、チェック区間内において、プレイヤが何ら入力しなかった（見逃した）場合には、入力が無かったことを示す演出がなされる。具体的には、プレイヤの入力が無いため、プレイヤオブジェクト１０８が（ノンプレイヤオブジェクト１０４，１０６も）発声しない様子のゲーム画面１００がＬＣＤ１２に表示され、プレイヤオブジェクト１０８の音声に対応する音はスピーカ３６ａ，３６ｂから出力されない。その後、ノンプレイヤオブジェクト１０４、１０６がプレイヤオブジェクト１０８をにらむ様子のゲーム画面１００がＬＣＤ１２に表示される。
【０１１７】
このように、プレイヤの入力が成功である場合の演出と、プレイヤの入力が失敗である場合の演出とが例示されるが、これらに限定される必要はなく、他の演出が採用されてよい。たとえば、プレイヤが入力を失敗した場合において、発声のタイミングが早い場合と、発声のタイミングが遅い場合とで、異なる演出をしてよい。また、プイレヤが入力を失敗した場合には、ノンプレイヤオブジェクト１０４，１０６がプレイヤオブジェクト１０８をにらむ様子のゲーム画面１００を表示するようにしたが、指揮者のノンプレイヤオブジェクト１０２がプレイヤオブジェクト１０８を怒る様子のゲーム画面１００を表示するようにしてもよい。
【０１１８】
また、図７には、他の仮想ゲームのゲーム画面２００の例が示される。このゲーム画面２００では、打撃装置のようなプレイヤオブジェクト２０２、杭のようなノンプレイヤオブジェクト２０４および中央に孔の開いた板のノンプレイヤオブジェクト２０６が表示される。たとえば、この他の仮想ゲームでは、２つのノンプレイヤオブジェクト２０６が、音楽の演奏に合わせて、所定のタイミング（ティック数）で、画面のほぼ中央で重なるように、それぞれ、画面の左右から転がって移動される。
【０１１９】
プレイヤは、ゲーム画面２００を見たり、音楽の演奏を聴いたりすることにより、２つのノンプレイヤオブジェクト２０６が重なるタイミングで、打撃の指示を入力する。この実施例では、プレイヤはスティック２６等により、タッチパネル２４上で弾き操作をする。すると、ノンプレイヤオブジェクト２０２のアーム２０２ｂが動き、それに連結される打撃部２０２ａがノンプレイヤオブジェクト２０４を打撃するように移動される。そして、ノンプレイヤオブジェクト２０４は打撃により、その長手方向であり、画面の左斜め上方に移動される。
【０１２０】
この他の仮想ゲームでは、入力が成功すると、プレイヤオブジェクト２０２によってノンプレイヤオブジェクト２０４は打撃され、画面のほぼ中央で重なる２つのノンプレイヤオブジェクト２０６を貫くように、ノンプレイヤオブジェクト２０４が２つのノンプレイヤオブジェクト２０６に突き刺さる。これによって、ノンプレイヤオブジェクト２０４と２つのノンプレイヤオブジェクト２０６とが一体的に形成されたノンプレイヤオブジェクト２１０が生成され、生成されたノンプレイヤオブジェクト２１０は、ベルトコンベアのようなノンプレイヤオブジェクト２２０上を画面の左斜め上方に向けて移動される。
【０１２１】
ただし、プレイヤの入力が成功であるか、失敗であるかは、図６に示したようなチェック区間に基づいて判定される。プレイヤの実入力タイミングがチェック区間における第１区間内であり、実入力種類が設定入力種類と一致する場合には、入力が成功であり、上述したように、ノンプレイヤオブジェクト２１０が生成される。
【０１２２】
また、実入力タイミングがチェック区間の第２区間内であり、実入力種類が設定入力種類と一致する場合には、入力は成功であり、プレイヤオブジェクト２０２によってノンプレイヤオブジェクト２０４は打撃されるが、ノンプレイヤオブジェクト２０４は、２つのノンプレイヤオブジェクト２０６に衝突して、２つのノンプレイヤオブジェクト２０６は乱雑に落下し、ノンプレイヤオブジェクト２０４のみがベルトコンベア２２０を流れていく。
【０１２３】
また、プレイヤの実入力タイミングがチェック区間の前であり、実入力種類が設定入力種類と一致する場合には、入力は失敗であり、その実入力タイミングでプレイヤオブジェクト２０２によってノンプレイヤオブジェクト２０４は打撃されるが、ノンプレイヤオブジェクト２０４は、２つのノンプレイヤオブジェクト２０６には衝突せずに、そのままベルトコンベア２００を流れて行く。また、このとき、２つのノンプレイヤオブジェクト２０６はさらに転がって、穴２１２および穴２１４にそれぞれ落ちる。
【０１２４】
ただし、プレイヤがチェック区間に何ら入力しなった場合（チェック区間の後に入力が有る場合も含む。）には、入力は失敗であり、ノンプレイヤオブジェクト２０４は、プレイヤオブジェクト２０２によって打撃されないため、そのままの状態であり、２つのノンプレイヤオブジェクト２０６は転がって穴２１２，２１４にそのまま落ちる。
【０１２５】
また、プレイヤの実入力タイミングがチェック区間内であるが、実入力種類が設定入力種類と一致しない場合には、入力は失敗であり、プレイヤオブジェクト２０２は動作せず、ノンプレイヤオブジェクト２０４はプレイヤオブジェクト２０２によって打撃されない。この場合にも、ノンプレイヤオブジェクト２０４はそのままの状態であり、２つのノンプレイヤオブジェクト２０６は転がって穴２１２，２１４にそのまま落ちる。
【０１２６】
また、図８には、その他の仮想ゲームのゲーム画面３００の例が示される。このゲーム画面３００には、男性のノンプレイヤオブジェクト３０２と、女性のプレイヤオブジェクト３０４と、フラスコのような器具のノンプレイヤオブジェクト３０６とが表示されるとともに、３つのハートマークで示されるインジケータ３０８が表示される。
【０１２７】
このその他の仮想ゲームでは、ノンプレイヤオブジェクト３０２の左側かノンプレイヤオブジェクト３０６が飛んで来る。ノンプレイヤオブジェクト３０２は、ノンプレイヤオブジェクト３０６をキャッチして、所定回数振った後に、プレイヤオブジェクト３０４の方に（右側に）投げる。プレイヤの操作により、ノンプイレヤオブジェクト３０２と同様の動作をさせることができた場合には、ハートが生まれて、インジケータ３０８のハート型が塗り潰される。しかし、ノンプレイヤオブジェクト３０６のキャッチに失敗したり、ノンプレイヤオブジェクト３０６を振ることに失敗したり、ノンプイレヤオブジェクト３０６を投げることに失敗したりした場合には、ハートは生まれない。したがって、インジケータ３０８のハート型も塗りつぶされない。
【０１２８】
なお、実際の仮想ゲームにおいては、或る制限の中で、インジケータ３０８のハート型が全部塗り潰されると、プレイヤオブジェクト３０４の恋が成就し、インジケータ３０８のハート型において塗り潰されていない部分が有る場合には、プレイヤオブジェクト３０４の恋は成就しないことになる。
【０１２９】
プイレヤは、プレイヤオブジェクト３０４にノンプイレヤオブジェクト３０６をキャッチさせる場合には、スティック２６等によって、タッチパネル２４をタッチオンする。また、プレイヤは、プレイヤオブジェクト３０４にノンプレイヤオブジェクト３０６を振らせる場合には、スティック２６等によって、タッチパネル２４上で擦り操作を行う。そして、プレイヤは、プレイヤオブジェクト３０４にノンプレイヤオブジェクト３０６を投げさせる場合には、スティック２６等によって、タッチパネル２４上で弾き操作を行う。
【０１３０】
これらのすべての入力に成功した場合には、上述したように、ハートが生まれるが、いずれか１つでも入力に失敗した場合（見逃した場合も含む。）には、ハートは生まれない。詳細な説明は省略するが、これらの入力のそれぞれについても、上述したように、図６に示したようなチェック区間に従ってプレイヤの入力が判定される。ただし、このその他の仮想ゲームでは、３つの入力に成功する必要あるが、１番目の入力（タッチオン）すなわちノンプレイヤオブジェクト３０６のキャッチに失敗すると、その後の擦り操作およびタッチオフについては判定されずに、ハートが生成されない様子のゲーム画面３００がＬＣＤに表示される。また、同様に、２番目の入力（擦り操作）すなわちノンプレイヤオブジェクト３０６を振ることに失敗すると、その後の弾き操作については判定されない。
【０１３１】
図９は図２に示したＲＡＭ４２のメモリマップ７０の一例を示す図解図である。図９に示すように、ＲＡＭ４２は、プログラム記憶領域７２およびデータ記憶領域７４を含む。プログラム記憶領域７２には、ゲームプログラム（情報処理プログラム）が記憶され、このゲームプログラムは、メイン処理プログラム７２０、画像生成プログラム７２２、画像表示プログラム７２４、音再生プログラム７２６、入力判定プログラム７２８および入力バッファ処理プログラム７３０などによって構成される。
【０１３２】
メイン処理プログラム７２０は、この実施例の仮想ゲームのメインルーチンを処理するためのプログラムである。画像生成プログラム７２２は、後述する画像データ７４２を用いて、ＬＣＤ１２（１４）に表示するゲーム画面（１００，２００、３００など）に対応するゲーム画像を生成するためのプログラムである。画像表示プログラム７２４は、画像生成プログラム７２２に従って生成されたゲーム画像をＬＣＤ１２（１４）に表示するためのプログラムである。
【０１３３】
音再生プログラム７２６は、後述する音データ７４４を用いて、プレイヤオブジェクト（１０８，２０２，３０４など）やノンプレイヤオブジェクト（１０４，１０６，２０４，２０６，２１０，３０２，３０６など）が発生ないし発声する音（効果音，音声，擬声音）やプレイヤに入力のタイミングを提示ないし教示するための音ないし音楽を再生するためのプログラムである。この音再生プログラム７２６に従って再生された音ないし音楽は、スピーカ３６ａ，３６ｂから出力される。
【０１３４】
入力判定プログラム７２８は、プレイヤの実入力タイミングと実入力種類とに基づいて、入力が成功したか、失敗したかを判定するためのプログラムである。ただし、プレイヤの実入力種類は、次の入力バッファ処理プログラム７３０に従って判別（決定）され、その判別結果が入力バッファ７４０に記憶される。
【０１３５】
入力バッファ処理プログラム７３０では、タッチパネル２４からの座標データ（入力座標データ）を検出して入力バッファ７４０に記憶するためのプログラムである。ただし、この実施例では、１フレーム期間（フレーム：画面更新単位時間（１／６０秒））において、入力座標データは４回検出される。また、入力バッファ処理プログラム７３０は、入力バッファ７４０に記憶されている入力座標データの履歴に基づいてプレイヤの入力の種類を判別し、判別結果とともに、その入力があったときのティック数（現在ティック数データ７５２が示す現在ティック数）を入力ティック数として、入力バッファ７４０に記憶（追加）する。
【０１３６】
なお、図示は省略するが、ゲームプログラムには、得点集計プログラムやバックアッププログラムなども含まれる。得点集計プログラムは、プレイヤの入力に成功や失敗に応じて、得点（スコア）を加算したり、減算したりするためのプログラムであり、また、プレイヤオブジェクトないしプレイヤのゲームレベルも算出する。バックアッププログラムは、この実施例の仮想ゲームについてのゲームデータ（途中データ，結果データ）をメモリカード２８のＲＡＭ２８ｂに保存（セーブ）するためのプログラムである。
【０１３７】
図１０（Ａ）は、図９に示したデータ記憶領域７４の詳細な内容を示す図解図である。図１０（Ａ）に示すように、データ記憶領域７４には、入力バッファ７４０が設けられる。この入力バッファ７４０には、入力座標データが記憶されるとともに、判別された実入力種類（タッチオン，タッチオフ，弾き操作，擦り操作）のデータおよびその入力ティック数のデータが記憶される。
【０１３８】
また、データ記憶領域７４には、画像データ７４２，音データ７４４，設定入力テーブルデータ７４６，チェック区間データ７４８，現在タイミングデータ７５０，現在ティック数データ７５２，現在タッチ位置データ７５４，前回タッチ位置データ７５６，移動量データ７５８が記憶される。さらに、データ記憶領域７４には、タイミングカウンタ７６０が設けられるとともに、タッチフラグ７６２および擦り検知フラグ７６４等が設けられる。
【０１３９】
画像データ７４２は、ゲーム画像を生成するための画像データであり、ポリゴンデータやテクスチャデータなどのデータである。音データ７４４は、プレイヤオブジェクト（１０８，２０２，３０４など）やノンプレイヤオブジェクト（１０４，１０６，２０４，２０６，２１０，３０２，３０６など）が発生ないし発声する音（効果音，音声，擬声音）やプレイヤに入力のタイミングを教示するための音楽についてのデータ（たとえば、ＭＩＤＩデータ）である。
【０１４０】
設定入力テーブルデータ７４６は、設定入力タイミング（ティック数）と当該設定入力タイミングにおける設定入力種類（アクション種類）とを予め設定したテーブルのデータである。以下、設定入力タイミングと設定入力種類とをまとめて「設定入力情報」と呼ぶことがある。具体的には、設定入力テーブルでは、図１０（Ｂ）に示すように、ＩＤ（シリアル番号）に対応して、設定入力情報、すなわち、設定入力タイミングを示すティック数および設定入力種類を示すアクション種類が記述される。ただし、ティック数は、音楽の再生開始からのティック数である。たとえば、図１０（Ｂ）によれば、ＩＤが「１」の場合には、ティック数が「４８０」のタイミングで入力の種類として「タッチオン」が教示ないし評価される。また、ＩＤが「２」の場合には、ティック数が「９６０」のタイミングで、入力の種類として「タッチオフ」が教示ないし評価される。
【０１４１】
なお、図１０（Ｂ）に示す設定入力テーブルは単なる一例であり、仮想ゲームの種類や再生する音楽データの種類に応じて異なる設定入力テーブルが用意されるのである。
【０１４２】
図１０（Ａ）に戻って、チェック区間データ７４８は図６に示したようなチェック区間を規定するためのデータである。具体的には、設定入力テーブルにおいて、現在タイミングデータ７５０が示すＩＤに対応する設定入力タイミングのティック数の±αの区間をチェック区間として設定する。したがって、チェック区間データ７４８として、設定入力タイミングのティック数−αをチェック区間の開始ティック数とし、設定入力タイミングのティック数＋αをチェック区間の終了ティック数とするデータが記憶される。このため、現在タイミングデータ７５０が示すＩＤが更新されると、つまり判定するべき設定入力情報が更新されると、チェック区間データ７４８も更新される。
【０１４３】
現在タイミングデータ７５０は、設定入力テーブルに記述された設定入力情報のうち、いずれの設定入力情報が比較対象となっているかを判断するためのデータであり、具体的には、比較対象となっている設定入力情報（設定入力タイミングおよび設定入力種類）のデータである。現在ティック数データ７５２は、現在のティック数を示すデータであり、音楽の再生開始から時間の経過に従って更新される。
【０１４４】
現在タッチ位置データ７５４は、タッチパネル２４から入力される座標データのうち、最も新しい入力座標データである。つまり、現在のタッチ位置に対応する入力座標データである。この現在タッチ位置データ７５４は、入力バッファ７４０に記憶された入力座標データのうち、最も新しい入力座標データの複製であり、入力バッファ７４０に入力座標データが入力される度に、更新される。
【０１４５】
前回タッチ位置データ７５６は、現在タッチ位置データ７５４の１つ前に入力バッファ７４０に記憶された入力座標データである。つまり、前回のタッチ位置に対応する入力座標データである。この前回タッチ位置データ７５６は、現在タッチ位置データ７５４が更新されるときに、当該現在タッチ位置データ７５４の複製が前回タッチ位置データ７５６として記憶されることによって、更新される。
【０１４６】
移動量データ７５８は、前回タッチ位置データ７５６が示す前回のタッチ位置と、現在タッチ位置データ７５４が示す現在のタッチ位置との差分（距離）についてのデータである。ただし、差分ないし距離は絶対値である。
【０１４７】
タイミングカウンタ７６０は、設定入力テーブルに記憶された設定入力情報のＩＤをカウントするためのカウンタである。つまり、設定入力テーブルのＩＤを１から順にカウントする。
【０１４８】
タッチフラグ７６２は、タッチ状態（タッチオン，タッチオフ）を示すフラグであり、１ビットのレジスタで構成される。タッチフラグ７６２がオン（成立）であれば、レジスタにデータ値「１」が設定され、タッチフラグ７６２がオフ（不成立）であれば、レジスタにデータ値「０」が設定される。ただし、タッチフラグ７６２は、タッチ状態がタッチオフからタッチオンに変化したときに、オンされる。一方、タッチフラグ７６２は、タッチ状態がタッチオンからタッチオフに変化したときに、オフされる。
【０１４９】
擦り検知フラグ７６４は、擦り操作を検知可能な状態か否かを判別するためのフラグである。この擦り検知フラグ７６４もまた、１ビットのレジスタで構成される。擦り検知フラグ７６４がオンされると、レジスタにデータ値「１」が設定され、擦り検知フラグ７６４がオフされると、レジスタにデータ値「０」が設定される。ただし、擦り検知フラグ７６４は、移動量データ７５８が示す移動量（差分）が所定値Ａ未満であれば、オンされ、移動量データ７５８が示す移動量が所定値Ａ以上であれば、オフされる。
【０１５０】
なお、図示は省略するが、データ記憶領域７４には、ゲームプログラムの実行に必要な他のデータが記憶されるとともに、ゲームプログラムの実行に必要な他のカウンタや他のフラグが設けられる。
【０１５１】
図１１は、図２に示したＣＰＵコア３４のメイン処理のフロー図である。図１１に示すように、ＣＰＵコア３４は、メイン処理を開始すると、ステップＳ１で、後述する初期処理（図１２参照）を実行し、次のステップＳ３で、音楽の再生を開始する。つまり、音データ７４４に含まれる音楽のデータが再生され、再生された音楽がスピーカ３６ａ，３６ｂから出力される。この音楽の再生開始と同時或いはほぼ同時に、ＣＰＵコア３４は、別のタスクで実行する、入力バッファ処理（図１５参照）を開始する。
【０１５２】
なお、図示は省略するが、音楽の再生を開始するとともに、ゲーム画像の生成も開始され、ゲーム画面（１００，２００，３００など）がＬＣＤ１２に表示される。また、ゲーム画面（１００，２００，３００など）は、１フレーム毎に更新される。
【０１５３】
ステップＳ５では、現在フレーム数に対応する現在ティック数（現在ティック数データ７５２）を算出する。つまり、音楽の再生開始からのフレーム数に相当する時間をティック数に換算するのである。そして、ステップＳ７では、チェック区間がＮＵＬＬかどうかを判断する。ここでは、設定入力テーブルに記述されているすべての設定入力情報についての判定をすべて終了したかどうかどうかを判断するのである。
【０１５４】
ステップＳ７で“ＹＥＳ”であれば、つまりチェック区間がＮＵＬＬであれば、判定するべき設定入力情報が無いと判断して、そのままステップＳ１９に進む。一方、ステップＳ７で“ＮＯ”であれば、つまりチェック区間がＮＵＬＬでなければ、判定するべき設定入力情報が有ると判断して、ステップＳ９で、入力が無く、現在ティック数データ７５２が示す現在ティック数がチェック区間を超えたかどうかを判断する。つまり、プレイヤが入力のタイミングを逃してしまったかどうかを判断する。
【０１５５】
ステップＳ９で“ＮＯ”であれば、つまり、現在ティック数がチェック区間を超えていなければ、そのままステップＳ１５に進む。一方、ステップＳ９で“ＹＥＳ”であれば、つまり、入力が無く、現在ティック数がチェック区間を超えていれば、ステップＳ１１で、入力失敗処理を実行して、ステップＳ１３で、後述するタイミング更新処理（図１３参照）を実行して、ステップＳ１５に進む。ただし、ステップＳ１１の入力失敗処理は、何も入力しないでチェック区間が過ぎた場合についての失敗処理であり、上述したように、仮想ゲーム毎に異なる演出がなされる。
【０１５６】
ステップＳ１５では、チェック区間がＮＵＬＬであるかどうかを判断する。ここで、ステップＳ７と同じ処理を実行するのは、ステップＳ９−ステップＳ１３の処理によって、設定入力テーブルに記述されているすべての設定入力情報についての判定処理を終了してしまい、タイミング更新処理によって、チェック区間にＮＵＬＬが代入される場合があるからである。ステップＳ１５で“ＹＥＳ”であれば、つまりチェック区間がＮＵＬＬであれば、そのままステップＳ１９に進む。一方、ステップＳ１５で“ＮＯ”であれば、つまりチェック区間がＮＵＬＬでなければ、ステップＳ１７で、後述する入力判定処理（図１４参照）を実行して、ステップＳ１９に進む。
【０１５７】
ステップＳ１９では、音楽の再生が終了したかどうかを判断する。ステップＳ１９で“ＮＯ”であれば、つまり音楽の再生が終了していなければ、そのままステップＳ５に戻って、仮想ゲームを続行する。一方、ステップＳ１９で“ＹＥＳ”であれば、つまり音楽の再生が終了すれば、仮想ゲームの終了と判断して、メイン処理を終了する。
【０１５８】
ただし、この図１１に示すメイン処理のスキャンタイムは、１フレームである。また、図示は省略するが、メイン処理にて、ステップＳ１９で“ＹＥＳ”となり、メイン処理を終了するときに、入力バッファ処理のタスクも終了される。
【０１５９】
図１２は、図１１に示したステップＳ１の初期処理のフロー図である。図１２に示すように、初期処理を開始すると、ステップＳ３１で、タッチフラグ７６２をオフし、ステップＳ３３で、前回タッチ位置をクリアする。つまり、ステップＳ３３では、前回タッチ位置データ７５６として、たとえばＮＵＬＬを書き込む。
【０１６０】
続いて、ステップＳ３５で、擦り検知フラグ７６４をオンし、ステップＳ３７で、入力バッファ７４０をクリアし、ステップＳ３９で、音楽についての音データ７４４を読み込み、ステップＳ４１で、タイミングカウンタ７６０をリセットする。ここでは、タイミングカウンタ７６０のカウント値が初期値「０」に設定される。
【０１６１】
次に、ステップＳ４３では、現在タイミングデータ７５０をリセットし、ステップＳ４５で、チェック区間データ７４８をリセットし、そして、ステップＳ４７で、後述するタイミング更新処理を実行して、初期処理を終了する。たとえば、ステップＳ４３では、現在タイミングデータ７５０としてＮＵＬＬを設定し、また、ステップＳ４５では、チェック区間データ７４８としてＮＵＬＬを設定する。
【０１６２】
図１３は、図１１のステップＳ１３および図１２のステップＳ４７に示したタイミング更新処理のフロー図である。図１３に示すように、ＣＰＵコア３４は、タイミング更新処理を開始すると、ステップＳ６１で、タイミングカウンタ７６０に１加算する。続いて、ステップＳ６３では、設定入力テーブルにタイミングカウンタ７６０のカウント値が示すＩＤの設定入力情報が有るかどうかを判断する。つまり、判定するべき設定入力情報が有るかどうかを判断するのである。
【０１６３】
ステップＳ６３で“ＹＥＳ”であれば、つまり設定入力テーブルにタイミングカウンタ７６０のカウント値が示すＩＤの設定入力情報が有る場合には、つまり判定するべき設定入力情報が有れば、ステップＳ６５で、当該設定入力情報を現在タイミングデータ７５０に代入する。つまり、ステップＳ６５では、設定入力情報が示す設定入力タイミングおよび設定入力種類についてのデータを現在タイミングデータ７５０として設定するのである。そして、ステップＳ６７では、現在タイミングデータ７５０が示すティック数（設定入力タイミングのティック数）の±αの区間をチェック区間に設定して、タイミング更新処理を終了する。つまり、ステップＳ６７では、設定入力タイミングのティック数−αをチェック区間の開始とし、設定入力タイミングのティック数＋αをチェック区間の終了とするチェック区間データ７４８が設定される。
【０１６４】
一方、ステップＳ６３で“ＮＯ”であれば、つまり設定入力テーブルにタイミングカウンタ７６０のカウント値が示すＩＤの設定入力情報が無い場合には、判定するべき設定入力情報が無ければ、ステップＳ６９で、現在タイミングデータ７５０にＮＵＬＬを代入し、ステップＳ７１で、チェック区間データ７４８にＮＵＬＬを代入して、タイミング更新処理を終了する。
【０１６５】
図１４は、図１１に示したステップＳ１７の入力判定処理のフロー図である。図１４に示すように、ＣＰＵコア３４は、入力判定処理を開始すると、ステップＳ８１で、入力バッファ７４０にデータ（入力座標データ）が有るかどうかを判断する。ステップＳ８１で“ＮＯ”であれば、つまり入力バッファ７４０にデータが無ければ、そのままステップＳ９７に進む。一方、ステップＳ８１で“ＹＥＳ”であれば、つまり入力バッファ７４０にデータあれば、ステップＳ８３で、入力バッファ７４０を読み込み、ステップＳ８５で、実入力種類のデータとともに記憶されている入力ティック数のデータが示す入力ティック数が、チェック区間データ７４８が示すチェック区間内かどうかを判断する。
【０１６６】
ステップＳ８５で“ＮＯ”であれば、つまり入力ティック数が、チェック区間データ７４８が示すチェック区間内でなければ、ステップＳ９３に進む。一方、ステップＳ８５で“ＹＥＳ”であれば、つまり入力ティック数が、チェック区間データ７４８が示すチェック区間内であれば、ステップＳ８７で、現在タイミングデータ７５０が示す設定入力種類と、入力バッファ７４０に当該入力ティック数とともに記憶された実入力種類とが一致するかどうかを判断する。
【０１６７】
ステップＳ８７で“ＮＯ”であれば、つまり現在タイミングデータ７５０が示す設定入力種類と、入力バッファ７４０に当該入力ティック数とともに記憶された実入力種類とが一致しなければ、ステップＳ９３に進む。一方、ステップＳ８７で“ＹＥＳ”であれば、つまり現在タイミングデータ７５０が示す設定入力種類と、入力バッファ７４０に当該入力ティック数とともに記憶された実入力種類とが一致すれば、ステップＳ８９で、入力成功処理を実行し、ステップＳ９１で、図１３に示すフロー図を用いて説明したタイミング更新処理を実行して、ステップＳ９７に進む。
【０１６８】
ステップＳ９３では、入力失敗かどうかを判断する。たとえば、プレイヤの入力がチェック区間外に有り、タイミングのずれにより入力失敗と判断されたり、プイレヤの入力がチェック区間内に有るが、入力種類の誤りにより入力失敗と判断されたりする場合がある。ただし、図８のゲーム画面３００の例を用いて説明した仮想ゲームの場合のように、３つの入力を連続して成功させる必要がある場合に、１番目や２番目の入力に失敗すると、その後の入力は無視または無効にされるため、ステップＳ９３で、入力失敗かどうかを判断して、入力を無視または無効にする場合には、ステップＳ９３で“ＮＯ”と判断するようにしてある。また、たとえば、弾き操作のみを入力とするゲームをプレイする場合であっても、弾き操作の前には、必ずタッチオンの入力が検出される。したがって、このように、弾き操作のみを入力とするゲームにおいては、タッチオンの入力は無視または無効にされ、かかる場合にも、ステップＳ９３で“ＮＯ”と判断するようにしてある。同様に、タッチオン（またはタッチオフ）のみを入力とするゲームをプレイする場合には、その前に検出されるタッチオフ（またはタッチオン）の入力は無視または無効にされる。
【０１６９】
ステップＳ９３で“ＮＯ”であれば、つまり入力失敗で無く、入力を無視または無効にする場合には、そのままステップＳ９７に進む。一方、ステップＳ９３で“ＹＥＳ”であれば、つまり入力失敗であれば、ステップＳ９５で、入力失敗処理を実行して、ステップＳ９７に進む。ただし、ステップＳ９５の入力失敗処理は、入力がチェック区間外に有った場合や、入力がチェック区間内に有るが、当該入力種類が誤っている場合についての失敗処理であり、上述したように、仮想ゲーム毎に異なる演出がなされる。
【０１７０】
ステップＳ９７では、入力バッファ７４０に、未読データが有るかどうかを判断する。つまり、ＣＰＵ３４は、入力判定を行っていないデータが入力バッファ７４０内に存在するかどうかを判断するのである。ステップＳ９７で“ＹＥＳ”であれば、つまり入力バッファ７４０に、未読データが有れば、当該未読データの入力判定を行うべく、ステップＳ８３に戻る。一方、ステップＳ９７で“ＮＯ”であれば、つまり入力バッファ７４０に、未読データが無ければ、入力バッファ７４０内のすべてのデータについて入力判定を行ったと判断して、ステップＳ９９で、入力バッファ７４０をクリア（消去）して、入力判定処理を終了する。
【０１７１】
図１５は、図２に示すＣＰＵコア３４の入力バッファ処理のフロー図である。上述したように、この入力バッファ処理は、メイン処理とは別のタスクで実行され、そのスキャンタイムはメイン処理（１フレーム）の４分の１である。この入力バッファ処理によって、入力座標が検出されるとともに、実入力種類が判別される。
【０１７２】
図１５に示すように、入力バッファ処理を開始すると、ステップＳ１２１で、座標入力を検出する。つまり、タッチパネル２４からの入力座標データが有るか否かを検出し、入力座標データが有る場合には、当該入力座標データを入力バッファ７４０に記憶する。
【０１７３】
続くステップＳ１２３では、現在タッチ位置を前回タッチ位置に代入する。つまり、ＣＰＵコア３４は、現在タッチ位置データ７５４の複製を全体タッチ位置データ７５６としてデータ記憶領域７４に記憶する（更新する）。次に、ステップＳ１２５では、検出した座標位置を現在タッチ位置に代入する。つまり、ＣＰＵコア３４は、今回検出して入力バッファ７４０に記憶された最新の入力座標データを、現在タッチ位置データ７５４としてデータ記憶領域７４に記憶する（更新する）。
【０１７４】
そして、ステップＳ１２７では、タッチしているかどうかを判断する。つまり、ステップＳ１２１で、入力座標データが検出されたかどうかを判断する。ステップＳ１２７で“ＹＥＳ”であれば、つまり入力座標データが検出され、タッチしていると判断した場合には、ステップＳ１２９で、後述する接触処理（図１６参照）を実行して、ステップＳ１２１に戻る。一方、ステップＳ１２７で“ＮＯ”であれば、つまり入力座標データが検出されず、タッチしていないと判断した場合には、ステップＳ１３１で、後述する非接触処理（図１７参照）を実行して、ステップＳ１２１に戻る。
【０１７５】
図１６は、図１５に示したステップＳ１２９の接触処理のフロー図である。図１６に示すように、ＣＰＵコア３４は接触処理を開始すると、ステップＳ１４１で、タッチフラグ７６２がオンであるかどうかを判断する。つまり、ＣＰＵ３４は、タッチオンの状態が継続しているかどうかを判断するのである。ステップＳ１４１で“ＹＥＳ”であれば、つまりタッチフラグ７６２がオンであれば、タッチオンの状態が継続していると判断して、ステップＳ１４３で、前回タッチ位置と現在タッチ位置との差分により移動量を算出する。つまり、ＣＰＵコア３４は、前回タッチ位置データ７５６が示す前回タッチ位置と、現在タッチ位置データ７５４が示す現在タッチ位置との差分から、移動量データ７５８を算出する。以下、同様である。
【０１７６】
続くステップＳ１４５では、擦り検知フラグ７６４がオンであるかどうかを判断する。ステップＳ１４５で“ＹＥＳ”であれば、つまり擦り検知フラグ７６４がオンであれば、ステップＳ１４７で、移動量データ７５８が示す移動量が所定値Ａ以上かどうかを判断する。つまり、タッチオンした状態が継続しており、一定時間（ここでは、１／４フレーム）における移動量が所定値Ａ以上であれば、一定の速度以上になったと判断して、擦り操作の開始を検出する。つまり、所定値Ａ（一定の速度）は擦り操作の開始を検出するための値であり、試験等によって経験的に得られる。ただし、タッチパネル２４上をプレイヤが繰り返し往復するようにスライド操作する場合における１回の往路または復路に相当するスライド操作を擦り操作として判断するため、後述するように、ＣＰＵコア３４は、一定の速度未満になるまでは（Ｓ１５３で“ＹＥＳ”）、１回の擦り操作が継続していると判断する。
【０１７７】
ステップＳ１４７で“ＮＯ”であれば、つまり移動量データ７５８が示す移動量が所定値Ａ未満であれば、擦り操作を開始していない或いは擦り操作ではないと判断して、そのまま接触処理を終了する。つまり、図１５に示した入力バッファ処理にリターンする。一方、ステップＳ１４７で“ＹＥＳ”であれば、つまり移動量データ７５８が示す移動量が所定値Ａ以上であれば、実入力種類が擦り操作であると判別して、ステップＳ１４９で、入力ティック数とともに「擦り」を入力バッファ７４０に追加登録する。つまり、ここでは、図１５に示したステップＳ１２１で検出された入力座標データに対して、入力ティック数のデータおよび「擦り操作」の情報（識別情報など）を追加する。以下、入力種類を入力バッファ７４０に追加登録する場合について同様である。そして、ステップＳ１５１で、擦り検知フラグ７６４をオフして、入力バッファ処理にリターンする。
【０１７８】
また、ステップＳ１４５で“ＮＯ”であれば、つまり擦り検知フラグ７６４がオフであれば、擦り操作中であると判断して、ステップＳ１５３で、移動量データ７５８が示す移動量が所定値Ａ未満かどうかを判断する。ここでは、ＣＰＵコア３４は、上述したように、１回の擦り操作が終了したかどうかを判断するのである。ステップＳ１５３で“ＮＯ”であれば、つまり移動量データ７５８が示す移動量が所定値Ａ以上であれば、擦り操作が継続している判断して、そのまま入力バッファ処理にリターンする。一方、ステップＳ１５３で“ＹＥＳ”であれば、つまり移動量データ７５８が示す移動量が所定値Ａ未満であれば、擦り操作を終了したと判断して、次の擦り操作を検知可能にするべく、ステップＳ１５５で、擦り検知フラグ７６４をオンして、入力バッファ処理にリターンする。
【０１７９】
また、ステップＳ１４１で“ＮＯ”であれば、つまりタッチフラグ７６２がオフであれば、タッチオフの状態からタッチオンされたと判断する。つまり、実入力種類がタッチオンであると判別する。したがって、ステップＳ１５７で、入力ティック数とともに「タッチオン」を入力バッファ７４０に追加登録する。次のステップＳ１５９では、擦り検知フラグ７６４をオンし、ステップＳ１６１で、移動量データ７５８をクリアし、そして、ステップＳ１６３で、タッチフラグ７６２をオンして、入力バッファ処理にリターンする。つまり、ステップＳ１５９−Ｓ１６３の処理によって、擦り操作の検知可能な状態にしてある。
【０１８０】
図１７は、図１５に示したステップＳ１３１の非接触処理のフロー図である。図１７に示すように、ＣＰＵコア３４は非接触処理を開始すると、ステップＳ１７１で、タッチフラグ７６２がオンであるかどうかを判断する。ここでは、ＣＰＵコア３４は、タッチオンの状態からタッチオフになったかどうかを判断する。ステップＳ１７１で“ＮＯ”であれば、つまりタッチフラグ７６２がオフであれば、タッチオフの状態が継続しており、何ら入力が無いと判断して、非接触処理を終了する。つまり、図１５に示した入力バッファ処理にリターンする。
【０１８１】
一方、ステップＳ１７１で“ＹＥＳ”であれば、つまりタッチフラグ７６２がオンであれば、タッチオンの状態からタッチオフになったと判断して、ステップＳ１７２で、前回タッチ位置と現在タッチ位置との差分により移動量（移動量データ７５８）を算出する。そして、ステップＳ１７３で、移動量データ７５８が示す移動量が所定値Ｂ以下であるかどうかを判断する。ここで、所定値Ｂは弾き操作かどうかを判別するための値であり、試験等により経験的に決定される。便宜上、所定値Ａと所定値Ｂとは異なる値のように表記してあるが、同じ値であることも有り得る。
【０１８２】
ステップＳ１７３で“ＹＥＳ”であれば、つまり移動量データ７５８が示す移動量が所定値Ｂ以下であれば、実入力種類がタッチオフであると判別して、ステップＳ１７５で、入力ティック数とともに「タッチオフ」を入力バッファ７４０に追加登録し、ステップＳ１７９で、タッチフラグ７６２をオフして、入力バッファ処理にリターンする。一方、ステップＳ１７３で“ＮＯ”であれば、つまり移動量データ７５８が示す移動量が所定値Ｂを超えていれば、実入力種類が弾き操作であると判別して、ステップＳ１７７で、入力ティック数とともに「弾き」を入力バッファに追加登録して、ステップＳ１７９に進む。
【０１８３】
この実施例によれば、ゲーム画面や音楽に合わせて、単にタッチオンするだけでなく、タッチオフしたり、弾き操作したり、擦り操作したりするので、入力のバリエーションが豊富であり、ゲームの面白さを増大させることができる。
【０１８４】
また、この実施例によれば、プレイヤの入力のタイミングおよび入力の種類が、予め設定されている入力のタイミングおよび入力の種類と一致する度合いに応じて異なる処理を実行するので、単にタイミングを計るだけでなく、入力種類の正確さもその後の処理に反映させることができる。
【０１８５】
なお、この実施例では、ポインティングデバイスとして、タッチパネルを用いるようにしたが、ペンタブレット、タッチパッド、コンピュータマウスのような他のポインティングデバイスを用いることも可能である。ただし、ペンタブレットやコンピュータマウスを用いる場合には、タッチオン、タッチオフ、弾き操作および擦り操作の判別方法を変更する必要がある。
【０１８６】
また、ゲーム装置の構成は、上述の実施例の構成に限定されるべきでない。たとえば、ＬＣＤは１つでもよく、タッチパネルは２つのＬＣＤのそれぞれに設けるようにしてもよい。さらには、タッチパネルはゲーム装置に接続される周辺機器であっても良い。
【符号の説明】
【０１８７】
１０  …ゲーム装置
１２，１４  …ＬＣＤ
１６，１６ａ，１６ｂ  …ハウジング
２２  …操作スイッチ
２４  …タッチパネル
２６  …スティック
２８  …メモリカード
２８ａ  …ＲＯＭ
２８ｂ，４２  …ＲＡＭ
３４  …ＣＰＵコア
３６ａ，３６ｂ  …スピーカ
４４，４６  …ＧＰＵ
４８  …Ｉ／Ｆ回路
５０  …ＬＣＤコントローラ
５２，５４  …ＶＲＡＭ
【図１】
0005749752.tif 000002
【図２】
0005749752.tif 000003
【図３】
0005749752.tif 000004
【図４】
0005749752.tif 000005
【図５】
0005749752.tif 000006
【図６】
0005749752.tif 000007
【図７】
0005749752.tif 000008
【図８】
0005749752.tif 000009
【図９】
0005749752.tif 000010
【図１０】
0005749752.tif 000011
【図１１】
0005749752.tif 000012
【図１２】
0005749752.tif 000013
【図１３】
0005749752.tif 000014
【図１４】
0005749752.tif 000015
【図１５】
0005749752.tif 000016
【図１６】
0005749752.tif 000017
【図１７】
0005749752.tif 000018