(57)【要約】【課題】  抵抗膜方式のタッチパネルの出力に基づいて、複数箇所が同時に押されたのか、単にプレイヤによるすばやい入力操作が行われたのかを正しく判別すること。【解決手段】  タッチパネル１５に対する接触位置を示すタッチ座標をタッチ座標履歴としてタッチ座標履歴記憶領域に順次格納し、タッチ座標履歴記憶領域に格納された最新のタッチ座標Ｐ２とこのタッチ座標Ｐ２の直前にタッチ座標履歴記憶領域に格納されたタッチ座標Ｐ１とが距離Ｄ以上離れておりかつタッチ座標Ｐ２がこのタッチ座標Ｐ２の２つ前にタッチ座標履歴記憶領域に格納されたタッチ座標Ｐ０の近傍であった場合に、タッチパネルの複数箇所が同時に押されたと判定する。【選択図】  図６Ｃ
2006136638.tif 000002
【特許請求の範囲】
【請求項１】
抵抗膜方式のように複数箇所が同時に押されても１つの座標しか検出されない方式のタッチパネルを入力装置として利用するゲーム装置において実行されるゲームプログラムであって、コンピュータに、
タッチパネルの出力に基づいて当該タッチパネルへの接触位置を表すタッチ座標を検出する検出ステップ、
検出されたタッチ座標を記憶装置に順次記憶する記憶ステップ、
タッチパネルへの接触が無いときに前記記憶装置に記憶されている全てのタッチ座標を消去する消去ステップ、および
新たに検出された第１のタッチ座標と前記記憶装置にすでに記憶されているタッチ座標を参照し、前記第１のタッチ座標と当該第１のタッチ座標の直前に前記記憶装置に記憶されたタッチ座標とが第１の距離よりも大きく離れておりかつ当該第１のタッチ座標が前記記憶装置に記憶されている当該第１のタッチ座標以外のいずれかのタッチ座標の近傍であった場合に、タッチパネルの複数箇所が同時に押されたと判定する判定ステップを実行させるためのゲームプログラム。
【請求項２】
前記記憶ステップは、新たに検出されたタッチ座標が、前記記憶装置に直前に記憶したタッチ座標から第２の距離よりも大きく離れている場合にのみ、当該新たに検出されたタッチ座標を前記記憶装置に追加記憶することを特徴とする、請求項１に記載のゲームプログラム。
【請求項３】
前記判定ステップは、前記第１のタッチ座標と前記記憶装置にすでに記憶されているタッチ座標とを比較し、前記第１のタッチ座標と当該第１のタッチ座標の直前に前記記憶装置に記憶されたタッチ座標とが第１の距離よりも大きく離れておりかつ当該第１のタッチ座標が当該第１のタッチ座標の２つ前に前記記憶装置に記憶されたタッチ座標の近傍であった場合に、タッチパネルの複数箇所が同時に押されたと判定することを特徴とする、請求項２に記載のゲームプログラム。
【請求項４】
前記判定ステップでタッチパネルの複数箇所が同時に押されたと判定されないときには前記第１のタッチ座標に応じた第１の処理を前記コンピュータに実行させ、前記判定ステップでタッチパネルの複数箇所が同時に押されたと判定されたときには前記第１の処理とは異なる第２の処理を前記コンピュータに実行させることを特徴とする、請求項１〜３のいずれかに記載のゲームプログラム。
【請求項５】
抵抗膜方式のように複数箇所が同時に押されても１つの座標しか検出されない方式のタッチパネル、
前記タッチパネルの出力に基づいて当該タッチパネルへの接触位置を表すタッチ座標を検出する検出手段、
前記検出手段によって検出されたタッチ座標を順次記憶するための記憶手段、
前記タッチパネルへの接触が無いときに前記記憶手段に記憶されている全てのタッチ座標を消去する消去手段、および
新たに検出された第１のタッチ座標と前記記憶手段にすでに記憶されているタッチ座標を参照し、前記第１のタッチ座標と当該第１のタッチ座標の直前に前記記憶手段に記憶されたタッチ座標とが第１の距離よりも大きく離れておりかつ当該第１のタッチ座標が前記記憶手段に記憶されているいずれかのタッチ座標の近傍であった場合に、前記タッチパネルの複数箇所が同時に押されたと判定する判定手段を備えた、ゲーム装置。
【請求項６】
前記記憶手段は、新たに検出されたタッチ座標が、前記記憶手段に直前に記憶したタッチ座標から第２の距離よりも大きく離れている場合にのみ、当該新たに検出されたタッチ座標を追加記憶することを特徴とする、請求項１に記載のゲーム装置。
【請求項７】
前記判定手段は、前記第１のタッチ座標と前記記憶手段にすでに記憶されているタッチ座標とを比較し、前記第１のタッチ座標と当該第１のタッチ座標の直前に前記記憶手段に記憶されたタッチ座標とが第１の距離よりも大きく離れておりかつ当該第１のタッチ座標が当該第１のタッチの２つ前に前記記憶手段に記憶されたタッチ座標の近傍であった場合に、前記タッチパネルの複数箇所が同時に押されたと判定することを特徴とする、請求項６に記載のゲーム装置。
【請求項８】
前記判定手段で前記タッチパネルの複数箇所が同時に押されたと判定されないときには前記第１のタッチ座標に応じた第１の処理を実行し、前記判定手段で前記タッチパネルの複数箇所が同時に押されたと判定されたときには、前記第１の処理とは異なる第２の処理を実行する処理手段をさらに備えた、請求項５〜７のいずれかに記載のゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はゲームプログラムに関し、特に、入力装置としてタッチパネルを利用するビデオゲーム装置において実行されるゲームプログラムに関する。
【背景技術】
【０００２】
従来、金融機関の現金自動支払機（ＡＴＭ）やＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）などの入力装置としてタッチパネルが利用されている。タッチパネルは、その表面をユーザが指やペンで押すことによって、押された位置を示す座標を出力するポインティングデバイスである。タッチパネルは携帯ゲーム装置の入力装置としても利用可能である。
【０００３】
タッチパネルの種類としては、例えば静電式、感圧式、赤外線感知式などがある。中でも抵抗膜方式のタッチパネルは、指やペンで操作でき、低コストで、分解能も高いので、携帯ゲーム装置の入力装置としては最適である。
【０００４】
しかしながら、抵抗膜方式のタッチパネルには、構造上の理由から、指やペンで２箇所を同時に押されたときにそれらの中間点の座標を出力してしまうという特徴がある。例えば、図１０ＡのようにスティックＡをタッチパネルの点Ｐａに接触させた状態から、さらに図１０ＢのようにスティックＢをタッチパネルの点Ｐｂに接触させると、タッチパネルからは点Ｐｃが押されたことを示す信号が出力されてしまう。
【０００５】
一部のゲームにおいては、上記のような抵抗膜方式のタッチパネルの特徴を利用することによって、ゲーム作成者の意図に反してプレイヤが非常に有利にゲームを進められるようになってしまうことがある。
【０００６】
例えば、図１１Ａのように、プレイヤがタッチパネル（より正確にはタッチパネルの直下に設けられた表示装置の画面）に表示された２つのボタンＢ１、Ｂ２を交互にできるだけすばやく押すことによってプレイヤキャラクタを走らせるようなゲームの場合、図１１ＢのようにスティックＡをボタンＢ１に接触させた状態で、別のスティックＢを図の位置でトントンとすばやくタップ（軽く触れてから離す操作）すれば、１つのスティックだけを用いて２つのボタンＢ１、Ｂ２を実際に交互に押す場合に比べて、容易に正確かつすばやい入力が可能となる。
【０００７】
また例えば、図１２Ａのように、プレイヤがタッチパネルに表示されたボタンＢ３の内部領域を左右にできるだけすばやく擦ることによってプレイヤキャラクタを走らせるようなゲームの場合も同様である。ゲーム装置は、タッチパネルからの信号に基づいて、タッチパネルのどの点が押されているのかを例えば１秒間に３０回の周期で定期的に監視し、タッチパネルから指やペンが離れることなくその接触位置が変化したときに、プレイヤがタッチパネルを擦っていると判定する。よって、図１２ＢのようにスティックＡをボタンＢ３の左端に接触させた状態で、別のスティックＢを図の位置でトントンとすばやくタップすると、途切れることなく接触位置が検出され、かつその位置がボタンＢ３の左端と右端に交互に変化するため、ゲーム装置は、プレイヤがボタンＢ３の内部領域を左右にすばやく擦っていると誤認識してしまう。よって、１つのスティックだけを用いてボタンＢ３の内部領域を実際に左右に擦る場合に比べて、容易に正確かつすばやい入力が可能となる。
【０００８】
このように、プレイヤが図１１Ｂや図Ｆのような入力操作を行うと、ゲームの本来の面白さが失われてしまうことにもなり得るので、このような入力操作をゲーム装置が受付けないようにすることが好ましい。
【０００９】
ところで、従来、抵抗膜方式のタッチパネルの２箇所が同時に押されたことを検出する技術が存在する。例えば、特許文献１に記載の技術では、接触位置が変化したときに接触位置の変化量を計算し、その変化量が所定値を超えていたときに、タッチパネルの２箇所が同時に押されたと判定される。例えば、図１３のようにスティックＡをタッチパネルの点Ｐａに接触させた状態から、さらにスティックＢをタッチパネルの点Ｐｂに接触させると、接触位置がＰａからＰｃに瞬間的に変化することになるが、その変化量が所定値（ここではｄ）を超えているため、タッチパネルの２箇所が同時に押されたと判定される。
【特許文献１】特開２００３−２８０８１６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記の特許文献１に記載されている技術をゲーム装置に適用した場合には、以下のような問題が発生する。
【００１１】
ゲーム装置では、ＡＴＭやＰＤＡなどとは異なり、すばやい入力操作を要求されることがしばしばある。例えば図１１Ａのようなゲームでは、プレイヤがボタンＢ１、Ｂ２を交互にすばやく押すほどプレイヤキャラクタが速く進み、図１２Ａのようなゲームでは、プレイヤがボタンＢ３をすばやく擦るほどプレイヤキャラクタが速く進む。プレイヤがどれだけすばやくボタンを押せるか（または擦れるか）はプレイヤの能力に依存するが、プレイヤによっては、３０分の１秒の間にタッチパネル上でスティックを百画素以上離れた位置まで滑らせることも十分に可能である。
【００１２】
ところが、上記の特許文献１に記載されている技術では、プレイヤが図１４のようにタッチパネル上でスティックＡをすばやく滑らせると、誤って、タッチパネルの２箇所が同時に押されたと判定されてしまう可能性があった。言い換えれば、特許文献１に記載されている技術には、タッチパネルの２箇所が同時に押されたのか、プレイヤがタッチパネル上でスティックをすばやく滑らせたのかを正しく判別することができないという欠点が存在する。
【００１３】
それゆえに本発明は、タッチパネルの複数箇所が同時に押されたのか、単にプレイヤによるすばやい入力操作が行われたのかを正しく判別することのできるゲームプログラムおよびゲーム装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記課題を解決するために、本発明は以下の構成を採用した。なお、括弧内の参照符号および図番号は、本発明の理解を助けるために図面との対応関係を示したものであって、本発明の範囲を何ら限定するものではない。
【００１５】
第１の発明は、抵抗膜方式のように複数箇所が同時に押されても１つの座標しか検出されない方式のタッチパネル（１５）を入力装置として利用するゲーム装置（１０）において実行されるゲームプログラムであって、コンピュータに、検出ステップ（Ｓ１４）、記憶ステップ（Ｓ２２）、消去ステップ（Ｓ１６）、および判定ステップ（Ｓ２６、Ｓ２８）を実行させるためのプログラムである。
検出ステップは、タッチパネルの出力に基づいて当該タッチパネルへの接触位置を表すタッチ座標（Ｐｎｏｗ）を検出するステップであり、記憶ステップは、検出されたタッチ座標（Ｐ０、Ｐ１、Ｐ２、Ｐ３、Ｐ４、・・・）を記憶装置（２４、４２）に順次記憶するステップであり、消去ステップは、タッチパネルへの接触が無いときに記憶装置に記憶されている全てのタッチ座標（Ｐ０、Ｐ１、Ｐ２、Ｐ３、Ｐ４、・・・）を消去するステップであり、判定ステップは、新たに検出された第１のタッチ座標（図７のＰ２）と記憶装置にすでに記憶されているタッチ座標（図７のＰ０、Ｐ１）を参照し、第１のタッチ座標（Ｐ２）と当該第１のタッチ座標の直前に記憶装置に記憶されたタッチ座標（Ｐ１）とが第１の距離（Ｄ）よりも大きく離れており、かつ当該第１のタッチ座標（Ｐ２）が、記憶装置に記憶されているいずれかのタッチ座標（Ｐ０、Ｐ１）の近傍（ｒ）であった場合に、タッチパネルの複数箇所が同時に押されたと判定するステップである。
【００１６】
第２の発明は、第１の発明において、記憶ステップは、新たに検出されたタッチ座標（図５ＤのＰｎｏｗ）が、記憶装置に直前に記憶したタッチ座標（図５ＤのＰ０）から第２の距離（Ｒ）よりも大きく離れている場合にのみ、当該新たに検出されたタッチ座標を記憶装置に追加記憶する（図５ＤのＰ１）ことを特徴とする。
【００１７】
第３の発明は、第２の発明において、判定ステップは、第１のタッチ座標（図７のＰ２）と記憶装置にすでに記憶されているタッチ座標（図７のＰ０、Ｐ１）とを比較し、第１のタッチ座標と当該第１のタッチ座標の直前に記憶装置に記憶されたタッチ座標（Ｐ１）とが第１の距離（Ｄ）よりも大きく離れておりかつ当該第１のタッチ座標（Ｐ２）が当該第１のタッチ座標の２つ前に記憶装置に記憶されたタッチ座標（Ｐ０）の近傍（ｒ）であった場合に、タッチパネルの複数箇所が同時に押されたと判定することを特徴とする。
【００１８】
第４の発明は、第１から第３のいずれかの発明において、ゲームプログラムは、判定ステップでタッチパネルの複数箇所が同時に押されたと判定されないときには第１のタッチ座標に応じた第１の処理をコンピュータに実行させ、判定ステップでタッチパネルの複数箇所が同時に押されたと判定されたときには第１の処理とは異なる第２の処理をコンピュータに実行させることを特徴とする。
【００１９】
第５の発明は、抵抗膜方式のように複数箇所が同時に押されても１つの座標しか検出されない方式のタッチパネル（１５）、検出手段（２１）、記憶手段（２４）、消去手段（２１）、および判定手段（２１）を備えたゲーム装置である。
検出手段は、タッチパネルの出力に基づいて当該タッチパネルへの接触位置を表すタッチ座標（Ｐｎｏｗ）を検出する（Ｓ１４）。記憶手段は、検出手段によって検出されたタッチ座標（Ｐ０、Ｐ１、Ｐ２、Ｐ３、Ｐ４、・・・）を記憶手段（２４、４２）に順次記憶する（Ｓ２２）。消去手段は、タッチパネルへの接触が無いときに記憶手段に記憶されている全てのタッチ座標（Ｐ０、Ｐ１、Ｐ２、Ｐ３、Ｐ４、・・・）を消去する（Ｓ１６）。判定手段は、新たに検出された第１のタッチ座標（図７のＰ２）と記憶手段にすでに記憶されているタッチ座標（図７のＰ０、Ｐ１）を参照し、第１のタッチ座標（Ｐ２）と当該第１のタッチ座標の直前に記憶手段に記憶されたタッチ座標（Ｐ１）とが第１の距離（Ｄ）よりも大きく離れており、かつ当該第１のタッチ座標（Ｐ２）が、記憶手段に記憶されているいずれかのタッチ座標（Ｐ０、Ｐ１）の近傍（ｒ）であった場合に、タッチパネルの複数箇所が同時に押されたと判定する（Ｓ２６、Ｓ２８）。
【００２０】
第６の発明は、第５の発明において、記憶手段は、新たに検出されたタッチ座標（図５ＤのＰｎｏｗ）が、記憶手段に直前に記憶したタッチ座標（図５ＤのＰ０）から第２の距離（Ｒ）よりも大きく離れている場合にのみ、当該新たに検出されたタッチ座標を追加記憶する（図５ＤのＰ１）ことを特徴とする。
【００２１】
第７の発明は、第６の発明において、判定手段は、第１のタッチ座標（図７のＰ２）と記憶手段にすでに記憶されているタッチ座標（図７のＰ０、Ｐ１）とを比較し、第１のタッチ座標（Ｐ２）と当該第１のタッチ座標の直前に記憶手段に記憶されたタッチ座標（Ｐ１）とが第１の距離（Ｄ）よりも大きく離れておりかつ当該第１のタッチ座標（Ｐ２）が当該第１のタッチの２つ前に記憶手段に記憶されたタッチ座標（Ｐ０）の近傍（ｒ）であった場合に、タッチパネルの複数箇所が同時に押されたと判定することを特徴とする。
【００２２】
第８の発明は、第５から第７のいずれかの発明において、判定手段でタッチパネルの複数箇所が同時に押されたと判定されないときには第１のタッチ座標に応じた第１の処理（Ｓ１２）を実行し、判定手段でタッチパネルの複数箇所が同時に押されたと判定されたときには、第１の処理とは異なる第２の処理を実行する処理手段（２１）をさらに備えることを特徴とする。
【発明の効果】
【００２３】
上記第１および第５の発明によれば、タッチ座標が第１の点から一定距離以上離れた第２の点に瞬間的に変化し、かつ第２の点が過去に検出されて記憶装置に記憶されているいずれかの点の近傍である場合にのみ、タッチパネルの複数箇所が同時に押されたと判定されるので、タッチパネルの複数箇所が同時に押されたのか、単にプレイヤによるすばやい入力操作が行われたのかをより正確に判別することができる。
【００２４】
上記第２および第６の発明によれば、記憶手段に直前に記憶したタッチ座標から第２の距離よりも大きく離れている場合にのみ、この新たに検出されたタッチ座標を記憶手段に追加記憶するので、記憶手段に記憶すべきタッチ座標の数を削減でき、記憶手段の記憶容量を有効に活用することができる。
【００２５】
上記第３および第７の発明によれば、タッチ座標がある場所から別の場所に瞬間的に移動した後、すぐにもしくはある時間をおいた後でもとの場所の近傍に瞬間的に移動したときに、タッチパネルの複数箇所が同時に押されたと判定されるので、タッチパネルの複数箇所が同時に押されたのか、単にプレイヤによるすばやい入力操作が行われたのかをさらに正確に判別することができる。
【００２６】
上記第４および第８の発明によれば、タッチパネルの複数箇所が同時に押されたときに通常とは異なる処理が実行されるので、例えば、タッチパネルの複数箇所が同時に押されたことを示すメッセージを画面に表示して、その旨をプレイヤに通知することができる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の一実施形態に係るゲーム装置の構成および動作を説明する。
【００２８】
図１は、本発明の一実施形態に係るゲーム装置の外観図である。図１において、ゲーム装置１０は、第１のＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１１および第２のＬＣＤ１２を含む。ハウジング１３は上側ハウジング１３ａと下側ハウジング１３ｂとによって構成されており、第１のＬＣＤ１１は上側ハウジング１３ａに収納され、第２のＬＣＤ１２は下側ハウジング１３ｂに収納される。第１のＬＣＤ１１および第２のＬＣＤ１２の解像度はいずれも２２８ｄｏｔ×１９２ｄｏｔである。なお、本実施形態では表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置など、他の任意の表示装置を利用することができる。また任意の解像度のものを利用することができる。
【００２９】
上側ハウジング１３ａには、後述する１対のスピーカ（図２の３０ａ、３０ｂ）からの音を外部に放出するための音抜き孔１８ａ、１８ｂが形成されている。
【００３０】
下側ハウジング１３ｂには、入力装置として、十字スイッチ１４ａ、スタートスイッチ１４ｂ、セレクトスイッチ１４ｃ、Ａボタン１４ｄ、Ｂボタン１４ｅ、Ｘボタン１４ｆ、Ｙボタン１４ｇ、Ｌボタン１４ＬおよびＲボタン１４Ｒが設けられている。また、さらなる入力装置として、第２のＬＣＤ１２の画面上にタッチパネル１５が装着されている。また、下側ハウジング１３ｂには、電源スイッチ１９や、メモリカード１７やスティック１６を収納するための挿入口も設けられている。
【００３１】
タッチパネル１５としては、例えば抵抗膜方式のような、複数箇所が同時に押されても１つの座標しか検出されない任意の方式のタッチパネルを利用することができる。タッチパネル１５は、その表面をスティック１６で触れると、その接触位置に対応する座標データを出力する機能を有している。なお、以下ではプレイヤがタッチパネル１５をスティック１６で操作するものとして説明を行うが、スティック１６の代わりにペン（スタイラスペン）や指でタッチパネル１５を操作することももちろん可能である。本実施形態では、タッチパネル１５として、第２のＬＣＤ１２の解像度と同じく２２８ｄｏｔ×１９２ｄｏｔの解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル１５の解像度と第２のＬＣＤ１２の解像度が一致している必要はない。
【００３２】
メモリカード１７はゲームプログラムを記録した記録媒体であり、下部ハウジング１３ｂに設けられた挿入口に着脱自在に装着される。
【００３３】
次に、図２を参照してゲーム装置１０の内部構成を説明する。
【００３４】
図２において、ハウジング１３に収納される電子回路基板２０には、ＣＰＵコア２１が実装される。ＣＰＵコア２１には、バス２２を介して、コネクタ２３が接続されるとともに、入出力インターフェース回路（図面ではＩ／Ｆ回路と記す）２５、第１ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｇ  Ｕｎｉｔ）２６、第２ＧＰＵ２７、ＲＡＭ２４およびＬＣＤコントローラ３１が接続される。コネクタ２３には、メモリカード１７が着脱自在に接続される。メモリカード１７は、ゲームプログラムを記憶するＲＯＭ１７ａと、バックアップデータを書き換え可能に記憶するＲＡＭ１７ｂを搭載する。メモリカード１７のＲＯＭ１７ａに記憶されたゲームプログラムはＲＡＭ２４にロードされ、ＲＡＭ２４にロードされたゲームプログラムがＣＰＵコア２１によって実行される。ＲＡＭ２４には、ゲームプログラムの他にも、ＣＰＵコア２１がゲームプログラムを実行して得られる一時的なデータや、ゲーム画像を生成するためのデータが記憶される。Ｉ／Ｆ回路２５には、タッチパネル１５、右スピーカ３０ａ、左スピーカ３０ｂおよび図１の十字スイッチ１４ａやＡボタン１４ｄ等から成る操作スイッチ部１４が接続される。右スピーカ３０ａと左スピーカ３０ｂは、音抜き孔１８ａ、１８ｂの内側にそれぞれ配置される。
【００３５】
第１ＧＰＵ２６には、第１ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）２８が接続され、第２ＧＰＵ２７には、第２ＶＲＡＭ２９が接続される。第１ＧＰＵ２６は、ＣＰＵコア２１からの指示に応じて、ＲＡＭ２４に記憶されているゲーム画像を生成するためのデータに基づいて第１のゲーム画像を生成し、第１ＶＲＡＭ２８に描画する。第２ＧＰＵ２７は、同様にＣＰＵコア２１からの指示に応じて第２のゲーム画像を生成し、第２ＶＲＡＭ２９に描画する。第１ＶＲＡＭ２８および第２ＶＲＡＭ２９はＬＣＤコントローラ３１に接続されている。
【００３６】
ＬＣＤコントローラ３１はレジスタ３２を含む。レジスタ３２はＣＰＵコア２１からの指示に応じて０または１の値を記憶する。ＬＣＤコントローラ３１は、レジスタ３２の値が０の場合は、第１ＶＲＡＭ２８に描画された第１のゲーム画像を第１のＬＣＤ１１に出力し、第２ＶＲＡＭ２９に描画された第２のゲーム画像を第２のＬＣＤ１２に出力する。また、レジスタ３２の値が１の場合は、第１ＶＲＡＭ２８に描画された第１のゲーム画像を第２のＬＣＤ１２に出力し、第２ＶＲＡＭ２９に描画された第２のゲーム画像を第１のＬＣＤ１１に出力する。
【００３７】
なお、上記のようなゲーム装置１０の構成は単なる一例に過ぎず、本発明は、画面上にタッチパネルの設けられた少なくとも１つの表示装置を有する任意のコンピュータシステムに適用することができる。また、本発明のゲームプログラムは、メモリカード１７などの外部記憶媒体を通じてコンピュータシステムに供給されるだけでなく、有線または無線の通信回線を通じてコンピュータシステムに供給されてもよいし、さらにはコンピュータシステム内部の不揮発性記憶装置に予め記録されていてもよい。
【００３８】
図３は、ＲＡＭ２４のメモリマップである。ＲＡＭ２４には、メモリカード１７のＲＯＭ１７ａからゲームプログラムがロードされる。また、ＲＡＭ２４には、現タッチ座標を記憶するための領域（以下、現タッチ座標記憶領域と称す）４１や、タッチ座標履歴を記憶するための領域（以下、タッチ座標履歴記憶領域と称す）４２が設けられている。
【００３９】
現タッチ座標記憶領域４１には、タッチパネル１５からの出力信号に基づいて検出された最新のタッチ座標Ｐｎｏｗが格納される。なお、タッチ座標とは、タッチパネル１５に対するスティック１６の接触位置を示す座標である。
【００４０】
なお、ゲーム装置の構成によっては、スティック１６がタッチパネル１５から離れたときに、直前に格納されていたタッチ座標Ｐｎｏｗがそのまま残っている場合がある。この場合には、タッチパネル１５が押されているかどうかを示すフラグや、現タッチ座標記憶領域４１に格納されているタッチ座標Ｐｎｏｗが有効であるか無効であるかを示すフラグを参照することによって、タッチパネル１５にスティック１６が触れているかどうかを判断することができる。
【００４１】
タッチ座標履歴記憶領域４２には、スティック１６がタッチパネル１５に一旦接触してからその後離れるまでの間におけるタッチ座標の遷移の履歴が格納される。ここでは、古い順番にタッチ座標Ｐ０、Ｐ１、Ｐ２、Ｐ３、Ｐ４、・・・として格納されるものとする。タッチ座標履歴記憶領域４２に格納されたタッチ座標Ｐ０、Ｐ１、Ｐ２、Ｐ３、Ｐ４、・・・は、スティック１６がタッチパネル１５から離れた時点で消去される。
【００４２】
次に、図４のフローチャートを参照して、ゲームプログラムに基づくＣＰＵコア２１の処理の流れを説明する。
【００４３】
ステップＳ１０では、パラメータｎに０をセットし、タッチ座標履歴記憶領域４２に格納されているタッチ座標を全てクリアする（後述する図５Ａの状態）。
【００４４】
ステップＳ１２では、ゲーム処理を実行する。例えば、図１１Ａや図１２Ａのようなゲーム画像を第２のＬＣＤ１２に表示し、プレイヤの入力操作（操作スイッチ部１４やタッチパネル１５による入力操作）に応じてゲーム処理を実行する。
【００４５】
ステップＳ１４では、タッチパネル１５の出力信号に基づいて、タッチパネル１５にスティック１６が触れているかどうかを判断する。タッチパネル１５にスティック１６が触れている場合には、その接触位置を示すタッチ座標をタッチ座標Ｐｎｏｗとして現タッチ座標記憶領域４１に格納してからステップＳ１８に進み、タッチパネル１５にスティック１６が触れていない場合（例えば、後述する図５Ａの状態）にはステップＳ１６に進む。なお、タッチパネル１５の出力信号からタッチ座標を検出して現タッチ座標記憶領域４１に格納する処理は、本実施形態のようにゲームプログラムに組み込まれていてもよいし、タッチ座標検出専用のプログラムに基づいて実行されてもよい。
【００４６】
ステップＳ１６では、パラメータｎが１以上かどうかを判断し、パラメータｎが１以上である場合にはステップＳ１０に戻り、パラメータｎが０である場合にはステップＳ１２に戻る。
【００４７】
ステップＳ１８では、パラメータｎが１以上かどうかを判断し、パラメータｎが１以上である場合にはステップＳ２０に進み、パラメータｎが０である場合にはステップＳ２２に戻る。例えば、タッチパネル１５にスティック１６が触れた直後は、パラメータｎが０であるので、ステップＳ１８の次はステップＳ２２に処理が進むことになる。
【００４８】
ステップＳ２０では、現タッチ座標記憶領域４１に記憶されている現タッチ座標Ｐｎｏｗと、タッチ座標履歴記憶領域４２に記憶されているタッチ座標Ｐｎ−１（例えば、パラメータｎが１である場合にはＰ０、パラメータｎが２である場合にはＰ１）とを比較し、それらが距離Ｒ以上離れているかどうかを判定する。ここでは、距離Ｒは一例として５画素分の距離とする。タッチ座標Ｐｎ−１は、ステップＳ２０の時点でタッチ座標履歴記憶領域４２に記憶されているタッチ座標の中で最後に格納されたタッチ座標である。ステップＳ２０の判定の結果、ＰｎｏｗとＰｎ−１の間の距離がＲ未満である場合はステップＳ１２に戻り、Ｒ以上である場合はステップＳ２２に進む。
【００４９】
ステップＳ２２では、タッチ座標履歴記憶領域４２におけるタッチ座標Ｐｎの座標値として現タッチ座標Ｐｎｏｗの座標値を書き込む。例えば、パラメータｎが０である場合には、タッチ座標履歴記憶領域４２におけるタッチ座標Ｐ０の座標値として現タッチ座標Ｐｎｏｗの座標値を書き込む（例えば、後述する図５Ｂ参照）。
【００５０】
ステップＳ２４では、パラメータｎが２以上かどうかを判断し、パラメータｎが２以上である場合にはステップＳ２６に進み、パラメータｎが０または１である場合にはステップＳ３０に進む。
【００５１】
ステップＳ２６では、タッチ座標履歴記憶領域４２におけるタッチ座標ＰｎとＰｎ−１とを比較し、それらが距離Ｄ以上離れているかどうかを判定する。ここでは、距離Ｄは一例として１６画素分の距離とする。タッチ座標Ｐｎは、ステップＳ２６の時点でタッチ座標履歴記憶領域４２に記憶されているタッチ座標の中で最後に格納されたタッチ座標（言い換えると、直前のステップＳ２２でタッチ座標履歴記憶領域４２に格納されたタッチ座標であり、さらに言い換えると、直前のステップＳ２２の時点で現タッチ座標記憶領域４１に記憶されていた現タッチ座標Ｐｎｏｗ）であり、タッチ座標Ｐｎ−１は、タッチ座標Ｐｎの直前にタッチ座標履歴記憶領域４２に格納されたタッチ座標である。ステップＳ２６の判定の結果、ＰｎとＰｎ−１の間の距離がＤ未満である場合はステップＳ３０に進み、Ｄ以上である場合はステップＳ２８に進む。
【００５２】
ステップＳ２８では、タッチ座標履歴記憶領域４２におけるタッチ座標ＰｎとＰｎ−２（すなわち、タッチ座標Ｐｎの２つ前にタッチ座標履歴記憶領域４２に格納されたタッチ座標）とを比較し、タッチ座標Ｐｎがタッチ座標Ｐｎ−２の近傍かどうか、より具体的にはそれらが距離ｒ以内に接近しているかどうかを判定する。ここでは、距離ｒは一例として２画素分の距離とする。なお、近傍かどうかはタッチ座標Ｐｎ−２がタッチ座標Ｐｎを中心とした所定の矩形領域に含まれているかどうかで判定してもよい。ステップＳ２８の判定の結果、ＰｎがＰｎ−２の近傍でない場合はステップＳ３０に進み、近傍である場合はタッチパネルの複数箇所が同時に押されたと判断し、適宜、通常のゲーム処理（Ｓ１２）と異なる処理を実行する。ここで言う「通常のゲーム処理と異なる処理」としては、例えば、単に第２のＬＣＤ１２にプレイヤに対する警告メッセージを表示するものであってもよいし、また例えば、プレイヤが全てのスティックをタッチパネル１５から離したことが確認されるまでの間、その入力操作を無視してゲーム処理を続けるものであってもよい。
【００５３】
ステップＳ３０では、パラメータｎをインクリメントし、その後ステップＳ１２に戻る。ステップＳ１２では、その時点で現タッチ座標記憶領域４１に記憶されている現タッチ座標Ｐｎｏｗ、もしくはタッチ座標履歴記憶領域４２に記憶されているタッチ座標Ｐｎに基づいてゲーム処理を実行する。
【００５４】
次に、図５Ａ〜図９を参照して、タッチ座標履歴記憶領域４２にタッチ座標が順次書き込まれていく様子を具体的に説明する。
【００５５】
図５Ａは、プレイヤがまだスティック１６をタッチパネル１５に接触させていない時の様子を示している。このとき、現タッチ座標記憶領域４１には現タッチ座標Ｐｎｏｗは記憶されておらず、またタッチ座標履歴記憶領域４２にもタッチ座標Ｐ０、Ｐ１、Ｐ２、Ｐ３、Ｐ４、・・・は記憶されていない。
【００５６】
図５Ｂは、図５Ａの状態からプレイヤがスティック１６でタッチパネル１５に触れたときの様子を示している。このとき、現タッチ座標記憶領域４１には接触位置に対応する現タッチ座標Ｐｎｏｗが格納され、さらに図４のステップＳ２２において、現タッチ座標Ｐｎｏｗの座標値がタッチ座標履歴記憶領域４２のタッチ座標Ｐ０の座標値として書き込まれる。
【００５７】
図５Ｃは、図５Ｂの状態からプレイヤがスティック１６をわずかな距離（Ｒ未満）だけ滑らせたときの様子を示している。この場合、図４のステップＳ２０において、ＰｎｏｗとＰｎ−１（ここではＰ０）の間の距離がＲ未満であると判定されるので、Ｐｎｏｗの座標値はＰ１の座標値として書き込まれることはない。これにより、例えばプレイヤの手ぶれによって現タッチ座標Ｐｎｏｗが細かく変化したときにその変化を無視できるため、タッチ座標履歴記憶領域４２を節約することができる。ただし、そのような効果が不要であれば、図４のステップＳ２０の判断ステップを省略してもよい。ただしこの場合には、図４のステップＳ２８で、タッチ座標履歴記憶領域４２におけるタッチ座標ＰｎとＰｎ−２とを比較する代わりに、タッチ座標Ｐｎが、タッチ座標Ｐｎよりも前にタッチ座標履歴記憶領域４２に格納されたいずれかのタッチ座標（すなわちＰｎ−１、Ｐｎ−２、Ｐｎ−３、Ｐｎ−４、Ｐｎ−５、・・・）の近傍かどうかを判定する必要がある。なぜなら、例えば図５Ｂのようにスティック１６をタッチパネル１５に接触させた状態から、さらに図６Ａのようにスティック５０をタッチパネル１５に接触させた後、図６Ｂのようにスティック５０だけをタッチパネル１５から離した場合であっても、スティック５０をタッチパネル１５に接触させている時間が長ければ、図６ＡのＰｎｏｗの座標値が例えばタッチ座標Ｐ１、Ｐ２、Ｐ３の座標値として書き込まれ、図６ＢのＰｎｏｗの座標値はタッチ座標Ｐ４の座標値として書き込まれることになり、タッチ座標Ｐ４と、それより２つ前にタッチ座標履歴記憶領域４２に書き込まれたタッチ座標Ｐ２とを比較しても、タッチパネルの複数箇所が同時に押されたとは判定されないからである。したがってこの場合には、タッチ座標Ｐ４が、タッチ座標Ｐ４よりも前にタッチ座標履歴記憶領域４２に格納されたいずれかのタッチ座標（すなわちＰ３、Ｐ２、Ｐ１、Ｐ０）の近傍かどうかを判定する必要がある。
【００５８】
図５Ｄは、図５Ｂの状態からプレイヤがスティック１６を距離Ｒ以上滑らせたときの様子を示している。この場合、ＰｎｏｗとＰ０の間の距離がＲ以上であるので、図５Ｄに示すようにＰｎｏｗの座標値がＰ１の座標値として書き込まれる。
【００５９】
図５Ｅは、図５Ｄの状態からプレイヤがスティック１６をわずかな距離（Ｒ未満）だけ滑らせたときの様子を示している。この場合、ＰｎｏｗとＰ１の間の距離がＲ未満であるので、Ｐｎｏｗの座標値はＰ２の座標値として書き込まれることはない。
【００６０】
図５Ｆは、図５Ｄの状態からプレイヤがスティック１６を距離Ｒ以上滑らせたときの様子を示している。この場合、ＰｎｏｗとＰ１の間の距離がＲ以上であるので、図５Ｆに示すようにＰｎｏｗの座標値がＰ２の座標値として書き込まれる。
【００６１】
図５Ｇは、図５Ｆの状態からプレイヤがスティック１６を距離Ｒ以上滑らせたときの様子を示している。この場合、ＰｎｏｗとＰ１の間の距離がＲ以上であるので、図５Ｇに示すようにＰｎｏｗの座標値がＰ３の座標値として書き込まれる。以下、同様にしてタッチ座標Ｐ４、Ｐ５、Ｐ６、・・・の座標値がタッチ座標履歴記憶領域４２に順次書き込まれる。なお、プレイヤがスティック１６をタッチパネル１５から離した場合には、図４のステップＳ１０においてタッチ座標履歴記憶領域４２に記憶されているタッチ座標が全てクリアされるので、図５Ａの状態に戻る。
【００６２】
次に、図６Ａおよび図６Ｂを参照して、プレイヤが２本のスティックを使ってタッチパネル１５の２箇所を同時に触れたときのタッチ座標履歴記憶領域４２の様子を説明する。
【００６３】
図６Ａは、図５Ｂの状態からプレイヤが新たなスティック５０をさらにタッチパネル１５に接触させたときの様子を示している。この場合、現タッチ座標Ｐｎｏｗは、図６Ａのようにスティック１６の接触位置とスティック５０の接触位置の中間点となり、ＰｎｏｗとＰ０の間の距離がＲ以上であるので、図６Ａに示すようにＰｎｏｗの座標値がＰ１の座標値として書き込まれる。
【００６４】
図６Ｂは、図６Ａの状態からプレイヤがスティック５０だけをタッチパネルから離したときの様子を示している。この場合、現タッチ座標Ｐｎｏｗは、図６Ｂのようにスティック１６の接触位置となり、ＰｎｏｗとＰ１の間の距離がＲ以上であるので、図６Ｂに示すようにＰｎｏｗの座標値がＰ２の座標値として書き込まれる。
【００６５】
なお、図４のフローチャートで示したように、タッチ座標履歴記憶領域４２にタッチ座標Ｐ２が格納されたときには、図４のステップＳ２６において、タッチ座標Ｐ２とＰ１が距離Ｄ以上離れているかどうか、さらにはステップＳ２８において、タッチ座標Ｐ２とＰ０が距離ｒ以内に接近しているかどうかが判定される。図６Ｂの例の場合には、図６Ｃに示すようにタッチ座標Ｐ２とＰ１が距離Ｄ以上離れており、かつタッチ座標Ｐ２とＰ０が距離ｒ以内に接近しているので、タッチパネルの複数箇所が同時に押されたと判定される。
【００６６】
なお、図７のように、たとえタッチ座標Ｐ２とＰ０が距離ｒ以内に接近していたとしても、タッチ座標Ｐ２とＰ１の間の距離がＤ未満である場合には、タッチパネルの複数箇所が同時に押されたとは判定されない。これは、例えばプレイヤがタッチパネル１５上においてスティック１６で直径が３画素程度の小さな円をすばやく描いたときに、タッチパネルの複数箇所が同時に押されたと誤やまって判定されてしまうのを回避するためである。
【００６７】
また、図８のように、たとえタッチ座標Ｐ２とＰ１が距離Ｄ以上離れていたとしても、タッチ座標Ｐ２とＰ０との距離がｒよりも大きい場合には、タッチパネルの複数箇所が同時に押されたとは判定されない。これは、プレイヤがスティック１６でタッチパネル１５の表面をすばやく擦ったときに、タッチパネルの複数箇所が同時に押されたと誤やまって判定されてしまうのを回避するためである。つまり、プレイヤがスティック１６でタッチパネル１５の表面をすばやく擦ったときには、スティック１６の接触位置がタッチ座標Ｐ０からＰ１に移動してから再びタッチ座標Ｐ０の近傍に正確に戻ることはまれであるが、図６Ｂのようにタッチパネル１５の２点を同時に押した場合にはタッチ座標Ｐ２はＰ０の近傍となるので、これを利用して、タッチパネルの複数箇所が同時に押されたのか、単にプレイヤによるすばやい入力操作が行われたのかを判別している。
【００６８】
なお、タッチ座標Ｐ２とＰ０が一致しているかどうかではなく、タッチ座標Ｐ２とＰ０が距離ｒ以内に接近しているかどうかを判定している理由は、図９のように、スティック１６の接触位置が手ぶれ等によってわずかに変化したときでも、タッチパネルの複数箇所が同時に押されたことを確実に検知することができるようにするためである。特にタッチパネルを指で押す場合には、プレイヤが常に同じ位置を押しているつもりであっても、実際にタッチパネルの接触位置として検出される値は頻繁に変化しているものである。
【００６９】
以上のように、本実施形態によれば、タッチパネルの複数箇所が同時に押されたのか、単にプレイヤによるすばやい入力操作が行われたのかを正しく判別することができる。
【図面の簡単な説明】
【００７０】
【図１】本発明の一実施形態に係るゲーム装置の外観図
【図２】ゲーム装置１０の内部構成図
【図３】ＲＡＭ２４のメモリマップ
【図４】ゲームプログラムに基づくＣＰＵコア２１の処理の流れを示すフローチャート
【図５Ａ】タッチパネル１５に対する操作の様子とその時点におけるＲＡＭ２４内のデータを示す図
【図５Ｂ】タッチパネル１５に対する操作の様子とその時点におけるＲＡＭ２４内のデータを示す図
【図５Ｃ】タッチパネル１５に対する操作の様子とその時点におけるＲＡＭ２４内のデータを示す図
【図５Ｄ】タッチパネル１５に対する操作の様子とその時点におけるＲＡＭ２４内のデータを示す図
【図５Ｅ】タッチパネル１５に対する操作の様子とその時点におけるＲＡＭ２４内のデータを示す図
【図５Ｆ】タッチパネル１５に対する操作の様子とその時点におけるＲＡＭ２４内のデータを示す図
【図５Ｇ】タッチパネル１５に対する操作の様子とその時点におけるＲＡＭ２４内のデータを示す図
【図６Ａ】タッチパネル１５に対する操作の様子とその時点におけるＲＡＭ２４内のデータを示す図
【図６Ｂ】タッチパネル１５に対する操作の様子とその時点におけるＲＡＭ２４内のデータを示す図
【図６Ｃ】タッチパネル１５に対する操作の様子とその時点におけるＲＡＭ２４内のデータを示す図
【図７】タッチパネル１５に対する操作の様子とその時点におけるＲＡＭ２４内のデータを示す図
【図８】タッチパネル１５に対する操作の様子とその時点におけるＲＡＭ２４内のデータを示す図
【図９】タッチパネル１５に対する操作の様子とその時点におけるＲＡＭ２４内のデータを示す図
【図１０Ａ】抵抗膜方式のタッチパネルの特性を説明するための図
【図１０Ｂ】抵抗膜方式のタッチパネルの特性を説明するための図
【図１１Ａ】タッチパネルディスプレイを利用したゲーム画面例
【図１１Ｂ】同時押しを利用した操作の一例を示す図
【図１２Ａ】タッチパネルディスプレイを利用したゲーム画面例
【図１２Ｂ】同時押しを利用した操作の一例を示す図
【図１３】タッチパネルに対する同時押しを検出する従来方法を示す図
【図１４】同時押しを利用しないすばやい操作の一例を示す図
【符号の説明】
【００７１】
１０  ゲーム装置
１１  第１のＬＣＤ
１２  第２のＬＣＤ
１３  ハウジング
１３ａ  上側ハウジング
１３ｂ  下側ハウジング
１４  操作スイッチ部
１４ａ  十字スイッチ
１４ｂ  スタートスイッチ
１４ｃ  セレクトスイッチ
１４ｄ  Ａボタン
１４ｅ  Ｂボタン
１４ｆ  Ｘボタン
１４ｇ  Ｙボタン
１４Ｌ  Ｌボタン
１４Ｒ  Ｒボタン
１５  タッチパネル
１６  スティック
１７  メモリカード
１７ａ  ＲＯＭ
１７ｂ  ＲＡＭ
１８ａ，１８ｂ  音抜き孔
１９  電源スイッチ
２０  電子回路基板
２１  ＣＰＵコア
２２  バス
２３  コネクタ
２４  ＲＡＭ
２５  Ｉ／Ｆ回路
２６  第１ＧＰＵ
２７  第２ＧＰＵ
２８  第１ＶＲＡＭ
２９  第２ＶＲＡＭ
３０ａ  右スピーカ
３０ｂ  左スピーカ
３１  ＬＣＤコントローラ
３２  レジスタ
４１  現タッチ座標記憶領域
４２  タッチ座標履歴記憶領域
５０  スティック
【図１】
2006136638.tif 000003
【図２】
2006136638.tif 000004
【図３】
2006136638.tif 000005
【図４】
2006136638.tif 000006
【図５Ａ】
2006136638.tif 000007
【図５Ｂ】
2006136638.tif 000008
【図５Ｃ】
2006136638.tif 000009
【図５Ｄ】
2006136638.tif 000010
【図５Ｅ】
2006136638.tif 000011
【図５Ｆ】
2006136638.tif 000012
【図５Ｇ】
2006136638.tif 000013
【図６Ａ】
2006136638.tif 000014
【図６Ｂ】
2006136638.tif 000015
【図６Ｃ】
2006136638.tif 000016
【図７】
2006136638.tif 000017
【図８】
2006136638.tif 000018
【図９】
2006136638.tif 000019
【図１０Ａ】
2006136638.tif 000020
【図１０Ｂ】
2006136638.tif 000021
【図１１Ａ】
2006136638.tif 000022
【図１１Ｂ】
2006136638.tif 000023
【図１２Ａ】
2006136638.tif 000024
【図１２Ｂ】
2006136638.tif 000025
【図１３】
2006136638.tif 000026
【図１４】
2006136638.tif 000027