(57)【特許請求の範囲】
【請求項１】
タッチパネルを有するゲーム機と当該タッチパネル上の所定位置に着脱自在に載置されるカードとを備えたゲームシステムであって、
前記カードには所定形状の孔または切り込みから成る少なくとも１つの孔部が形成されており、
前記ゲーム機は、
前記タッチパネルに対する入力操作が、当該タッチパネル上の所定位置に前記カードを載置した状態で当該カードの孔部に沿って行われた入力操作かどうかを判別するための判別情報を保持する判別情報記憶手段、
前記タッチパネルからの信号に基づいて入力軌跡を検出する入力軌跡検出手段、
前記入力軌跡検出手段によって検出された入力軌跡と前記判別情報記憶手段によって保持されている判別情報とに基づいて、前記タッチパネルに対する入力操作が前記孔部に沿った入力操作かどうかを判別する入力操作判別手段、および、
前記入力操作判別手段によって前記タッチパネルに対する入力操作が前記孔部に沿った入力操作であると判別されたときにゲーム進行に変化を与えるイベントを発生させるイベント発生手段を備えていることを特徴とする、ゲームシステム。
【請求項２】
前記判別情報記憶手段は、前記判別情報として、当該タッチパネル上に前記カードを載置した状態で当該カードの孔部に沿って入力操作が行われたときの入力軌跡に相当する比較軌跡を記憶しており、
前記入力操作判別手段は、前記入力軌跡検出手段によって検出された入力軌跡と前記判別情報記憶手段に記憶されている比較軌跡との類似度を計算し、当該類似度に基づいて前記タッチパネルに対する入力操作が前記孔部に沿った入力操作かどうかを判別することを特徴とする、請求項１に記載のゲームシステム。
【請求項３】
前記判別情報記憶手段は、前記判別情報として、前記入力軌跡と照合すべき比較軌跡を構成する複数の座標データを保持しており、
前記入力操作判別手段は、前記判別情報記憶手段に記憶されている座標データと前記入力軌跡検出手段によって検出された座標データとに基づいて、軌跡を構成する線分の角度の差および軌跡を構成する頂点の位置の差の少なくとも何れか一方を算出し、当該算出結果に基づいて前記類似度を計算することを特徴とする、請求項２に記載のゲームシステム。
【請求項４】
前記ゲーム機は、前記タッチパネルの操作面に仮想的に設定される複数の認識領域と当該認識領域毎に固有の識別情報とを関連付けた認識領域情報を保持する認識領域情報記憶手段をさらに備え、
前記入力軌跡検出手段は、前記タッチパネルからの信号に基づいて入力座標を順次検出し、当該入力座標がいずれの認識領域に含まれるかを前記認識領域情報を参照して順次判別し、
前記入力操作判別手段は、前記入力軌跡検出手段によって判別された認識領域の識別番号に基づいて、前記タッチパネルに対する入力操作が前記孔部に沿った入力操作かどうかを判別することを特徴とする、請求項１に記載のゲームシステム。
【請求項５】
前記入力操作判別手段は、前記入力軌跡検出手段によって判別された認識領域の識別番号を用いて所定の演算を行い、当該演算結果に基づいて、前記タッチパネルに対する入力操作が前記孔部に沿った入力操作かどうかを判別することを特徴とする、請求項４に記載のゲームシステム。
【請求項６】
前記入力操作判別手段は、前記入力軌跡検出手段によって判別された各認識領域の識別番号と各該認識領域が前記入力軌跡検出手段によって判別された順番に基づいて所定の演算を行い、当該演算結果に基づいて、前記タッチパネルに対する入力操作が前記孔部に沿った入力操作かどうかを判別することを特徴とする、請求項４に記載のゲームシステム。
【請求項７】
前記ゲーム機は、前記入力軌跡検出手段によって認識領域が判別されたときに、直前に認識領域が検出されてからの経過時間を検出する経過時間検出手段とをさらに備え、
前記入力操作判別手段は、前記入力軌跡検出手段によって判別された各認識領域の識別番号と前記経過時間検出手段によって検出された各認識領域に対応する経過時間に基づいて所定の演算を行い、当該演算結果に基づいて、前記タッチパネルに対する入力操作が前記孔部に沿った入力操作かどうかを判別することを特徴とする、請求項４に記載のゲームシステム。
【請求項８】
前記ゲーム機は、マイクと、前記入力軌跡検出手段によって認識領域が判別されたときに前記マイクからの音声入力があったかどうかを判定する音声入力検出手段とをさらに備え、
前記入力操作判別手段は、前記入力軌跡検出手段によって判別された認識領域の識別番号と当該認識領域に対応する前記音声入力検出手段の判定結果に基づいて所定の演算を行い、当該演算結果に基づいて、前記タッチパネルに対する入力操作が前記孔部に沿った入力操作かどうかを判別することを特徴とする、請求項４に記載のゲームシステム。
【請求項９】
前記ゲーム機は、プレイヤの指示に応じて予め用意された複数の付加情報のいずれかを選択する付加情報選択手段をさらに備え、
前記入力操作判別手段は、前記入力軌跡検出手段によって判別された認識領域の識別番号と当該認識領域が判別されたときに前記付加情報選択手段によって選択されていた付加情報に基づいて所定の演算を行い、当該演算結果に基づいて、前記タッチパネルに対する入力操作が前記孔部に沿った入力操作かどうかを判別することを特徴とする、請求項４に記載のゲームシステム。
【請求項１０】
前記カードには、当該カードの孔部に沿った入力操作を行うときのスライド方向を指示する印が記載されていることを特徴とする、請求項１に記載のゲームシステム。
【請求項１１】
所定形状の孔または切り込みから成る少なくとも１つの孔部が形成されたカードを載置可能なタッチパネル、
前記タッチパネルに対する入力操作が、当該タッチパネル上の所定位置に前記カードを載置した状態で当該カードの孔部に沿って行われた入力操作かどうかを判別するための判別情報を保持する判別情報記憶手段、
前記タッチパネルからの信号に基づいて入力軌跡を検出する入力軌跡検出手段、
前記入力軌跡検出手段によって検出された入力軌跡と前記判別情報記憶手段によって保持されている判別情報とに基づいて、前記タッチパネルに対する入力操作が前記孔部に沿った入力操作かどうかを判別する入力操作判別手段、および、
前記入力操作判別手段によって前記タッチパネルに対する入力操作が前記孔部に沿った入力操作であると判別されたときにゲーム進行に変化を与えるイベントを発生させるイベント発生手段を備えた、ゲーム機。
【請求項１２】
タッチパネルを有するゲーム機と当該タッチパネル上の所定位置に着脱自在に載置される所定形状の孔または切り込みから成る少なくとも１つの孔部が形成されたカードとを備えたゲームシステムのためのゲームプログラムであって、
前記ゲーム機を、
前記タッチパネルに対する入力操作が、当該タッチパネル上の所定位置に前記カードを載置した状態で当該カードの孔部に沿って行われた入力操作かどうかを判別するための判別情報を保持する判別情報記憶手段、
前記タッチパネルからの信号に基づいて入力軌跡を検出する入力軌跡検出手段、
前記入力軌跡検出手段によって検出された入力軌跡と前記判別情報記憶手段によって保持されている判別情報とに基づいて、前記タッチパネルに対する入力操作が前記孔部に沿った入力操作かどうかを判別する入力操作判別手段、および、
前記入力操作判別手段によって前記タッチパネルに対する入力操作が前記孔部に沿った入力操作であると判別されたときにゲーム進行に変化を与えるイベントを発生させるイベント発生手段として機能させるためのゲームプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はゲームシステムに関し、特に、タッチパネルを有するゲーム機と当該タッチパネル上に着脱自在に載置されるカードとを備えたゲームシステムに関する。
【背景技術】
【０００２】
特許文献１には、所定の図形が片面又は両面に印刷された可撓性のあるシート（プレイカード）をタブレットの作画エリア上に装着し、このプレイカードに記載されている図形をなぞり書きすることによって、モニタの画面にその図形を表示させて遊ぶことのできる画像作成装置が開示されている。
【０００３】
特許文献２には、タブレットと表示パネルとを通して対象物を見ながらタブレット上をペンでトレースして対象物の描画を行うことによって、対象物を見ながらその対象物をトレースして液晶パネルに表示させることのできる透過描画装置が開示されている。
【０００４】
特許文献３には、タブレットを通じて入力された手書き文字を認識し、メモリカードに記憶されている文字データに基づいて、認識結果に対応する文字をＬＣＤに表示する文字認識装置が開示されている。
【特許文献１】特許第３０８２２００号公報
【特許文献２】特開平９−９１０８５号公報
【特許文献３】特開平５−１２８３１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記のいずれの特許文献にも、ユーザがカードに形成された孔部に沿ってタッチパネル上でなぞった軌跡に応じて、ゲーム進行に影響を与えるようなイベントを発生させることは開示されていない。つまり、上記特許文献１に開示されている画像作成装置では、プレイカードに印刷された図形をユーザがなぞると、なぞられた軌跡が単にそのまま画面に表示されるだけである。また、上記特許文献２に開示されている透過描画装置でも、タブレットを通して見た対象物をユーザがなぞると、なぞられた軌跡が単にそのまま画面に表示されるだけである。また、上記特許文献３に開示されている文字認識装置は、タブレットを通じて入力された手書き文字（すなわち入力軌跡）を単にそのまま画面に表示するものではないが、基本的にはユーザが意図した文字を単に画面に表示しているに過ぎない。
【０００６】
そこで本発明は、ゲーム進行に影響を与えるようなイベントを発生させるための、タッチパネルと孔部の形成されたカードとを組み合わせた斬新な入力システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために本発明は以下のような構成を採用した。なお括弧内の参照符号は、本発明の理解を助けるために図面との対応関係の一例を示したものであって、本発明の範囲を何ら限定するものではない。
【０００８】
本発明の第１の局面は、タッチパネル（１５）を有するゲーム機（１０）と当該タッチパネル上の所定位置に着脱自在に載置されるカード（４０）とを備えたゲームシステムである。前記カードには所定形状の孔（４１）または切り込み（４２、４４、４５）から成る少なくとも１つの孔部が形成されている。前記ゲーム機は、判別情報記憶手段（２１、５３、５４）、入力軌跡検出手段（２１、Ｓ１６）、入力操作判別手段（２１、Ｓ１１）、および、イベント発生手段（２１、Ｓ１２）を備えている。判別情報記憶手段は、前記タッチパネルに対する入力操作が、当該タッチパネル上の所定位置に前記カードを載置した状態で当該カードの孔部に沿って行われた入力操作かどうかを判別するための判別情報を保持する手段である。入力軌跡検出手段は、前記タッチパネルからの信号に基づいて入力軌跡を検出する手段である。入力操作判別手段は、前記入力軌跡検出手段によって検出された入力軌跡と前記判別情報記憶手段によって保持されている判別情報とに基づいて、前記タッチパネルに対する入力操作が前記孔部に沿った入力操作かどうかを判別する手段である。イベント発生手段は、前記入力操作判別手段によって前記タッチパネルに対する入力操作が前記孔部に沿った入力操作であると判別されたときにゲーム進行に変化を与えるイベントを発生させる手段である。
【０００９】
本発明の第２の局面は、上記第１の局面において、前記判別情報記憶手段は、前記判別情報として、当該タッチパネル上に前記カードを載置した状態で当該カードの孔部に沿って入力操作が行われたときの入力軌跡に相当する比較軌跡を記憶しており、前記入力操作判別手段は、前記入力軌跡検出手段によって検出された入力軌跡と前記判別情報記憶手段に記憶されている比較軌跡との類似度を計算し、当該類似度に基づいて前記タッチパネルに対する入力操作が前記孔部に沿った入力操作かどうかを判別することを特徴とする。
【００１０】
本発明の第３の局面は、上記第２の局面において、前記判別情報記憶手段は、前記判別情報として、前記入力軌跡と照合すべき比較軌跡を構成する複数の座標データを保持しており、前記入力操作判別手段は、前記判別情報記憶手段に記憶されている座標データと前記入力軌跡検出手段によって検出された座標データとに基づいて、軌跡を構成する線分の角度の差および軌跡を構成する頂点の位置の差の少なくとも何れか一方を算出し、当該算出結果に基づいて前記類似度を計算することを特徴とする。
【００１１】
本発明の第４の局面は、上記第１の局面において、前記ゲーム機は、前記タッチパネルの操作面に仮想的に設定される複数の認識領域と当該認識領域毎に固有の識別情報とを関連付けた認識領域情報を保持する認識領域情報記憶手段をさらに備え、前記入力軌跡検出手段は、前記タッチパネルからの信号に基づいて入力座標を順次検出し、当該入力座標がいずれの認識領域に含まれるかを前記認識領域情報を参照して順次判別し、前記入力操作判別手段は、前記入力軌跡検出手段によって判別された認識領域の識別番号に基づいて、前記タッチパネルに対する入力操作が前記孔部に沿った入力操作かどうかを判別することを特徴とする。
【００１２】
本発明の第５の局面は、上記第４の局面において、前記入力操作判別手段は、前記入力軌跡検出手段によって判別された認識領域の識別番号を用いて所定の演算を行い、当該演算結果に基づいて、前記タッチパネルに対する入力操作が前記孔部に沿った入力操作かどうかを判別することを特徴とする。
【００１３】
本発明の第６の局面は、上記第４の局面において、前記入力操作判別手段は、前記入力軌跡検出手段によって判別された各認識領域の識別番号と各該認識領域が前記入力軌跡検出手段によって判別された順番に基づいて所定の演算を行い、当該演算結果に基づいて、前記タッチパネルに対する入力操作が前記孔部に沿った入力操作かどうかを判別することを特徴とする。
【００１４】
本発明の第７の局面は、上記第４の局面において、前記ゲーム機は、前記入力軌跡検出手段によって認識領域が判別されたときに、直前に認識領域が検出されてからの経過時間を検出する経過時間検出手段とをさらに備え、前記入力操作判別手段は、前記入力軌跡検出手段によって判別された各認識領域の識別番号と前記経過時間検出手段によって検出された各認識領域に対応する経過時間に基づいて所定の演算を行い、当該演算結果に基づいて、前記タッチパネルに対する入力操作が前記孔部に沿った入力操作かどうかを判別することを特徴とする。
【００１５】
本発明の第８の局面は、上記第４の局面において、前記ゲーム機は、マイクと、前記入力軌跡検出手段によって認識領域が判別されたときに前記マイクからの音声入力があったかどうかを判定する音声入力検出手段とをさらに備え、前記入力操作判別手段は、前記入力軌跡検出手段によって判別された認識領域の識別番号と当該認識領域に対応する前記音声入力検出手段の判定結果に基づいて所定の演算を行い、当該演算結果に基づいて、前記タッチパネルに対する入力操作が前記孔部に沿った入力操作かどうかを判別することを特徴とする。
【００１６】
本発明の第９の局面は、上記第４の局面において、前記ゲーム機は、プレイヤの指示に応じて予め用意された複数の付加情報のいずれかを選択する付加情報選択手段をさらに備え、前記入力操作判別手段は、前記入力軌跡検出手段によって判別された認識領域の識別番号と当該認識領域が判別されたときに前記付加情報選択手段によって選択されていた付加情報に基づいて所定の演算を行い、当該演算結果に基づいて、前記タッチパネルに対する入力操作が前記孔部に沿った入力操作かどうかを判別することを特徴とする。
【００１７】
本発明の第１０の局面は、上記第１の局面において、前記カードには、当該カードの孔部に沿った入力操作を行うときのスライド方向を指示する印が記載されていることを特徴とする。
【００１８】
本発明の第１１の局面は、タッチパネル、判別情報記憶手段、入力軌跡検出手段、入力操作判別手段、および、イベント発生手段を備えたゲーム機である。タッチパネルには所定形状の孔または切り込みから成る少なくとも１つの孔部が形成されたカードを載置可能である。判別情報記憶手段は、前記タッチパネルに対する入力操作が、当該タッチパネル上の所定位置に前記カードを載置した状態で当該カードの孔部に沿って行われた入力操作かどうかを判別するための判別情報を保持する手段である。入力軌跡検出手段は、前記タッチパネルからの信号に基づいて入力軌跡を検出する手段である。入力操作判別手段は、前記入力軌跡検出手段によって検出された入力軌跡と前記判別情報記憶手段によって保持されている判別情報とに基づいて、前記タッチパネルに対する入力操作が前記孔部に沿った入力操作かどうかを判別する手段である。イベント発生手段は、前記入力操作判別手段によって前記タッチパネルに対する入力操作が前記孔部に沿った入力操作であると判別されたときにゲーム進行に変化を与えるイベントを発生させる手段である。
【００１９】
本発明の第１２の局面は、タッチパネルを有するゲーム機と当該タッチパネル上に着脱自在に載置される所定形状の孔または切り込みから成る少なくとも１つの孔部が形成されたカードとを備えたゲームシステムのためのゲームプログラムである。このゲームプログラムは、前記ゲーム機を、判別情報記憶手段、入力軌跡検出手段、入力操作判別手段、およびイベント発生手段として機能させるためのプログラムである。判別情報記憶手段は、前記タッチパネルに対する入力操作が、当該タッチパネル上の所定位置に前記カードを載置した状態で当該カードの孔部に沿って行われた入力操作かどうかを判別するための判別情報を保持する手段である。入力軌跡検出手段は、前記タッチパネルからの信号に基づいて入力軌跡を検出する手段である。入力操作判別手段は、前記入力軌跡検出手段によって検出された入力軌跡と前記判別情報記憶手段によって保持されている判別情報とに基づいて、前記タッチパネルに対する入力操作が前記孔部に沿った入力操作かどうかを判別する手段である。イベント発生手段は、前記入力操作判別手段によって前記タッチパネルに対する入力操作が前記孔部に沿った入力操作であると判別されたときにゲーム進行に変化を与えるイベントを発生させる手段である。
【発明の効果】
【００２０】
本発明によれば、入力軌跡検出手段によって検出された入力軌跡がカードの孔部に沿った入力操作によるものかどうかを判別し、カードの孔部に沿った入力操作によるものであると判別されたときに、ゲーム進行に変化を与えるイベントを発生させるので、カードの孔部をなぞることによってゲーム進行に変化を与えることのできる斬新なゲームシステムを提供することができる。
【００２１】
特に上記第５の局面によれば、入力軌跡が描かれた方向を判別することが可能となるので、所定の方向に入力軌跡が描かれた場合にのみゲーム進行に変化を与えたり、入力軌跡の方向によって異なるイベントを発生させたりすることが可能となる。
【００２２】
また特に上記第６の局面によれば、判別情報記憶手段には判別情報として多数の識別情報を記憶する代わりに演算結果の値のみを記憶しておけばよいので、記憶領域を有効利用することができる。
【００２３】
また特に上記第７〜第９の局面によれば、孔部の形状だけでなく、認識領域が検出される時間間隔や、マイクからの音声入力の有無や、プレイヤによって選択された付加情報の種類に応じて、所定の入力操作が行われたか否かを判別することができる。これにより、カードに設けられた孔部の形状が同一であっても、種々の入力操作を相互に区別して判別することができる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の一実施形態に係るゲーム機の構成および動作を説明する。
【００２５】
図１は、本発明の一実施形態に係るゲーム機の外観図である。図１において、ゲーム機１０は、第１のＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１１および第２のＬＣＤ１２を含む。ハウジング１３は上側ハウジング１３ａと下側ハウジング１３ｂとによって構成されており、第１のＬＣＤ１１は上側ハウジング１３ａに収納され、第２のＬＣＤ１２は下側ハウジング１３ｂに収納される。第１のＬＣＤ１１および第２のＬＣＤ１２の解像度はいずれも２５６ｄｏｔ×１９２ｄｏｔである。なお、本実施形態では表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置など、他の任意の表示装置を利用することができる。また任意の解像度のものを利用することができる。
【００２６】
上側ハウジング１３ａには、後述する１対のスピーカ（図２の３０ａ、３０ｂ）からの音を外部に放出するための音抜き孔１８ａ、１８ｂが形成されている。
【００２７】
下側ハウジング１３ｂには、入力装置として、十字スイッチ１４ａ、スタートスイッチ１４ｂ、セレクトスイッチ１４ｃ、Ａボタン１４ｄ、Ｂボタン１４ｅ、Ｘボタン１４ｆ、Ｙボタン１４ｇ、Ｌボタン１４ＬおよびＲボタン１４Ｒが設けられている。また、さらなる入力装置として、第２のＬＣＤ１２の画面上にタッチパネル１５が装着されている。また、下側ハウジング１３ｂには、電源スイッチ１９や、メモリカード１７やスティック１６を収納するための挿入口も設けられている。
【００２８】
タッチパネル１５としては、例えば抵抗膜方式や光学式（赤外線方式）や静電容量結合式など、任意の方式のものを利用することができる。タッチパネル１５は、その表面をスティック１６で触れると、その接触位置に対応する座標データを出力する機能を有している。なお、以下ではプレイヤがタッチパネル１５をスティック１６で操作するものとして説明を行うが、スティック１６の代わりにペン（スタイラスペン）や指でタッチパネル１５を操作することももちろん可能である。本実施形態では、タッチパネル１５として、第２のＬＣＤ１２の解像度と同じく２５６ｄｏｔ×１９２ｄｏｔの解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル１５の解像度と第２のＬＣＤ１２の解像度が一致している必要はない。
【００２９】
メモリカード１７はゲームプログラムを記録した記録媒体であり、下部ハウジング１３ｂに設けられた挿入口に着脱自在に装着される。
【００３０】
次に、図２を参照してゲーム機１０の内部構成を説明する。
【００３１】
図２において、ハウジング１３に収納される電子回路基板２０には、ＣＰＵコア２１が実装される。ＣＰＵコア２１には、バス２２を介して、コネクタ２３が接続されるとともに、入出力インターフェース回路（図面ではＩ／Ｆ回路と記す）２５、第１ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２６、第２ＧＰＵ２７、ＲＡＭ２４、およびＬＣＤコントローラ３１が接続される。コネクタ２３には、メモリカード１７が着脱自在に接続される。メモリカード１７は、ゲームプログラムを記憶するＲＯＭ１７ａと、バックアップデータを書き換え可能に記憶するＲＡＭ１７ｂを搭載する。メモリカード１７のＲＯＭ１７ａに記憶されたゲームプログラムはＲＡＭ２４にロードされ、ＲＡＭ２４にロードされたゲームプログラムがＣＰＵコア２１によって実行される。ＲＡＭ２４には、ゲームプログラムの他にも、ＣＰＵコア２１がゲームプログラムを実行して得られる一時的なデータや、ゲーム画像を生成するためのデータが記憶される。Ｉ／Ｆ回路２５には、タッチパネル１５、右スピーカ３０ａ、左スピーカ３０ｂおよび図１の十字スイッチ１４ａやＡボタン１４ｄ等から成る操作スイッチ部１４が接続される。右スピーカ３０ａと左スピーカ３０ｂは、音抜き孔１８ａ、１８ｂの内側にそれぞれ配置される。
【００３２】
第１ＧＰＵ２６には、第１ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）２８が接続され、第２ＧＰＵ２７には、第２ＶＲＡＭ２９が接続される。第１ＧＰＵ２６は、ＣＰＵコア２１からの指示に応じて、ＲＡＭ２４に記憶されているゲーム画像を生成するためのデータに基づいて第１のゲーム画像を生成し、第１ＶＲＡＭ２８に描画する。第２ＧＰＵ２７は、同様にＣＰＵコア２１からの指示に応じて第２のゲーム画像を生成し、第２ＶＲＡＭ２９に描画する。第１ＶＲＡＭ２８および第２ＶＲＡＭ２９はＬＣＤコントローラ３１に接続されている。
【００３３】
ＬＣＤコントローラ３１はレジスタ３２を含む。レジスタ３２はＣＰＵコア２１からの指示に応じて０または１の値を記憶する。ＬＣＤコントローラ３１は、レジスタ３２の値が０の場合は、第１ＶＲＡＭ２８に描画された第１のゲーム画像を第１のＬＣＤ１１に出力し、第２ＶＲＡＭ２９に描画された第２のゲーム画像を第２のＬＣＤ１２に出力する。また、レジスタ３２の値が１の場合は、第１ＶＲＡＭ２８に描画された第１のゲーム画像を第２のＬＣＤ１２に出力し、第２ＶＲＡＭ２９に描画された第２のゲーム画像を第１のＬＣＤ１１に出力する。
【００３４】
なお、上記のようなゲーム機１０の構成は単なる一例に過ぎず、本発明は、タッチパネルを有する任意のコンピュータシステムに適用することができる。また、本発明のゲームプログラムは、メモリカード１７などの外部記憶媒体を通じてコンピュータシステムに供給されるだけでなく、有線または無線の通信回線を通じてコンピュータシステムに供給されてもよいし、さらにはコンピュータシステム内部の不揮発性記憶装置に予め記録されていてもよい。
【００３５】
図３に、本実施形態に係るカードの一例を示す。
【００３６】
カード４０には、所定形状の孔４１または切り込み４２から成る孔部が形成されている。なお、図３の例では１枚のカードに孔部が２つ設けられている例を説明するが、本発明はこれに限らず、１枚のカードにたった一つまたは３つ以上の孔部が設けられていてもよい。また、孔４１や切り込み４２の形状は任意である。
【００３７】
孔部４１，４２の近傍には、入力操作を開始すべき位置を示す「Ｓ」の文字と、入力操作を終了すべき位置を示す「Ｇ」の文字が記載されており、さらに孔４１の近傍には入力操作を行うべき方向（すなわちタッチパネル１５上でスティック１６をスライドさせる方向）を示す矢印が記載されている。もちろん、入力操作を行うべき方向さえ分かれば、カード４０に表示される印は任意である。なお、入力操作を行うべき方向を特に限定しない場合には、これらの印はカード４０に記載する必要がないことは言うまでもない。
【００３８】
プレイヤは、このカード４０をゲーム機１０のタッチパネル１５の上に設置して、孔４１または切り込み４２に沿った入力操作を行う。カード４０には切り欠き４３が設けられており、この切り欠き４３を図４のようにゲーム機１０のヒンジ部と勘合させてカード４０をタッチパネル１５上に載置することで、プレイヤはカード４０を所定位置に正しく配置することができる。
【００３９】
カード４０をタッチパネル１５上の適切な位置に載置した状態でプレイヤが孔４１の輪郭に沿ってスティック１６をスライドさせると、この孔４１に関連付けられた、ゲーム進行に影響を与えるイベントが発生する。このようなイベントの例としては、特定のアイテムを獲得したり、特定のキャラクタをゲーム世界に登場させたり、プレイヤキャラクタを次のステージに移動させたり、などが挙げられる。同様に、カード４０をタッチパネル１５上の適切な位置に載置した状態でプレイヤが切り込み４２に沿ってスティック１６をスライドさせると、この切り込み４２に関連付けられたイベントが発生する。
【００４０】
なお、カード４０を用いて発生させることのできるイベントは、基本的には普通にゲームをしているだけでは発生しないような特別なイベント（例えば普通にゲームをしているだけでは獲得できないような特別アイテムを獲得できるなど）であることが望ましい。これにより、カード４０自体の価値を高めることができる。カード４０は、例えば雑誌などに添付して、その雑誌を購入した者にのみ配布されるようにしてもよい。なお、パスワードを入力することによって特別なイベントを発生させるような場合には、パスワードさえ知ることができれば誰でも簡単に正確にパスワードを入力することができてしまうという問題があるが、本発明の場合には、カード４０を所有していないユーザが、カード４０を用いて行われる入力操作を正確にまねることは非常に困難であり、カード４０の価値が容易に失われてしまうことがない。
【００４１】
次に、ゲーム装置１０の詳細な動作を説明する。
【００４２】
図５にＲＡＭ２４のメモリマップを示す。ＲＡＭ２４には、ゲームプログラム５０、現在入力座標５１、入力軌跡情報５２、比較軌跡情報５３などが記憶される。
【００４３】
ゲームプログラム５０は、ＣＰＵコア２１にゲーム処理を実行させるためのプログラムであって、ゲーム処理の実行に先立ってメモリカード１７のＲＯＭ１７ａからＲＡＭ２４にロードされる。
【００４４】
現在入力座標５１は、タッチパネル１５からの信号に基づいて検出される入力座標である。入力座標の検出は周期的に（例えば１フレーム期間毎に）行われるため、現在入力座標５１も周期的に更新される。
【００４５】
入力軌跡情報５２は、タッチパネル１５に対するスライド操作（タッチパネル１５上でスティック１６を滑らせる操作）が行われたときに、その接触位置の軌跡（入力軌跡）を示す情報であって、複数の座標データからなる。タッチパネル１５にスティック１６が接触してから離れるまでの間、入力軌跡情報５２に現在入力座標５１が順次追加されることによって、入力軌跡情報５２は随時更新される。
【００４６】
比較軌跡情報５３は、タッチパネル１５における入力軌跡が、カード４０のいずれの孔部（孔４１または切り込み４２）に沿って行われた入力操作に基づくものかどうかを判別するための判別情報の一種であり、複数の座標データから成る。この複数の座標データは、カード４０をタッチパネル１５上の所定位置に正しく載置した状態で各孔部４１、４２に沿ってスティック１６をスライドさせたときの軌跡に対応するものである。この比較軌跡情報５３はメモリカード１７のＲＯＭ１７ａからＲＡＭ２４にロードされる。
【００４７】
図６に比較軌跡情報５３の一具体例を示す。比較軌跡情報５３には、カードに設けられた孔部毎に、各孔部に対応する頂点座標データの集合とイベントが規定されている。以下では、比較軌跡情報５３における頂点座標データの集合によって表される軌跡を比較軌跡と称する。ここでは、孔部Ａの比較軌跡の頂点数と、孔部Ｂの比較軌跡の頂点数を、いずれも２１個（頂点Ｐ０〜Ｐ２０）としているが、これは単なる一例に過ぎず、比較軌跡の頂点数は任意である。また、孔部毎に比較軌跡の頂点数が異なっていても良い。
【００４８】
次に、図７のフローチャートを参照して、ゲームプログラム５０に基づくＣＰＵコア２１の処理の流れを説明する。
【００４９】
ステップＳ１０では、プレイヤの操作（例えば操作スイッチ部１４やタッチパネル１５に対する操作）に基づくゲーム処理を実行する。
【００５０】
ステップＳ１１では、軌跡判別処理を実行する。図８を参照して軌跡判別処理の詳細を説明する。
【００５１】
図８のステップＳ１５では、タッチパネル１５からの信号に基づいて、タッチ入力が開始されたかどうかを判断する。そして、タッチ入力が開始された場合にはステップＳ１６に進み、タッチ入力が開始されていない場合には図７のステップＳ１２に進む。
【００５２】
ステップＳ１６では、タッチパネル１５からの信号に基づいて入力座標を検出し、現在入力座標５１としてＲＡＭ２４に記憶する。なお、これと同時にＲＡＭ２４の入力軌跡情報も更新する。
【００５３】
ステップＳ１７では、タッチパネル１５からの信号に基づいて、タッチ入力がまだ続いているかどうかを判断し、タッチ入力がある場合にはステップＳ１６に戻り、タッチ入力がもう無い場合（すなわちタッチパネル１５からスティック１６が離れた場合）にはステップＳ１８に進む。ステップＳ１８以降では、タッチパネル１５からの信号に基づいて検出された入力軌跡と、比較軌跡情報５３に含まれている各比較軌跡との照合が行われる。この照合には、公知の任意の図形認識技術を用いることができる。以下で説明する照合処理についても、必要に応じて手順の一部を適宜に変更または省略しても構わない。
【００５４】
ステップＳ１８では、ＲＡＭ２４の入力軌跡情報５２に格納されている、入力軌跡を表す複数の座標データに対してリサンプリング処理を行う。リサンプリング処理の例としては、時間的に連続して検出された同一の座標値を有する複数の座標データから最初に検出されたもの以外の座標データを破棄したり、始点（すなわちタッチ入力が開始された時点に検出された座標データ）から一定距離離れる毎に１つずつ座標データを抽出したり、などが挙げられる。リサンプリング処理後の入力軌跡の一例を図９Ａに示す。
【００５５】
ステップＳ１９では、入力軌跡を表すリサンプリング処理後の複数の座標データ（頂点データ）を参照して、入力軌跡の各頂点間の線分の長さおよび角度を算出する。例えば図９Ａの例の場合には、頂点Ｑ０（始点）と頂点Ｑ１を結ぶ線分の長さおよび角度（θｑ０）と、頂点Ｑ１と頂点Ｑ２を結ぶ線分の長さおよび角度（θｑ１）と、頂点Ｑ２と頂点Ｑ３を結ぶ線分の長さおよび角度（θｑ２）と、頂点Ｑ３と頂点Ｑ４（終点）を結ぶ線分の長さおよび角度（θｑ３）をそれぞれ算出する。この算出結果はＲＡＭ２４の適当な記憶領域に一時的に保持される。
【００５６】
ステップＳ２０では、比較軌跡情報５３で規定されている各孔部に対応する比較軌跡の頂点データを参照して、各比較軌跡について、比較軌跡の各頂点間の線分の長さおよび角度をそれぞれ算出する。図９Ｂは、比較軌跡情報５３で規定されている比較軌跡の一例である。例えばこの図９Ｂの例の場合には、頂点Ｐ０（始点）と頂点Ｐ１を結ぶ線分の長さおよび角度（θｐ０）と、頂点Ｐ１と頂点Ｐ２を結ぶ線分の長さおよび角度（θｐ１）と、頂点Ｐ２と頂点Ｐ３を結ぶ線分の長さおよび角度（θｐ２）と、頂点Ｐ３と頂点Ｐ４（終点）を結ぶ線分の長さおよび角度（θｐ３）をそれぞれ算出する。この算出結果はＲＡＭ２４の適当な記憶領域に一時的に保持される。なお、本実施形態では、このステップＳ２０において比較軌跡の各頂点間の線分の長さおよび角度を算出しているが、これらの情報を予めメモリカード１７のＲＯＭ１７ａに用意しておき、適宜のタイミングでＲＯＭ１７ａからＲＡＭ２４に転送するようにしてもよい。
【００５７】
ステップＳ２１では、ステップＳ１９で検出された入力軌跡の各頂点間の線分の長さと、ステップＳ２０で検出された比較軌跡の各頂点間の線分の長さを参照して、入力軌跡の全長と各比較軌跡の全長が等しくなるように、例えば始点Ｐ０を基準として、各比較軌跡を拡大または縮小する。なお、比較軌跡を拡大または縮小する代わりに入力軌跡を拡大または縮小しても良い。
【００５８】
ステップＳ２２では、角度の差と位置の差を掛けた値を積分する。具体的には以下のようになる。
【００５９】
入力軌跡と各比較軌跡の始点からの延べ長さをｔとする（図９Ａの入力軌跡の一例および図９Ｂの比較軌跡の一例を参照）。そして、入力軌跡の角度をθq(t)、ｘ座標をｘq(t)、ｙ座標をｙq(t)、比較軌跡の角度をθp(t)、ｘ座標をｘp(t)、ｙ座標をｙp(t)と設定し、この設定された座標同士で類似度の算出を行う。類似度は以下の式によって求めることができる。
∫[(1-(|θq(t)-θp(t)|/180度))×(1-((|xq(t)-xp(t)|+|yq(t)-yp(t)|)/([認識領域の1辺の長さ]×2)))]dt
【００６０】
なお、軌跡の照合に高い精度を要求しないのであれば、ステップＳ２２に替えて、例えば入力軌跡の頂点間を結ぶ各線分と比較軌跡の頂点間を結ぶ各線分の角度の差に基づいて軌跡の照合を行うことも可能である。この場合、角度の差を積分した値を算出し、類似度は、
∫[(1-(|θq(t)-θp(t)|/180度))]dt
となる。
【００６１】
同様に、軌跡の照合に高い精度を要求しないのであれば、ステップＳ２２に替えて、例えば入力軌跡の頂点と比較軌跡の頂点の位置の差に基づいて軌跡の照合を行うことも可能である。この場合、位置の差を積分した値を算出し、類似度は、
∫[(1-((|xq(t)-xp(t)|+|yq(t)-yp(t)|)/([認識領域の1辺の長さ]×2)))]dt
となる。
【００６２】
ステップＳ２３では、類似度が所定のしきい値（例えば０．８５）以上となるような比較軌跡が存在するかどうかを判断し、存在する場合にはステップＳ２４に進み、存在しない場合には図７のステップＳ１２に進む。
【００６３】
ステップＳ２４では、類似度がしきい値以上であると判別された比較軌跡を、入力軌跡に対応する比較軌跡として判別し、図７のステップＳ１２に進む。
【００６４】
図７のステップＳ１２では、イベント発生処理を実行する。図１０を参照してイベント発生処理の詳細を説明する。
【００６５】
ステップＳ２９では、図８のステップＳ２４において入力軌跡に対応する比較軌跡が判別されたかどうかを判断し、入力軌跡に対応する比較軌跡が判別された場合にはステップＳ３０に進み、判別されていない場合には図７のステップＳ１３に進む。
【００６６】
ステップＳ３０では、比較軌跡情報５３に基づいて、入力軌跡に対応すると判別された比較軌跡に対応するイベントを発生させ、図７のステップＳ１３に進む。
【００６７】
図７のステップＳ１３では、ゲーム終了かどうかを判断し、ゲーム終了であればゲームプログラム５０の実行を終了し、ゲーム終了でなければステップＳ１０に戻る。
【００６８】
以上のように、本実施の形態によれば、カードの孔部をなぞることによってゲーム進行に変化を与えることのできる斬新なゲームシステムを提供することができる。
【００６９】
なお、上記実施の形態では、判別情報として比較軌跡の頂点データを用いて入力軌跡に対応する比較軌跡を判別する例を説明したが、本発明はこれに限らない。そこで以下では、本実施形態の他のバリエーションについて説明する。
【００７０】
（第１の変形例）
図１１は、以下の変形例で利用されるカード４０の一例である。カード４０には、２つの切り込み４４、４５と、色変更用孔４８ｒ、４８ｂ、４８ｙ、４８ｇが設けられており、またマイク入力指示マーク４６と、停滞指示マーク４７が記載されている。マイク入力指示マーク４６と、停滞指示マーク４７、色変更用孔４８ｒ、４８ｂ、４８ｙ、４８ｇについては説明は後述する。
【００７１】
以下の変形例では、図１２に示すように、タッチパネル１５の操作面に対して仮想的に複数の認識領域４９が設定され、各認識領域４９には固有の識別情報（図１２の例では１〜４８の番号）が付されている。以下の変形例では、スライド操作によって入力座標がどの認識領域４９をどういう順序で移動したを検出することによって、入力軌跡を判別する。例えば図１３に示すような孔部に沿った入力操作が行われた場合には、入力座標は必ず図１４に示すような順番で認識領域４９を通過することになる。つまり、図１４に示すような認識領域の通過順序を示す情報を判別情報として保持しておき、プレイヤが入力操作をしたときに通過した認識領域の順序と照合することによって、プレイヤによって行われた入力操作がカードの孔部に沿った入力操作であるかどうかを容易に判別することができる。
【００７２】
なお、カードの切り込みは、図１５Ａに示すように、認識領域４９と切り込みが完全に交差するような位置に設けるのが好ましい。なぜなら、仮に図１５Ｂのように認識領域４９と切り込みが部分的にしか交差していない場合には、切り込みに沿ったスライド操作でも認識領域４９を通過したり通過しなかったりするため、認識領域の通過順序が変化してしまい、誤判定してしまう可能性があるからである。
【００７３】
図１６は、第１の変形例におけるＲＡＭ２４のメモリマップの例を示している。ゲームプログラム５０、現在入力座標５１および入力席情報５２については図５のものと同じため説明を省略する。判別情報５４は、図１７に示すように、カードに設けられた孔部毎に、認識領域の通過順序を示す情報とイベントを規定するものである。認識領域情報５５は、図１２に示したような、タッチパネル上の領域と認識番号との対応関係を示す情報である。
【００７４】
図１８に示すフローチャートを参照して変形例１における軌跡判別処理について説明する。なお、ステップＳ１５〜Ｓ１７については図８に示したものと同じため説明を省略する。
【００７５】
ステップＳ３３では、入力軌跡情報５２および認識領域情報５５に基づいて、入力軌跡上の認識領域とその順序を検出する。検出された情報（例えば図１４に示すような情報）は、ＲＡＭ２４の適当な記憶領域に一時的に保持される。
【００７６】
ステップＳ３４では、ステップＳ３３で検出された情報が、判別情報５４に含まれているいずれかの孔部に対応する認識領域通過順序に合致しているかどうかを判断し、合致している場合にはステップＳ３５に進み、合致していない場合には軌跡判別処理を終了する。
【００７７】
以上のように、第１の変形例によれば、比較的単純な手法によって、タッチパネルに対する入力操作が孔部に沿った入力操作かどうかを判別して、その判別結果に応じたイベントを発生させることができる。
【００７８】
（第２の変形例）
第２の変形例は、第１の変形例における判別情報に含まれている認識領域通過順序の情報の代わりに、認識領域の識別番号と通過順序とを引数とした所定の演算結果の値（以下、軌跡データ変換値ｄと称する）を利用するものである。例えば、第１の変形例において利用される図１７の判別情報は、第２の変形例では図１９のようになる。軌跡データ変換値ｄのデータサイズは、認識領域通過順序の情報のデータサイズよりも小さいため、判別情報５４を保持するのに必要となるメモリ領域は第１の変形例よりも小さくて済むようになる。
【００７９】
プレイヤがタッチパネル１５上でスライド操作を行うと、その接触位置の移動に応じて認識領域４９が順次検出され、検出された各認識領域４９の識別番号および検出された順番を用いて予め定められた演算が行われ、その演算結果と図１９の判別情報に含まれる軌跡データ変換値ｄとを照合することによって、タッチパネルに対する入力操作が孔部に沿った入力操作かどうかが判別される。
【００８０】
なお、これまでの説明では、プレイヤがタッチパネル１５上で１回のスライド操作（ただし、タッチパネル１５にスティック１６を接触させてから離すまでを１回と数える）を行ったときに、そのスライド操作に対応する１本の軌跡がどの比較軌跡に合致するかを判別する例を説明したが、この第２の変形例以降では、プレイヤがカード４０に設けられた複数の孔部を所定の順番でなぞったかどうかも判別可能とした例を説明する。例えば図３のカード４０を用いる場合、プレイヤが孔４１に沿ったスライド操作を行ってから次に切り込み４２に沿ったスライド操作を行ったときには第１のイベントを発生させ、逆に切り込み４２に沿ったスライド操作を行ってから次に孔４１に沿ったスライド操作を行ったときには第２のイベントを発生させることを可能とする例を説明する。これは、具体的には、複数回のスライド操作がなされたときに、各スライド操作に対応する軌跡データ変換値ｄと、スライド操作がなされた順番に対応する数値とを用いて所定の演算を行い、その結果の値（軌跡データ変換値ｖ）を用いて軌跡の照合を行うことにより達成される。例えば、プレイヤの入力操作に基づいて算出された軌跡データ変換値ｖが６８３３であった場合、図２０に示す判別情報５４から、その入力操作は、孔部Ｃに沿ったスライド操作を行ってから次に孔部Ｄに沿ったスライド操作を行ったものであると判別され、「アイテムＣ取得」というイベントが発生する。
【００８１】
図２１〜図２３のフローチャートを参照して、ＣＰＵ２１によって実行される軌跡データ変換値ｖの演算処理の一例を説明する。
【００８２】
図２１において、ステップＳ４０では、軌跡データ変換値ｖを０に初期化する。
【００８３】
ステップＳ４１では、変数ｎを１に初期化する。変数ｎは、プレイヤによる入力操作が開始されてからその時点までに入力されたスライド操作の回数に１を足した値を示している。
【００８４】
ステップＳ４２では、プレイヤによる入力操作が完了したかどうかを判断する。なお、単にプレイヤがタッチパネル１５からスティック１６を離したかどうかを判断するだけでは、プレイヤが複数回のスライド操作を所定の順番で行ったかどうかを判断することができない。そこで、ここでは例えば、入力操作の完了を指示するための予め定められたスイッチがプレイヤによって押されたときや、プレイヤがタッチパネル１５にスティック１６を接触させてから一定の制限時間が経過したときなどに、プレイヤによる入力操作が完了したと判断するようにする。プレイヤによる入力操作が完了した場合にはステップＳ４７に進み、完了していない場合にはステップＳ４３に進む。
【００８５】
ステップＳ４３では、タッチ入力があるかどうか（すなわちタッチパネル１５にスティック１６が接触しているかどうか）を判断する。タッチ入力がある場合にはステップＳ４４に進み、タッチ入力がない場合にはステップＳ４２に戻る。
【００８６】
ステップＳ４４では、軌跡データ変換値ｄの演算処理を行う。この処理の詳細は後述する。
【００８７】
ステップＳ４５では、軌跡データ変換値ｖを更新する。軌跡データ変換値ｖは、変数ｎとステップＳ４４で算出された軌跡データ変換値ｄに基づいて更新される。ここでは一例として、その時点で保持されているｖの値に対してｄ×ｎを加算することによって軌跡データ変換値ｖを更新している。これにより、例えば孔部Ｃに沿ったスライド操作の後で孔部Ｄに沿ったスライド操作が行われた場合のｖの値と、孔部Ｄに沿ったスライド操作の後で孔部Ｃに沿ったスライド操作が行われた場合のｖの値とが異なる値となるため、これらのいずれの入力操作が行われたのかをｖの値によって判別可能となる。なお、ここではその時点で保持されているｖの値に対してｄ×ｎを加算することによって軌跡データ変換値ｖを更新するとしたが、これに限らず、他の演算方法によって軌跡データ変換値ｖを更新してもよい。
【００８８】
ステップＳ４６では、変数ｎに１を加算し、ステップＳ４２に戻る。
【００８９】
ステップＳ４７では、その時点で保持されているｖの値をＲＡＭ２４の所定の領域に格納し、軌跡データ変換値ｖの演算処理を終了する。この後、こうして算出された軌跡データ変換値ｖと判別情報５４に含まれている軌跡データ変換値ｖとを比較することによって軌跡の照合が行われる。
【００９０】
次に、図２２を参照して、ステップＳ４４の軌跡データ変換値ｄの演算処理の詳細を説明する。
【００９１】
ステップＳ５０では、入力座標が通った認識領域の順番を記録するための配列変数Ａ［０，１，２，・・・，最大要素数−１］の全ての要素を０に初期化し、要素番号を示す変数ｍを０に初期化し、返り値である軌跡データ変換値ｄを０に初期化する。
【００９２】
ステップＳ５１では、タッチ入力があるかどうかを判断する。タッチ入力がある場合にはステップＳ５２に進み、タッチ入力がない場合にはステップＳ５９に進む。
【００９３】
ステップＳ５２では、入力座標に対応する認識領域４９の識別番号ｐを求める。なお、入力座標が図１２のいずれの認識領域４９にも含まれない場合にはｐ＝φとする。
【００９４】
ステップＳ５３では、変数ｍが０よりも大きいかどうかを判断し、変数ｍが０よりも大きい場合にはステップＳ５４に進み、変数ｍが０である場合にはステップＳ５５に進む。
【００９５】
ステップＳ５４では、ステップＳ５２で検出された識別番号ｐが、直前に記憶されたＡ［ｍ−１］の値と異なるかどうかを判断し、異なる場合にはステップＳ５５に進み、異ならない場合にはステップＳ５１に戻る。
【００９６】
ステップＳ５５では、ステップＳ５２で検出された識別番号ｐがφでないかどうかを判断し、φでない場合にはステップＳ５６に進み、φである場合にはステップＳ５１に戻る。
【００９７】
ステップＳ５６では、ステップＳ５２で検出された識別番号ｐをＡ［ｍ］に保存する。
【００９８】
ステップＳ５７では、変数ｍに１を加算する。
【００９９】
ステップＳ５８では、変数ｍが配列変数Ａの最大要素数よりも小さいかどうかを判断し、小さい場合にはステップＳ５１に戻り、同一の場合（すなわち配列変数Ａの最大要素数分の認識番号ｐがすでに検出された場合）にはステップＳ６０に進む。
【０１００】
ステップＳ５９では、変数ｍが０よりも大きいかどうかを判断し、大きい場合（すなわち認識番号ｐが１回以上検出された後にタッチ入力が無くなった場合）にはステップＳ６０に進み、０である場合（すなわち認識番号ｐが検出される前にタッチ入力が無くなった場合）にはステップＳ６１に進む。
【０１０１】
ステップＳ６０では、配列変数Ａと変数ｍに基づいて軌跡データ変換値ｄを計算する。以下、このステップＳ６０の演算処理の詳細を図２３のフローチャートを参照して説明する。
【０１０２】
ステップＳ６４では、軌跡データ変換値ｄに変数ｍの値を代入し、さらに変数ｉを０に初期化する。
【０１０３】
ステップＳ６５では、軌跡データ変換値ｄを更新する。軌跡データ変換値ｄは、Ａ［ｉ］と変数ｉに基づいて更新される。ここでは一例として、その時点で保持されているｄの値に対してＡ［ｉ］・（ｉ＋１）を加算することによって軌跡データ変換値ｄを更新している。これにより、例えば図３の切り込み４２に沿ったスライド操作がＳからＧに向かって行われた場合と、ＧからＳに向かって行われた場合とでｄの値が異なる値となるため、これらのいずれの入力操作が行われたのかをｄの値によって判別可能となる。なお、ここではその時点で保持されているｄの値に対してＡ［ｉ］・（ｉ＋１）を加算することによって軌跡データ変換値ｄを更新するとしたが、これは単なる一例に過ぎず、他の演算方法によって軌跡データ変換値ｄを更新してもよい。
【０１０４】
ステップＳ６６では、変数ｉに１を加算する。
【０１０５】
ステップＳ６７では、変数ｉが変数ｍよりも小さいかどうかを判断し、小さい場合にはステップＳ６５に戻り、等しい場合にはステップＳ６８に進む。
【０１０６】
ステップＳ６８では、その時点で保持されているｄの値をＲＡＭ２４の所定の領域に格納し、軌跡データ変換値ｄの演算処理を終了し、図２２のステップＳ６１に進む。
【０１０７】
図２２のステップＳ６１では、その時点で保持されているｄの値をＲＡＭ２４の所定の領域に格納し、図２１のステップＳ４５に進む。
【０１０８】
以上の処理の結果、プレイヤの入力操作に対応する軌跡データ変換値ｖが計算される。こうして計算された軌跡データ変換値ｖは、プレイヤが複数の孔部に沿った入力操作を行ったときに、その方向および順序によって異なる値となる。したがって、プレイヤが複数の孔部をどういう順序でなぞったか、また各孔部をどの方向になぞったかを判別し、この判別結果に応じてイベントを発生させることができる。
【０１０９】
（第３の変形例）
次に、第３の変形例として、プレイヤが孔部に沿ったスライド操作を行ったときに、そのスライド操作の速度をも考慮して、所定の入力操作が行われたかどうかを判別可能とした例を説明する。この変形例によれば、例えば図１１のカード４０の切り込み４５をなぞるときに、停滞指示マーク４７が付された区間についてはゆっくりとなぞり、その他の区間については通常の速度でなぞった場合にだけ、所定のイベントを発生させるといったことが可能となる。
【０１１０】
以下、この第３の変形例の処理について説明する。なお、軌跡データ変換値ｄの演算処理（図２１に示したステップＳ４４）以外の処理については第２の変形例と共通であるので、ここでは説明を省略する。
【０１１１】
図２４は、第３の変形例における軌跡データ変換値ｄの演算処理の流れを示すフローチャートである。なお図２４において、図２２と同一の手順については同一の参照符号を付し、説明を省略する。
【０１１２】
ステップＳ７０では、入力座標が通った認識領域の順番と、認識領域を通過する時間間隔（すなわち入力座標がある認識領域に入ってから次の認識領域に入るまでの時間間隔）を記録するための配列変数Ａ［０，１，２，・・・，最大要素数−１］の全ての要素を０に初期化し、要素番号を示す変数ｍを０に初期化し、返り値である軌跡データ変換値ｄを０に初期化し、直前の認識領域に入ってからの経過時間を示す変数ｔを０に初期化する。配列変数Ａの各要素には、入力座標が通った認識領域の認識番号ｐと、入力座標が直前に通った認識領域からその認識領域まで移動するのにかかった経過時間ｔが含まれている。
【０１１３】
ステップＳ７１では、ステップＳ５２で検出された識別番号ｐが、直前に記憶されたＡ［ｍ−１］．ｐの値（すなわち配列変数Ａの第ｍ番目の要素に格納されているｐの値）と異なるかどうかを判断し、異なる場合にはステップＳ５５に進み、異ならない場合にはステップＳ５１に戻る。
【０１１４】
ステップＳ７２では、ステップＳ５２で検出された識別番号ｐと、その時点における経過時間ｔをＡ［ｍ］に保存する。
【０１１５】
ステップＳ７３では、経過時間ｔを０にリセットする。
【０１１６】
ステップＳ７４では、配列変数Ａと変数ｍに基づいて軌跡データ変換値ｄを計算する。以下、このステップＳ７４の演算処理の詳細を図２５のフローチャートを参照して説明する。なお、なお図２５において、図２３と同一の手順については同一の参照符号を付し、説明を省略する。
【０１１７】
ステップＳ６４の後、ステップＳ７５で変数ｊに０を代入する。
【０１１８】
また、ステップＳ６７において変数ｉが変数ｍよりも小さいと判断された場合には、ステップＳ７６に進む。そして、このステップＳ７６で、Ａ［ｉ］．ｔの値（すなわち配列変数Ａの第ｉ＋１番目の要素に格納されているｔの値）が予め定められた指定時間よりも小さいかどうかを判断し、小さい場合にはステップＳ７５に戻り、小さくない場合にはステップＳ７７に進む。
【０１１９】
ステップＳ７７では、変数ｊに１を代入する。
【０１２０】
ステップＳ７８では、軌跡データ変換値ｄを更新する。軌跡データ変換値ｄは、Ａ［ｉ］と変数ｉと変数ｊに基づいて更新される。ここでは一例として、その時点で保持されているｄの値に対して（Ａ［ｉ］．ｐ＋ｊ）・（ｉ＋１）を加算することによって軌跡データ変換値ｄを更新している。これにより、入力座標がある認識領域に入ってから次の認識領域に入るまでの時間間隔が所定の指定時間よりも小さいか否かによってｄの値が異なる値となるため、例えば図１１のカード４０の切り込み４５をなぞるときに、停滞指示マーク４７が付された区間についてはゆっくりとなぞり、その他の区間については通常の速度でなぞったかどうかをｄの値によって判別可能となる。なお、ここではその時点で保持されているｄの値に対して（Ａ［ｉ］．ｐ＋ｊ）・（ｉ＋１）を加算することによって軌跡データ変換値ｄを更新するとしたが、これは単なる一例に過ぎず、他の演算方法によって軌跡データ変換値ｄを更新してもよい。
【０１２１】
以上の処理の結果、プレイヤの入力操作に対応する軌跡データ変換値ｖが計算される。こうして計算された軌跡データ変換値ｖは、プレイヤが複数の孔部に沿った入力操作を行ったときに、その方向および順序および移動速さによって異なる値となる。したがって、プレイヤが複数の孔部をどういう順序でなぞったか、また各孔部をどの方向になぞったか、また孔部の各部分をどのような速さでなぞったかを判別し、この判別結果に応じてイベントを発生させることができる。
【０１２２】
（第４の変形例）
次に、第４の変形例として、プレイヤが孔部に沿ったスライド操作を行ったときに、そのスライド操作の速度に加えてさらにマイク入力の有無をも考慮して、所定の入力操作が行われたかどうかを判別可能とした例を説明する。この変形例によれば、例えば図１１のカード４０の切り込み４４をなぞるときに、マイク入力指示マーク４６が付された区間についてはゲーム機１０に設けられたマイク（図示せず）に向かって声を発しながらなぞり、その他の区間については声を発することなくなぞった場合にだけ、所定のイベントを発生させるといったことが可能となる。
【０１２３】
以下、この第４の変形例の処理について説明する。なお、軌跡データ変換値ｄの演算処理（図２１に示したステップＳ４４）以外の処理については第２の変形例と共通であるので、ここでは説明を省略する。
【０１２４】
図２６は、第４の変形例における軌跡データ変換値ｄの演算処理の流れを示すフローチャートである。なお図２６において、図２４と同一の手順については同一の参照符号を付し、説明を省略する。
【０１２５】
ステップＳ８０では、入力座標が通った認識領域の順番と、認識領域を通過する時間間隔と、入力座標が通った認識領域の間の区間におけるマイク入力の有無を記録するための配列変数Ａ［０，１，２，・・・，最大要素数−１］の全ての要素を０に初期化し、要素番号を示す変数ｍを０に初期化し、返り値である軌跡データ変換値ｄを０に初期化し、直前の認識領域に入ってからの経過時間を示す変数ｔを０に初期化する。配列変数Ａの各要素には、入力座標が通った認識領域の認識番号ｐと、入力座標が直前に通った認識領域からその認識領域まで移動するのにかかった経過時間ｔと、その移動の間にマイク入力があったかどうかを示すフラグｍｉｃが含まれている。
【０１２６】
ステップＳ８１では、Ａ［ｍ−１］に識別番号ｐ等が保存されてから、ステップＳ７２でＡ［ｍ］に識別番号ｐ等が保存されるまでの間にマイク入力があったかどうかを判断し、マイク入力があった場合にはステップＳ８２に進み、マイク入力が無かった場合にはステップＳ５７に進む。なお、マイク入力の有無は、例えば割り込み処理などを利用して検出することができる。
【０１２７】
ステップＳ８２では、Ａ［ｍ］．ｍｉｃ（すなわち配列変数Ａの第ｍ＋１番目の要素に格納されているフラグｍｉｃ）に１を代入する。
【０１２８】
ステップＳ８３では、配列変数Ａと変数ｍに基づいて軌跡データ変換値ｄを計算する。以下、このステップＳ８３の演算処理の詳細を図２７のフローチャートを参照して説明する。なお、なお図２７において、図２５と同一の手順については同一の参照符号を付し、説明を省略する。
【０１２９】
ステップＳ８５では、軌跡データ変換値ｄを更新する。軌跡データ変換値ｄは、Ａ［ｉ］と変数ｉと変数ｊに基づいて更新される。ここでは一例として、その時点で保持されているｄの値に対して（Ａ［ｉ］．ｐ＋ｊ＋２・Ａ［ｉ］．ｍｉｃ）・（ｉ＋１）を加算することによって軌跡データ変換値ｄを更新している。これにより、入力座標がある認識領域に入ってから次の認識領域に入るまでの間にマイク入力があったか否かによってｄの値が異なる値となるため、例えば図１１のカード４０の切り込み４４をなぞるときに、マイク入力指示マーク４６が付された区間については音声を発しながらなぞり、その他の区間については音声を発っせずになぞったかどうかをｄの値によって判別可能となる。なお、ここではその時点で保持されているｄの値に対して（Ａ［ｉ］．ｐ＋ｊ＋２・Ａ［ｉ］．ｍｉｃ）・（ｉ＋１）を加算することによって軌跡データ変換値ｄを更新するとしたが、これは単なる一例に過ぎず、他の演算方法によって軌跡データ変換値ｄを更新してもよい。
【０１３０】
以上の処理の結果、プレイヤの入力操作に対応する軌跡データ変換値ｖが計算される。こうして計算された軌跡データ変換値ｖは、プレイヤが複数の孔部に沿った入力操作を行ったときに、その方向および順序および移動速さおよびマイク入力の有無によって異なる値となる。したがって、プレイヤが複数の孔部をどういう順序でなぞったか、また各孔部をどの方向になぞったか、また孔部の各部分をどのような速さでなぞったか、また孔部の各部分で音声を発しながらなぞったかどうかを判別し、この判別結果に応じてイベントを発生させることができる。
【０１３１】
（第５の変形例）
次に、第５の変形例として、プレイヤが孔部に沿ったスライド操作を行ったときに、各孔部をなぞる前に、ゲーム装置１０に設けられた複数の色変更キーのうちいずれの色変更キーが押されたかを考慮して、所定の入力操作が行われたかどうかを判別可能とした例を説明する。この変形例によれば、例えば図３のカード４０の孔４１の輪郭をなぞる前に、第２のＬＣＤ１２に表示される軌跡の色を赤色に変更するための色変更キー（例えばＡボタン１４ｄ）、第２のＬＣＤ１２に表示される軌跡の色を青色に変更するための色変更キー（例えばＢボタン１４ｅ）、第２のＬＣＤ１２に表示される軌跡の色を黄色に変更するための色変更キー（例えばＸボタン１４ｆ）、第２のＬＣＤ１２に表示される軌跡の色を緑色に変更するための色変更キー（例えばＹボタン１４ｇ）のうち、所定の色変更キーを押してから輪郭をなぞった場合にだけ、所定のイベントを発生させるといったことが可能となる。
【０１３２】
以下、この第５の変形例の処理について図２８のフローチャートを参照して説明する。なお図２８において、図２１と同一の手順については同一の参照符号を付し、説明を省略する。
【０１３３】
ステップＳ８７では、プレイヤによって選択されている色を示す色情報ｃｏｌを１に初期化する。
【０１３４】
ステップＳ８８では、プレイヤによっていずれかの色変更キーが押されたかどうかを判断し、押された場合にはステップＳ８９に進み、押されていない場合にはステップＳ４３に進む。
【０１３５】
ステップＳ８９では、プレイヤによって押された色変更キーに対応する値に色情報ｃｏｌを変更する。各色変更キーに対応する値は、例えば、軌跡の色を赤色に変更するための色変更キーに対応する値は１、軌跡の色を青色に変更するための色変更キーに対応する値は２、軌跡の色を黄色に変更するための色変更キーに対応する値は３、軌跡の色を緑色に変更するための色変更キーに対応する値は４というように予め定められている。
【０１３６】
ステップＳ９０では、変数ｎとステップＳ４４で算出された軌跡データ変換値ｄと色情報ｃｏｌに基づいて軌跡データ変換値ｖを更新する。ここでは一例として、その時点で保持されているｖの値に対してｄ×ｎ×ｃｏｌを加算することによって軌跡データ変換値ｖを更新している。これにより、例えば各孔部に沿ったスライド操作の前にそれぞれどの色変更キーが押されたかによってｖの値が変わるため、各孔部に対応する軌跡がそれぞれ予め定めた色で描かれたときにだけイベントを発生させるといったことが可能となる。なお、ここではその時点で保持されているｖの値に対してｄ×ｎ×ｃｏｌを加算することによって軌跡データ変換値ｖを更新するとしたが、これに限らず、他の演算方法によって軌跡データ変換値ｖを更新してもよい。
【０１３７】
（第６の変形例）
上記の第５の変形例では、プレイヤがゲーム装置１０に設けられた色変更キーを操作することによって軌跡の色を変更する例を説明したが、色変更キーを用いる代わりに、図１１のようにカード４０に設けられた色変更用孔４８ｒ、４８ｂ、４８ｙ、４８ｇを通じてタッチパネル１５にスティック１６を接触させることによって軌跡の色を変更するようにしてもよい。例えば、色変更用孔４８ｒを通じてタッチパネル１５にスティック１６を接触させた後に孔部をなぞると赤色の軌跡が表示され、色変更用孔４８ｂを通じてタッチパネル１５にスティック１６を接触させた後に孔部をなぞると青色の軌跡が表示され、色変更用孔４８ｙを通じてタッチパネル１５にスティック１６を接触させた後に孔部をなぞると黄色の軌跡が表示され、色変更用孔４８ｇを通じてタッチパネル１５にスティック１６を接触させた後に孔部をなぞると緑色の軌跡が表示されるようにしてもよい。
【０１３８】
以下、この第６の変形例の処理について図２９のフローチャートを参照して説明する。なお図２９において、図２８と同一の手順については同一の参照符号を付し、説明を省略する。
【０１３９】
ステップＳ９２では、入力座標に基づいて、いずれかの色変更用孔に対応するタッチパネル１５上の領域が押されたかどうかを判断し、いずれかの色変更用孔に対応する領域が押された場合にはステップＳ９３に進み、それ以外の領域が押された場合にはステップＳ４４に進む。
【０１４０】
ステップＳ９３では、プレイヤによって押されたタッチパネル上の領域に対応する値に色情報ｃｏｌを変更する。各色変更キーに対応する値は、例えば、軌跡の色を赤色に変更するための領域に対応する値は１、軌跡の色を青色に変更するための領域に対応する値は２、軌跡の色を黄色に変更するための領域に対応する値は３、軌跡の色を緑色に変更するための領域に対応する値は４というように予め定められている。
【０１４１】
以上のような処理により、第６の変形例でも第５の変形例と同様の効果が得られる。
【０１４２】
（第７の変形例）
上記の第５の変形例では、プレイヤがゲーム装置１０に設けられた色変更キーを操作することによって軌跡の色を変更する例を説明し、上記の第６の変形例では、プレイヤがカード４０に設けられた色変更用孔４８ｒ、４８ｂ、４８ｙ、４８ｇを通じてタッチパネル１５にスティック１６を接触させることによって軌跡の色を変更する例を説明したが、これらに代えて、孔部に沿って軌跡を描くときに、始点位置（すなわちタッチパネル１５にスティック１６を最初に接触させた位置）にスティック１６を接触させ続けることで軌跡の色を変更するようにしてもよい。例えば、タッチパネル１５にスティック１６を接触させてから３秒以内にスライドを開始すると赤色の軌跡が表示され、タッチパネル１５にスティック１６を接触させてから３秒〜６秒後にスライドを開始すると青色の軌跡が表示され、タッチパネル１５にスティック１６を接触させてから６秒〜９秒後にスライドを開始すると黄色の軌跡が表示され、タッチパネル１５にスティック１６を接触させてから９秒〜１２秒後にスライドを開始すると緑色の軌跡が表示されるようにしてもよい。
【０１４３】
以下、この第７の変形例の処理について図３０のフローチャートを参照して説明する。なお図３０において、図２９と同一の手順については同一の参照符号を付し、説明を省略する。
【０１４４】
ステップＳ９５では、現在入力座標（ｘ、ｙ）を始点座標（ｘ０，ｙ０）として保存する。
【０１４５】
ステップＳ９６では、現在入力座標（ｘ、ｙ）とステップＳ９５で保存した始点座標（ｘ０，ｙ０）が同一かどうかを判断し、同一である場合（すなわち入力座標が始点位置から動いていない場合）にはステップＳ９７に進み、同一でない場合（すなわち入力座標が始点位置から動いた場合）にはステップＳ４４に進む。
【０１４６】
ステップＳ９７では、タッチ入力が検出されてから、もしくは色情報が前回変更されてから、一定時間（例えば３秒間）が経過したかどうかを判断し、一定時間が経過している場合にはステップＳ９８に進み、一定時間がまだ経過していない場合にはステップＳ９６に戻る。
【０１４７】
ステップＳ９８では、色情報ｃｏｌに１を加算する。
【０１４８】
ステップＳ９９では、ステップＳ９８によって１を加算した結果、色情報ｃｏｌが指定色数（赤色、青色、黄色、緑色の４色）を超えたかどうかを判断し、超えた場合にはステップＳ１００に進み、超えていない場合にはステップＳ９６に戻る。
【０１４９】
ステップＳ１００では、色情報ｃｏｌを１にリセットし、ステップＳ９６に戻る。
【０１５０】
以上のような処理により、第７の変形例でも第５の変形例または第６の変形例と同様の効果が得られる。第７の変形例は、色変更キーや色変更用孔が不要であるため、特に小型のゲーム機に向いている。
【０１５１】
なお、第５〜第７の変形例として、軌跡の色を変更して、その情報を軌跡データ変換値ｄまたは軌跡データ変換値ｖに反映させる例を説明したが、軌跡データ変換値ｄまたは軌跡データ変換値ｖに反映させる情報（付加情報）としては、軌跡の色に限らず任意の情報を用いることができる。例えば第１のＬＣＤ１１または第２のＬＣＤ１２の背景の色を変更してもよい。
【図面の簡単な説明】
【０１５２】
【図１】本発明の一実施形態に係るゲーム機の外観図
【図２】ゲーム機の内部構成図
【図３】カードの具体例
【図４】カードをタッチパネル上の所定位置に載置した状態を示す図
【図５】ＲＡＭ２４のメモリマップ
【図６】比較軌跡情報の具体例
【図７】ゲームプログラムに基づく処理の流れを示すフローチャート
【図８】軌跡判別処理の流れを示すフローチャート
【図９Ａ】入力軌跡の具体例
【図９Ｂ】比較軌跡の具体例
【図１０】イベント発生処理の流れを示すフローチャート
【図１１】カードの他の具体例
【図１２】タッチパネルに仮想的に設けられる認識領域の配置例
【図１３】タッチパネル上の孔部と認識領域との位置関係の例
【図１４】入力座標が通過する認識領域の順番を示す図
【図１５Ａ】切り欠きと認識領域との適切な位置関係の例
【図１５Ｂ】切り欠きと認識領域との不適切な位置関係の例
【図１６】第１の変形例におけるＲＡＭ２４のメモリマップ
【図１７】判別情報の具体例
【図１８】軌跡判別処理の流れを示すフローチャート
【図１９】判別情報の他の具体例
【図２０】判別情報のさらに他の具体例
【図２１】第２の変形例におけるＣＰＵ２１の処理の流れを示すフローチャート
【図２２】第２の変形例における軌跡データ変換値ｄの取得処理の流れを示すフローチャート
【図２３】図２２のステップＳ６０の詳細を示すフローチャート
【図２４】第３の変形例における軌跡データ変換値ｄの取得処理の流れを示すフローチャート
【図２５】図２４のステップＳ７４の詳細を示すフローチャート
【図２６】第４の変形例における軌跡データ変換値ｄの取得処理の流れを示すフローチャート
【図２７】図２６のステップＳ８３の詳細を示すフローチャート
【図２８】第５の変形例におけるＣＰＵ２１の処理の流れを示すフローチャート
【図２９】第６の変形例におけるＣＰＵ２１の処理の流れを示すフローチャート
【図３０】第７の変形例におけるＣＰＵ２１の処理の流れを示すフローチャート
【符号の説明】
【０１５３】
１０  ゲーム機
１１  第１のＬＣＤ
１２  第２のＬＣＤ
１３  ハウジング
１３ａ  上側ハウジング
１３ｂ  下側ハウジング
１４  操作スイッチ部
１４ａ  十字スイッチ
１４ｂ  スタートスイッチ
１４ｃ  セレクトスイッチ
１４ｄ  Ａボタン
１４ｅ  Ｂボタン
１４ｆ  Ｘボタン
１４ｇ  Ｙボタン
１４Ｌ  Ｌボタン
１４Ｒ  Ｒボタン
１５  タッチパネル
１６  スティック
１７  メモリカード
１７ａ  ＲＯＭ
１７ｂ  ＲＡＭ
１８ａ，１８ｂ  音抜き孔
１９  電源スイッチ
２０  電子回路基板
２１  ＣＰＵコア
２２  バス
２３  コネクタ
２４  ＲＡＭ
２５  Ｉ／Ｆ回路
２６  第１ＧＰＵ
２７  第２ＧＰＵ
２８  第１ＶＲＡＭ
２９  第２ＶＲＡＭ
３０ａ  右スピーカ
３０ｂ  左スピーカ
３１  ＬＣＤコントローラ
３２  レジスタ
４０  カード
４１  孔
４２  切り込み
４３  切り欠き
４４  切り込み
４５  切り込み
４６  マイク入力指示マーク
４７  停滞指示マーク
４８ｒ、４８ｂ、４８ｙ、４８ｇ  色変更用孔
【図１】
0004749069.tif 000002
【図２】
0004749069.tif 000003
【図３】
0004749069.tif 000004
【図４】
0004749069.tif 000005
【図５】
0004749069.tif 000006
【図６】
0004749069.tif 000007
【図７】
0004749069.tif 000008
【図８】
0004749069.tif 000009
【図９Ａ】
0004749069.tif 000010
【図９Ｂ】
0004749069.tif 000011
【図１０】
0004749069.tif 000012
【図１１】
0004749069.tif 000013
【図１２】
0004749069.tif 000014
【図１３】
0004749069.tif 000015
【図１４】
0004749069.tif 000016
【図１５Ａ】
0004749069.tif 000017
【図１５Ｂ】
0004749069.tif 000018
【図１６】
0004749069.tif 000019
【図１７】
0004749069.tif 000020
【図１８】
0004749069.tif 000021
【図１９】
0004749069.tif 000022
【図２０】
0004749069.tif 000023
【図２１】
0004749069.tif 000024
【図２２】
0004749069.tif 000025
【図２３】
0004749069.tif 000026
【図２４】
0004749069.tif 000027
【図２５】
0004749069.tif 000028
【図２６】
0004749069.tif 000029
【図２７】
0004749069.tif 000030
【図２８】
0004749069.tif 000031
【図２９】
0004749069.tif 000032
【図３０】
0004749069.tif 000033