(57)【要約】【課題】タッチパネル等の座標指示手段を用いた操作の操作性を向上させたプログラムおよび情報処理装置を提供すること。【解決手段】オブジェクト表示ステップは、オブジェクトの画像データを読み出して表示装置に表示する。オブジェクト移動制御ステップは、座標指示手段による指示座標に応じて、オブジェクトの移動を制御する。指示履歴記憶ステップは、座標指示手段による指示座標の履歴情報を記憶する。第１判定ステップは、指示履歴記憶ステップで記憶された履歴情報に基づいて、一連の座標指示にかかる複数の位置座標情報が所定条件を満たしているか否かを判定する。移動制限ステップは、第１判定ステップによって所定条件が満たされていると判定されたときは、オブジェクト移動制御ステップにおけるオブジェクトの移動に関して所定の制限を加える。【選択図】図１８
2008210126.tif 000002
【特許請求の範囲】
【請求項１】
座標指示手段を備えた情報処理装置のコンピュータに実行させるプログラムであって、
オブジェクトの画像データを読み出して表示装置に表示するオブジェクト表示ステップと、
前記座標指示手段による指示座標に応じて、前記オブジェクトの移動を制御するオブジェクト移動制御ステップと、
前記座標指示手段による指示座標の履歴情報を記憶する指示履歴記憶ステップと、
前記指示履歴記憶ステップで記憶された前記履歴情報に基づいて、一連の座標指示にかかる複数の位置座標情報が所定条件を満たしているか否かを判定する第１判定ステップと、
前記第１判定ステップによって所定条件が満たされていると判定されたときは、前記オブジェクト移動制御ステップにおけるオブジェクトの移動に関して所定の制限を加える移動制限ステップとを前記コンピュータに実行させる、プログラム。
【請求項２】
前記指示履歴記憶ステップで記憶された前記履歴情報に基づいて、前記座標指示手段による指示座標の履歴が所定条件を満たしているか否かを判定する第２判定ステップと、
前記第２判定ステップによって所定条件が満たされていると判定されたとき、前記オブジェクト移動制御ステップによる処理とは異なる所定の処理を実行する追加制御ステップとをさらに前記コンピュータに実行させる、請求項１に記載のプログラム。
【請求項３】
前記座標指示手段による座標指示が或る状態から無い状態に変化したことを検出する座標指示オフ検出ステップをさらに前記コンピュータに実行させ、
前記追加制御ステップは、前記座標指示オフ検出ステップにより、前記座標指示手段による座標指示が或る状態から無い状態に変化したことが検出されたときに、前記第２判定ステップによって所定条件が満たされているか否かを判定し、満たされていると判定されたときに、前記オブジェクト移動制御ステップによる処理とは異なる所定の処理を実行する、請求項２に記載のプログラム。
【請求項４】
前記追加制御ステップは、前記第２判定ステップによって所定条件が満たされていると判定されたとき、前記オブジェクト移動制御ステップで制御されるオブジェクトに関連する関連オブジェクトの移動に関する所定の処理を開始する、請求項２に記載のゲームプログラム。
【請求項５】
前記ゲームプログラムは、
前記第１判定ステップによって前記所定条件が満たされていると判定されたときに、所定のパラメータを増加させるパラメータ算出ステップと、
前記パラメータが所定値以上のときに、前記オブジェクト移動制御ステップによる処理とは異なる所定の処理を実行する追加制御ステップとをさらに前記コンピュータに実行させる、請求項１に記載のゲームプログラム。
【請求項６】
前記追加制御ステップは、前記パラメータが所定値以上のとき、当該パラメータの値に基づいて、前記オブジェクト移動制御ステップによる処理とは異なる所定の処理を実行する、請求項５に記載のプログラム。
【請求項７】
前記プログラムは、前記履歴情報に基づいて、一連の座標指示にかかる複数の指示座標に関する、前記座標指示手段における指示座標の移動速度を算出する入力速度算出ステップを更に前記コンピュータに実行させ、
前記第１判定ステップは、前記算出された移動速度が所定値以上であるか否かを判定し、
前記制限ステップは、前記移動速度が所定値以上と判定されたときに、前記オブジェクトの移動に関して所定の制限を加える、請求項１に記載のゲームプログラム。
【請求項８】
前記第１判定ステップは、前記一連の座標指示にかかる複数の指示座標に基づいて、当該一連の座標指示にかかる複数の指示座標を指示の順番に結んだ軌跡が円状の図形を描いているか否かを判定する回転操作判定ステップを含み、
前記制限ステップは、前記回転操作判定ステップによって前記軌跡が円状の図形を描いていることが判定されたときに、前記オブジェクトの移動に関して所定の制限を加える、請求項１に記載のゲームプログラム。
【請求項９】
前記プログラムは、
前記回転操作判定ステップによって前記軌跡が円状の図形を所定回数以上反復して描いていると判定される度に、当該条件を満たした回数を示すパラメータに所定値を加算するパラメータ加算ステップと、
前記パラメータを画面に表示するパラメータ表示ステップと、
前記パラメータが所定値以上のときに、前記オブジェクト移動制御ステップによる処理とは異なる所定の処理を実行する追加制御ステップとをさらに前記コンピュータに実行させる、請求項８に記載のゲームプログラム。
【請求項１０】
前記第１判定ステップは、前記一連の座標指示にかかる複数の位置座標情報に基づいて、当該一連の座標指示にかかる複数の指示座標を指示の順番に結んだ軌跡が所定の形状を所定回数以上反復して描いているか否かを判定する形状描画判定ステップを含み、
前記制限ステップでは、前記形状描画判定ステップによって、前記軌跡が前記所定の形状を所定回数以上反復して描いていると判定されたときに、前記オブジェクト移動制御ステップにおけるオブジェクトの移動に関して所定の制限を加える、請求項１に記載のゲームプログラム。
【請求項１１】
座標指示手段と、
オブジェクトの画像データを読み出して表示装置に表示するオブジェクト表示手段と、
前記座標指示手段による指示座標に応じて、前記オブジェクトの移動を制御するオブジェクト移動制御手段と、
前記座標指示手段による指示座標の履歴情報を記憶部に記憶する指示履歴記憶手段と、
前記指示履歴記憶手段によって記憶された前記履歴情報に基づいて、一連の座標指示にかかる複数の位置座標情報が所定条件を満たしているか否かを判定する第１判定手段と、
前記第１判定手段が所定条件が満たされていると判定したときは、前記オブジェクト移動制御手段におけるオブジェクトの移動に関して所定の制限を加える移動制限手段とを備えた、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、プログラムおよび情報処理装置に関し、より特定的には、座標指示手段を備えた情報処理装置のコンピュータに実行させるプログラムおよび座標指示手段を備えた情報処理装置に関する。
【背景技術】
【０００２】
近年、電子ゲーム装置が広く利用されている。電子ゲーム装置では、プレイヤの操作に応じて、ゲームプログラムが画面に表示される各種キャラクタを移動等変化させ、状況を変えてゲームを行う。そして、従来から、画面に表示されるプレイヤキャラクタ等を操作するために、方向キーや操作キーを設けたコントローラが用いられていた。更に、操作を簡単にするために、ゲーム画面を表示する表示画面にタッチパネルを設け、ゲーム画面を直接操作できるようにした電子ゲーム装置も開示されている（例えば、特許文献１）。
【特許文献１】特開２００２−９３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記特許文献１に開示された電子ゲーム装置におけるタッチ操作は、選択操作の他、タッチした位置に向けてプレイヤキャラクタを移動させるか、また、タッチパネルをなぞる速度に沿ってプレイヤキャラクタの移動速度を変化させるものであった。そのため、例えば、プレイヤがどのようなタッチ操作をすべきか迷いながらタッチ操作を行ったとき等、タッチパネルに触れたまま指をあちこちに移動させるような操作を行うと、そのタッチ位置に応じてキャラクタが移動するため、プレイヤキャラクタがウロウロと迷走するような動きとなる。そのため、プレイヤが操作に迷っているときであればまだしも、プレイヤキャラクタに所定の行動、特に、移動すること以外の行動を起こさせようとする明確な意図を持って上記のような操作を行ったとき、プレイヤの意図に反して、プレイヤキャラクタが画面内をウロウロとしてしまい、プレイヤが意図する行動をプレイヤキャラクタに実現させることが困難となる。そのため、タッチパネルを用いる操作の操作性が低下してしまうという問題があった。
【０００４】
それ故に、本発明の目的は、タッチパネル等の座標指示手段を用いた操作の操作性を向上させたプログラムおよび情報処理装置を提供することである。
【課題を解決するための手段】
【０００５】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施形態との対応関係の一例を示したものであって、本発明を何ら限定するものではない。
【０００６】
第１の発明は、座標指示手段を備えた情報処理装置のコンピュータに実行させるプログラムであって、オブジェクト表示ステップ（Ｓ７）と、オブジェクト移動制御ステップ（Ｓ５）と、指示履歴記憶ステップ（Ｓ８）と、第１判定ステップ（Ｓ２２、Ｓ２３）と、移動制限ステップ（Ｓ４、Ｓ４４）とを前記コンピュータに実行させる。オブジェクト表示ステップは、オブジェクトの画像データを読み出して表示装置に表示する。オブジェクト移動制御ステップは、座標指示手段による指示座標に応じて、オブジェクトの移動を制御する。ここで、オブジェクトとは、例えば、ゲーム処理におけるプレイヤキャラクタ等のゲームオブジェクトの他、カーソルやアイコンなど、その他の情報処理におけるオブジェクトも含む概念である。指示履歴記憶ステップは、座標指示手段による指示座標の履歴情報を記憶する。第１判定ステップは、指示履歴記憶ステップで記憶された履歴情報に基づいて、一連の座標指示にかかる複数の位置座標情報が所定条件を満たしているか否かを判定する。移動制限ステップは、第１判定ステップによって所定条件が満たされていると判定されたときは、オブジェクト移動制御ステップにおけるオブジェクトの移動に関して所定の制限を加える。ここで、上記座標指示手段とは、例えば、タッチパネルやタッチスクリーンの他、マウス等のポインティングデバイスをも含む。
【０００７】
また、上記オブジェクト移動制御ステップで行われる処理としては、以下のようなものがある。
（１）最新またはそれに準じる時点の指示座標に基づいて、オブジェクトが画面上または仮想空間内で移動するもの
（ａ）座標指示手段による指示座標に対応する画面位置がオブジェクトの表示位置となるように、オブジェクトの表示位置を更新する（「指示座標に対応する画面位置」：指示座標と画面座標とが対応関係が装置で設定されている）。なお、オブジェクトの現在の表示位置から指示座標に対応する画面位置に向かう方向に所定距離（固定距離でもよいし変動する距離でもよい）だけオブジェクトの表示位置を更新してもよい。なお、座標指示手段による座標指示をやめた後は、オブジェクトの位置を更新しなくてもよいし、最後の指示座標に基づいてオブジェクトの位置を更新し続けてもよい（後者の場合、座標指示手段による座標指示をやめた後も、オブジェクトは徐々に最後の指示座標に向かって移動する）。なお、オブジェクトの現在の表示位置から指示座標に対応する画面位置との間の距離に応じて、オブジェクトの移動速度（典型的には１フレームあたりの移動量）を変化させてもよい。すなわち、オブジェクトの現在の表示位置から指示座標に対応する画面位置との間の距離が大きいほど、オブジェクトの移動速度（典型的には１フレームあたりの移動量）を大きくしてもよい。
（ｂ）座標指示手段による指示座標に対応する仮想空間内の位置がオブジェクトの仮想空間内の位置となるように、オブジェクトの仮想空間位置を更新する（「指示座標に対応する仮想空間位置」：指示座標と画面座標とが対応関係が装置で設定されている。そして、現在画面に表示されている仮想空間領域の情報に応じて、画面座標に対応する仮想空間位置が算出される）。なお、オブジェクトの現在の仮想空間位置から指示座標に対応する仮想空間位置に向かう方向に所定距離だけオブジェクトの仮想空間位置を更新してもよい。なお、オブジェクトの現在の仮想空間位置から指示座標に対応する仮想空間位置との間の距離に応じて、オブジェクトの移動速度（典型的には１フレームあたりの移動量）を変化させてもよい。すなわち、オブジェクトの現在の仮想空間位置から指示座標に対応する仮想空間位置との間の距離が大きいほど、オブジェクトの移動速度（典型的には１フレームあたりの移動量）を大きくしてもよい。
（ｃ）座標指示手段による指示座標に応じて、オブジェクトの移動方向（画面上の移動方向または仮想空間における移動方向）を決定する。例えば、座標指示手段の基準座標から指示座標に向かう方向に応じてオブジェクトの移動方向を決定する。例えば、座標指示手段の指示座標系が左上を（０，０）とし右下を（Ｘｍ、Ｙｍ）とするような場合において、基準座標を例えば（Ｘｓ，Ｙｓ）として、指示座標を（Ｘｉ、Ｙｉ）としたときに、Ｘｉ＜Ｘｓであれば、オブジェクトは画面上方またはオブジェクトの前方方向（仮想空間においてオブジェクトが向いている方向）に移動し、Ｘｉ＞Ｘｓであれば、オブジェクトは画面下方またはオブジェクトの後方方向（仮想空間においてオブジェクトが向いている方向と反対の方向）に移動し、Ｙｉ＜Ｙｓであれば、オブジェクトは画面左方またはオブジェクトの左方方向（仮想空間においてオブジェクトが向いている方向を基準として左の方向）に移動し、Ｙｉ＞Ｙｓであれば、オブジェクトは画面右方またはオブジェクトの右方方向（仮想空間においてオブジェクトが向いている方向を基準として右の方向）に移動する。または、座標指示手段による指示座標が含まれる領域に応じて、オブジェクトの移動方向を決定してもよい。例えば、座標指示手段の指示座標系を４つまたは８つなどの領域に分割して、各領域を、画面上方またはオブジェクトの前方方向への移動を指示する領域と画面下方またはオブジェクトの後方方向への移動を指示する領域と、画面右方またはオブジェクトの右方方向への移動を指示する領域と、画面左方またはオブジェクトの左方方向への移動を指示する領域に割り当てて（８つの領域に分割する場合には、画面斜め右上方向などの斜め方向に割り当てる）、指示座標がどの領域に含まれるかに応じて、オブジェクトを移動させる。
（２）座標指示手段による指示座標の履歴に基づいて、オブジェクトが画面上または仮想空間内で移動するもの
座標指示手段による指示座標の変化の方向（前回の指示座標を起点として今回の指示座標に向かう方向）に基づいて、オブジェクトを移動する。例えば、指示座標系において、上方向に指示座標が移動したときには、オブジェクトを画面上方向またはオブジェクトの前方方向へ移動するなど。
また、オブジェクト移動制御ステップは、典型的には、座標指示手段の所定時点の（典型的には最新の、またはそれに準じる時点の）指示座標に基づいて、オブジェクトの移動を制御する。なお、例えば、座標指示手段の１フレーム前における指示座標に基づいてオブジェクトの移動を制御したとしても、本願発明の作用効果はなんら失われない。また、仮想空間をオブジェクトが移動する場合において、オブジェクトが画面の固定位置に表示され、仮想空間画像がスクロールすることにより、オブジェクトの移動を表現したものでもよい。
【０００８】
また、上記指示履歴記憶ステップは、過去の少なくとも１つの（少なくとも前回の）指示座標を記憶する。なお、第１判定ステップや第２判定ステップは、指示履歴記憶ステップで記憶された履歴情報に基づいて一連の座標指示にかかる複数の位置座標情報が所定条件を満たしているか否かを判定するが、例えば、過去のｎ点の指示座標が所定条件を満たすか否かを判定する場合において、過去のｎ点分（またはそれ以上）の指示座標を履歴情報として記憶してもよいし、ｎ−１点分（例えば、前回の指示座標のみ）を記憶しておき、当該ｎ−１点分の指示座標から判定して（例えば、前回の指示座標と今回の指示座標のみから判定して）、当該判定結果を蓄積することにより、例えば、当該判定結果が肯定であることを記録して肯定状態が継続することを判定したり、当該判定結果に応じてパラメータを増減して当該パラメータの値に応じて判定をしたりしてもよい。
また、上記第１判定ステップで行われる処理としては、以下のようなものがある。
（１）過去の或る時点（例えば、座標指示開始時点、現在から所定時間または所定フレーム前の時点、前回の指示座標と今回の指示座標の変位（タッチパネルの場合タッチ速度）が一定以上になった時点、または、前回の指示座標検出時点など）から所定時点までの（典型的には最新までの、またはそれに準じる時点までの）一連の複数の指示座標が所定条件を満たしているか否かを判定する。
（２）過去の或る時点（例えば、座標指示開始時点、現在から所定時間または所定フレーム前の時点、前回の指示座標と今回の指示座標の変位（タッチパネルの場合タッチ速度）が一定以上になった時点、または、前回の指示座標検出時点など）から所定時点までの（典型的には最新までの、またはそれに準じる時点までの）一連の複数の指示座標が所定条件を満たしているか否かを判定し、当該判定が肯定のときに、所定のパラメータを増加（減少）する。そして、さらに、当該パラメータが所定以上であることを（所定以下であることを）判定する。
ここで、第１判定ステップが用いる「所定条件」としては、以下のようなものがある。
（１）前回の指示座標と今回の指示座標との距離が所定以上か（過去のある時点〜所定時点までの平均などでもよい）
（２）一連の複数の指示座標を検出順に結ぶ軌跡が所定条件を満たすこと（図形認識や文字認識などのように予め定めるパターンとの一致を判定するものでもよいし、一連の指示座標による軌跡が回転操作を示すことや、所定方向に直線が引かれていることを示すなどの判定でもよい）
なお、第１判定ステップは、座標指示が継続している間の一連の複数の指示座標が所定条件を満たしているかを判定するようにするのが好ましい。すなわち、座標指示手段による座標指示がなくなったときには、第１判定ステップは、それ以前の履歴を参照しないようにしてもよい。また、第１判定ステップが判定対象とする「一連の座標指示にかかる複数の位置座標情報」とは、指示履歴記憶ステップによって記憶された履歴情報のみであってもよいが、最新の指示座標と指示履歴記憶ステップによって記憶された履歴情報の両方を含むのが典型的である。すなわち、第１判定ステップは、最新の指示座標と指示履歴記憶ステップによって記憶された履歴情報に基づいて、過去の或る時点から現在までに入力された指示座標の所定条件を満たすことを判定するのが典型的である。
【０００９】
更に、上記移動制限ステップは、オブジェクト移動制御ステップによるオブジェクトの移動を停止（オブジェクト移動制御ステップによる移動を０にする）してもよいし、移動速度を制限してもよい。後者の場合、オブジェクト移動制御ステップによって計算された移動量（または予め定める固定の移動量）から所定量（所定割合）だけ減算した値としてもよいし、オブジェクト移動制御ステップによって計算された移動量が所定以上のときに所定値に制限してもよいし、または、オブジェクト移動制御ステップが用いる移動量を算出するための式の係数を変更するなどして、オブジェクト移動制御ステップが算出する移動量の最大値が小さくなるようにしてもよい）。
【００１０】
第２の発明は、第１の発明において、プログラムは、第２判定ステップ（Ｓ１２）と、追加制御ステップ（Ｓ１５）とをさらに前記コンピュータに実行させる。第２判定ステップは、指示履歴記憶ステップで記憶された履歴情報に基づいて、座標指示手段による指示座標の履歴が所定条件を満たしているか否かを判定する。追加制御ステップは、第２判定ステップによって所定条件が満たされていると判定されたとき、オブジェクト移動制御ステップによる処理とは異なる所定の処理を実行する。ここで、第１判定ステップが用いる所定条件と第２判定ステップが用いる所定条件は同一条件であってもよく、この場合、第１判定ステップと第２判定ステップは同一の単一処理で実現してもよい。すなわち、追加制御ステップは、第１判定ステップにより所定条件が満たされていると判定されたときに、オブジェクト移動制御ステップによる処理とは異なる所定の処理を実行する。また、第１判定ステップが用いる所定条件と、第２判定ステップが用いる所定条件は異なる条件であってもかまわないが、この場合は、第２判定ステップが用いる所定条件は第１判定ステップが用いる所定条件よりも厳しい条件であることが好ましく、より具体的には、第２判定ステップが用いる所定条件は、履歴情報に基づく一連の座標指示にかかる複数の位置座標情報が第１判定ステップが用いる所定条件を満たし、さらに、別の要件を満たすことを条件とすることができる。さらに具体的には、例えば、以下のようにしてもよい。
・第１判定ステップが用いる所定条件は、一連の複数の指示座標を検出順に結ぶ軌跡がθ１度の回転（３６０度以上でもよい。すなわち、１回転以上でもよい）を示すことであり、第２判定ステップが用いる所定条件は、一連の複数の指示座標を検出順に結ぶ軌跡がθ２度（θ２＞θ１；３６０度以上でもよい。すなわち、１回転以上でもよい）の回転を示すこととしてもよい。
・第１判定ステップが用いる所定条件は、一連の複数の指示座標を検出順に結ぶ軌跡が長さＬ１の直線を示すことであり、第２判定ステップが用いる所定条件は、一連の複数の指示座標を検出順に結ぶ軌跡が長さＬ２（Ｌ２＞Ｌ１）の直線を示すこととしてもよい。
・第１判定ステップが用いる所定条件は、一連の複数の指示座標を検出順に結ぶ軌跡が所定条件を満たすことであり、当該所定条件を満たすことに応じて所定パラメータを増加させ、第２判定ステップが用いる所定条件は、当該パラメータが所定以上であることとしてもよい。
また、「オブジェクトの移動制御と異なる所定の処理」は、オブジェクト移動制御ステップによる処理と異なる処理であればどのような処理でもよく、これにより、ユーザは、オブジェクト移動制御処理とそれとは異なる処理の両方を、座標指示により入力できるという優れた効果を有する。なお、「オブジェクト移動制御ステップによる処理と異なる所定の処理」はオブジェクトに関する処理とするのが好ましい、例えば、オブジェクトがゲームオブジェクトの場合に、ゲームオブジェクトが所定の動作（移動以外の動作であって、ジャンプ動作や攻撃動作や防御動作やアイテムを使用する動作）をおこなう。なお、オブジェクトに関係のない処理としてもよく、例えば、メニューを開く処理を実行してもよいし、ポーズ処理を実行したり、現状のゲーム進行状況データをセーブするような処理を実行してもかまわない。
【００１１】
第３の発明は、第２の発明において、プログラムは、座標指示手段による座標指示が或る状態から無い状態に変化したことを検出する座標指示オフ検出ステップ（Ｓ１１）をさらにコンピュータに実行させる。また、追加制御ステップは、座標指示オフ検出ステップにより、座標指示手段による座標指示が或る状態から無い状態に変化したことが検出されたときに、第２判定ステップにより所定条件が満たされているか否かを判定し、満たされていると判定されたときに、オブジェクト移動制御ステップによる処理とは異なる所定の処理を実行する。
【００１２】
第４の発明は、第２の発明において、追加制御ステップは、第２判定ステップによって所定条件が満たされていると判定されたとき、オブジェクト移動制御ステップで制御されるオブジェクトに関連する関連オブジェクトの移動に関する所定の処理を開始する。
【００１３】
第５の発明は、第１の発明において、プログラムは、パラメータ算出ステップ（Ｓ２４）と、追加制御ステップ（Ｓ１５）とをさらにコンピュータに実行させる。パラメータ算出ステップは、第１判定ステップによって所定条件が満たされていると判定されたときに、所定のパラメータを増加させる。追加制御ステップは、パラメータが所定値以上のときに、オブジェクト移動制御ステップによる処理とは異なる所定の処理を実行する。なお、パラメータ算出ステップにおける処理については、以下のようにしてもよい。すなわち、所定のタイミングで第１判定ステップは判定を繰り返し、パラメータ算出ステップは、第１判定ステップにより所定条件が満たされていると判定されるごとにパラメータを増加させ、第１判定ステップにより所定条件が満たされていないと判定されるごとに、パラメータを減少させてもよい。
【００１４】
第６の発明は、第５の発明において、追加制御ステップは、前記パラメータが所定値以上のとき、当該パラメータの値に基づいて、前記オブジェクト移動制御ステップによる処理とは異なる所定の処理を実行する。例えば、追加制御ステップはオブジェクトとは異なるオブジェクトを移動制御するものであり、パラメータの値に応じて当該異なるオブジェクトの移動速度または移動距離を変化させる。より具体的には、パラメータの値が大きいほど、当該オブジェクトの移動速度（または移動速度の増加量でもよい）が大きくなるように設定し、または、移動距離が大きくなるように設定する。または、追加制御ステップはオブジェクトに攻撃動作をおこなわせる制御をするものであり、パラメータの値に応じて攻撃力を設定する（パラメータが大きいほど、攻撃力を大きくする）。当該攻撃動作の影響を受けたオブジェクトの生命力パラメータなどを当該攻撃力の大きさに応じて減少させたり、当該攻撃力の大きさに応じて当該攻撃動作の影響を受ける範囲（オブジェクトを基準として当該範囲内に存在する他のオブジェクトが攻撃動作の影響を受ける）を広げたりする。
【００１５】
第７の発明は、第１の発明において、プログラムは、前記履歴情報に基づいて、一連の座標指示にかかる複数の指示座標に関する、前記座標指示手段における指示座標の移動速度を算出する入力速度算出ステップ（Ｓ３１）を更に前記コンピュータに実行させる。また、第１判定ステップは、算出された移動速度が所定値以上であるか否かを判定する。また、制限ステップは、移動速度が所定値以上と判定されたときに、オブジェクトの移動に関して所定の制限を加える。
【００１６】
第８の発明は、第１の発明において、第１判定ステップは、一連の座標指示にかかる複数の指示座標に基づいて、当該一連の座標指示にかかる複数の指示座標を指示の順番に結んだ軌跡が円状の図形を描いているか否かを判定する回転操作判定ステップを含む。また、制限ステップは、回転操作判定ステップによって軌跡が円状の図形を描いていることが判定されたときに、オブジェクトの移動に関して所定の制限を加える。ここで、第８の発明において、オブジェクト移動制御ステップは、座標指示手段による指示座標に対応する画面位置または仮想空間位置に向かってオブジェクトを徐々に移動制御し、回転操作判定ステップは、オブジェクトの画面位置を中心とした円弧を描くように回転操作されていることを判定してもよい。
【００１７】
第９の発明は、第８の発明において、プログラムは、パラメータ加算ステップ（Ｓ２４）と、パラメータ表示ステップ（Ｓ７）と、追加制御ステップ（Ｓ１５）とをさらに前記コンピュータに実行させる。パラメータ加算ステップは、回転操作判定ステップによって軌跡が円状の図形を所定回数以上反復して描いていると判定される度に、当該条件を満たした回数を示すパラメータに所定値を加算する。パラメータ表示ステップは、パラメータを画面に表示する。追加制御ステップは、パラメータが所定値以上のときに、オブジェクト移動制御ステップによる処理とは異なる所定の処理を実行する。
【００１８】
第１０の発明は、第１の発明において、第１判定ステップは、一連の座標指示にかかる複数の位置座標情報に基づいて、当該一連の座標指示にかかる複数の指示座標を指示の順番に結んだ軌跡が所定の形状を所定回数以上反復して描いているか否かを判定する形状描画判定ステップを含む。また、制限ステップでは、形状描画判定ステップによって、軌跡が所定の形状を所定回数以上反復して描いていると判定されたときに、オブジェクト移動制御ステップにおけるオブジェクトの移動に関して所定の制限を加える。
【００１９】
第１１の発明は、座標指示手段と、オブジェクト表示手段と、オブジェクト移動制御手段と、第１判定手段と、移動制限手段とを備えた、情報処理装置である。座標指示手段は、例えば、タッチパネルやタッチスクリーンの他、マウス等のポインティングデバイスも含む手段である。オブジェクト表示手段は、オブジェクトの画像データを読み出して表示装置に表示する。オブジェクト移動制御手段は、座標指示手段による指示座標に応じて、オブジェクトの移動を制御する。指示履歴記憶手段は、座標指示手段による指示座標の履歴情報を記憶部に記憶する。第１判定手段は、指示履歴記憶手段によって記憶された履歴情報に基づいて、一連の座標指示にかかる複数の位置座標情報が所定条件を満たしているか否かを判定する。移動制限手段は、第１判定手段が所定条件が満たされていると判定したときは、オブジェクト移動制御手段におけるオブジェクトの移動に関して所定の制限を加える。
【発明の効果】
【００２０】
第１の発明によれば、オブジェクトをプレイヤが操作する際に、オブジェクトの移動以外の意図の操作を行いやすくすることが可能となり、タッチパネル等の座標指示手段を用いたゲーム処理や情報処理における操作性を高めることができる。
【００２１】
第２の発明によれば、座標指示を行っている状態（例えばタッチパネルに指等を接触させたまま）で、オブジェクトの移動以外の意図の操作を行いやすくすることが可能となり、タッチパネルを用いたゲーム処理等の操作性を高めることができる。
【００２２】
第３の発明によれば、タッチオフ操作のタイミングで関連オブジェクトの制御を開始することができるため、追加制御を開始するタイミングを把握させることができる。また、第１判定ステップが肯定になった後はオブジェクトの移動が制限され、その後は追加制御ステップによる「異なる処理」のための座標入力処理を確実におこなうことができる。
【００２３】
第４の発明によれば、オブジェクト移動制御ステップで制御されるオブジェクト以外のオブジェクトを移動させる操作を実行することができる。
【００２４】
第５の発明によれば、パラメータが所定値以上になったときに、追加制御を開始する。これにより、追加制御を開始させるタイミングをプレイヤに把握させることができ、操作性をより高めることが可能となる。
【００２５】
第６の発明によれば、パラメータの値に基づいて追加制御が実行されるため、特にゲーム処理において、例えばパラメータの値に応じて攻撃速度を変化させるような処理が可能となり、ゲームの興趣を高めることが可能となる。
【００２６】
第７の発明によれば、座標指示の速度がある程度の速度でなければ、移動の制限が行われないため、プレイヤが意図していない移動以外の操作を防ぐことができる。また、意図的にプレイヤが移動以外の操作を行いやすくすることができ、座標指示手段を用いた処理における操作性を高めることができる。
【００２７】
第８の発明によれば、プレイヤが指で円状の図形を反復して描くような操作（回転操作）を行ったときに、移動の制限を行うようにしている。そのため、プレイヤが意図していない移動以外の操作を防ぐことができ、座標指示手段を用いた情報処理における操作性を高めることができる。
【００２８】
第９の発明によれば、プレイヤの指によって回転操作を行われる度にパラメータを増加させ、かつ、当該パラメータを画面に表示する。そして、当該パラメータが所定値以上になったときに、追加制御を開始する。これにより、プレイヤに、追加制御を開始させるタイミングを把握させることができ、操作性をより高めることが可能となる。
【００２９】
第１０の発明によれば、プレイヤの指等で所定の形状を反復して描くような座標指示操作が行われたときに、移動の制限を行うようにしている。そのため、プレイヤが意図していない移動以外の操作を防ぐことができ、座標指示手段を用いた情報処理における操作性を高めることができる。
【００３０】
第１１の発明によれば、上記第１の発明と同様の効果を得ることができる。
【発明を実施するための最良の形態】
【００３１】
図１は、本発明の一実施形態に係るゲーム装置１０の外観図である。図２は、このゲーム装置１０の斜視図である。図１において、ゲーム装置１０は、第１のＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１１および第２のＬＣＤ１２を含む。ハウジング１３は上側ハウジング１３ａと下側ハウジング１３ｂとによって構成されており、第１のＬＣＤ１１は上側ハウジング１３ａに収納され、第２のＬＣＤ１２は下側ハウジング１３ｂに収納される。第１のＬＣＤ１１および第２のＬＣＤ１２の解像度はいずれも２５６ｄｏｔ×１９２ｄｏｔである。なお、本実施形態では表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置など、他の任意の表示装置を利用することができる。また任意の解像度のものを利用することができる。
【００３２】
上側ハウジング１３ａには、後述する１対のスピーカ（図３の３３ａ、３３ｂ）からの音を外部に放出するための音抜き孔３０ａ、３０ｂが形成されている。
【００３３】
上側ハウジング１３ａと下側ハウジング１３ｂとを開閉可能に接続するヒンジ部にはマイクロフォン用孔３７が設けられている。
【００３４】
下側ハウジング１３ｂには、入力装置として、十字スイッチ１４ａ、スタートスイッチ１４ｂ、セレクトスイッチ１４ｃ、Ａボタン１４ｄ、Ｂボタン１４ｅ、Ｘボタン１４ｆ、およびＹボタン１４ｇが設けられている。また、さらなる入力装置として、第２のＬＣＤ１２の画面上にタッチパネル１５が装着されている。下側ハウジング１３ｂには、電源スイッチ１９、メモリカード１７を収納するための挿入口、スティック１６を収納するための挿入口が設けられている。
【００３５】
タッチパネル１５は、抵抗膜方式のタッチパネルである。ただし、本発明は抵抗膜方式に限らず、任意の押圧式のタッチパネルを用いることができる。タッチパネル１５は、スティック１６に限らず指で操作することも可能である。本実施形態では、タッチパネル１５として、第２のＬＣＤ１２の解像度と同じく２５６ｄｏｔ×１９２ｄｏｔの解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル１５の解像度と第２のＬＣＤ１２の解像度が一致している必要はない。
【００３６】
メモリカード１７はゲームプログラムを記録した記録媒体であり、下部ハウジング１３ｂに設けられた挿入口に着脱自在に装着される。
【００３７】
次に、図３を参照してゲーム装置１０の内部構成を説明する。
【００３８】
図３において、ハウジング１３に収納される電子回路基板２０には、ＣＰＵコア２１が実装される。ＣＰＵコア２１には、バス２２を介して、コネクタ２３が接続されるとともに、入出力インターフェース回路（図面ではＩ／Ｆ回路と記す）２５、第１ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２６、第２ＧＰＵ２７、ＲＡＭ２４、およびＬＣＤコントローラ３１、およびワイヤレス通信部３５が接続される。コネクタ２３には、メモリカード１７が着脱自在に接続される。メモリカード１７は、ゲームプログラムを記憶するＲＯＭ１７ａと、バックアップデータを書き換え可能に記憶するＲＡＭ１７ｂを搭載する。メモリカード１７のＲＯＭ１７ａに記憶されたゲームプログラムはＲＡＭ２４にロードされ、ＲＡＭ２４にロードされたゲームプログラムがＣＰＵコア２１によって実行される。ＲＡＭ２４には、ゲームプログラムの他にも、ＣＰＵコア２１がゲームプログラムを実行して得られる一時的なデータや、ゲーム画像を生成するためのデータが記憶される。Ｉ／Ｆ回路２５には、タッチパネル１５、右スピーカ３３ａ、左スピーカ３３ｂ、図１の十字スイッチ１４ａやＡボタン１４ｄ等から成る操作スイッチ部１４、およびマイクロフォン３６が接続される。右スピーカ３３ａと左スピーカ３３ｂは、音抜き孔３０ａ、３０ｂの内側にそれぞれ配置される。マイクロフォン３６は、マイクロフォン用孔３７の内側に配置される。
【００３９】
第１ＧＰＵ２６には、第１ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）２８が接続され、第２ＧＰＵ２７には、第２ＶＲＡＭ２９が接続される。第１ＧＰＵ２６は、ＣＰＵコア２１からの指示に応じて、ＲＡＭ２４に記憶されているゲーム画像を生成するためのデータに基づいて第１のゲーム画像を生成し、第１ＶＲＡＭ２８に描画する。第２ＧＰＵ２７は、同様にＣＰＵコア２１からの指示に応じて第２のゲーム画像を生成し、第２ＶＲＡＭ２９に描画する。第１ＶＲＡＭ２８および第２ＶＲＡＭ２９はＬＣＤコントローラ３１に接続されている。
【００４０】
ＬＣＤコントローラ３１はレジスタ３２を含む。レジスタ３２はＣＰＵコア２１からの指示に応じて０または１の値を記憶する。ＬＣＤコントローラ３１は、レジスタ３２の値が０の場合は、第１ＶＲＡＭ２８に描画された第１のゲーム画像を第１のＬＣＤ１１に出力し、第２ＶＲＡＭ２９に描画された第２のゲーム画像を第２のＬＣＤ１２に出力する。また、レジスタ３２の値が１の場合は、第１ＶＲＡＭ２８に描画された第１のゲーム画像を第２のＬＣＤ１２に出力し、第２ＶＲＡＭ２９に描画された第２のゲーム画像を第１のＬＣＤ１１に出力する。
【００４１】
ワイヤレス通信部３５は、他のゲーム装置のワイヤレス通信部との間で、ゲーム処理に利用されるデータやその他のデータをやりとりする機能を有している。
【００４２】
なお、本発明はゲーム装置に限らず、ハウジングで支持された押圧式のタッチパネルを備えた任意の装置に適用することができる。例えば、携帯ゲーム装置や、据え置き型ゲーム装置のコントローラや、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）に適用することができる。また、本発明はタッチパネルの下にディスプレイが設けられていないような入力装置にも適用することができる。
【００４３】
次に、図４〜図１１を用いて、本実施形態で想定するゲームの概要について説明する。図４は、第１のＬＣＤ１１、および第２のＬＣＤ１２の表示画面に表示されるゲーム画像の一例を示す図である。以下、本発明に係るゲーム装置で行われるゲームの種類はどのようなものであってもよいが、本実施形態では、図４に示すようなアクションゲームを例として説明する。このアクションゲームでは、その舞台となるプレイフィールドを上空から見下ろした俯瞰画面でプレイする。当該プレイフィールドは、図４に示すように、第１のＬＣＤ１１および第２のＬＣＤ１２にまたがる形で表示される。また、当該プレイフィールドは、ゲームのプレイ中では、上から下方向に向けて強制縦スクロール（以下、強制下スクロールと呼ぶ）している。なお、本実施形態においては、１／６０秒毎に、第１のＬＣＤ１１および第２のＬＣＤ１２の各画面のビデオデータが作成され、出力されている。つまり、本実施形態におけるゲーム画面のフレームレートは６０ｆｐｓ（Ｆｒａｍｅ  Ｐｅｒ  Ｓｅｃｏｎｄ）であるものとする。
【００４４】
図４において、第２のＬＣＤ１２には、プレイヤが操作するプレイヤキャラクタ１０１と、チェーン１０４で繋がれた鉄球１０３と、チャージメーター１０５が表示される。また、第１のＬＣＤ１１には、障害物１０２が表示される。プレイヤは、上記プレイヤキャラクタ１０１を当該第２のＬＣＤ１２の画面上に装着されているタッチパネル１５を用いて当該プレイヤキャラクタ１０１を操作することができる（操作方法については後述）。ここで、タッチパネル１５を操作に用いる関係上、当該プレイヤキャラクタ１０１を移動させることができる範囲は、タッチパネル１５が装着されている第２のＬＣＤ１２の画面の表示領域内に限られる。
【００４５】
また、第１のＬＣＤ１１には、障害物１０２が表示されているが、上述のように、プレイフィールドは強制下スクロールしている。そのため、障害物１０２は、時間の経過とともに第１のＬＣＤから第２のＬＣＤ１２へと下りてくる（プレイヤキャラクタ１０１に近づいてくる）ように表示される。つまり、障害物１０２はプレイヤキャラクタ１０１の行く手を阻むことになる。そのため、本ゲームでは、プレイヤキャラクタ１０１の進路を確保すべく、この障害物１０２を、上記鉄球１０３を用いて破壊して、ゲームを進行させていく（障害物１０２を破壊しない場合は、当該障害物１０２にプレイヤキャラクタ１０１が押しつぶされて、ゲームオーバーとなる）。つまり、本ゲームでは、プレイヤは、この鉄球１０３を用いて障害物１０２を破壊することでプレイヤキャラクタ１０１の進路を確保する。
【００４６】
次に、本実施形態にかかるアクションゲームの操作方法について説明する。まず、本ゲームにおけるプレイヤが行う主な操作の種類は、大きく分けて２つある。一つめは、第２のＬＣＤ１２の表示領域内においてプレイヤキャラクタ１０１を移動させるための、移動操作である。もう１つは、鉄球１０３で障害物１０２を破壊するための、攻撃操作である。そして、本実施形態では、当該２つの操作を、タッチパネルを用いた操作で行うことになる。
【００４７】
まず、移動操作について説明する。プレイヤは、第２のＬＣＤ１２の画面に表示されているプレイフィールド上で、プレイヤキャラクタ１０１を移動させたい位置（目的地）をスティック１６（あるいは指）で押さえる。ここでは、例えば、図４における、点１０６を押えたものとする（なお、当該点１０６は、説明の便宜上記したものであり、実際のゲーム画面上には表示されない）。これに応じて、図５に示すように、プレイヤキャラクタ１０１は、当該点１０６の位置に向かって、所定の速度で移動を開始する。そして、最終的には、図６に示すように、当該点１０６の位置まで移動することになる（このとき、当該プレイヤキャラクタ１０１の移動にひっぱられるように鉄球１０３も移動する）。この間、プレイヤは、スティック１６で当該点１０６の位置を押え続けている。つまり、１／６０秒毎（上述のようにフレームレートを６０ｆｐｓとするため）にプレイヤがスティック１６を用いてタッチしている位置が検出され、その位置に向けて、プレイヤキャラクタ１０１を、予め設定されている所定の速度（以下、この移動速度を通常移動速度と呼ぶ）で移動させる処理が行われることで、プレイヤによる移動操作が実現されている。換言すれば、プレイヤは、移動させたい位置をスティック１６等で押し続けることで、当該押している位置にプレイヤキャラクタ１０１を移動させることができる。また、一旦、タッチパネル１５上をスティック１６で押した後、当該タッチパネル１５上においてスティック１６を移動させる操作を行うと、このスティック１６（より正確にはスティック１６による押圧位置）を追いかけるように、プレイヤキャラクタ１０１が移動する。つまり、上述のように、プレイヤがタッチしている位置は１／６０秒毎に検出されるため、１／６０毎にプレイヤキャラクタ１０１の移動目標先の座標が更新される。その結果、プレイヤキャラクタ１０１は、スティック１６の動きを追いかけるように移動することになる。なお、プレイヤキャラクタ１０１の移動途中にスティック１６を離せば、プレイヤキャラクタ１０１は、移動をとり止め、その場に停止する。
【００４８】
次に、プレイヤキャラクタ１０１の攻撃操作について説明する。本実施形態のゲームでは、タッチパネル１５上においてスティック１６で円を描くような操作を連続して繰り返すことで、プレイヤキャラクタ１０１を支点として鉄球を振り回すことができる。そして、鉄球を振り回している状態でタッチオフすることで、プレイヤキャラクタ１０１の前方、画面上では上方向に向けて、鉄球を投げることができる。
【００４９】
この攻撃操作を図７〜１１を用いて説明する。図７〜図１１は、プレイヤが攻撃操作を行っているときのゲーム画像を示す図である。まず、図７の状態において、プレイヤは、タッチパネル１５上の所望の場所、ここでは点１０６の位置をスティック１６でタッチする。次に、プレイヤは、タッチパネル１５上においてスティック１６を移動させる操作を行う。このとき、プレイヤは、図８に示すように、スティック１６を移動させた軌跡が円状になるように（但し、正確に同心円を描く必要はない）操作を行う。これが、鉄球を回転させる操作に相当する。つまり、スティック１６を円状に移動させる操作を行う（以下、この操作を回転操作と呼ぶ）。
【００５０】
このとき、上述のように、プレイヤキャラクタ１０１は、タッチした位置に向けて、上記通常移動速度で移動しようとする。つまり、スティック１６の動きを追いかけようとする動きを行う。しかしながら、プレイヤキャラクタ１０１の通常移動速度とプレイヤがスティック１６を移動させる速度は必ずしも一致しない。そのため、プレイヤがスティック１６を移動させる速度がプレイヤキャラクタ１０１の通常移動速度に比べて著しく速い場合、上述のように１／６０秒毎に更新されるプレイヤキャラクタ１０１の移動目標先の座標の変化が大きくなる。その結果、図９に示すように、プレイヤキャラクタ１０１は、回転操作を開始したときの位置を中心として、スティック１６の描く円よりも小さな円を描くように移動することになる。
【００５１】
また、上記回転操作を開始すると、その回転の勢い（以下、単に回転量と呼ぶ）が算出される。そして、ある程度以上の回転の勢いが算出されれば、上記チャージメーター１０５が上昇する。つまり、ある程度の勢いを付けて回転操作を行い続けると、徐々にチャージメーター１０５が上昇していくことになる（チャージメーター１０５は、回転操作開始前は空であるものとする）。このとき、チャージメーター１０５の上昇に応じて、プレイヤキャラクタ１０１の移動速度を低下させる（以下、このような低下させた移動速度を制限移動速度と呼ぶ）。また、鉄球１０３については、上記回転量に基づいて、プレイヤキャラクタ１０１の周囲を廻るように移動させる。そのため、上記回転操作を継続して行っていると、チャージメーター１０５が上昇するにつれて、プレイヤキャラクタ１０１の移動速度が徐々に低下していく。その結果、図１０に示すように、プレイヤキャラクタ１０１は、（タッチ位置に移動しようとはしているが、移動速度が低下させられているために）回転する鉄球１０３の支点となる位置からほとんど移動しない状態になる。なお、チャージメーター１０５には上限値が設けられており、ある程度上昇すれば、それ以上は上昇しなくなる。図１０では、チャージメーター１０５はＭＡＸとなった状態である。
【００５２】
図１０に示したような、チャージメーター１０５がＭＡＸとなり、プレイヤキャラクタ１０１を支点として鉄球１０３がその周囲を回転している状態において、プレイヤがタッチオフ操作を行う。すると、図１１に示すように、鉄球１０３が画面上方、つまり第１のＬＣＤ１１に向けて投げられる（チャージメーター１０５は空となる）。そして、当該鉄球１０３が障害物１０２に衝突し、障害物１０２が破壊される。これにより、プレイヤキャラクタ１０１の進路を確保することができる。
【００５３】
このように、本実施形態では、攻撃のために鉄球を振り回す回転操作を行う際に、そのままタッチ操作に従ってプレイヤキャラクタ１０１を移動させるのではなく、その移動に制限を設けることによって、攻撃操作を行いやすくし、ゲームプレイの操作性を高めている。
【００５４】
次に、ゲーム装置１０によって実行されるゲーム処理の詳細を説明する。まず、ゲーム処理の際にＲＡＭ２４に記憶されるデータについて説明する。図１２は、ゲーム装置１のＲＡＭ２４のメモリマップを示す図である。ゲーム処理の際、ＲＡＭ２４には、タッチデータ２４１、タッチ履歴データ２４５、前フレームキャラクタ位置２４６、前フレーム鉄球位置２４７、現フレームキャラクタ位置２４８、現フレーム鉄球位置２４９、チャージ量２５０、チャージ上限２５１、回転量２５２、制限速度２５３、通常時チェーン最長値２５４、攻撃時チェーン最長値２５５、前フレーム鉄球移動量２５６等が記憶される。これらのデータの他、ＲＡＭ２４には、メモリカード１７のＲＯＭ１７ａから読み込まれたゲームプログラムやゲーム画像のデータが記憶される。
【００５５】
タッチデータ２４１は、プレイヤによる入力が行われたタッチパネル１５上の位置等を示すデータである。本実施形態では、タッチパネル上の入力は、上述のように、１／６０秒毎（１表示フレーム毎）に検出される。タッチデータ２４１は、Ｘ座標２４２とＹ座標２４３と、タッチ状態フラグ２４４とを含む。Ｘ座標２４２は、図１の第２のＬＣＤ１２の画面の接触位置のＸ方向の座標を示し、Ｙ座標２４３は、同じく接触位置のＹ方向の座標を示す。また、タッチ状態フラグ２４４は、タッチパネル１５に接触した状態を示す。当該フラグ＝「０」は、接触していないことを示す。当該フラグ＝「１」は、接触開始を示す。当該フラグ＝「２」は、接触継続を示す。
【００５６】
タッチ履歴データ２４５は、現在の表示フレームより前の所定の表示フレーム分のタッチデータ、例えば過去６０フレーム分のタッチデータの履歴である。当該タッチ履歴データ２４５はリングバッファ方式で記憶され、古いデータから順に新しいデータに更新されていく。なお、データの構造は、上記タッチデータ２４１と同じである。
【００５７】
前フレームキャラクタ位置２４６は、現在の表示フレームの１つ前の表示フレームにおけるプレイヤキャラクタ１０１の仮想ゲーム空間内での位置を示すデータである（例えば、３次元座標系で（ｘ，ｙ，ｚ）形式で表現される）。
【００５８】
前フレーム鉄球位置２４７は、現在の表示フレームの１つ前の表示フレームにおける鉄球１０３の仮想ゲーム空間内での位置を示すデータである。
【００５９】
現フレームキャラクタ位置２４８は、現在の表示フレームにおけるプレイヤキャラクタ１０１の仮想ゲーム空間内での位置を示すデータである。
現フレーム鉄球位置２４９は、現在の表示フレームにおける鉄球１０３の仮想ゲーム空間内での位置を示すデータである。つまり、当該座標の示す位置に基づいてプレイヤキャラクタ１０１および鉄球１０３を含むゲーム画像が生成されて画面に表示される。
【００６０】
チャージ量２５０は、上記図４で示したチャージメーター１０５に対応する値である。つまり、プレイヤの回転操作に基づいて値が増加していくパラメータである。
【００６１】
チャージ上限２５１は、上記図４で示したチャージメーター１０５の上限値を示す値として、予め設定されている値である。そのため、チャージ量２５０は、チャージ上限２５１の値を上回ることはない。
【００６２】
回転量２５２は、上記プレイヤが行う回転操作にかかる回転量を示すパラメータである。例えば、上記図８のような円を描く操作について、円を１周する操作で１回転とした場合、所定の単位時間内における回転数が多いほど、回転量は大きいと判断される。１秒間に５回転したときと、１秒間に１０回転したときとでは、後者のほうが回転量は大きいとされる。換言すれば、回転操作が行われている際の、所定の単位時間内におけるタッチパネル１５上のスティック１６の移動量や移動速度を示すパラメータでもある。
【００６３】
制限速度２５３は、プレイヤキャラクタ１０１の移動速度を制限する際に用いられるパラメータであり、上記制限移動速度の最大値を規定するパラメータである。換言すれば、制限速度２５３は、プレイヤキャラクタ１０１の１フレーム当たりの移動量の上限を示すものである。例えば、「１フレームでＸ方向に５、Ｙ方向に２」のような内容のパラメータである（本実施形態では、速度ベクトルとして扱う）。そのため、制限速度２５３の値が小さいときは、プレイヤキャラクタ１０１の移動速度は遅くなる。また、当該値には、予めデフォルトとして設定されている上記通常移動速度よりも小さな値が設定されることになる。
【００６４】
通常時チェーン最長値２５４は、攻撃時以外におけるチェーン１０４の長さの最大値を示す値であり、予め決められた値が設定されている。また、攻撃時チェーン最長値２５５は、攻撃時におけるチェーン１０４の長さの最大値を示す値であり、予め決められた値が設定されている。
【００６５】
前フレーム鉄球移動量２５６は、現在の表示フレームの１つ前の表示フレームにおける鉄球１０３の仮想ゲーム空間内での移動量を示す値である。
【００６６】
次に、図１３〜図２０を参照して、ゲーム装置１０によって実行されるゲーム処理について説明する。なお、図１３はゲーム装置１０によって実行されるゲーム処理の全体処理を示すフローチャートである。ゲーム装置１０の電源が投入されると、ゲーム装置１０のＣＰＵコア２１は、図示しないブートＲＯＭに記憶されている起動プログラムを実行し、ＲＡＭ２４等の各ユニットが初期化される。そして、メモリカード１７に格納されたゲームプログラムと各種データがコネクタ２３を介してＲＡＭ２４に読み込まれ、そのゲームプログラムの実行が開始される。その結果、第１ＧＰＵ２６を介して第１のＬＣＤ１１にゲーム画像表示され、また、第２ＧＰＵ２７を介して第２のＬＣＤ１２にゲーム画像表示され、図１３に示すフローチャートの処理が開始される。
【００６７】
図１３において、まず、投げ判定処理が行われる（ステップＳ１）。本処理では、上記図１０で示したような、鉄球１０３が振り回されている状態でタッチオフされたかどうか、つまり、鉄球１０３を投げるかどうか（攻撃を行うかどうか）の判定が行われる。本処理の詳細については後述する。
【００６８】
次に、タッチパネル１５への入力の検出が行われ、その結果を示すデータがタッチデータ２４１としてＲＡＭ２４に記憶される（ステップＳ２）。
【００６９】
次に、チャージ処理が行われる（ステップＳ３）。この処理では、上述したようなタッチパネル１５上におけるプレイヤの回転操作の検出、その回転量の算出、および回転量に応じたチャージ量２５０の加減算が行われる。つまり、上記回転操作を行ってチャージメーター１０５を上昇させることに関する処理が行われる。本処理の詳細は後述する。
【００７０】
次に、速度制限設定処理が行われる（ステップＳ４）。本処理においては、上記タッチ履歴を参照して、タッチ入力の速度（スティック１６を移動させる速度）の算出と、当該速度および上記チャージ量２５０に基づいて、制限速度２５３を算出して設定するための処理が行われる。つまり、チャージメーターが上昇するにつれ、プレイヤキャラクタ１０１の移動速度が遅くなることに関する処理が行われる。本処理の詳細は後述する。
【００７１】
次に、プレイヤキャラクタ移動処理が行われる（ステップＳ５）。本処理では、上記ステップＳ２で検出されたタッチデータ２４１および制限速度２５３に基づいてプレイヤキャラクタ１０１を移動させるための処理が行われる。本処理の詳細は後述する。
【００７２】
次に、鉄球キャラクタ移動処理が行われる（ステップＳ６）。この処理では、鉄球１０３を移動させるための処理が行われる。詳細は後述する。
【００７３】
次に、その他のゲーム処理が行われる（ステップＳ７）。この処理では、鉄球１０３が障害物１０２に衝突したかの判定等の、上記の処理以外のゲーム処理が行われる。また、上記の処理の結果を反映させた仮想ゲーム空間の画像（ゲーム画像）を生成し、表示する処理も行われる。
【００７４】
次に、タッチ座標がタッチ履歴データ２４５に記憶される（ステップＳ８）。つまり、ステップＳ２で検出されたタッチ入力にかかるデータがタッチ履歴データ２４５として記憶されることになる。次に、現フレームの処理におけるプレイヤキャラクタ１０１や鉄球１０３の位置データを、前フレームの位置情報として退避する処理が行われる（ステップＳ９）。具体的には、前フレームキャラクタ位置２４６が現フレームキャラクタ位置２４８で更新される。また、前フレーム鉄球位置２４７が現フレーム鉄球位置２４９で更新される。
【００７５】
ステップＳ８の後、ステップＳ９において、ゲーム終了か否かが判断され（ステップＳ１０）、ＹＥＳの場合、ゲーム処理を終了し、ＮＯの場合、ステップＳ１に戻って、ゲーム処理を繰り返す。以上で、ゲーム処理は終了する。
【００７６】
次に、上記ステップＳ１で示した投げ判定処理の詳細を説明する。図１４は、上記ステップＳ１で示した投げ判定処理の詳細を示すフローチャートである。図１４において、まず、タッチパネル１５の入力について、タッチオンの状態からタッチオフされたか否かが判定される（ステップＳ１１）。例えば、上記タッチ状態フラグ２４４の値を読出し、「０」（接触していないことを示す値）であるか否かを判定する。「０」の場合は、更にタッチ履歴データ２４５から一つ前のフレームにかかるタッチ状態フラグの値が「０」であるかどうかを判定する。その結果、一つ前のフレームにかかるタッチ状態フラグの値が「０」ではないときは、タッチオンしていた状態からタッチオフされたと判定される。
【００７７】
ステップＳ１の判定の結果、タッチオフされていないと判定されたときは（ステップＳ１１でＮＯ）、そのまま投げ判定処理は終了する。一方、タッチオフされたと判定されたときは（ステップＳ１１でＹＥＳ）、続いて、上記チャージ量２５０が所定値より大きいか否かが判定される（ステップＳ１２）。当該判定の結果、所定値以下と判定されたときは（ステップＳ１２でＮＯ）、そのまま投げ判定処理は終了する。一方、チャージ量２５０が所定値を超えていると判定されたときは（ステップＳ１２でＹＥＳ）、鉄球１０３を投げる準備が整ったことが示すため、次に、現在の鉄球の仮想ゲーム空間内における位置が投げ可能エリア内であるか否かの判定が行われる（ステップＳ１３）。ここで、投げ可能エリアについて、図１５を用いて説明する。図１５は、投げ可能エリアを説明するための図である。図１５において、プレイヤキャラクタ１０１の前方（画面上では上方にあたる）に扇形に示されているエリア１５１が投げ可能エリアである。そして、タッチオフされた時点では、図１５に示すように、鉄球１０３がまだこのエリアにない（プレイヤキャラクタ１０１の後方に位置している）ときは、鉄球１０３が投げ可能エリアに移動させてから、後続する鉄球を前方（画面上方）へと移動させる処理、つまり、鉄球１０３を投げる処理が行われる。
【００７８】
ステップＳ１３の判定の結果、鉄球１０３が投げ可能エリア内に入っていないときは（ステップＳ１３でＮＯ）、鉄球１０３を投げ可能エリアへと移動させるため、以下の式を用いて、現フレーム鉄球位置２４９を、前フレーム鉄球位置２４７に、後述する回転量２５２を加えた値に設定し（ステップＳ１４）、ステップＳ１３の判定に戻る。
現フレーム鉄球位置２４９  ＝  前フレーム鉄球位置２４７  ＋  回転量２５２
【００７９】
一方、投げ可能位置にはいっていると判定されたときは（ステップＳ１３でＹＥＳ）、以下の式を用いて、現フレーム鉄球位置２４９を前フレーム鉄球位置２４７に投げ速度Ｖｏを加えたものにする（ステップＳ１５）。ここで、投げ速度Ｖｏは予め設定されている速度ベクトルである。
現フレーム鉄球位置２４９  ＝  前フレーム鉄球位置２４７  ＋  投げ速度Ｖｏ
【００８０】
次に、仮想ゲーム空間内におけるプレイヤキャラクタ１０１と鉄球１０３との間の直線距離（つまり、チェーン１０４の長さに相当）が、攻撃時チェーン最長値２５５で示される値より長いか否かについて、次の式を用いて判定される（ステップＳ１６）。
攻撃時チェーン最長値２５５  ＜  現フレーム鉄球位置２４９  −  現フレームキャラクタ位置２４８
【００８１】
上記ステップＳ１６の判定の結果、プレイヤキャラクタ１０１と鉄球１０３との間の直線距離が攻撃時チェーン最長値２５５より小さいときは（ステップＳ１６でＮＯ）、ステップＳ１５に戻って処理が繰り返される。一方、プレイヤキャラクタ１０１と鉄球１０３との間の直線距離が攻撃時チェーン最長値２５５より大きいと判定されたときは（ステップＳ１６でＹＥＳ）、投げた鉄球１０３をプレイヤキャラクタ１０１の場所まで引き戻す処理が行われる（ステップＳ１７）。つまり、攻撃が終了したことを示す。
【００８２】
次に、チャージ量２５０に０が設定される（ステップＳ１８）。つまり、攻撃が終了したため、チャージメーター１０５を空とする処理が行われる。以上で、投げ判定処理は終了する。
【００８３】
次に、上記ステップＳ３で示したチャージ処理の詳細を説明する。図１６は、上記ステップＳ３で示したチャージ処理の詳細を示すフローチャートである。
【００８４】
図１６において、まず、前フレームキャラクタ位置２４６で示される座標が画面座標系に変換される（ステップＳ２１）。つまり、前フレームキャラクタ位置２４６に対応する画面座標が算出されることになる。ここで、前フレームでの座標を用いるのは、現フレームでの座標が確定するのが、この後の処理にかかるキャラクタ移動処理においてであり、この時点ではまだ確定していないためである。
【００８５】
次に、タッチ履歴データ２４５が参照され、上記ステップＳ２１で算出された画面座標を中心とした回転操作が行われたか否かの検出が行われる。更に、回転操作にかかる回転量の算出が行われる（ステップＳ２２）。これは、例えば、次のような処理で行われる。まず、第１点（Ａ）、第２点（Ｂ）、第３点（Ｃ）・・・を順次検出する。次に、線分ＢＣの線分ＡＢに対する変位角を求める。以降、同様に、隣接する２つの線分の変位角を順次求め、これらを累計する。そして、累計変位角が閾値以上であれば、回転操作が行われたと認識し、当該累計変位角を回転量とする方法がある。つまり、数回分のタッチ座標に基づいて判定する方法である。また、別の処理として、次のような処理も考えられる。まず、先後に検出されたタッチ入力の第１点および第２点（つまり、前回フレームでのタッチ座標と現フレームで検出されたタッチ座標）をそれぞれ始点および終点とする操作ベクトルを算出する。続いて、所定の基準点および当該第１点をそれぞれ始点および終点とする第１ベクトルに垂直な直線に正投影する。そして、当該正投影することで取り出される成分ベクトル（有効操作量）を回転量とする、という手法が考えられる。また、回転操作が検出できなかったときは、回転量として、０が設定される。また、タッチ座標の軌跡が、プレイヤキャラクタの画面位置（Ｐ）を中心とした円弧を描くように回転操作されていることを判定してもよく、例えば、プレイヤキャラクタの画面位置（Ｐ）を中心として、ＡとＰを結ぶ線分と、ＢとＰを結ぶ線分とが成す角度を求めて、これにより回転量を算出する方法でもよい。なお、上記の処理方法はあくまで一例であり、これらに限らず、回転操作および回転量が算出できれば、どのような処理方法を用いても良い。
【００８６】
次に、上記ステップＳ２２で算出された回転量が、所定の閾値を超えているか否かが判定される（ステップＳ２３）。当該判定の結果、回転量が所定の閾値を超えていないと判定されたときは（ステップＳ２３でＮＯ）、チャージ量２５０が所定値だけ減算される（ステップＳ２５）。一方、超えていると判定されたときは（ステップＳ２３でＹＥＳ）、チャージ量２５０に所定値が加算される（ステップＳ２４）。ここで、チャージ量２５０の加算する値については、常に固定値を加算するようにしてもよいが、チャージ量２５０が大きくなるに連れて、加算する量が小さくなるようにしてもよい。より具体的には、１／チャージ量nに比例する値が加算されるようにしてもよい（なお、ｎは自然数、以下の説明でも同様とする）。あるいは、１／（チャージ量n＋固定値）に比例する値が加算されるようにしてもよい。また、上記回転量に比例して上記加算する値が大きくなるようにしてもよい。
【００８７】
次に、チャージ量２５０はチャージ上限２５１を超えているか否かが判定される（ステップＳ２６）。当該判定の結果、超えていると判定されたときは（ステップＳ２６でＹＥＳ）、チャージ上限２５１の値がチャージ量２５０に設定される（ステップＳ２７）。つまり、チャージ量２５０がチャージ上限２５１を上回ることがないように調整されることになる。一方、超えていないと判定されたときは（ステップＳ２６でＮＯ）、ステップＳ２７の処理は行われずに、そのままチャージ処理が終了する。
【００８８】
次に、上記ステップＳ４で示した制限速度設定処理の詳細を説明する。図１７は、上記ステップＳ４で示した制限速度設定処理の詳細を示すフローチャートである。図１７において、まず、スティック１６の移動速度（以下、タッチ入力速度と呼ぶ）が算出される（ステップＳ３１）。このステップＳ３１の処理をより具体的に説明すると、まず、タッチデータ２４１からＸ座標２４２およびＹ座標２４３（以下、今回タッチ座標と呼ぶ）が読み出される。次に、タッチ履歴データ２４５から、前回のフレームにおけるＸ座標およびＹ座標（以下、前回タッチ座標と呼ぶ）が読み出される。次に、今回タッチ座標と前回タッチ座標との差分を速度ベクトルとして算出する。当該算出した速度ベクトルがタッチ入力速度となる。
【００８９】
次に、上記チャージ量２５０および上記ステップＳ３１で算出したタッチ入力速度に応じて、制限速度２５３が設定される（ステップＳ３２）。ここでは、チャージ量２５０が大きいほど制限速度２５３が小さくなるように（つまり、チャージ量と制限速度２５３との関係が反比例するように）設定されるものとする。なお、設定方法については、これに限らず、例えば、上記タッチ入力速度が大きいほど、制限速度２５３が小さくなるように設定してもよい。また、プレイヤキャラの移動速度として予め設定されている値（通常移動速度）から、チャージ量２５０nに比例する値、あるいは、タッチ入力速度nに比例する値、を減少した値が制限速度２５３に設定されるようにしてもよい。また、１／チャージ量２５０nに比例する値、や１／タッチ入力速度nに比例する値が制限速度２５３として設定されるようにしてもよい。もちろん、チャージ量２５０のみに基づいて制限速度２５３を設定するようにしてもよいし、タッチ入力速度のみに基づいて制限速度２５３を設定するようにしても良い。以上で、制限速度設定処理は終了する。
【００９０】
次に、上記ステップＳ５で示したプレイヤキャラクタ移動処理の詳細を説明する。図１８は、上記ステップＳ５で示したプレイヤキャラクタ移動処理の詳細を示すフローチャートである。図１８において、まず、タッチ位置に対応する仮想ゲーム空間内の位置Ｔｖが算出される（ステップＳ４１）。具体的には、タッチパネルの座標系を仮想ゲーム空間内の座標系に変換することで、タッチ位置に対応する仮想ゲーム空間内の位置Ｔｖが算出される。（上述のように、本実施形態では、タッチパネル１５として、第２のＬＣＤ１２の解像度と同じ解像度（検出精度）のものを利用するため、タッチ位置の座標は、そのまま画面座標を示す。）
【００９１】
次に、プレイヤキャラクタ１０１の移動速度Ｖが、以下の式を用いて算出される（ステップＳ４２）。
移動速度Ｖ＝係数ｃ  ×  （前フレームキャラクタ位置２４６  −  タッチ位置に対応する仮想ゲーム空間位置Ｔｖ）
ここで係数ｃは、１以下の正の数である。また、移動速度Ｖは、例えば速度ベクトルとして算出される。
【００９２】
次に、算出された移動速度Ｖが、制限速度２５３を超えているか否かが判定される（ステップＳ４３）。当該判定の結果、制限速度２５３を超えていないと判定されたときは（ステップＳ４３でＮＯ）、そのまま処理がステップＳ４５の処理へと進められる。一方、制限速度２５３を超えていると判定されたときは（ステップＳ４３でＹＥＳ）、制限速度２５３を移動速度Ｖに設定する（ステップＳ４４）。
【００９３】
次に、以下の式を用いて、現フレームキャラクタ位置２４８が設定される（ステップＳ４５）。
現フレームキャラクタ位置２４８  ＝  前フレームキャラクタ位置２４６  ＋  移動速度Ｖ
これにより、現フレームにおいて表示されるプレイヤキャラクタ１０１の位置が確定することになる。以上で、プレイヤキャラクタ移動処理は終了する。
【００９４】
次に、上記ステップＳ６で示した鉄球移動処理の詳細を説明する。図１９は、上記ステップＳ６で示した鉄球移動処理の詳細を示すフローチャートである。また、図２０は、鉄球１０３の移動のプロセスを図解するものである。図１９において、まず、鉄球１０３の位置について、前回鉄球移動量と同じ移動量だけ移動させる処理が行われる（ステップＳ５１）。この処理が、図２０の矢印２０１に対応する。
【００９５】
次に、プレイヤキャラクタ１０１から鉄球１０３を結ぶ方向と直交する方向に向けて、上記回転量に応じた距離だけ鉄球１０３を移動させる処理が行われる（ステップＳ５２）。この処理は、図２０に示す矢印２０２に相当する。
【００９６】
次に、プレイヤキャラクタ１０１と鉄球１０３との間の直線距離が通常時チェーン最長値２５４より大きいか否かが判定される（ステップＳ５３）。当該判定の結果、プレイヤキャラクタ１０１と鉄球１０３との間の直線距離が通常時チェーン最長値２５４より大きいときは（ステップＳ５３でＹＥＳ）、プレイヤキャラクタ１０１と鉄球１０３との間の直線距離が通常時チェーン最長値２５４になるように、鉄球１０３の位置がプレイヤキャラクタ１０１に近づけられる処理が行われる（ステップＳ５４）。この処理は、図２０の矢印２０３に相当する。そして、当該近づけられた後の位置で、現フレーム鉄球位置２４９が更新される。一方、上記ステップＳ５３の判定の結果、プレイヤキャラクタ１０１と鉄球１０３との間の直線距離が通常時チェーン最長値２５４以下であれば（ステップＳ５３でＮＯ）、ステップＳ５４の処理は行われず、上記ステップＳ５２の処理で移動させられた位置で、現フレーム鉄球位置２４９が更新される。そして、次のステップＳ５５の処理へと進む。
【００９７】
次に、現フレーム鉄球位置２４９と前フレーム鉄球位置２４７との差分が算出され、前フレーム鉄球移動量２５６として記憶される（ステップＳ５５）。次のフレームでの処理における上記ステップＳ５１の処理に用いるためである。以上で、鉄球移動処理は終了する。
【００９８】
このように、本実施形態では、勢いのある回転操作（回転量が一定以上）のときに、プレイヤキャラクタ１０１の移動速度を低下するようにしている。これにより、上述したような鉄球を投げる等の、プレイヤキャラクタの移動以外についての操作が行いやすくなり、操作性を高めることができる。また、タッチパネルによるタッチ操作で行う移動操作と移動以外にかかる操作について、操作性を低下させずに、これら異なる目的の操作を両立することも可能となる。つまり、プレイヤキャラクタを円状に移動させたいときは、ゆっくりとスティック１６で円を描くように移動させ、攻撃（鉄球投げ）を行いたいときは、何度も円を描くように、勢いよくスティック１６を移動させるようにすることができる。
【００９９】
なお、上述の図１３のステップＳ１の投げ判定に関して、上述したような、攻撃開始の判定となるタッチオフ判定（ステップＳ１１）の代わりに、上記タッチ履歴データ２４５を参照して過去の所定フレーム数分にかかる入力軌跡を算出し、当該入力軌跡が所定の軌跡を描いているかどうかを判定することで、攻撃開始の判定が行われるようにしてもよい。例えば、入力軌跡が、三角形を描いたと判定されたときに、上記タッチオフされたときと同様の処理が行われるようにしてもよい。また、このような所定の図形が描かれたかどうかの判定タイミングについても、タッチオフされたときに、所定の軌跡が描かれたか否かが判定されるようにしても良いし、タッチオフする前であっても、所定の軌跡が描かれたかどうかを判定するようにしても良い。つまり、タッチオフされたときであっても、入力軌跡が所定の軌跡を描いていなければ攻撃が開始されない（鉄球が投げられない）ようにしてもよい。あるいは、タッチオフする前であっても、所定の軌跡が描かれていれば、攻撃が開始されるようにしてもよい。
【０１００】
また、タッチオフ時の処理内容として、上記実施形態では、鉄球を投げるという処理が行われるようにしていた。処理される内容は、これに限らず、例えば、プレイヤキャラクタ１０１をジャンプさせるような処理が行われても良いし、プレイヤキャラクタ１０１の守備動作（例えば、盾を構える等）が行われるようにしてもよい。また、プレイヤキャラクタ１０１のパラメータ（攻撃力や移動速度等）が一時的に変更されるようにしてもよい。いずれにしろ、プレイヤキャラクタ１０１の移動以外を目的とする操作を行う際に、プレイヤキャラクタ１０１の移動速度を低下させて、むやみにプレイヤキャラクタ１０１が動き回らないようにすることができるため、例えば守備動作中に、プレイヤキャラクタ１０１が意図しない位置へ移動しすぎてしまうことを防止し、操作性を高めることが可能となる。
【０１０１】
また、上記ステップＳ５のキャラクタ移動処理について、チャージ量２５０が所定値以上のときには、プレイヤキャラクタ１０１を移動させないような処理が行われるようにしてもよい。この場合は、例えばチャージ量がＭＡＸとなれば、プレイヤキャラクタ１０１の位置が固定されるため、より操作性を高めることが可能となる。
【０１０２】
また、上記図１４を用いて説明したステップＳ１５の処理に関して、上述の実施形態では、投げ速度Ｖｏを固定値として、鉄球の位置を算出していた。しかし、投げ速度Ｖｏについては、固定値に限らず、チャージ量に応じて変化するよう算出してもよい。この場合は、上記図１０等で示したチャージメータ１０５がＭＡＸまで貯まっていなくても、タッチオフした時点で鉄球が投げられるように、上記ステップＳ１２で判定される閾値をチャージメータ１０５のＭＡＸに相当する値よりも小さい値に設定しておく。そして、以下の式を用いて算出した値を投げ速度Ｖｏとして用いればよい。
投げ速度Ｖｏ  ＝  係数ｃ  ×  （（チャージ量２５０）  −  （閾値））  ＋  定数Ａ
ここで、定数Ａは、投げ速度の最低速度として予め設定されている値である。また、閾値は、上記図１４のステップＳ１２で用いられる閾値と同じであり、予めプログラム等に記憶されている値である。このように処理することで、投げ速度Ｖｏをチャージ量に応じて変化させるようにすることができ、よりゲームのリアリティを高めて、ゲームの面白さを増すことが可能となる。
【０１０３】
また、上記図１６のステップＳ２３の処理にかかる回転量が所定の閾値を超えたかどうかの判定について、回転量だけでなく、タッチ速度が所定の閾値を超えたか否かで判定するようにしても良い。更には、回転量およびタッチ速度の双方に基づいて判定するようにしても良い。これにより、回転量のより正確な検出が可能となり、誤操作を防ぐことができる。
【０１０４】
また、上述したような、鉄球１０３を投げる処理の前提になる、鉄球１０３を振り回す動作（図１０参照）について、振り回している状態であることを示すための「回転モード」というフラグを設けてＲＡＭ２４に記憶させるようにしてもよい。つまり、所定速度以上の回転操作が行われたときに、「回転モード」をオンに設定し、そうでないときはオフと設定するような処理にしてもよい。この「回転モード」フラグを用いる場合は、上記図１３のステップＳ４の制限速度設定処理、およびステップＳ５のプレイヤキャラクタ移動処理について、以下に説明するような処理が行われるようにすればよい。
【０１０５】
図２１は、「回転モード」フラグを用いた場合の制限速度設定処理を示すフローチャートである。図２１においては、まず、上述したようなステップＳ３１の処理が行われる。つまり、タッチ履歴データ２４５が参照され、過去数フレーム分のタッチデータ等に基づいて、タッチ入力速度が算出される。
【０１０６】
次に、算出されたタッチ入力速度が所定値以上であるか否かが判定される（ステップＳ６１）。その結果、タッチ入力速度が所定値以上であると判定されたときは（ステップＳ６１でＹＥＳ）、「回転モード」フラグがオンに設定される（ステップＳ６２）。続いて、上述したステップＳ３２の処理が行われる。つまり、チャージ量２５０およびタッチ入力速度に応じて、制限速度２５３が設定される。そして、制限速度設定処理が終了する。一方、ステップＳ６１の判定の結果、タッチ入力速度が所定値未満と判定されたときは（ステップＳ６１でＮＯ）、「回転モード」フラグがオフに設定され（ステップＳ６３）、制限速度設定処理が終了する。
【０１０７】
次に、「回転モード」フラグを用いた場合のプレイヤキャラクタ移動処理について説明する。図２２は、「回転モード」フラグを用いた場合のプレイヤキャラクタ移動処理を示すフローチャートである。図２２においては、まず、上述したステップＳ４１の処理が行われる。すなわち、タッチ位置に対応する仮想ゲーム空間位置Ｔｖが算出される。次に、上述したステップＳ４２の処理が行われる。すなわち、プレイヤキャラクタ１０１の移動速度が、以下の式を用いて算出される。
移動速度Ｖ＝係数ｃ  ×  （前回キャラクタ位置  −  タッチ位置に対応する仮想ゲーム空間位置Ｔｖ）
【０１０８】
次に、「回転モード」フラグがオンに設定されているか否かが判定される（ステップＳ７１）。当該判定の結果、「回転モード」フラグがオンに設定されているときは（ステップＳ７１でＹＥＳ）、プレイヤキャラクタ１０１の移動速度を低下させるために、上記ステップＳ４２で算出された移動速度Ｖに対して、以下の式を用いて補正する処理を行う（ステップＳ７２）。
Ｖ＝Ｖ×第２の係数ｃ２
ここで、第２の係数ｃ２は、上記ステップＳ４２で用いられる係数ｃとは異なり、１未満の正の数である。そのため、ステップＳ７２で算出されるＶの値は、ステップＳ４２で算出されたＶの値より小さくなる、つまり、移動速度が低下することになる。次に、「回転モード」フラグがオフに設定される（ステップＳ７３）。そして、上述したようなステップＳ４３以降の処理が行われる。
【０１０９】
一方、ステップＳ７１の判定の結果、「回転モード」フラグがオンに設定されていないときは（ステップＳ７１でＮＯ）、そのまま、上述したようなステップＳ４３以降の処理が行われる。以上で、「回転モード」フラグを用いた場合のプレイヤキャラクタ移動処理が終了する。
【０１１０】
このように、「回転モード」フラグを用いて処理が行われるようにしても、上述したのと同様の効果を得ることが可能である。
【０１１１】
なお、本実施例では、２つの表示装置を備えた携帯型ゲーム装置を例に説明したが、単一の表示装置を備え当該表示装置の画面上にタッチパネルを備えた携帯端末であってもよい。また、本実施例では、操作領域に対するプレイヤの指示位置を検出する装置としてタッチパネルを例に上げたが、プレイヤが所定領域内の位置を指示できるいわゆるポインティングデバイスであればよく、例えば、画面上の任意位置を指示可能なマウス、表示画面を持たない操作面上の任意位置を指示するタブレット、遠隔から表示画面や表示画面周囲に配置されたマーカ等を撮像するための撮像手段を備えたデバイスによって、表示画面方向を指し示すことにより得られる撮像画像における表示画面やマーカの位置から、表示画面上の指し示された位置に相当する表示画面上の座標を算出するポインティングデバイスなどでもよい。
【産業上の利用可能性】
【０１１２】
本発明にかかるゲームプログラムおよびゲーム装置は、タッチパネル等のポインティングデバイスを用いた操作についての操作性を高めることができ、携帯型ゲーム装置やＰＤＡ等の小型情報端末等に有用である。
【図面の簡単な説明】
【０１１３】
【図１】本発明の第１の実施形態に係る携帯ゲーム装置１０の外観図
【図２】本発明の第１の実施形態に係る携帯ゲーム装置１０の斜視図
【図３】本発明の第１の実施形態に係る携帯ゲーム装置１０のブロック図
【図４】本実施形態において想定するゲームの画面の一例
【図５】本実施形態において想定するゲームの画面の一例
【図６】本実施形態において想定するゲームの画面の一例
【図７】本実施形態において想定するゲームの画面の一例
【図８】本実施形態において想定するゲームの画面の一例
【図９】本実施形態において想定するゲームの画面の一例
【図１０】本実施形態において想定するゲームの画面の一例
【図１１】本実施形態において想定するゲームの画面の一例
【図１２】図２のＲＡＭ２４のメモリ空間を図解的に示したメモリマップ
【図１３】本発明の実施形態に係る携帯ゲーム装置１０のゲーム処理の全体的な動作を示すフローチャート
【図１４】図１３のステップＳ１で示した投げ判定処理の詳細を示すフローチャート
【図１５】投げ可能エリアを説明するための図
【図１６】図１３のステップＳ３で示したチャージ処理の詳細を示すフローチャート
【図１７】図１３のステップＳ４で示した制限速度設定処理の詳細を示すフローチャート
【図１８】図１３のステップＳ５で示したプレイヤキャラクタ移動処理の詳細を示すフローチャート
【図１９】図１３のステップＳ６で示した鉄球移動処理の詳細を示すフローチャート
【図２０】鉄球１０３の移動のプロセスを図解する図
【図２１】回転モードフラグを用いた場合の制限速度設定処理を示すフローチャート
【図２２】回転モードフラグを用いた場合のプレイヤキャラクタ移動処理を示すフローチャート
【符号の説明】
【０１１４】
１０  携帯ゲーム装置
１１  第１ＬＣＤ
１２  第２ＬＣＤ
１３  ハウジング
１４  操作スイッチ部
１５  タッチパネル
１６  スティック
１７  メモリカード
２０  電子回路基板
２１  ＣＰＵコア
２２  バス
２３  コネクタ
２４  ＲＡＭ
２５  インターフェース回路
２６  第１ＧＰＵ
２７  第２ＧＰＵ
２８  第１ＶＲＡＭ
２９  第２ＶＲＡＭ
３０  音抜き孔
３１  ＬＣＤコントローラ
３２  レジスタ
３３  スピーカ
３６  マイクロフォン
【図１】
2008210126.tif 000003
【図２】
2008210126.tif 000004
【図３】
2008210126.tif 000005
【図４】
2008210126.tif 000006
【図５】
2008210126.tif 000007
【図６】
2008210126.tif 000008
【図７】
2008210126.tif 000009
【図８】
2008210126.tif 000010
【図９】
2008210126.tif 000011
【図１０】
2008210126.tif 000012
【図１１】
2008210126.tif 000013
【図１２】
2008210126.tif 000014
【図１３】
2008210126.tif 000015
【図１４】
2008210126.tif 000016
【図１５】
2008210126.tif 000017
【図１６】
2008210126.tif 000018
【図１７】
2008210126.tif 000019
【図１８】
2008210126.tif 000020
【図１９】
2008210126.tif 000021
【図２０】
2008210126.tif 000022
【図２１】
2008210126.tif 000023
【図２２】
2008210126.tif 000024