(57)【要約】      （修正有）【課題】プレイヤの操作をゲームに反映でき、ゲームの面白味を増大させることができる。【解決手段】ゲーム装置１０はＬＣＤ１４を含み、ＬＣＤ１４に関連してタッチパネル２２が設けられる。ＬＣＤ１４には、プレイヤキャラクタにボールを打撃させるためのゲーム画面が表示される。たとえば、ＬＣＤ１４（タッチパネル２２）上をタッチオンすると、その座標に基づいて、プレイヤキャラクタのスタンスおよびショットパワーが決定される。これにより、ボールの軌道がストレートボール、ドローボールまたはフェードボールに決定され、ショットパワーによるボールの飛距離が決定される。そして、タッチオンに継続して、スライド操作すると、スライド操作の軌跡に応じてボールのサイドスピン値が補正される。つまり、ボールの軌道に変化が加えられる。【選択図】  図１
2008079989.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも２次元の操作領域における指示座標を検出する指示座標検出手段、
前記指示座標検出手段によって指示座標の検出が開始されたときの当該指示座標を指示開始座標として記憶手段に記憶する指示開始座標記憶手段、
前記指示開始座標を通る基準線を決定する基準線決定手段、
前記指示開始座標に連続して入力される指示座標を取得し、前記記憶手段に記憶する指示座標取得手段、および
前記指示座標取得手段によって取得された指示座標と、前記基準線決定手段によって決定された基準線との位置関係をゲームの入力値として用いるゲーム処理手段を備える、ゲーム装置。
【請求項２】
前記ゲーム処理手段は、前記指示座標取得手段によって取得された指示座標と、前記基準線決定手段によって決定された基準線との距離をゲームの入力値として用いる、請求項１記載のゲーム装置。
【請求項３】
前記基準線決定手段は、前記指示開始座標と前記操作領域における所定の点とを結ぶように前記基準線を設定する、請求項１または２記載のゲーム装置。
【請求項４】
前記基準線決定手段は、前記指示開始座標から所定方向に延びる直線を前記基準線として決定する、請求項１または２記載のゲーム装置。
【請求項５】
前記基準線決定手段は、前記指示開始座標および当該指示開始座標に連続して検出される指示座標で決定される入力軌跡の平均方向に延びる直線を前記基準線として決定する、請求項１または２記載のゲーム装置。
【請求項６】
前記基準線決定手段は、前記指示開始座標と前記指示座標検出手段によって指示座標の検出が終了されたときの指示終了座標とを結ぶ直線を前記基準線として決定する、請求項１または２記載のゲーム装置。
【請求項７】
前記指示座標取得手段は、時系列に従って前記指示座標を取得し、
前記ゲーム処理手段は、前記指示座標と前記基準線との距離を算出し、算出結果を前記時系列に従う順序で使用する、請求項１ないし６のいずれかに記載のゲーム装置。
【請求項８】
前記指示座標取得手段によって取得された指示座標のうち、前記指示開始座標から所定距離毎に前記基準線と直交する線上に存在する指示座標を抽出する抽出手段をさらに備え、
前記ゲーム処理手段は、前記抽出手段によって抽出された指示座標と、前記基準線との距離を算出する、請求項７記載のゲーム装置。
【請求項９】
前記指示座標取得手段によって取得された指示座標のうち、前記指示開始座標の取得に続いて所定時間毎に取得された指示座標を抽出する抽出手段をさらに備え、
前記ゲーム処理手段は、前記抽出手段によって抽出された指示座標と、前記基準線との距離を算出する、請求項７記載のゲーム装置。
【請求項１０】
前記ゲーム処理手段は、前記ゲームの入力値の各々によって、異なるタイミングにおける移動オブジェクトの移動パラメータを設定する、請求項１ないし９のいずれかに記載のゲーム装置。
【請求項１１】
前記ゲーム処理手段は、前記基準線の方向を前記移動オブジェクトのパラメータとして使用する、請求項１ないし１０のいずれかに記載のゲーム装置。
【請求項１２】
少なくとも２次元の操作領域における指示座標を検出する指示座標検出手段、
前記指示座標検出手段によって指示座標の検出が開始されたときの当該指示座標を指示開始座標として記憶手段に記憶する指示開始座標記憶手段、
前記指示開始座標を通る基準線を決定する基準線決定手段、
前記指示開始座標に連続して入力される指示座標を取得し、前記記憶手段に記憶する指示座標取得手段、および
前記指示座標取得手段によって取得された指示座標に基く軌跡上の所定点と、前記基準線決定手段によって決定された基準線との位置関係をゲームの入力値として用いるゲーム処理手段を備える、ゲーム装置。
【請求項１３】
ゲーム装置のゲームプログラムであって、
当該ゲーム装置のコンピュータを、
少なくとも２次元の操作領域における指示座標を検出する指示座標検出手段、
前記指示座標検出手段によって指示座標の検出が開始されたときの当該指示座標を指示開始座標として記憶手段に記憶する指示開始座標記憶手段、
前記指示開始座標を通る基準線を決定する基準線決定手段、
前記指示開始座標に連続して入力される指示座標を取得し、前記記憶手段に記憶する指示座標取得手段、および
前記指示座標取得手段によって取得された指示座標と、前記基準線決定手段によって決定された基準線との位置関係をゲームの入力値として用いるゲーム処理手段として機能させる、ゲームプログラム。
【請求項１４】
ゲーム装置のゲームプログラムであって、
当該ゲーム装置のコンピュータを、
少なくとも２次元の操作領域における指示座標を検出する指示座標検出手段、
前記指示座標検出手段によって指示座標の検出が開始されたときの当該指示座標を指示開始座標として記憶手段に記憶する指示開始座標記憶手段、
前記指示開始座標を通る基準線を決定する基準線決定手段、
前記指示開始座標に連続して入力される指示座標を取得し、前記記憶手段に記憶する指示座標取得手段、および
前記指示座標取得手段によって取得された指示座標に基づく軌跡上の所定点と、前記基準線決定手段によって決定された基準線との位置関係をゲームの入力値として用いるゲーム処理手段として機能させる、ゲームプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はゲーム装置およびゲームプログラムに関し、特にたとえば、プレイヤによって入力される座標に応じてゲーム制御を行う、ゲーム装置およびゲームプログラムに関する。
【背景技術】
【０００２】
この種の従来のゲーム装置の一例が特許文献１に開示される。この特許文献１の打撃模擬装置によれば、ユーザがペンの先を平面ディスプレイに表示された仮想球の上に下ろし、続いてペンを振り上げたときのペンの軌道に対応する座標点の変化に応じて、打撃方向および打撃力を決定し、ゴルフ場での打撃模擬が実行される。
【０００３】
また、従来のゲーム装置の他の例が特許文献２に開示される。この特許文献２によれば、ゴルフクラブのポインタとしてのＰｕｓｈボタンを左右にドラッグ移動したときのドラッグ距離とドラッグ速度に基づいて、飛距離や球筋が決定される。
【特許文献１】特開平５−３１２５６号
【特許文献２】特開２００２−９３９号
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示される技術では、実際の打撃に類似した肉体の一つの操作によって、打撃模擬に必要な情報を入力することができるが、打撃方向と打撃力とが変化されるだけであり、これをゲームに用いた場合には、単純すぎて面白味に欠けてしまう。
【０００５】
また、特許文献２に開示される技術では、Ｐｕｓｈボタンを左右にドラッグすることにより、飛距離と球筋とが決定されるだけであり、操作が単純であり、また、特許文献１に開示される技術と同様に、ゲームが単純であり、面白味に欠けてしまう。
【０００６】
それゆえに、この発明の主たる目的は、新規な、ゲーム装置およびゲームプログラムを提供することである。
【０００７】
この発明の他の目的は、ゲームの面白さを向上できる、ゲーム装置およびゲームプログラムを提供することである。
【課題を解決するための手段】
【０００８】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【０００９】
請求項１の発明は、指示座標検出手段、指示開始座標記憶手段、基準線決定手段、指示座標取得手段、およびゲーム処理手段を備える、ゲーム装置である。指示座標検出手段は、少なくとも２次元の操作領域における指示座標を検出する。指示開始座標記憶手段は、指示座標検出手段によって指示座標の検出が開始されたときの当該指示座標を指示開始座標として記憶手段に記憶する。基準線決定手段は、指示開始座標を通る基準線を決定する。指示座標取得手段は、指示開始座標に連続して入力される指示座標を取得し、記憶手段に記憶する。そして、ゲーム処理手段は、指示座標取得手段によって取得された指示座標と、基準線決定手段によって決定された基準線との位置関係をゲームの入力値として用いる。
【００１０】
請求項１の発明では、ゲーム装置（１０）は、指示座標検出手段（４０，Ｓ８１，Ｓ１５１）を含み、この指示座標検出手段は２次元の操作領域（１２０の（１））内における指示座標を検出する。指示開始座標記憶手段（４０，Ｓ９１）は、指示座標検出手段によって指示座標の検出が開始されたとき（Ｓ８３で“ＹＥＳ”）の当該指示座標を指示開始座標として記憶手段（７２）に記憶する。基準線決定手段（４０，Ｓ３９３）は、指示開始座標を通る基準線を決定する。指示座標取得手段（４０，Ｓ１５５，Ｓ１５７）は、指示開始座標に連続して入力される指示座標を取得し、記憶手段に記憶する。たとえば、プレイヤの入力（たとえば、スライド操作）により、検出される複数の指示座標からその入力軌跡が形成される。そして、ゲーム処理手段（４０，Ｓ４２１）は、指示座標取得手段によって取得された指示座標と、基準線決定手段によって決定された基準線との位置関係をゲームの入力値として用いる。つまり、指示座標と基準線との位置関係をゲームの入力値として用いるので、プレイヤの操作の仕方がゲームに反映される。ここで、位置関係の例としては、指示座標と基準線との距離（すなわち、指示座標から基準線に垂直方向に下ろした線分の長さ）であってもよいし、指示座標から基準線に所定方向（Ｘ軸方向、Ｙ軸方向など）に延ばした線分の長さなどであってもよい。さらには、指示座標が基準線から見てどちらの方向にあるか（典型的には右側にあるか、または、左側にあるか）に基づいてゲーム処理をしてもよい。
【００１１】
なお、指示座標取得手段は、指示開始座標に連続して入力される指示座標を少なくとも１つ取得するが、複数取得するのが好ましい。
【００１２】
また、指示座標検出手段が検出する座標は、２次元座標であっても３次元座標であってもよい。指示座標検出手段としては、たとえば、タッチパネルやマウス（コンピュータマウス）などを用いることができ、また、発光部（たとえば、赤外ＬＥＤ）をカメラ（たとえば、赤外カメラ）で撮影して、当該撮影画像を画像解析することにより、カメラの向いている方向が指示する座標を検出するようなものを用いることもできる。マウスやカメラなどを用いる場合は、プレイヤによる所定操作（所定のボタンを押下する、または、押していたボタンを離すなど）があった時点における指示座標を「指示開始座標」や「指示終了座標」とすることができる。
【００１３】
請求項１の発明によれば、プレイヤの操作の仕方がゲームに反映されるので、ゲームの面白さを向上させることができる。
【００１４】
請求項２の発明は請求項１に従属し、ゲーム処理手段は、指示座標取得手段によって取得された指示座標と、基準線決定手段によって決定された基準線との距離をゲームの入力値として用いる。
【００１５】
請求項２の発明では、ゲーム処理手段は、指示座標取得手段によって取得された指示座標に基づく軌跡上の所定の点と、基準線決定手段によって決定された基準線との距離をゲームの入力値として用いる。具体的には、連続する指示座標に基づいて指示軌跡を演算し、当該指示軌跡上の所定の点と基準線との距離がゲーム入力値として用いられるのである。
【００１６】
請求項２の発明によれば、指示座標と基準線との距離を算出するだけなので、簡単な処理でプレイヤの操作の仕方をゲームに反映させることができる。
【００１７】
請求項３の発明は請求項１または２に従属し、基準線決定手段は、指示開始座標と操作領域における所定の点とを結ぶように基準線を決定する。
【００１８】
請求項３の発明では、基準線決定手段は、指示開始座標と所定の点とを結ぶように基準線を決定する。「所定の点」は、操作領域（指示座標検出手段の検出領域）における固定の点であってもよく、または、ゲームプログラムによって自動的に設定される点であってもよい。ただし、固定の点は、ゲームプログラムによって予め定義される。たとえば、所定の点は、スライド操作の目標となる点ないし領域の中心（重心）である。
【００１９】
請求項３の発明によれば、簡単に基準線を決定することができ、この基準線と指示座標との距離も簡単に検出することができる。
【００２０】
請求項４の発明は請求項１または２に従属し、基準線決定手段は、指示開始座標から所定方向に延びる直線を基準線として決定する。
【００２１】
請求項４の発明では、基準線決定手段は、指示開始座標から所定方向に延びる直線を基準線として決定する。たとえば、所定方向は予め決定されたり、ゲームの進行によって適宜決定されたりする。
【００２２】
請求項４の発明においても、請求項３の発明と同様に、簡単に基準線を決定することができ、この基準線と指示座標との距離も簡単に検出することができる。
【００２３】
請求項５の発明は請求項１または２に従属し、基準線決定手段は、指示開始座標および当該指示開始座標に連続して検出される指示座標で決定される入力軌跡の平均方向に延びる直線を基準線として決定する。
【００２４】
請求項５の発明では、基準線決定手段は、指示開始座標および指示開始座標に連続して検出される指示座標で決定される入力軌跡の平均方向に延びる直線を基準線として決定する。たとえば、指示開始座標を含むすべての指示座標に基づいて回帰直線を算出し、算出した回帰直線の方向が平均方向に決定される。
【００２５】
請求項５の発明によれば、入力軌跡によって基準線も決定されるため、プレイヤの仕方がよりゲームに反映される。このため、ゲームの面白味を増大させることができる。
【００２６】
請求項６の発明は請求項１または２に従属し、基準線決定手段は、指示開始座標と指示座標検出手段によって指示座標の検出が終了されたときの指示終了座標とを結ぶ直線を基準線として決定する。
【００２７】
請求項６の発明では、基準線決定手段は、指示開始座標と指示終了座標とを結ぶ直線を基準線として決定する。つまり、スライド操作の始点と終点とを結ぶ直線を基準線として決定する。
【００２８】
請求項６の発明によれば、請求項３の発明と同様に、簡単に基準線を決定することができ、この基準線と指示座標との距離も簡単に検出することができる。
【００２９】
請求項７の発明は請求項１ないし６のいずれかに従属し、指示座標取得手段は、時系列に従って指示座標を取得し、ゲーム処理手段は、指示座標と基準線との距離を算出し、算出結果を時系列に従う順序で使用する。
【００３０】
請求項７の発明では、指示座標取得手段は、時系列に従って指示座標を取得する。つまり、入力軌跡上の指示座標を時系列に従ってサンプリングする。ゲーム処理手段は、サンプリングした指示座標（点）の各々と、基準線との距離を算出し、算出結果を時系列に従う順序で使用する。
【００３１】
請求項７の発明によれば、プレイヤの操作の時系列変化を当該時系列に従ってゲームに反映することができる。
【００３２】
請求項８の発明は請求項７に従属し、指示座標取得手段によって取得された指示座標のうち、指示開始座標から所定距離毎に基準線と直交する線上に存在する指示座標を抽出する抽出手段をさらに備え、ゲーム処理手段は、抽出手段によって抽出された指示座標と、基準線との距離を算出する。
【００３３】
請求項８の発明では、抽出手段（４０，Ｓ３９５）は、指示開始座標から所定距離毎に基準線と直交する線上に存在する指示座標を抽出する。つまり、基準線を等間隔に分割し、分割した点を通る直線が軌跡と交わる点を時系列に従ってサンプリングする。ゲーム処理手段は、このサンプリングした点と基準線との距離を算出して、時系列に従う順序でゲームに利用する。
【００３４】
請求項８の発明によれば、入力軌跡から所望の点を抽出して、ゲームに利用することができる。
【００３５】
請求項９の発明は請求項７に従属し、指示座標取得手段によって取得された指示座標のうち、指示開始座標の取得に続いて所定時間毎に取得された指示座標を抽出する抽出手段をさらに備え、ゲーム処理手段は、抽出手段によって抽出された指示座標と、基準線との距離を算出する。
【００３６】
請求項９の発明では、所定時間毎に、入力軌跡上の点をサンプリングし、サンプリングした点と基準線との距離を算出するようにした以外は、請求項７の発明と同様である。
【００３７】
請求項９の発明においても、請求項８の発明と同様に、入力軌跡から所望の点を抽出して、ゲームに利用することができる。
【００３８】
請求項１０の発明は請求項１ないし９のいずれかに従属し、ゲーム処理手段は、ゲームの入力値の各々によって、異なるタイミングにおける移動オブジェクトの移動パラメータを設定する。
【００３９】
請求項１０の発明では、ゲーム処理手段は、ゲームの入力値の各々によって、異なるタイミングにおける移動オブジェクト（１０６）の移動パラメータを設定する。上述したように、サンプリングした指示座標と基準線との距離を、時系列に従う順序でゲームの入力値として使用するので、異なるタイミングにおける移動オブジェクトの移動パラメータが設定される。たとえば、一定時間毎に移動パラメータを設定することができるので、入力軌跡が移動オブジェクトの移動に反映される。
【００４０】
請求項１０の発明によれば、入力軌跡が移動オブジェクトの移動に反映されるので、ゲームの面白味を向上させることができる。
【００４１】
請求項１１の発明は請求項１ないし１０のいずれかに従属し、ゲーム処理手段は、基準線の方向を移動オブジェクトのパラメータとして使用する。
【００４２】
請求項１１の発明では、ゲーム処理手段は、基準線の方向を移動オブジェクトのパラメータとして使用する。たとえば、基準線の方向を移動オブジェクトの移動方向に設定したり、基準線の方向（傾き）に応じて移動オブジェクトの回転量および回転方向を設定したりすることができる。
【００４３】
請求項１１の発明によれば、入力軌跡のみならず基準線も移動オブジェクトのパラメータとして使用するので、簡単な操作でより多彩な動きを移動オブジェクトに実行させることができる。
【００４４】
請求項１２の発明は、指示座標検出手段、指示開始座標記憶手段、基準線決定手段、指示座標取得手段、およびゲーム処理手段を備える、ゲーム装置である。指示座標検出手段は、少なくとも２次元の操作領域における指示座標を検出する。指示開始座標記憶手段は、指示座標検出手段によって指示座標の検出が開始されたときの当該指示座標を指示開始座標として記憶手段に記憶する。基準線決定手段は、指示開始座標を通る基準線を決定する。指示座標取得手段は、指示開始座標に連続して入力される指示座標を取得し、記憶手段に記憶する。そして、ゲーム処理手段は、指示座標取得手段によって取得された指示座標に基く軌跡上の所定点と、基準線決定手段によって決定された基準線との位置関係をゲームの入力値として用いる。
【００４５】
請求項１２の発明においても、請求項１の発明と同様に、ゲームの面白さを向上させることができる。
【００４６】
請求項１３の発明は、ゲーム装置のゲームプログラムであって、当該ゲーム装置のコンピュータを、指示座標検出手段、指示開始座標記憶手段、基準線決定手段、指示座標取得手段、およびゲーム処理手段として機能させる、ゲームプログラムである。指示座標検出手段は、少なくとも２次元の操作領域における指示座標を検出する。指示開始座標記憶手段は、指示座標検出手段によって指示座標の検出が開始されたときの当該指示座標を指示開始座標として記憶手段に記憶する。基準線決定手段は、指示開始座標を通る基準線を決定する。指示座標取得手段は、指示開始座標に連続して入力される指示座標を取得し、記憶手段に記憶する。そして、ゲーム処理手段は、指示座標取得手段によって取得された指示座標と、基準線決定手段によって決定された基準線との位置関係をゲームの入力値として用いる。
【００４７】
請求項１３の発明においても、請求項１の発明と同様に、ゲームの面白さを向上させることができる。
【００４８】
請求項１４の発明は、ゲーム装置のゲームプログラムであって、当該ゲーム装置のコンピュータを、指示座標検出手段、指示開始座標記憶手段、基準線決定手段、指示座標取得手段、およびゲーム処理手段として機能させる、ゲームプログラムである。指示座標検出手段は、少なくとも２次元の操作領域における指示座標を検出する。指示開始座標記憶手段は、指示座標検出手段によって指示座標の検出が開始されたときの当該指示座標を指示開始座標として記憶手段に記憶する。基準線決定手段は、指示開始座標を通る基準線を決定する。指示座標取得手段は、指示開始座標に連続して入力される指示座標を取得し、記憶手段に記憶する。そして、ゲーム処理手段は、指示座標取得手段によって取得された指示座標に基く軌跡上の所定点と、基準線決定手段によって決定された基準線との位置関係をゲームの入力値として用いる。
【００４９】
請求項１４の発明においても、請求項１の発明と同様に、ゲームの面白さを向上させることができる。
【発明の効果】
【００５０】
この発明によれば、プレイヤの操作の仕方がゲームに反映されるので、ゲームの面白さを向上させることができる。
【００５１】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００５２】
図１を参照して、この発明の一実施例であるゲーム装置１０は、第１の液晶表示器（ＬＣＤ）１２および第２のＬＣＤ１４を含む。このＬＣＤ１２およびＬＣＤ１４は、所定の配置位置となるようにハウジング1６に収納される。この実施例では、ハウジング１６は、上側ハウジング１６ａと下側ハウジング１６ｂとによって構成され、ＬＣＤ１２は上側ハウジング１６ａに収納され、ＬＣＤ１４は下側ハウジング１６ｂに収納される。したがって、ＬＣＤ１２とＬＣＤ１４とは縦（上下）に並ぶように近接して配置される。
【００５３】
なお、この実施例では、表示器としてＬＣＤを用いるようにしてあるが、ＬＣＤに代えて、ＥＬ(Electronic Luminescence)ディスプレイやプラズマディスプレイを用いるようにしても良い。また、据置型ゲーム機や業務用ゲーム機などの場合には、ＣＲＴディスプレイなどを用いるようにしても良い。
【００５４】
図１からも分かるように、上側ハウジング１６ａは、ＬＣＤ１２の平面形状よりも少し大きな平面形状を有し、一方主面からＬＣＤ１２の表示面を露出するように開口部が形成される。一方、下側ハウジング１６ｂは、その平面形状が上側ハウジング１６ａよりも横長に選ばれ、横方向の略中央部にＬＣＤ１４の表示面を露出するように開口部が形成される。また、下側ハウジング１６ｂには、音抜き孔１８が形成されるとともに、操作スイッチ２０（２０ａ，２０ｂ，２０ｃ，２０ｄ，２０ｅ，２０Ｌおよび２０Ｒ）が設けられる。
【００５５】
また、上側ハウジング１６ａと下側ハウジング１６ｂとは、上側ハウジング１６ａの下辺（下端）と下側ハウジング１６ｂの上辺（上端）の一部とが回動可能に連結されている。したがって、たとえば、ゲームをプレイしない場合には、ＬＣＤ１２の表示面とＬＣＤ１４の表示面とが対面するように、上側ハウジング１６ａを回動させて折りたたんでおけば、ＬＣＤ１２の表示面およびＬＣＤ１４の表示面に傷がつくなどの破損を防止することができる。ただし、上側ハウジング１６ａと下側ハウジング１６ｂとは、回動可能に連結せずに、それらを一体的（固定的）に設けたハウジング１６を形成するようにしても良い。
【００５６】
操作スイッチ２０は、方向指示スイッチ（十字スイッチ）２０ａ，スタートスイッチ２０ｂ、セレクトスイッチ２０ｃ、動作スイッチ（Ａボタン）２０ｄ、動作スイッチ（Ｂボタン）２０ｅ、動作スイッチ（Ｌボタン）２０Ｌおよび動作スイッチ（Ｒボタン）２０Ｒを含む。スイッチ２０ａ，２０ｂおよび２０ｃは、下側ハウジング１６ｂの一方主面であり、ＬＣＤ１４の左側に配置される。また、スイッチ２０ｄおよび２０ｅは、下側ハウジング１６ｂの一方主面であり、ＬＣＤ１４の右側に配置される。さらに、スイッチ２０Ｌおよびスイッチ２０Ｒは、それぞれ、下側ハウジング１６ｂの上端（天面）の一部であり、上側ハウジング１６ａとの連結部以外に当該連結部を挟むように、左右に配置される。
【００５７】
方向指示スイッチ２０ａは、ディジタルジョイスティックとして機能し、４つの押圧部の１つを操作することによって、プレイヤによって操作可能なプレイヤキャラクタ(またはプレイヤオブジェクト)の移動方向を指示したり、カーソルの移動方向を指示したりする等に用いられる。スタートスイッチ２０ｂは、プッシュボタンで構成され、ゲームを開始（再開）したり、一時停止したりする等に用いられる。セレクトスイッチ２０ｃは、プッシュボタンで構成され、ゲームモードの選択等に用いられる。
【００５８】
動作スイッチ２０ｄすなわちＡボタンは、プッシュボタンで構成され、方向指示以外の動作、すなわち、プレイヤキャラクタに打つ（パンチ）、投げる、つかむ（取得）、乗る、ジャンプするなどの任意のアクションをさせることができる。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かす等を指示することができる。また、ロールプレイングゲーム(ＲＰＧ)やシミュレーションＲＰＧにおいては、アイテムの取得、武器やコマンドの選択および決定等を指示することができる。動作スイッチ２０ｅすなわちＢボタンは、プッシュボタンで構成され、セレクトスイッチ２０ｃで選択したゲームモードの変更やＡボタン２０ｄで決定したアクションの取り消し等のために用いられる。
【００５９】
動作スイッチ（左押しボタン）２０Ｌおよび動作スイッチ（右押しボタン）２０Ｒは、プッシュボタンで構成され、左押しボタン（Ｌボタン）２０Ｌおよび右押しボタン（Ｒボタン）２０Ｒは、Ａボタン２０ｄおよびＢボタン２０ｅと同様の操作に用いることができ、また、Ａボタン２０ｄおよびＢボタン２０ｅの補助的な操作に用いることができる。
【００６０】
また、ＬＣＤ１４の上面には、タッチパネル２２が装着される。タッチパネル２２としては、たとえば、抵抗膜方式、光学式(赤外線方式)および静電容量結合式のいずれかの種類のものを用いることができる。また、タッチパネル２２は、その上面（検出面）をスティック２４ないしはペン（スタイラスペン）或いは指（以下、これらを「スティック２４等」という場合がある。）で、押圧したり、撫でたり、触れたりすることにより操作すると、スティック２４等の操作位置の座標を検出して、検出した座標（検出座標）に対応する座標データを出力する。
【００６１】
この実施例では、ＬＣＤ１４（ＬＣＤ１２も同じ、または略同じ。）の表示面の解像度は２５６ｄｏｔ×１９２ｄｏｔであり、タッチパネル２２の検出面の検出精度もその解像度に対応して２５６ｄｏｔ×１９２ｄｏｔとしてある。ただし、タッチパネル２２の検出面の検出精度は、ＬＣＤ１４の表示面の解像度よりも低くてもよく、高くても良い。なお、以下の説明では、タッチパネル２２の検出座標は、左上隅を原点（０，０）とし、右水平方向をＸ軸正方向、下垂直方向をＹ軸正方向として説明する（ＬＣＤ１４（１２）の座標系も同様）。また、３次元ゲーム空間（ゴルフコース）は、水平面にＸＹ座標があり、鉛直方向にＺ軸があるとして説明する。
【００６２】
ＬＣＤ１２およびＬＣＤ１４には異なるゲーム画像（ゲーム画面）を表示することができる。したがって、プレイヤはスティック２４等でタッチパネル２２を操作することにより、ＬＣＤ１４の画面に表示されるプレイヤキャラクタ、敵キャラクタ、アイテムキャラクタ、文字情報、アイコン等のキャラクタ画像を指示（指定）したり、動作（移動）させたり、コマンドを選択したりすることができる。また、３次元ゲーム空間に設けられる仮想カメラ（視点）の方向を変化させたり、ゲーム画面をスクロール(徐々に移動表示)させたりすることもできる。
【００６３】
このように、ゲーム装置１０は、２画面分の表示部となるＬＣＤ１２およびＬＣＤ１４を有し、いずれか一方（この実施例では、ＬＣＤ１４）の上面にタッチパネル２２が設けられるので、２画面（１２，１４）と２系統の操作部（２０，２２）とを有する構成になっている。
【００６４】
また、この実施例では、スティック２４は、たとえば上側ハウジング１６ａの側面（右側面）近傍に設けられる収納部（収納穴）２６に収納することができ、必要に応じて取り出される。ただし、スティック２４を設けない場合には、収納部２６を設ける必要もない。
【００６５】
さらに、ゲーム装置１０はメモリカード（またはゲームカートリッジ）２８を含み、このメモリカード２８は着脱自在であり、下側ハウジング１６ｂの裏面ないしは下端（底面）に設けられる挿入口３０から挿入される。図１では省略するが、挿入口３０の奥部には、メモリカード２８の挿入方向先端部に設けられるコネクタ（図示せず）と接合するためのコネクタ４６（図２参照）が設けられており、したがって、メモリカード２８が挿入口３０に挿入されると、コネクタ同士が接合され、ゲーム装置１０のＣＰＵコア４２（図２参照）がメモリカード２８にアクセス可能となる。
【００６６】
なお、図１では表現できないが、下側ハウジング１６ｂの音抜き孔１８と対応する位置であり、この下側ハウジング１６ｂの内部にはスピーカ３２（図２参照）が設けられる。
【００６７】
また、図１では省略するが、たとえば、下側ハウジング１６ｂの裏面側には、電池収容ボックスが設けられ、また、下側ハウジング１６ｂの底面側には、電源スイッチ、音量スイッチ、外部拡張コネクタおよびイヤフォンジャックなどが設けられる。
【００６８】
図２はゲーム装置１０の電気的な構成を示すブロック図である。図２を参照して、ゲーム装置１０は電子回路基板４０を含み、この電子回路基板４０にはＣＰＵコア４２等の回路コンポーネントが実装される。ＣＰＵコア４２は、バス４４を介してコネクタ４６に接続されるととともに、ＲＡＭ４８、第１のグラフィック処理ユニット（ＧＰＵ）５０、第２のＧＰＵ５２、入出カインターフエース回路（以下、「Ｉ／Ｆ回路」という。）５４およびＬＣＤコントローラ６０が接続される。
【００６９】
コネクタ４６には、上述したように、メモリカード２８が着脱自在に接続される。メモリカード２８は、ＲＯＭ２８ａおよびＲＡＭ２８ｂを含み、図示は省略するが、ＲＯＭ２８ａおよびＲＡＭ２８ｂは、互いにバスで接続され、さらに、コネクタ４６と接合されるコネクタ（図示せず）に接続される。したがって、上述したように、ＣＰＵコア４２は、ＲＯＭ２８ａおよびＲＡＭ２８ｂにアクセスすることができるのである。
【００７０】
ＲＯＭ２８ａは、ゲーム装置１０で実行すべき仮想ゲーム（実施例では、ゴルフゲーム）のためのゲームプログラム、画像（キャラクタ画像、背景画像、アイテム画像、アイコン（ボタン）画像、メッセージ画像など）データおよびゲームに必要な音（音楽）のデータ（音データ）等を予め記憶する。ＲＡＭ（バックアップＲＡＭ）２８ｂは、そのゲームの途中データやゲームの結果データを記憶（セーブ）する。
【００７１】
ＲＡＭ４８は、バッファメモリないしはワーキングメモリとして使用される。つまり、ＣＰＵコア４２は、メモリカード２８のＲＯＭ２８ａに記憶されたゲームプログラム、画像データおよび音データ等をＲＡＭ４８にロードし、ロードしたゲームプログラムを実行する。また、ＣＰＵコア４２は、ゲームの進行に応じて一時的に発生するデータ（ゲームデータやフラグデータ）をＲＡＭ４８に記憶しつつゲーム処理を実行する。
【００７２】
なお、ゲームプログラム、画像データおよび音データ等は、ＲＯＭ２８ａから一度に全部、または部分的かつ順次的に読み出され、ＲＡＭ４８に記憶（ロード）される。
【００７３】
ＧＰＵ５０およびＧＰＵ５２は、それぞれ、描画手段の一部を形成し、たとえばシングルチップＡＳＩＣで構成され、ＣＰＵコア４２からのグラフィックスコマンド（作画命令）を受け、そのグラフィックスコマンドに従ってゲーム画像データを生成する。ただし、ＣＰＵコア４２は、グラフィックスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラム（ゲームプログラムに含まれる。）をＧＰＵ５０およびＧＰＵ５２のそれぞれに与える。
【００７４】
また、ＧＰＵ５０には、第１のビデオＲＡＭ（以下、「ＶＲＡＭ」という。）５６が接続され、ＧＰＵ５２には、第２のＶＲＡＭ５８が接続される。ＧＰＵ５０およびＧＰＵ５２が作画コマンドを実行するにあたって必要なデータ（画像データ：キャラクタデータやテクスチャ等のデータ）は、ＧＰＵ５０およびＧＰＵ５２が、それぞれ、第１のＶＲＡＭ５６および第２のＶＲＡＭ５８にアクセスして取得する。なお、ＣＰＵコア４２は、描画に必要な画像データをＧＰＵ５０およびＧＰＵ５２を介して第１のＶＲＡＭ５６および第２のＶＲＡＭ５８に書き込む。ＧＰＵ５０はＶＲＡＭ５６にアクセスして描画のためのゲーム画像データを作成し、ＧＰＵ５２はＶＲＡＭ５８にアクセスして描画のためのゲーム画像データを作成する。
【００７５】
ＶＲＡＭ５６およびＶＲＡＭ５８は、ＬＣＤコントローラ６０に接続される。ＬＣＤコントローラ６０はレジスタ６２を含み、レジスタ６２はたとえば１ビットで構成され、ＣＰＵコア４２の指示によって「０」または「１」の値（データ値）を記憶する。ＬＣＤコントローラ６０は、レジスタ６２のデータ値が「０」である場合には、ＧＰＵ５０によって作成されたゲーム画像データをＬＣＤ１２に出力し、ＧＰＵ５２によって作成されたゲーム画像データをＬＣＤ１４に出力する。また、ＬＣＤコントローラ６０は、レジスタ６２のデータ値が「１」である場合には、ＧＰＵ５０によって作成されたゲーム画像データをＬＣＤ１４に出力し、ＧＰＵ５２によって作成されたゲーム画像データをＬＣＤ１２に出力する。
【００７６】
なお、ＬＣＤコントローラ６０は、ＶＲＡＭ５６およびＶＲＡＭ５８から直接ゲーム画像データを読み出したり、ＧＰＵ５０およびＧＰＵ５２を介してＶＲＡＭ５６およびＶＲＡＭ５８からゲーム画像データを読み出したりする。
【００７７】
Ｉ／Ｆ回路５４には、操作スイッチ２０，タッチパネル２２およびスピーカ３２が接続される。ここで、操作スイッチ２０は、上述したスイッチ２０ａ，２０ｂ，２０ｃ，２０ｄ，２０ｅ，２０Ｌおよび２０Ｒであり、操作スイッチ２０が操作されると、対応する操作信号（操作データ）がＩ／Ｆ回路５４を介してＣＰＵコア４２に入力される。また、タッチパネル２２からの座標データがＩ／Ｆ回路５４を介してＣＰＵコア４２に入力される。さらに、ＣＰＵコア４２は、ゲーム音楽（ＢＧＭ）、効果音またはゲームキャラクタの音声（擬制音）などのゲームに必要な音データをＲＡＭ４８から読み出し、Ｉ／Ｆ回路５４を介してスピーカ３２から出力する。
【００７８】
図３は、この実施例のゲーム装置１０のＬＣＤ１２およびＬＣＤ１４に表示されるゲーム画面１００およびゲーム画面１２０の例を示す図解図である。図３を参照して、ＬＣＤ１２に表示されるゲーム画面１００には、その略中央にプレイヤキャラクタ１０２が表示され、ゴルフコースの一部が背景として表示される。つまり、プレイヤキャラクタ１０２の後方に仮想カメラ（図示せず）が設定され、プレイヤキャラクタおよび３次元ゲーム空間であるゴルフコースの一部が撮影され、撮影画像がゲーム画面１００として表示される。また、ゲーム画面１００では、プレイヤキャラクタ１０２はゴルフボール（以下、単に「ボール」という。）１０６を打つ体勢（アドレス）に入った状態を示してある。ゲーム画面１００は、後述するゲーム画面１２０を用いたプレイヤの操作に応じて変化され、主として、プレイヤキャラクタ１０２がゴルフクラブ（以下、単に「クラブ」という。）１０４をスイングし、ボール１０６を打撃し、当該ボール１０６が移動（飛ぶ、転がる、カップに入る等）するアニメーションを表示したり、ボール１０６が移動するときに、ボール１０６に追随して仮想カメラを移動し、当該仮想カメラによってボール１０６およびゴルフコースを撮影した画像を表示したりする。
【００７９】
なお、ゲーム画面１００には、プレイヤが選択したクラブ１０４の種類、そのクラブ１０４を用いた場合のプレイヤキャラクタ１０２の飛距離、ボール１０６の打撃位置および地面（ライ）の飛距離に対する影響が数値等で表示される。ただし、これらの情報に限定される必要はなく、ホール全体を示す縮小画像、風の方向および天候などを表示するようにしても良い。また、このような内容は、ゲーム画面１００に表示する必要はなく、後述するゲーム画面１２０に表示するようにしても良い。さらには、必要に応じて、選択的にゲーム画面１００またはゲーム画面１２０に表示するようにしても良い。
【００８０】
ゲーム画面１２０は、プレイヤがプレイヤキャラクタ１０２にボール１０６を打撃（ショット）させるための操作をするための画面である。このゲーム画面１２０には、ボール１０６とは異なるボール（以下、説明の都合上、「ターゲットボール」と呼ぶことにする。）１２２が画面上部に表示される。具体的には、ターゲットボール１２２は、インパクトライン１２４上であり、図３に示す例では、当該インパクトライン１２４の中心（中央）に表示される。このターゲットボール１２２は、スライド操作によって通過または打撃するための目標（所定領域）である。また、ゲーム画面１２０には、プレイヤキャラクタ１０２がボール１０６を打撃する時の力（打撃力）の最大値（１００％）を示すフルショットライン１２６が表示される。また、ゲーム画面１２０には、スティック２４でタッチオンした位置に、クラブヘッドの画像１２８が表示される。さらにまた、ターゲットボール１２２の上方には、ゲーム画面１００におけるボール１０６の飛び方すなわち球筋（ストレート、フェードまたはドロー）を示す指示画像１３０が表示される。
【００８１】
この実施例では、上述したように、プレイヤがゲーム画面１２０（タッチパネル２２）上で、タッチ入力をすることにより、ゲーム画面１００に表示されたプレイヤキャラクタ１０２にボール１０６を打撃させる。なお、この実施例では、ＬＣＤ１４の画面全体に打撃操作のためのゲーム画面１２０を表示するようにしたが、ゲーム画面１２０をＬＣＤ１４の一部領域に表示するようにしても良い。これ以降では、図面を用いて、ゲーム画面１２０の表示例およびタッチ入力例について、具体的に説明する。
【００８２】
まず、プレイヤは、プレイヤキャラクタ１０２にボール１０６を打撃させる操作（打撃操作）を行う前に、図４に示すようなメニュー画面２００をＬＣＤ１４に表示させて、プレイヤキャラクタ１０２が使用するクラブ１０４の種類およびショット（打撃）の種類を変更（設定）することができる。この実施例では、プレイヤキャラクタ１０２がボール１０６を打撃する前では、ボール１０６の現在位置の状態（ライの状態）やその現在位置からピンまでの距離に応じて、適切なクラブ１０４が自動的に選択されるため、クラブ１０４をプレイヤの戦略等により変更可能にしてある。また、この実施例では、プレイヤキャラクタ１０２がボール１０６を打撃する前では、選択されたクラブ１０４の種類に拘わらず、ショットの種類（以下、「ショットタイプ」という。）は「ノーマルショット」に予め設定されるため、これもプレイヤの戦略等により変更可能にしてある。
【００８３】
メニュー画面２００は、選択中のクラブ１０４の種類を表示するとともに、ショットタイプ（ノーマルショット（Ｎ）、チップショット（Ｃ）、ロブショット（Ｌ）、ピッチショット（Ｐ）およびピッチ＆ランショット（Ｒ））を選択および表示するための上部表示部２０２およびクラブ１０４の種類を選択するためのボタン表示部２０４を含む。さらに、上部表示部２０２は、選択中のクラブ１０４の種類を表示する第１表示部２０２ａおよびショットタイプを選択するためのボタンを表示する第２表示部２０２ｂを含む。たとえば、プレイヤは、所望のクラブ１０４の種類およびショットタイプを、タッチ入力（タッチ操作）により選択することができる。
【００８４】
なお、図４では、ボタンの内部に斜線を施すことにより、クラブ１０４の種類として、ドライバー（１番ウッド・クラブ（１Ｗ））が選択され、ショットタイプとして、ノーマルショット（Ｎ）が選択された状態を示してある。実際には、色反転や輝度の違い等により、選択状態が表現される。
【００８５】
また、このメニュー画面２００は、プレイヤが所定のアイコンないしボタンをタッチ操作することにより、ＬＣＤ１４に表示される。ただし、セレクトスイッチ２０ｃのようなスイッチ２０の操作により、表示させるようにしても良い。
【００８６】
このように、クラブ１０４の種類およびショットタイプを選択（変更）した後、ショット方向（打ち出し基準方向）が設定される。ここで、打ち出し基準方向とは、クラブ１０４がボール１０６に真っ直ぐヒットして、ボール１０６が真っ直ぐ飛ぶ場合の方向を意味する。また、ここで設定されるショット方向は、水平面における方向であり、３次元仮想空間のＸＹ平面におけるベクトルデータとして設定され、ボール１０６の現在位置からピン（カップ）に向かう方向に自動的に設定される。ただし、プレイヤは十字スイッチ２０ａの操作に応じてショット方向を変更することが可能である。具体的には、十字スイッチ２０ａの左指示部を操作することによって、ショット方向は、ボール１０６の現在位置を中心として、現在の方向から左方向に回転し、十字スイッチ２０ａの右指示部を操作することによって、右方向に回転する。
【００８７】
なお、十字スイッチ２０ａの操作に代えて、ＬＣＤ１４上に表示されるタッチパネル２２による操作としても良い。また、鉛直面におけるボール１０６の方向（以下、分かり易く説明するために、「打ち出し角度」と言う。）は、クラブ１０４のロフト角データ等に基づいて、別途設定される。
【００８８】
この後、プレイヤは、ゲーム画面１２０上において打撃操作を行う。たとえば、プレイヤがスティック２４を用いて、図３に示すゲーム画面１２０のインパクトライン１２４よりも下側の領域（後述するショットエリア（１）またはエリア（３））をタッチオンすると、タッチオンした位置の座標（タッチオン座標）に応じて、プレイヤキャラクタ１０２の打撃力およびスタンスが決定される。ただし、ターゲットボール１２２の表示領域内は、ショットエリアから除外しても構わない。決定されたスタンスによって、プレイヤキャラクタ１０２が打撃するボール１０６の打ち出し（飛び出し）方向が補正され、サイドスピン値（水平方向の回転（スピン）方向および回転量を示す値）が決定される。ただし、スタンスによって、サイドスピン値のみを決定しても良い。
【００８９】
ここで、決定される打ち出し方向は、ボール１０６の直進方向（前述の通り、決定された打ち出し基準方向）を基準（０度）とした場合における水平方向（左右方向）の角度（−９０度〜９０度）である。また、決定されるサイドスピン値は、ボール１０６の横回転（サイドスピン；左右の回転）の回転方向および回転量を示す値であり、縦回転（トップスピンまたはバックスピン）は図示しない設定画面（設定領域）で別途設定することができる。
【００９０】
また、ゲーム画面１２０では、水平方向の直線上であれば、スティック２４によって、いずれの位置をタッチオン（指示）した場合であっても、同じ打撃力が設定される。すなわち、タッチ座標のＹ座標が同じであれば同じ打撃力が設定される。ここで、インパクトライン１２４とフルショットライン１２６との直線距離（説明の都合上、「第１直線距離」という。）に対応する打撃力を１００％とし、その第１直線距離に対するタッチ座標のＹ座標とインパクトライン１２４との直線距離（説明の都合上、「第２直線距離」）の比率を算出する。算出した比率を１００％に掛ければ、打撃力（ショットパワー値）が算出（決定）される。ただし、タッチ座標がフルショットエリア（図６参照）内であれば、上述のような演算は不要であり、ショットパワー値は１００％に決定される。このように、タッチオン時のタッチ座標のＹ座標に基づいて打撃力が設定される。より具体的には、タッチオン時のＹ座標とインパクトライン１２４のＹ座標（またはターゲットボール１２２の中心のＹ座標）の差分に基づいて打撃力が設定される。
【００９１】
この実施例では、ショットパワー値を視認可能にしてある。ただし、簡単のため、ショットパワー値は一の位を切り捨てる（または、四捨五入する）ことにより、０〜１００％の間で、１０％毎に表示するようにしてある。具体的には、図５（Ａ）に示すように、フルショットライン１２６上をスティック２４でタッチした場合には、ショットパワー値が１００％に決定され、そのショットパワー値「１００％」が表示されるとともに、ショットパワーライン１２７が表示される。なお、図５（Ａ）に示す例では、フルショットライン１２６上にショットパワーライン１２７が表示される。また、図５（Ａ）（図５（Ｂ）も同じ。）では、ショットパワーライン１２７を分かり易く示すために、斜線を設けてある。しかし、実際には、線の色彩や模様を変えることにより、ショットパワーライン１２７は、インパクトライン１２４やフルショットライン１２６と区別される。また、インパクトライン１２４とフルショットライン１２６との間をスティック２４でタッチした場合には、上述した算出方法でショットパワー値が算出される。たとえば、図５（Ｂ）には、ショットパワー値が３０％に決定された場合に、そのショットパワー値「３０％」とショットパワーライン１２７とが表示される様子が示される。
【００９２】
また、ボール１０６の飛距離Ｆは、打撃力（ショットパワー値）等を用いて数１に従って算出される。ただし、Ｋはクラブ（１Ｗ〜ＰＴ）１０４に応じて設定された最大飛距離（クラブ飛距離）である。Ｐは上述したように算出されるショットパワー値（打撃力）であり、０〜１００％の値を持つ。Ｔはスイング時間が規定時間以上となった場合の補正値（スイング時間補正値）であり、１〜１００％の値を持ち、マイナス補正される。なお、スイング時間については後述する。Ｌはボール１０６の現在位置のライの状態によって決定される補正値（ライ補正値）であり、０〜９９％の値で決定され、マイナス補正される。
【００９３】
[数１]
Ｆ＝Ｋ×Ｐ×（１００−Ｔ）×（１００−Ｌ）×α
なお、αは上述した補正値とは異なる補正値であり、コース（ホール）の風や雨またはその両方による補正値、打点設定（弾道の高さ）すなわちショットタイプによる補正値、スイング速度に基づく打撃力（ショットパワー）の補正値（パワーロス補正値）、打ち出し角度補正（インパクト時）およびスピン補正値（トップスピンまたはバックスピン）などであり、また、重力・空気抵抗・揚力・反発係数・摩擦係数なども含む。ただし、これらのいずれか１つで補正値αを決定してもよく、２つ以上の組み合わせで決定するようにしても良い。
【００９４】
また、この実施例では、図５（Ａ）および図５（Ｂ）に示したように、ターゲットボール１２２からのＹ方向の距離が離れるに従ってショットパワー値が大きくなるように設定され、さらには飛距離Ｆが長くなるようにしてある。しかし、ゲームの種類によっては、ターゲットボール１２２からの距離が離れる（長くなる）に従って、パラメータが小さくされるようにしても良い。この場合には、たとえば、パラメータの小さい方が有利なゲーム展開となる。
【００９５】
なお、この実施例では、タッチＹ座標が同じであれば同じ打撃力が設定されるようにしたが、ターゲットボール１２２からの２次元距離が大きくなるに従って打撃力が大きくなるようにしても良い。この場合、同じ打撃力が設定される座標はターゲットボール１２２を中心とする同心円上（半円）に設定される。
【００９６】
また、上述したように、タッチオン座標（より具体的にはタッチオン時のＸ座標）に基づいて、プレイヤキャラクタ１０２のスタンスが決定される。図３に戻って、具体的には、スティック２４でタッチオンした位置がゲーム画面１２０の中央から左側（左寄り）である場合には、クローズドスタンスとされる。また、スティック２４でタッチオンした位置がゲーム画面１２０の中央から右側（右寄り）である場合には、オープンスタンスとされる。さらに、スティック２４でタッチオンした位置がゲーム画面１２０の中央ないしその近傍である場合には、スクェアスタンスが設定される。ただし、スクェアスタンスが設定されるゲーム画面１２０の中央およびその近傍は、図３において点線で示す範囲である。つまり、この実施例では、スクェアスタンスが設定される範囲は、ターゲットボール１２２の横方向の幅と同じ或いは略同じに設定される。
【００９７】
後述するように、ターゲットボール１２２の位置は移動される場合があるため、厳密には、ターゲットボール１２２の中心を通り、垂直方向に延びる直線（以下、「スタンス基準線１４０」という。）に基づいてスタンスを設定するようにしてある。したがって、スタンス基準線１４０から一定距離（この実施例では、ターゲットボール１２２の半径である。以下、同じ。）以上右側をタッチした場合には、オープンスタンスに設定される。また、スタンス基準線１４０から一定距離以上左側をタッチした場合には、クローズドスタンスが設定される。さらに、スタンス基準線１４０の左右一定距離未満である場合には、スクェアスタンスが設定される。これは、ターゲットボール１２２が移動されても同様であり、ターゲットボール１２２の移動に従ってスタンス基準線１４０も移動される。ただし、スタンス基準線１４０はゲーム画面１２０には表示されない。
【００９８】
上述のように決定されるスタンスは、ボール１０６の打ち出し方向に影響を与えるとともに、ボール１０６のサイドスピン値を決定するために使用される。ボール１０６の打ち出し方向は、前述の打ち出し基準方向（ベクトル）を、上述のように決定されるスタンスに応じて補正することにより決定される。具体的には、オープンスタンスの場合は打ち出し基準方向を水平方向の左方向に補正する。より具体的には、打ち出し基準方向ベクトルに水平方向の左方向（打ち出し基準方向を正面とする左方向）のベクトルを加える。加えるベクトルの大きさはタッチ座標のＸ座標によって変化する。クローズドスタンスの場合は打ち出し基準方向を水平方向の右方向に補正する。
【００９９】
また、ボール１０６のサイドスピン値は、スピンの方向およびスピンの量を示すが、オープンスタンスの場合は、フェードボール（右方向のスピン）を示す値が設定され、クローズドスタンスの場合は、ドローボール（左方向のスピン）を示す値が設定される。このように決定されるサイドスピン値は、打ち出し後のボール１０６の水平方向の移動方向を変化させるために利用され、典型的には、前回のフレーム（画面更新単位時間（１／６０秒））におけるボール１０６の水平方向の移動方向ベクトルに対して、サイドスピン値が示すスピンの方向のベクトルを加えて、今回のフレームにおける水平方向の移動方向ベクトルが決定される。ただし、スピンの方向のベクトルの大きさは、タッチ座標のＸ座標によって変化する。また、後述するように、サイドスピン値は、プレイヤのタッチ入力（打撃操作）に応じて補正される。つまり、プレイヤの操作の仕方によって水平方向（移動方向）ベクトルが補正されるのである。
【０１００】
なお、タッチオン時のＸ座標と、ターゲットボール１２２の中心のＸ座標（スタンス基準線１４０のＸ座標）との差が大きいほど、打ち出し方向を大きく補正し、また、サイドスピン値（スピンの量）が大きくなるように設定される。また、たとえば、ボール１０６の移動とともにサイドスピン値（スピンの量）を減衰させても良い。
【０１０１】
また、打ち出し方向や、打ち出し後のボール１０６の移動方向は、風速・風向きによる補正値や重力・空気抵抗・揚力・反発係数・摩擦係数によって補正をしても良い。
【０１０２】
このように、プレイヤがスティック２４でゲーム画面１２０（タッチパネル２２）上をタッチオンすると、そのタッチオン座標（２次元座標）に基づいて、打撃力およびスタンスが設定されるのである。具体的には、タッチオン座標のＹ座標に基づいて打撃力が設定され、タッチオン座標のＸ座標に基づいてスタンスが設定される。また、スタンスによって、打ち出し方向が補正され、サイドスピン値が決定される。ただし、後述するように、タッチオン座標は、スイング操作（スライド操作）のやり直しにより、更新される場合がある。
【０１０３】
なお、上述したように、ＬＣＤ１４の解像度とタッチパネル２２の検出精度とは同じであり、また、座標係も同じであるため、タッチ座標に基づいて、ＬＣＤ１４上のタッチ位置（操作位置）を容易に特定することができる。
【０１０４】
また、打撃力を設定する範囲（ショットエリア）の大きさは、使用するクラブに応じて変化される。図６（Ａ）には、ドライバー（１Ｗ）を用いる場合のショットエリア（１）を示すゲーム画面１２０が表示される。また、図６（Ｂ）には、パター（ＰＴ）を用いる場合のショットエリア（１）を示すゲーム画面１２０が表示される。図６（Ａ）および図６（Ｂ）に示す例では、ショットエリア（１）は、フルショットエリア（２）とそれ以外の（他の）エリア（３）とによって構成される。また、ショットエリア（１）以外のインパクトエリア（４）が設けられる。上述したように、ショットエリア（１）の大きさは変化されるが、フルショットエリア（２）は固定的に設けられる。つまり、他のエリア（３）およびインパクトエリア（４）の大きさが変化されるのである。この実施例では、使用するクラブ１０４に応じて、インパクトライン１２４の位置を上下に変更することにより、インパクトライン１２４とフルショットライン１２６との間の距離を変化させた。しかし、フルショットライン１２６の位置を上下に変更することにより、インパクトライン１２４とフルショットライン１２６との間の距離を変化させるようにしても良い。もちろん、両方のラインを上下に移動させても良い。こうして、インパクトライン１２４および／またはフルショットライン１２６を移動させたときには、各Ｙ座標に対応する打撃力も変更される。
【０１０５】
一般的に、実際のゴルフをプレイする場合には、長いクラブになるにつれてショット（インパクト）の難易度が高く、逆に短いクラブになるにつれてショットの難易度は低くなる。このため、図６（Ｂ）に示すように、ＰＴを用いる場合には、ショットエリア（１）を小さくして、フルショットライン１２６からターゲットボール１２２までの距離を短くし、スライド操作（スイング操作）すなわち打撃操作を簡単にしているのである。また、ショットエリア（１）の大きさを変化させるのは、ボール１０６の移動距離（飛距離、転がる距離）の大小を決定するためでもある。ただし、クラブ１０４の種類に拘わらず、打撃力の大きさは０〜１００％で設定される。この０〜１００％で表される打撃力が、プレイヤキャラクタ１０２および当該プレイヤキャラクタ１０２が使用するクラブ１０４の種類に応じて設定されるクラブ飛距離Ｋである。ただし、実際の飛距離Ｆは、上述したように、数１に従って算出される。
【０１０６】
なお、ＰＴの場合のショットエリア（１）の大きさが最小であり、図示は省略するが、１ＷとＰＴとの間のクラブ１０４では、１ＷからＰＴに向けてクラブ１０４の長さが短くなるにつれて、ショットエリア（１）が次第に小さくなるように変化される。ただし、ＰＴの場合のショットエリア（１）の大きさは、他のクラブ１０４とは別扱いとしても良い。たとえば、ＰＴの場合は、或る程度ショットエリア（１）を大きくしても良い。
【０１０７】
また、上述したように、タッチオン座標のＸ座標によって、スタンスが設定される。タッチオン座標のＸ座標に応じてスタンスが設定されると、後述するように、設定されたスタンスに応じて、ゲーム画面１００に表示されるクラブ１０４のフェイスの向きが分かるように、ゲーム画面１２０に表示されるクラブヘッドの画像１２８の向きが変化される（図７〜図９参照）。したがって、たとえば、図７に示すように、スティック２４で、ゲーム画面１２０（ここでは、フルショットエリア（２））の中央またはその近傍をタッチオンすると、スクウェアスタンスが設定され、ターゲットボール１２２に対してクラブフェイスが正面を向くようにクラブヘッドの画像１２８が表示される。また、図８の点線で示すように、スティック２４で、ゲーム画面１２０（ここでは、フルショットエリア（２））の中央から右側をタッチオンすると、オープンスタンスが設定され、ターゲットボール１２２に対してクラブフェイスが正面を向くようにクラブヘッドの画像１２８が表示される。さらに、図９に示すように、スティック２４で、ゲーム画面１２０（ここでは、フルショットエリア（２））の中央から左側をタッチオンすると、クローズドスタンスが設定され、ターゲットボール１２２に対してクラブフェイスが正面を向くようにクラブヘッドの画像１２８が表示される。
【０１０８】
ただし、図７〜図９は、ターゲットボール１２２はゲーム画面１２０の中央に表示されている場合のクラブヘッドの画像１２８の表示例を示してある。
【０１０９】
このように、タッチオンにより、プレイヤキャラクタ１０２の打撃力およびスタンスが設定されると、そのタッチオンの操作に続いて（連続して、すなわち、タッチオフせずに）、プレイヤがスティック２４等をスライドさせて、スティック２４等でターゲットボール１２２を打撃するように操作（打撃操作）する。
【０１１０】
以下、図７〜図９を用いて打撃操作について説明する。図７に示すゲーム画面１２０では、プレイヤがスティック２４を用いて、フルショットエリア（２）であり、ゲーム画面１２０の中央をタッチオンした後に、白抜き矢印で示すように、ゲーム画面１２０上をその下から上に向けて真っ直ぐスライド操作して、スティック２４（スライド操作の軌跡）がターゲットボール１２２上を通過している様子を示してある。この場合には、打撃操作の後、ゲーム画面１００では、プレイヤキャラクタ１０２が打撃したボール１０６が真っ直ぐ飛んで行く様子のアニメーションが表示される。つまり、いわゆるストレートボールとなる。
【０１１１】
ただし、図７では、スライド操作の軌跡がターゲットボール１２２の中心またはその近傍を通過した場合についてのボール１０６の球筋を説明してある。なお、後述するように、スライド操作の軌跡がターゲットボール１２２を通過する位置（インパクト位置ないしインパクト点）に応じて、インパクトがグッドショット、プッシュボールのショット、プルボールのショットまたはミスショットのいずれかに分類され、ボール１０６の球筋に変化が与えられる。これは、図８および図９に示す場合についても同様である。
【０１１２】
また、図８に示すゲーム画面１２０では、プレイヤがスティック２４を用いて、フルショットエリア（２）であり、ゲーム画面１２０の中央から右寄りをタッチオンした後に、白抜き矢印で示すように、ゲーム画面１２０上をその下から左斜め上に向けてスライド操作して、スティック２４（スライド操作の軌跡）がターゲットボール１２２上を通過している様子が示される。つまり、アウトサイドイン軌道でスイングさせる操作入力が実行された状態を示す。この場合には、ゲーム画面１００では、プレイヤキャラクタ１０２が打撃したボール１０６は打ち出し基準方向を基準として左斜め方向に飛び出し、その向きに或る程度真っ直ぐ飛んだ後に右方向に曲がるような球筋となる。つまり、いわゆるフェードボールとなる。
【０１１３】
ここで、ボール１０６の曲がり具合は、タッチオン座標がゲーム画面１２０に表示されるターゲットボール１２２の中央（スイング基準線１４０）からどのくらい離れているかに応じて決定される。つまり、サイドスピン値に応じて決定される。たとえば、図１０（Ａ）に示すように、タッチオン座標Ｐ１がターゲットボール１２２の中央からの距離Ｄ＝ｄ１（＜ｄ２）である場合に比べて、図１０（Ｂ）に示すように、タッチオン座標Ｐ２がターゲットボール１２２の中央からの距離Ｄ＝ｄ２である場合の方が、同じインパクト点（たとえば、ターゲットボール１２２の中心）をスライド操作しても、ボール１０６の曲がり具合は大きくなる（前述のサイドスピン値が大きく設定される）。また、図１０（Ａ）および図１０（Ｂ）に示すように、タッチオン座標に応じて指示画像１３０の曲がり具合が変化するため、プレイヤはボール１０６の曲がり具合を直感的に知ることができる。
【０１１４】
ただし、図１０（Ａ）および図１０（Ｂ）から分かるように、タッチオン座標がターゲットボール１２２の中心から横方向に離れるに従って、ターゲットボール１２２までの距離が長くなるため、打撃操作（スライド操作）の難易度が高くなる。すなわち、フェードボールやドローボールを駆使しようとすると、ゲーム操作の難易度が上がるようになっている。ただし、図１０（Ａ）では、スライド操作する距離、すなわちタッチ座標とターゲットボール１２２の中心（中心座標）との距離Ｌをｌ１（＜ｌ２）で表し、図１０（Ｂ）では、距離Ｌをｌ２で表してある。
【０１１５】
なお、上述したように、スライドする距離が長くなると、打撃操作が困難になるが、打撃操作が熟練すれば、打撃するボール１０６の球筋を自在に操ることができ、難易度の高いコース或いはコース内の難しい場所であってもミスショットを無くしてゲームプレイできるのである。
【０１１６】
図９に戻って、このゲーム画面１２０では、プレイヤがスティック２４を用いて、フルショットエリア（２）であり、ゲーム画面１２０の中央から左寄りをタッチオンした後に、白抜き矢印で示すように、ゲーム画面１２０上をその下から右斜め上に向けてスライド操作して、スティック２４（スライド操作の軌跡）がターゲットボール１２２上を通過している様子が示される。つまり、インサイドアウト軌道でスイングさせる操作入力が実行された状態を示す。この場合には、ゲーム画面１００では、プレイヤキャラクタ１０２が打撃したボール１０６は右斜め方向に飛び出し、その向きに或る程度真っ直ぐ飛んだ後に左方向に曲がるような球筋となる。つまり、いわゆるドローボールとなる。
【０１１７】
なお、タッチオン座標に応じてボール１０６の曲がり具合が変化する点と、スライドの距離が長くなるにつれて打撃操作の難易度が高くなる点は、図１０を用いて説明したのと同様であるため、同様の説明は省略することにする。
【０１１８】
図１１（Ａ）および図１１（Ｂ）は、ゲーム画面１２０の他の例を示す図解図である。図１１（Ａ）に示すゲーム画面１２０では、ターゲットボール１２２は、画面中央から左寄りに表示される。つまり、ターゲットボール１２２は、通常（中央）よりもＸ軸マイナス方向に移動して表示されている。一方、図１１（Ｂ）に示すゲーム画面１２０では、ターゲットボール１２２は、画面中央から右寄りに表示されるつまり、ターゲットボール１２２は、通常よりもＸ軸プラス方向に移動して表示されている。図１１（Ａ）は、右打ちのプレイヤキャラクタ１０２がつま先下がり（左打ちではつま先上がり）の場所でショットする場合に表示されるゲーム画面１２０である。一方、図１１（Ｂ）は、右打ちのプレイヤキャラクタ１０２がつま先上がり（左打ちではつま先下がり）の場所でショットする場合に表示されるゲーム画面１２０である。
【０１１９】
このように、プレイヤキャラクタ１０２がショットする場合に、ボール１０６の現在位置における地面の傾斜状態（ライの状態）または当該プレイヤキャラクタ１０２の姿勢に応じて、ターゲットボール１２２の位置を変化させるのは、実際にゴルフをプレイする場合と同様にショットの困難さを表現するためである。つまり、右打ちのプレイヤがつま先下がりでショットする場合には、ドローボールを打つのは困難であり、逆に、つま先上がりでショットする場合には、フェードボールを打つのは困難である。また、つま先下がりでドローボールを打った場合やつま先上がりでフェードボールを打った場合には、ボールは殆ど曲がらない。逆に、つま先下がりではフェードボール（またはスライス）になりやすく、つま先上がりではドローボール（またはフック）になりやすい。このため、そのような場合の打撃操作をリアルに表現するために、ターゲットボール１２２の位置を左右に移動させるようにしてある。具体的には、図１１（Ａ）に示すゲーム画面１２０では、ターゲットボール１２２の左側の範囲が狭いため、ドローボールが打ち難い。また、ドローボールを打ったとしても殆ど曲がらない。一方、図１１（Ｂ）に示すゲーム画面１２０では、ターゲットボール１２２の右側の範囲が狭いため、フェードボールが打ち難い。また、フェードボールを打ったとしても殆ど曲がらない。
【０１２０】
また、ターゲットボール１２２の位置は、次のようにして算出される。たとえば、仮想ゲームのマップデータ（地形データ）が高さについてのデータのみを有している場合には、プレイヤキャラクタ１０２の位置における地形の高さｈ１とボール１０６の位置における地形の高さｈ２とを地形データから取得して、その高低差ｄを数３に従って求めることができる。そして、数４に従って、ターゲットボール１２２の表示位置（ターゲットボール座標）のＸ座標ｘ（ｄｏｔ）が決定される。
【０１２１】
なお、プレイヤキャラクタ１０２の位置は、ボール１０６の位置を基準として、打ち出し基準方向に直交する方向に所定距離だけ（右打ちの場合は左方向に、左打ちの場合は右方向に）伸ばしたＸＹ位置における地表位置（Ｘ，Ｙ，Ｚ）に設定される。すなわち、プレイヤキャラクタ１０２のＸＹ位置とボール１０６のＸＹ位置を結ぶ水平面方向は打ち出し基準方向と直交する。なお、右打ちか左打ちかをプレイヤが選択可能として当該選択のデータを記憶し、当該データに基づいて、プレイヤキャラクタ１０２の画像を変更するとともに、上述のプレイヤキャラクタ１０２の位置の決め方を変更するようにしても良い。
【０１２２】
［数３］
ｄ（ｍ）＝ｈ２−ｈ１
［数４］
ｄ＜−０．１（ｍ）のとき、ｘ＝９６＋（ｄ＋０．１）×ｋ×９６
ｄ＞０．１（ｍ）のとき、ｘ＝９６＋（ｄ−０．１）×ｋ×９６
ただし、−０．１≦ｄ≦０．１の場合には、すなわち高低差ｄ＝±１０ｃｍ以下では、ターゲットボール１２２の表示位置は変化させない。また、数４において、「９６」は、ＬＣＤ１４の横方向のｄｏｔ数（１９２）の半分である。ここでは、高低差ｄに応じて、ターゲットボール１２２の表示位置をＬＣＤ１４の画面中央から左または右に移動させるようにしてあるため、中央を表わす数値「９６」が使用される。さらに、数４において、「ｋ」はターゲットボール１２２の表示位置の移動幅を割り出すための調整値であり、たとえば、「３」に設定される。
【０１２３】
なお、数３および数４に従って算出した結果、ターゲットボール１２２がゲーム画面１２０からはみ出してしまう場合には、ゲーム画面１２０内に収まるように、ターゲットボール座標は補正される。
【０１２４】
このように、算出した高低差ｄに応じてターゲットボール１２２の位置を移動させるようにしてあるが、マップデータ（地形データ）が傾斜角度を含む場合には、数３に示すような計算は不要であり、地形データを参照することにより、プレイヤキャラクタ１０２の現在位置とボール１０６の現在位置との関係から、ボール１０６の現在位置における左右の傾斜および傾斜量を取得することができる。そして、左右の傾斜および傾斜量に応じて、ターゲットボール１２２の位置を移動させることができる。
【０１２５】
図１２（Ａ）および図１２（Ｂ）は、打撃操作（スライド操作）を説明するための図解図である。図１２（Ａ）および図１２（Ｂ）では、プレイヤによるスライド操作の軌跡１４２を実線で示してある。ただし、図１２（Ｂ）では、後述するように、プレイヤによるスライド操作に基づいて延長される仮想スライド操作の軌跡１４２を点線で示してある。また、図１２（Ａ）および図１２（Ｂ）では、プレイヤによるスライド操作が実行されたとき、ゲーム装置１０で検出される座標データに対応する点（位置座標）を示してある。ただし、スライド操作の終了時点を０フレームとしてある。
【０１２６】
図１２（Ａ）は、フルショットエリア（２）にタッチオンし、それに継続（連続）して、インパクトライン１２４を超えるように、ゲーム画面１２０の左斜め上方にスライド操作した場合に、１フレーム毎に検出される座標データに対応する点を書いた図解図である。この図１２（Ａ）に示す例では、スライド操作の終了時点（タッチオフ）における座標は位置Ａで示す点であり、スライド操作の開始時点（タッチオン）における座標は位置Ｆで示す点である。位置Ａから位置Ｆまでの間に存在する位置Ｂ、位置Ｃ、位置Ｄおよび位置Ｅは、スライド操作の開始から終了までの間に１フレーム毎に検出される座標に対応する。このように、スライド操作を終了したときの座標すなわちタッチオフしたときの座標（タッチオフ座標）がインパクトライン１２４を超える場合には、そのスライド操作の軌跡１４２で、後述するインパクトの判定を行う。
【０１２７】
また、かかる場合には、スイング速度は、インパクトライン１２４を超えた時点の座標（ここでは、位置Ａ）とその直前（１フレーム手前）の座標（ここでは、位置Ｂ）との距離に基づいて求められる。たとえば、タッチオンからタッチオフまでにフレーム毎に入力される座標データをすべて記憶しておけば、インパクトライン１２４を超えた時点に検出された座標データとその直前に検出された座標データとを取得して、２つの座標データが示す座標点間の距離を算出することができる。そして、算出した距離を１フレーム（１／６０秒）で割る（除算する）ことにより、スイング速度が求められる。このスイング速度は、上述したように、飛距離Ｆの算出に用いることができる。具体的には、スイング速度が小さいほど、または、スイング速度が一定以下の場合に、打撃力が低下するように前述のαを設定しても良い。また、スイング速度が一定以下の場合には、ミスショットとしても良いし、打撃操作を無効としても良い。
【０１２８】
なお、スイング速度は、各座標間の距離の平均値としても良いし、インパクトライン１２４を越えた時点の座標とタッチオンの座標との間の距離をかかった時間で割った値としても良い。
【０１２９】
ただし、図１３（Ａ）〜図１３（Ｄ）に示すように、スライド操作によりターゲットボール１２２を打撃する、つまりスライド操作の軌跡１４２がターゲットボール１２２に接触する態様は様々である。図１３（Ａ）は図１２（Ａ）で示した場合と同様に、スライド操作（軌跡１４２）は、ターゲットボール１２２上を通過した後に終了（タッチオフ）される。図１３（Ｂ）では、スライド操作がターゲットボール１２２内で終了される。図１３（Ｃ）では、図１３（Ａ）および図１３（Ｂ）とは異なり、スライド操作が、インパクトライン１２４を通過した後に、ターゲットボール１２２上を通過して終了する。図１３（Ｄ）では、スライド操作がターゲットボール１２２の表面（輪郭線）で終了する。
【０１３０】
このような態様のすべてについての接触を判定する必要があるため、スライド操作の軌跡１４２がターゲットボール１２２に接触するかどうかを判断する。具体的には、まず、現在のタッチ座標がターゲットボール１２２の表示領域に含まれるか否かが毎フレーム判断される。ここで、現在のタッチ座標がターゲットボール１２２の表示領域に含まれる場合には、スライド操作の軌跡１４２がターゲットボール１２２に接触していると判断する。しかし、現在のタッチ座標がターゲットボール１２２の表示領域に含まれていない場合には、現在のタッチ座標がインパクトライン１２４を超えたかどうかを判断する。現在のタッチ座標がインパクトライン１２４を超えていない場合には、スライド操作の継続中、終了または中断として、各々に応じた処理が実行される。しかし、現在のタッチ座標がインパクトライン１２４を超えた場合には、次のようにして、スライド操作の軌跡１４２がターゲットボール１２２に接触するかどうかを判断する。すなわち、インパクトライン１２４を越えたまたはターゲットボール１２２の表示領域に含まれた時点のタッチ座標（説明の便宜上、「第１座標」という。以下、同じ。）とその第１座標の直前（１フレーム前）に検出された座標（説明の便宜上、「第２座標」という。）とを結ぶ線分がターゲットボール１２２の表示領域を通るか否かを判断するようにしてある。これによって、スライド操作の軌跡１４２がターゲットボール１２２上を通過したにも拘わらず、ターゲットボール１２２の表示領域内のタッチ座標が検出されない場合にも対応できる。ただし、タッチ座標のサンプリング周期が十分に短い等の場合には、単に、現在のタッチ座標がターゲットボール１２２の表示領域に含まれ、または、インパクトライン１２４を越えるか否かを判定するのみでも構わない。
【０１３１】
なお、図１２（Ｂ）に示すように、スライド操作軌跡を延長して仮想スライド操作軌跡を求める場合には、後述する仮想タッチ座標がターゲットボール１２２の表示領域に含まれるか、または、インパクトライン１２４を越えたかを判定し、インパクトライン１２４を越えた仮想タッチ座標とその直前の仮想タッチ座標とを結ぶ線分がターゲットボール１２２の表示領域を通るか否かが判断される。
【０１３２】
また、この実施例では、第１座標と第２座標とを結ぶ線分がターゲットボール１２２の表示領域を通るかどうかを判断するようにしてあるが、図１３（Ｃ）に示すように、スライド操作（軌跡１４２）がインパクトライン１２４を超えた後に、ターゲットボール１２２の表示領域を通る場合には、その判断を適切に行うことができない。したがって、厳密には、現在のタッチ座標がターゲットボール１２２の表示領域に含まれる前に、インパクトライン１２４を超えた場合には、第１座標と第２座標とを結ぶ線分を延長して、延長した線分すなわち直線がターゲットボール１２２の表示領域を通るか否かを判定する。その直線がターゲットボール１２２の表示領域を通る場合には、さらにタッチ座標の検出を続ける。そして、ターゲットボール１２２の表示領域にタッチ座標が含まれたとき、当該タッチ座標を第１座標とし、その１フレーム手前で検出されたタッチ座標を第２座標とするようにしてある。ただし、延長した線分（直線）がターゲットボール１２２の表示領域を通らない場合には、タッチ座標の検出を終了して、軌跡１４２がターゲットボール１２２に接触していないと判断される。たとえば、後述する図１３（Ｆ）に示す場合と同様に、空振りと判定される。
【０１３３】
また、図１３（Ｅ）に示すように、スライド操作がターゲットボール１２２に接触することなく、かつ、インパクトライン１２４を超えずに終了した場合には、スイングを途中で止めたと判定して、スライド操作を始めからやり直す。また、図１３（Ｆ）に示すように、スライド操作がターゲットボール１２２に接触しないが、インパクトライン１２４を超えて終了した場合には、空振りと判定して、後述する空振り処理を実行する。
【０１３４】
また、図示は省略するが、スライド操作をターゲットボール１２２が表示される方向とは逆向きに行った場合にも、スライド操作を始めからやり直すことができる。スライド操作をターゲットボール１２２が表示される方向とは逆向きに行ったか否かは、たとえば、今回検出されたタッチ座標が、前回検出されたタッチ座標に比べて、ターゲットボール１２２の位置から遠いかどうかで判定することができる。ただし、今回検出されたタッチ座標のＹ座標が、前回検出されたタッチ座標のＹ座標に比べて大きいことを判定しても良い。
【０１３５】
スライド操作をターゲットボール１２２が表示される方向とは逆向きに行った場合には、逆方向へのスライド操作を止めた時点の座標がタッチオンの座標すなわち打撃操作（スライド操作）の開始点とみなされて、当該座標に応じて、打撃力やスタンスが決定される。たとえば、開始点とみなされるのは、今回検出されたタッチ座標が、前回検出されたタッチ座標に比べて、ターゲットボール１２２の位置から近くなった場合の当該今回検出されたタッチ座標、または、今回検出されたタッチ座標のＹ座標が、前回検出されたタッチ座標のＹ座標に比べて小さくなった場合の当該今回検出されたタッチ座標である。
【０１３６】
このようにするのは、実際のゴルフにおいても、スイングを途中で止めて、スイングを始めからやり直すことがあるためである。ただし、スライド操作が停止しているまたはスライド速度が遅い場合にも、スイングを初めからやり直すことができる。スライド操作が停止しているまたはスライド速度が遅いと判断するのは、たとえば、今回検出されたタッチ座標と前回検出されたタッチ座標が一致する場合、または、今回検出されたタッチ座標と前回検出されたタッチ座標との間の距離が閾値より小さい場合である。
【０１３７】
スイング（スライド操作）を途中で止めて、初めからやり直す場合には、今回検出されたタッチ座標と前回検出されたタッチ座標が一致しなくなった場合の当該今回検出されたタッチ座標、または、今回検出されたタッチ座標と前回検出されたタッチ座標との間の距離が閾値より大きくなった場合の当該今回検出されたタッチ座標がタッチオン時の座標すなわち打撃操作の開始点とみなされて、打撃力やスタンスが決定される。
【０１３８】
なお、図１３（Ａ）〜図１３（Ｆ）に示すような接触の判定は、後述するスライド操作の軌跡１４２を延長する場合も同じである。ただし、かかる場合には、第１座標はタッチオフの座標ではなく、延長した毎フレームの仮想タッチ座標である。第２座標は、第１座標の直前（１フレーム前）の位置として予測された座標である。
【０１３９】
また、図１３（Ａ）〜図１３（Ｆ）では、簡単のため、ゲーム画面１２０の一部を示してある。
【０１４０】
図１２（Ｂ）に戻って、インパクトライン１２４を越える前に、スライド操作を途中で止めて、スライド操作の軌跡１４２を延長する場合について説明する。なお、図１２（Ｂ）では、スライド操作の軌跡１４２の一部を点線で示すが、この点線で示す部分が延長された仮想スライド操作の軌跡１４２である。図１２（Ｂ）は、フルショットエリア（２）にタッチオンし、それに継続して、ゲーム画面１２０の左斜め上方にスライド操作し、インパクトライン１２４の手前でスライド操作を終了した場合に、１フレーム毎に検出される座標データに対応する点およびスライド操作を終了した後に延長される１フレーム毎の座標データ（仮想タッチ座標データ）に対応する点を書いた図解図である。この場合には、図１２（Ａ）に示した場合とは異なり、スライド操作がインパクトライン１２４を超えていないため、スライド操作を終了した後の軌跡１４２を、計算により求めるようにしてある。
【０１４１】
具体的には、タッチオンの位置からタッチオフの位置までの距離（スライド距離）を算出するとともに、タッチオンからタッチオフまでの時間（スライド時間）を取得する。このスライド時間は、後述する、スライド操作時間基準タイマ７７０によってカウントされる（図２１参照）。ただし、タッチオンの位置は、スライド操作の開始位置であり、スライド（スイング）操作をやり直す場合には、更新される。そして、スライド距離とスライド時間とにより、スライド操作の軌跡１４２を延長するための初速度を算出する（スライド距離／スライド時間）。また、スライド操作の軌跡１４２を延長する方向を、タッチオフ座標を終点（ここでは、移動位置Ｅ）とし、その直前のフレームで検出されたタッチ座標（ここでは、移動位置Ｆ）を始点とするベクトルの方向で決定する。そして、算出した初速度をスカラとするベクトル（速度ベクトル）が所定の倍率（０．９４倍）で次第に減速するように、タッチオフ後の各フレームにおける仮想タッチ座標が算出される。
【０１４２】
また、単純にタッチオフ後の各フレームにおけるスライド距離を所定の倍率で短くするように、各フレームの座標を延長（算出）するようにしても良い。かかる場合には、タッチオフ座標とその直前のフレームで検出されたタッチ座標との２点（ここでは、位置Ｅの点と位置Ｆの点）を通る直線上であり、スライド操作の方向に当該２点で区切られる線分の長さに、所定の倍率（０．９４倍）を掛けて得られた長さを足した位置（ここでは、位置Ｄ）を、タッチオフ座標を検出したフレームの次のフレームについての座標に決定する。そして、その２点で区切られる線分の長さが所定の倍率で、１フレーム毎に短くされるように、タッチオフ後の各フレームの座標を予測する。したがって、図１２（Ｂ）に示すように、位置Ｄから位置Ｃおよび位置Ｂを経て位置Ａに向かうに従って、次第に仮想タッチ座標の間隔が狭くなっている。つまり、線分ＤＣの長さは線分ＥＤの長さの０．９４倍であり、線分ＣＢの長さは線分ＤＣの長さの０．９４倍であり、線分ＢＡの長さは線分ＣＢの長さの０．９４倍である。
【０１４３】
図示は省略するが、計算により延長した仮想タッチ座標がインパクトライン１２４を超える前（またはターゲットボール１２２に接触する前）に、１フレーム期間におけるスライド（座標点間）の距離が一定値未満となってしまった場合には、スライド操作の軌跡１４２の延長を終了し、つまり、スライド操作を途中で止めたと判断し、スライド操作（スイング）をやり直す。
【０１４４】
ただし、スライド操作があった場合には、必ずスイングをさせるようにしても良い。かかる場合には、たとえば、タッチオフ座標とその１フレーム手前の座標との２点を結ぶ線分の長さを減衰させずに、または、増加させて、タッチオフ後のフレーム毎の座標を延長するようにすれば良い。逆に、スライド操作があった場合であっても、スライド操作がインパクトライン１２４を超えない場合には、スイングさせないようにすることもできる。かかる場合には、スライド操作の軌跡１４２を延長せずに、スライド操作をやり直すことになる。
【０１４５】
なお、インパクトの判定処理は後述するため、ここでは省略する。また、スイング速度の算出方法は、図１２（Ａ）を用いて説明した場合と同様であるため、重複した説明は省略する。
【０１４６】
また、詳細な説明は省略するが、スライド操作（打撃操作）か否かを正確に判別するために、タッチ座標を検出毎に、当該タッチ座標とその１フレーム手前で検出されたタッチ座標との差分（距離）を算出し、その差分が一定値以下である場合には、スライド操作ではないと判断するようにしてある。言い換えると、スライドの速度が一定値以下である場合には、スライド操作（打撃操作）ではないと判断してある。これにより、手振れ等による誤操作を防止することができ、また、スライド操作（スライド操作の軌跡１４２の延長する場合を含む。）を、途中で止めてスイングをやり直すことができる。
【０１４７】
図１４は、インパクトを判定するための判定領域１２２０を示す図解図である。この判定領域１２２０は、ターゲットボール１２２に対応して設けられ、この実施例では、ターゲットボール１２２の直径と同じ或いは略同じ長さに設定される。判定領域１２２０は、その中央にグッドショットエリア（I）を含む。グッドショットエリア（I）の左右には、プッシュショットエリア（II）（または（III））およびプルショットエリア（III）（または（II））が設けられる。つまり、右打ちのプレイヤキャラクタ１０２では、グッドショットエリア（I）の左側の領域がプッシュショットエリア（II）となり、その右側の領域がプルショットエリア（III）となる。一方、左打ちのプレイヤキャラクタ１０２では、グッドショットエリア（I）の左側の領域がプルショットエリア（II）となり、その右側の領域がプッシュショットエリア（III）となる。以下、簡単のため、プレイヤキャラクタ１０２が右打ちである場合について説明することにする。さらに、プッシュショットエリア（II）およびプルショットエリア（III）の外側には、ミスショットエリア（IV）が設けられる。
【０１４８】
インパクトの判定は、上述したように、スライド操作の軌跡１４２がインパクトライン１２４を超えた場合、または、スライド操作の軌跡１４２がインパクトライン１２４を超えないで、当該軌跡１４２がターゲットボール１２２に接触した場合に行われる。言い換えると、スライド操作の軌跡１４２がショットエリア（１）からインパクトエリア（４）またはターゲットボール１２２の表示領域に入ったときに、インパクトが判定される。具体的には、第１座標ｋｎと第２座標ｋｍとを通る直線（以下、「スイング基準線」という。）ｑ１が、上述したような判定領域１２２０のうちのどの領域を通過するかで、インパクトを判定する。図１５（Ａ）に示す判定方法では、第１座標ｋｎと第２座標ｋｍとを通るスイング基準線ｑ１に対して直交し、かつターゲットボール１２２の中心を通る直線ｑ２上にインパクトの判定領域１２２０が来るように、判定領域１２２０を回転させ、このとき、スイング基準線ｑ１が通る領域によってインパクトが判定される。ただし、スイング基準線ｑ１とインパクトの判定領域１２２０とが交わる点（上述の「インパクト点」）が含まれる領域によってインパクトを判定するようにしてある。
【０１４９】
なお、スイング基準線ｑ１によってインパクトを判定するのは、ターゲットボール１２２に接触する位置やその内部でスライド操作の軌跡１４２が終了する場合などを考慮するためである。
【０１５０】
ただし、インパクトの判定方法は、図１５（Ａ）に示す方法に限定される必要はなく、他の方法で判定するようにしても良い。たとえば、ターゲットボール１２２の中心座標とインパクト点（スイング基準線ｑ１と直線ｑ２が交わる点）との距離に応じて判定しても良いし、また、図１５（Ｂ）に示す例では、インパクトの判定領域１２２０をインパクトライン１２４（線分ｑ２）上に固定的に設定しておき、スイング基準線ｑ１上であり、第１座標ｋｎと第２座標ｋｍとの中点からインパクトライン１２４に垂下した線分（または直線）ｑ３が通るエリアによってインパクトが判定される。かかる場合には、直線ｑ３とインパクトの判定領域１２２０（インパクトライン１２４）との交点がインパクト点に決定される。
【０１５１】
たとえば、グッドショットエリア（I）と判定された場合には、目標（着弾予想点）に対してボール１０６が真っ直ぐ飛んで行く（前述の打ち出し方向やサイドスピン値が補正されない）。つまり、ストレートボールは、そのまま真っ直ぐ飛んで行く。また、ドローボールやフェードボールでは、予めボール１０６にスピンがかけられているが、目標に対してずれが生じない。つまり、フックやスライスの曲がりが発生しない。ただし、ここでは、後述するように、スライド操作の軌跡１４２に基づくサイドスピン値の補正は考慮していない。
【０１５２】
また、プッシュボールエリア（II）と判定された場合には、目標に対してボール１０６が右方向に打ち出される。具体的には、前述の打ち出し方向が水平方向の右方向に補正され、および／または、サイドスピン値はボール１０６が右方向に曲がるような値に補正される。具体的には、ボール１０６の軌道の全体に対して右方向の移動ベクトルが加算される。この場合、スライド操作の軌跡１４２が通過する位置が判定領域１２２０の中央（ターゲットボール１２２の中心）から左方にずれるに従って、右方向への打ち出し角度が大きくされる。つまり、移動ベクトルの大きさが大きくなる。詳細な説明は省略するが、この移動ベクトルの算出（決定）方法は様々であり、スライド操作の軌跡１４２とターゲットボール１２２の中心との距離に応じて線形的に（段階的に）大きくなるように算出されたり、予め距離に応じた値を決めておいたりしてもよい。
【０１５３】
一方、スライド操作の軌道がプルボールエリア（III）を通過する場合には、目標に対してボール１０６が左方向に打ち出される。具体的には、前述の打ち出し方向が水平方向の左方向に補正され、および／または、サイドスピン値はボール１０６が左方向に曲がるような値に補正される。具体的には、ボール１０６の軌道の全体に対して左方向の移動ベクトルが加算される。また、この場合、スライド操作の軌跡１４２が通過する位置が判定領域１２２０の中央（ターゲットボール１２２の中心）から右方にずれるに従って、左方向への打ち出し角度が大きくされる。なお、移動ベクトルの算出（決定）方法は、プッシュボールの場合と同様である。
【０１５４】
さらに、ミスショットエリア（IV）と判定された場合には、打撃力（ショットパワー値）、ライの状態、クラブの種類およびバックスピンの設定（スピン設定）に応じて、テンプラ（超高弾道ショット：ミスショットでボール１０６が高く上がりすぎてしまうこと。）、シャンク（ボール１０６がクラブフェイスのネック寄りに当たること。このとき、ボール１０６は急激に右に飛ぶ。）、ダフ（または、チョロ：ミスショットでわずかしかボール１０６が転がらないこと。）またはトップ（ボール１０６がクラブフェイスの下の方に当り、ボール１０６がドライブして飛距離が出ないこと。）となる。
【０１５５】
このように、プレイヤはスライド操作により、プレイヤキャラクタ１０２にボール１０６を打撃させるようにし、スライド操作の軌跡１４２に基づいて、ターゲットボール１２２に対応して設けられる判定領域１２２０を用いてインパクトを判定するため、ゲーム難易度（ゲームのレベルや使用するボール１０６の難易度）を変化させる場合には、ターゲットボール１２２の大きさを変化させるようにすれば良い。また、ターゲットボール１２２の大きさにあわせて、判定領域１２２０の大きさも調整される。なお、ターゲットボール１２２の画像を大きさ毎に記憶しておいても良いし、計算処理により画像の大きさを変更しても良い。また、判定領域１２２０のデータ（エリアデータ）も同様である。
【０１５６】
たとえば、図１６（Ａ）に示すように、ターゲットボール１２２の大きさが大きい場合には、ターゲットボール１２２を通過させること、さらには、中央領域を通過するようにスライド操作することが比較的簡単である。つまり、ゲーム難易度が低い。また、図１６（Ｂ）に示すように、ターゲットボール１２２の大きさが中くらいである場合には、ゲーム難易度は中くらいである。さらに、図１６（Ｃ）に示すように、ターゲットボール１２２の大きさが小さい場合には、ターゲットボール１２２上をスライド操作することが比較的困難であり、さらに、ターゲットボール１２２の中央領域を通過するようにスライド操作するには熟練を要する。つまり、ゲーム難易度が高い。たとえば、使用するクラブ１０４の種類に応じてターゲットボール１２２の大きさすなわちインパクトの判定領域１２２０の大きさを変化させるようにすることができる。また、ゲームの開始に先立って、「練習（ゲーム難易度：低）」、「アマチュア（ゲーム難易度：中）」、「プロフェッショナル（ゲーム難易度：高）」のように、ゲーム難易度を選択可能にしておき、選択したゲーム難易度に応じてターゲットボール１２２の大きさを変化させることもできる。さらに、ゲーム中にゲームの進行状況に応じてゲーム難易度を決定（設定）し、設定したゲーム難易度に応じてターゲットボール１２２の大きさを変化させることもできる。たとえば、ボール１０６が深いラフに置かれた状況においては、アイアンクラブを選択した場合よりも、ウッドクラブを選択した場合の方がゲーム難易度が高く設定される。
【０１５７】
なお、図１６（Ａ）〜図１６（Ｃ）では、ターゲットボール１２２の大きさを大、中、小で表し、ゲーム難易度を高、中、低で表したが、これらは、図示した３つの場合における相対的なターゲットボール１２２の大きさやゲーム難易度である。また、ゲーム難易度を３段階で設定可能にするため、ターゲットボール１２２の大きさを３段階で変化させたが、ゲーム難易度を変化させるためには、ターゲットボール１２２の大きさを少なくとも２段階以上で変化させるようにすれば良い。
【０１５８】
また、ターゲットボール１２２の大きさを変更しないでも、インパクトの判定領域１２２０内の各領域の大きさの割合を変化させることにより、ゲーム難易度を変化させることもできる。たとえば、図１７（Ａ）に示すように、グッドショットエリア（I）を大きくした場合には、インパクトし易いが、ボール１０６の飛距離が出ないように設定することができる。また、図１７（Ｂ）に示すように、プッシュショットエリア（II）およびプルショットエリア（III）を大きくした場合には、ボール１０６が曲がり易くなるように設定することができる。さらに、図１７（Ｃ）に示すように、ミスショットエリア（IV）を大きくした場合には、インパクトし難いが、ボール１０６の飛距離が出るように設定することができる。
【０１５９】
なお、図１７（Ａ）〜図１７（Ｃ）は、単なる例示であり、これらに限定されるべきでない。たとえば、ゲーム難易度をさらに低くするためには、ミスショットエリア（IV）を無くし、グッドショットエリア（I）を図１７（Ａ）に示した場合よりもさらに大きくすることも考えられる。
【０１６０】
このように、ターゲットボール１２２の大きさや判定領域１２２０内に設けられる各エリアの大きさの割合を変化させることにより、ゲーム難易度を変化させることができる。これは、プレイヤによって設定することもでき、ゲームの進行やプレイヤないしプレイヤキャラクタ１０２のレベルに応じて自動で設定することもできる。
【０１６１】
また、プレイヤのスライド操作の軌跡１４２に基づいて、ボール１０６のサイドスピン値が補正される。図１８（Ａ）には、或る場面において、ゲーム画面１２０上で、プレイヤがスライド操作した場合の軌跡１４２を示す図解図である。以下、スライド操作の軌跡１４２に基づくサイドスピン値の補正値の算出方法およびその補正値を用いたボール１０６の軌道の補正方法について説明する。
【０１６２】
まず、サイドスピン値の補正値を算出する場合には、図１８（Ａ）に示すように、タッチオンの位置とターゲットボール１２２の表示位置（中心位置；この座標はゲームプログラムに記憶されている）１２２ａとを結ぶ直線が基準線（スライド基準線）１４４として決定される。ただし、タッチオンの位置は、上述したように、スライド操作の開始位置である。また、この実施例では、タッチオンの位置と表示位置１２２ａとを結ぶ直線をスライド基準線１４４として決定するようにしてあるが、これに限定される必要はない。たとえば、タッチオンの位置から所定方向（Ｘ軸に平行な方向やＹ軸に平行な方向など）に延びる直線、または、タッチオンの位置とタッチオフの位置とを結ぶ直線、或いは、スライド操作の軌跡１４２の平均方向を示す直線をスライド基準線１４４として決定するようにしてもよい。なお、詳細な説明は省略するが、所定方向は、予め決定されてもよく、ゲームの進行に応じて適宜変更されてもよい。たとえば、基準線はＹ軸方向に予め決定することができ、ライの状態やスタンスに応じて基準線の方向を変更することもえきる。また、同様に、詳細な説明は省略するが、平均方向を示す直線は、たとえば、スライド操作の軌跡１４２上の複数の点に基づいて算出される回帰直線である。
【０１６３】
次に、スライド操作の軌跡１４２とスライド基準線１４４との差分が検出される。具体的には、スライド操作の軌跡１４２からいくつかの点ｓｐｎ（ｎは整数）をサンプリングし、そのサンプリングした点ｓｐｎとスライド基準線１４４との差分が検出される。この実施例では、スライド基準線１４４を所定間隔（所定距離）で分割した場合に、当該所定距離毎にスライド基準線１４４と直交する線がスライド操作の軌跡１４２と交差する点をサンプルとして取得する。つまり、図１８（Ｂ）に示すように、スライド基準線１４４の始点（タッチオンの位置）と終点（ターゲットボール１２２の表示位置１２２ａ）との間を、所定距離毎に分割した点ｘｎ（ここでは、ｘ１，ｘ２，ｘ３，ｘ４，ｘ５）の各々を通り、スライド基準線１４４に直交する線と、スライド操作の軌跡１４２との交点をサンプリングする。次に、サンプリングされた点ｓｐｎとスライド基準線１４４との距離（直線距離）すなわち差分ｄｘｎを、各々のサンプル（点ｓｐｎ）について検出する。図１８（Ｂ）に示す例では、サンプルの点ｓｐ１では差分ｄｘ１が検出され、点ｓｐ２では差分ｄｘ２が検出され、点ｓｐ３では差分ｄｘ３が検出され、点ｓｐ４では差分ｄｘ４（＝０）が検出され、点ｓｐ５では差分ｄｘ５が検出され、終点ｓｐ６では差分ｄｘ６が検出される。これらの差分の各々を用いて、順次サイドスピン値が補正される。つまり、ボール１０６の軌道が補正される。
【０１６４】
図１９（Ａ）は、３次元仮想空間をボール１０６が移動（飛行）する際のＺ軸方向（垂直方向）の軌道を示す図解図である。詳細な説明は省略するが、このようなＺ軸方向の軌道は、使用するクラグ１０４や打球位置によって予め決定される。なお、実際には、上述したように、ボール１０６の現在位置からピンに向かう方向（プレイヤによって変更された場合には変更後の方向）がボール１０６の移動方向（ここでは、Ｙ軸方向））である。以下、同様である。
【０１６５】
また、図１９（Ｂ）は、３次元仮想空間をボール１０６が移動する際のＸ軸方向（水平方向）の軌道を示す図解図である。ここでは、フェードボールを打った場合の軌道を示す。ただし、図１９（Ｂ）に示す水平方向の軌道は、サイドスピン値を補正していない場合の軌道である。サイドスピン値の補正値は、スライド基準線１４４に対してスライド操作の軌跡１４２が左側にずれた場合には左回転のスピンをかけるように決定され、逆に、スライド基準線１４４に対してスライド操作の軌跡１４２が右側にずれた場合には右回転のスピンをかけるように決定される。
【０１６６】
ただし、上述したように、サイドスピン値は、ボール１０６が移動（飛行）する際の水平方向の移動方向ベクトルの変化ベクトルの向きおよび大きさを示す（サイドスピン値の大きさが当該変化ベクトルの大きさに関連し、また、当該変化ベクトルは直前に移動方向ベクトルに直交する方向であってサイドスピン値の正負に応じて方向が決定される）。したがって、上述のようにして求められた差分を用いて、サイドスピン値の補正値として決定される。たとえば、補正値は、数５に従って算出される。
【０１６７】
［数５］
補正値＝±差分ｄｘｎ×ｋ（ｎは１以上の整数）
ただし、ｋは比例係数である。また、補正値の符号は、補正する方向が右方向である場合にプラスとなり、補正する方向が左方向である場合にマイナスとなる。
【０１６８】
なお、この補正値の算出方法は単なる例示であり、これに限定される必要はない。たとえば、差分ｄｘｎが大きくなるについてスピンのかかり具合をよりきつくしたい場合には、差分ｄｘｎを二乗するようにしてもよい。
【０１６９】
図１９（Ｃ）は、水平方向における軌道の補正量を示す。ただし、ショット後のボールがＹｎの位置に到達する毎に、サイドスピン補正値を順次用いて移動方向ベクトルを補正するようにしてある。各補正量（移動ベクトルの大きさ）は、上述した変化量であり、その方向はスライド操作の軌跡１４２がスライド基準線１４４からずれる方向と同じである。
【０１７０】
たとえば、サンプル数に応じた間隔で、ボール１０６のＹ軸方向の飛行距離が等間隔に分割される。図１８（Ｂ）に示した例では、サンプル数は「５」であるため、ボール１０６の飛行距離が６等分される。つまり、スライド基準線１４４を等間隔に分割した点ｘ１，ｘ２，ｘ３，ｘ４，ｘ５は、図１８（Ａ）〜図１８（Ｃ）に示す、ボール１０６のＹ軸方向の位置Ｙ１，Ｙ２，Ｙ３，Ｙ４，Ｙ５に対応する。位置Ｙ１，Ｙ２，Ｙ３，Ｙ４，Ｙ５の各々で、すなわち、ショット後のボールのＹ座標が位置Ｙ１、Ｙ２、Ｙ３・・・に到達する毎に、算出された補正値を順次利用して水平方向の移動方向ベクトルが補正される。この補正は単なるベクトルの和（差）であるため、詳細な説明は省略する。
【０１７１】
なお、ショット後の所定時間毎にサイドスピン値の補正値を順次利用してもよいし、ショット後の移動距離が所定距離になる毎にサイドスピン値の補正値を順次利用してもよい。
【０１７２】
図２０は、図２に示したＲＡＭ４８のメモリマップの一例を示す図解図である。この図２０を参照して、ＲＡＭ４８は、プログラム記憶領域７０およびデータ記憶領域７２を含む。プログラム記憶領域７０には、ゲームプログラム（打撃処理プログラムを含む。）が記憶され、このゲームプログラムは、ゲームメイン処理プログラム７０ａ、画像生成プログラム７０ｂ、画像表示プログラム７０ｃ、各種設定プログラム７０ｄ、タッチ座標検出プログラム７０ｅ、スライド操作開始プログラム７０ｆ、スライド操作プログラム７０ｇ、スライド操作の軌跡１４２延長プログラム７０ｈ、スライド操作判定プログラム７０ｉ、スライド操作中断プログラム７０ｊ、インパクト判定プログラム７０ｋ、サイドスピン補正値算出プログラム７０ｍ、ショット前プログラム７０ｎおよび軌道補正プログラム７０ｐなどによって構成される。
【０１７３】
ゲームメイン処理プログラム７０ａは、仮想ゲーム（この実施例では、ゴルフゲーム）のメインルーチンを処理するためのプログラムである。画像生成プログラム７０ｂは、後述する画像データ７２ａを用いて、ゲーム画面１００およびゲーム画面１２０のそれぞれに対応するゲーム画像を生成するためのプログラムである。画像表示プログラム７０ｃは、画像生成プログラム７０ｂに従って生成されたゲーム画像をＬＣＤ１２やＬＣＤ１４に表示するためのプログラムである。また、ゲームキャラクタをモーション（アニメーション）表示したり、必要に応じて、画面効果（演出）を表示（表現）したりする。
【０１７４】
各種設定プログラム７０ｄは、プレイヤキャラクタ１０２が使用するクラブ１０４を決定（変更）したり、ショット方向を決定（変更）したり、ボール１０６の縦スピン（トップスピンまたはバックスピン）を設定（変更）したり、ショットタイプを決定（変更）したりするためのプログラムである。タッチ座標検出プログラム７０ｅは、タッチパネル２２からの座標データを一定時間（１フレーム）毎に検出し、データ記憶領域７２に記憶（バッファリング）するためのプログラムである。
【０１７５】
スライド操作開始プログラム７０ｆは、スライド操作の開始に先立って、プレイヤによるタッチ入力を検出し、タッチオン時の位置座標を記憶したり、スライド操作（スイング）についての時間をカウントするタイマ（後述するスライド操作時間基準タイマ７６２、スライド操作停止時間基準タイマ７６４）をスタートさせたりするためのプログラムである。
【０１７６】
スライド操作プログラム７０ｇは、ショットパワー値Ｐを決定したり、ショットパワー値Ｐを表示したり、クラブ１０４の種類に応じてインパクトライン１２４を表示したり、クラブヘッドの画像１２８を表示したり、プレイヤキャラクタ１０２のスタンスを決定したり、スライド操作に対応する軌跡１４２を表示したりするためのプログラムである。スライド操作の軌跡１４２延長プログラム７０ｈは、スライド操作がインパクトライン１２４を超えず、しかもターゲットボール１２２に接触しないで終了（タッチオフ）されたとき、スライド操作の軌跡１４２を延長するためのプログラムである。
【０１７７】
スライド操作判定プログラム７０ｉは、スライド操作の継続中、中断またはやり直しを判定するためのプログラムである。スライド操作中断判定プログラム７０ｊは、スライド操作判定プログラム７０ｉによってスライド操作を継続すると判定された後に、ターゲットボール１２２とは逆向きにスライド操作した場合やスライド操作を停止した時間が一定時間以上である場合やタッチ座標の変化量が一定距離以下である場合等に、スライド操作を中断するためのプログラムである。
【０１７８】
インパクト判定プログラム７０ｋは、プレイヤのすライド操作の軌跡１４２に応じてインパクトを判定するためのプログラムである。具体的には、上述したように、プレイヤのスライド操作の軌跡１４２が判定領域１２２０のいずれの領域を通過するかに応じて、グッドショット、プッシュショット、プルショットまたはミスショットを判定する。ミスショットの場合には、さらに、シャンク、チョロまたはテンプラを判定する。サイドスピン補正値算出プログラム７０ｍは、スライド操作の軌跡１４２に基づくサイドスピン値の補正値を算出するためのプログラムである。具体的には、上述したように、スライド操作の軌跡１４２上のいくつかの点ｓｐｎについて、この点ｓｐｎとスライド基準線１４４との差分ｄｘｎを検出し、検出した差分ｄｘｎに基づいてサイドスピン値の補正値を算出する。
【０１７９】
ショット前プログラム７０ｎは、インパクト判定プログラム７０ｋによって判定されたインパクト、ライの状態、選択中のクラブ１０４の種類に応じてボール１０６の移動に関するパラメータ（打ち出し方向補正値、打ち出し角度補正値、スピン補正値、パワーロス補正値）を決定するためのプログラムである。これにより、ナイスショット、グッドショット、ミスショット（フック、スライス、テンプラ、シャンク、チョロ）および空振りが決定される。
【０１８０】
軌道補正プログラム７０ｐは、上述のサイドスピン補正値算出プログラム７０ｍに従って算出されたサイドスピン値の補正値に基づいて、ボール１０６の軌道（移動方向）を補正するためのプログラムである。
【０１８１】
なお、図示は省略するが、プログラム記憶領域７０には、音再生プログラムやバックアッププログラムなども記憶される。音再生プログラムは、ゲーム音楽（ＢＧＭ）、音（効果音）、音声（擬声音）のようなゲームに必要な音を再生（出力）するためのプログラムである。バックアッププログラムは、所定のイベントやプレイヤの指示に従って、ゲームデータ（途中データ，結果データ）をメモリカード２８に記憶（セーブ）するためのプログラムである。
【０１８２】
データ記憶領域７２には、様々なデータやフラグが記憶され、また、タイマが設けられる。データ記憶領域７２の具体的な内容は図２１に示される。図２１を参照して、データ記憶領域７２は、画像データ７２０、マップデータ（地形データ）７２２、選択クラブデータ７２４、ショット方向データ７２６、縦スピンデータ７２８、ショットタイプ設定データ７３０、フルショットライン位置データ７３２、インパクトライン位置データ７３４、ターゲットボールサイズデータ７３６、ターゲットボール位置データ７３８、ライ状態データ７４０、タッチ座標の履歴データ７４２、タッチ初期位置データ７４４、タッチ現在位置データ７４６、タッチ直前位置データ７４８、ショットパワー値データ７５０、スタンス値データ７５２、スイング速度補正データ７５４、インパクト結果データ７５６、インパクト点データ７５８、打ち出し方向補正データ７６０、打ち出し角度補正データ７６２、パワーロス補正データ７６４、サイドスピン補正データ７６６、縦スピン補正データ７６８などのデータを記憶する。また、データ記憶領域７２には、スライド操作時間基準タイマ７７０およびスライド操作停止時間基準タイマ７７２などのタイマが設けられる。さらに、データ記憶領域７２は、スイング処理フラグ７７４、タッチオンフラグ７７６、スイング速度補正フラグ７７８およびナイスショットフラグ７８０などのフラグを記憶する。
【０１８３】
画像データ７２０は、プレイヤキャラクタ１０２、クラブ１０４やボール１０６のような他のキャラクタおよびコースやホールのような背景オブジェクトなどの画像を生成するためのデータ（ポリゴンデータやテクスチャデータ等）である。また、ゲーム画像１２０を表示するためのターゲットボール画像データ等も含まれる。マップデータ（地形データ）７２２は、仮想ゲーム（たとえば、ゴルフゲーム）についてのマップデータであり、コースの形状、コース内の地面の高さ（高低）ないし傾斜、コース内のフェアウェイ、ラフ、ベアグランド、ハザード、バンカー、グリーン（グリーンエッジを含む。）、樹木、カートロードなどの配置位置などのデータを含む。
【０１８４】
選択クラブデータ７２４は、ボール１０６とピンとの距離で予め決定された、または、プレイヤが設定（変更）したクラブ１０４、すなわちプレイヤキャラクタ１０２に使用させるクラブ１０４についてのパラメータ（データ）である。クラブ１０４のパラメータとしては、飛距離、ロフト角、打ち出し角、初速、バックスピンおよびサイドスピンなどの値（数値）が該当する。ショット方向データ７２６は、この実施例における打ち出し基準方向を示すデータであり、現在のボール１０６の位置とピンとを結ぶ直線で予め決定される、または、プレイヤによって設定（変更）されるショットの方向についてのデータである。プレイヤキャラクタ１０２がボール１０６を打撃する前では、ボール１０６の現在位置とピン（ホール）とを結ぶ直線方向がショット方向として予め決定されており、プレイヤは、このショット方向を戦略により変更することができるのである。ただし、ショット方向は変更しなくても良い。
【０１８５】
縦スピンデータ７２８は、打撃するボール１０６にかける縦方向のスピン（たとえば、トップスピンまたはバックスピン）についてのデータである。具体的には、縦スピンデータ７２８は、スピンの方向およびスピンの量（以下、これらをまとめて「縦スピン値」と言うことがある。）のデータであり、これらはプレイヤによって設定（変更）される。ただし、プレイヤが何ら指示しない場合には、縦スピン値は設定されない。
【０１８６】
ショットタイプ設定データ７３０は、プレイヤが選択したショットタイプ（ノーマルショット、チップショット、ロブショット、ピッチショットまたはピッチ＆ラン）による補正値のデータである。この補正値によって補正されるのは、選択クラブデータ７２４が示すクラブ１０４のパラメータに含まれる初速とロフト角についての値（数値）である。
【０１８７】
フルショットライン位置データ７３２は、ＬＣＤ１４に表示されるゲーム画面１２０に設けられるショットエリア（１）におけるフルショットエリア（２）とその他のエリア（３）とを区切るフルショットライン１２６を表示するための座標（図３に示したスイング操作の方向では、水平座標（Ｙ座標））データである。ただし、フルショットライン１２６は、予め決定（固定）されている。
【０１８８】
インパクトライン位置データ７３４は、ショットエリア（１）とインパクトエリア（４）とを区切るインパクトライン１２４を表示する水平座標（Ｙ座標）のデータである。上述したように、インパクトライン１２４の位置（表示位置）は、プレイヤキャラクタ１０２が使用するクラブ１０４の種類に応じて変化される。
【０１８９】
ターゲットボールサイズデータ７３６は、ターゲットボール１２２の大きさ（半径ないし直径）を規定するためのデータであり、たとえば、ゲームの難易度に応じて変化される。ターゲットボール位置データ７３８は、ターゲットボール１２２の表示位置のデータである。上述したように、ボール１０６の置かれた場所の左右の傾斜（つま先上がり、つま先下がり）の状態により、ターゲットボール１２２の表示位置１２２ａが決定される。図３に示したようなゲーム画面１２０を表示する場合には、その左右のずれ量すなわちＸ座標のデータをターゲットボール位置データ７３８として記憶すれば良い。ただし、Ｙ座標はインパクトライン位置データ７３４が示す座標である。
【０１９０】
ライ状態データ７４０は、ボール１０６の置かれた位置の地面（ライ）の状態を示すデータである。具体的には、ティアップ、グリーン、グリーンエッジ、フェアウェイ、ラフ（浅・普通・深）、バンカー（浅・普通・目玉）、木、カートロード、ベアグランド、ハザードの別を示すデータである。このデータに基づいて、ボール１０６の飛距離Ｆが変化され（数１参照）、また、このデータに応じたライの状態に相当するテクスチャ画像をゲーム画面１２０に表示することにより、プレイヤにライの状態を視認させることができる。
【０１９１】
タッチ座標の履歴データ７４２は、タッチ座標検出プログラム７０ｅに従って検出された座標データを時系列に従って記憶（バッファリング）したデータ群（座標データ群）である。この履歴データ７４２が示す座標データ群を用いて、軌跡１４２が計算され、軌跡１４２に基づくサイドスピン値の補正値が算出される。タッチ初期位置データ７４４は、プレイヤがタッチオンした位置（タッチ座標）の座標データである。このタッチ初期位置データ７４４が示すタッチ座標のＹ座標にショットパワーライン１２７が表示される。タッチ現在位置データ７４６は、現在（現フレーム）のタッチ座標の座標データである。このタッチ現在位置データ７４６は、スライド操作が開始されてから終了するまでの間、１フレーム毎に更新される。クラブヘッドの画像１２８は、このタッチ現在位置データ７４６が示す座標に、そのフェイスの中心が来るように表示される。ただし、このとき、クラブヘッドの画像１２８は、そのフェイスがターゲットボール１２２を向くように、その中心を回転させて表示される。したがって、タッチ現在位置座標データ７４６が更新されると、クラブヘッドの画像１２８の表示も更新される。タッチ直前位置データ７４８は、現在のタッチ座標の直前（１フレーム前）に検出されたタッチ座標の座標データである。したがって、タッチ現在位置データ７４６が更新されるときに、タッチ直前位置データ７４８も更新される。具体的には、タッチ現在位置データ７４６がタッチ直前位置データ７４８としてコピーされた後、タッチ現在位置データ７４６が更新される。タッチ現在位置データ７４６とタッチ直前位置データ７４８とを結ぶ直線が軌跡１４２の一部としてＬＣＤ１４のゲーム画面１２０に表示される。つまり、ショットエリア（１）に軌跡１４２が描画される。
【０１９２】
ショットパワー値データ７５０は、ショットパワー値Ｐについての数値データであり、０〜１００％の間で設定される。ショットパワー値Ｐの決定方法は、上述したとおりである。このショットパワー値データ７５０は、飛距離Ｆの算出に用いられるのみならず、ショットパワー値Ｐをゲーム画面１２０に表示する際に参照される。ただし、上述したように、ショットパワー値Ｐは、一の位を切り捨てて、１０％単位でショットパワーライン１２７の近傍に表示される。
【０１９３】
スタンス値データ７５２は、タッチ初期位置データ７４４が示すタッチ座標（タッチオン座標）とスタンス基準線１４０との水平距離についての数値データである。具体的には、タッチオン座標がスタンス基準線１４０の右側である場合には、水平距離の符号はプラスで示され、逆に、タッチオン座標がスタンス基準線１４０の左側である場合には、水平距離の符号はマイナスで示される。ただし、タッチ座標がスタンス基準線１４０上であれば、水平距離は±０である。このスタンス値データ７５２は、スタンスを設定したり、ボール１０６の球筋（打ち出し方向の補正、サイドスピンによるボール１０６の軌道の補正）を決定したりする場合のみならず、指示画像１３０の表示にも利用される。つまり、上述したように、スタンス（スタンス値データ７５２）に応じて、指示画像１３０の表示が変化される（図７〜図９参照）。
【０１９４】
スイング速度補正データ７５４は、スイング速度に基づいて算出したスイング速度の補正値についての数値データである。スイング速度の補正値は、後述するスライド操作時間基準タイマ７７０からスイング時間を取得し、スイング開始からインパクトまでの時間が一定時間以上経過した場合に、その経過時間に応じて設定（算出）される。このとき、後述するスイング速度補正フラグ７７８がオン（成立）される。ただし、スイング時間が一定時間未満である場合には、スイング速度の補正値は設定されず、このとき、スイング速度補正フラグ７７８はオフ（不成立）される。
【０１９５】
インパクト結果データ７５６は、スイング基準線ｑ１とインパクト領域１２２０とから判定したインパクトの状態（結果）、すなわち「グッドショット（グッド）」、「プッシュショット（プッシュ）」、「プルショット（プル）」、「ミスショット（ミス）」または「空振り」の別を示すデータである。このインパクト結果データ７５６に基づいて、ＬＣＤ１２のゲーム画面１００に表示されるボール１０６の移動に変化が与えられる。ただし、「空振り」の場合には、ボール１０６は移動しない。インパクト点データ７５８は、スイング基準線ｑ１とインパクト領域１２２０とが交差する点（インパクト点）の座標データである。インパクト結果データ７５６が「プッシュ」または「プル」を示すとき、後述するショット前処理において、インパクト点データ７５８が示すインパクト点の座標に基づいて、打ち出し方向が補正され、サイドスピン値が補正される。
【０１９６】
打ち出し方向補正データ７６０は、ボール１０６の打ち出し方向（水平方向）の補正値についての数値データである。打ち出し方向は、ショット方向データ７２６が示すショット方向を０度（基準）とした場合に、右方向に０〜９０度、左方向に０〜９０度で表わされる。ただし、打ち出し方向は、右方向をプラスとし、左方向をマイナスとしてある。この打ち出し方向の補正値は、上述したインパクト点データ７５８が示すインパクト点の座標に基づいて算出される。打ち出し角度補正データ７６２は、ボール１０６の打ち出し角度（垂直方向の角度）の補正値についての数値データである。打ち出し角度は、ボール１０６が地面に置かれた状態から直進する場合を０度として、上方向に１０〜６０度で表わされる。打ち出し角度補正値は、縦スピンデータ７２８が示すスピン値に基づいて算出される。
【０１９７】
パワーロス補正データ７６４は、パワーロス補正値についての数値データであり、スイング速度に応じて決定（算出）される。具体的には、ショットパワー値データ７４８が示すショットパワー値Ｐの補正値である。サイドスピン補正データ７６６は、上述したサイドスピン補正値算出プログラム７０ｍに従って算出されたサイドスピン値の補正値のデータである。ただし、右方向への移動（右回転のスピン）についての補正値はプラスで表わされ、左方向への移動（左回転のスピン）についての補正値はマイナスで表わされる。縦スピン補正データ７６８は、トップスピンまたはバックスピンについての補正値のデータである。トップスピンは、３０〜５０％の間で補正され、バックスピンは０〜３０％の間で補正される。ただし、トップスピンはプラスで表わされ、バックスピンはマイナスで表わされる。
【０１９８】
スライド操作時間基準タイマ７７０は、スライド操作の開始からスライド操作の終了（軌跡１４２を予測する場合には予測の終了）までの時間（スイング操作の時間）をカウントするタイマである。上述したように、このスライド操作時間基準タイマ７７０のカウント値（スイング時間）に基づいてスイング速度補正値が算出される。スライド操作停止時間基準タイマ７７２は、スライド操作が停止されている時間（スイング操作停止の時間）をカウントするタイマである。
【０１９９】
スイング処理フラグ７７４は、スイング操作すなわちスライド操作が行われているかどうかを判別するためのフラグである。具体的には、スライド操作中では、スイング処理フラグ７７４はオンされ、スライド操作を終了または中断すると、スイング処理フラグ７７４はオフされる。タッチオンフラグ７７６は、タッチオンの状態か否かを判別するためのフラグである。具体的には、タッチオンの状態では、タッチオンフラグ７７６はオンされ、タッチオフの状態では、タッチオンフラグ７７６はオフされる。
【０２００】
スイング速度補正フラグ７７８は、スイング速度の補正処理を実行する否かを判別するためのフラグである。上述したように、スイング速度の補正値が設定されると、スイング速度補正フラグ７７８はオンされ、逆に、スイング速度の補正値が設定されなければ、スイング速度補正フラグ７７８はオフされる。ナイスショットフラグ７８０は、ＬＣＤ１２に表示されるゲーム画面１００において、ナイスショットを演出するか否かを判別するためのフラグであり、ナイスショットを演出する場合にはオンされ、ナイスショットを演出しない場合にはオフされる。このナイスショットフラグ７８０は、インパクトの判定結果が「グッド」を示し、さらに、所定の条件（この実施例では、ショットパワー値＝１００％かつスイング速度補正値＝０％）を満たす場合に、オンされる。これ以外は、ナイスショットフラグ７８０はオフである。つまり、この実施例では、ナイスショットは、グッドショットよりもさらに良いショットであることを意味する。
【０２０１】
なお、図示は省略するが、データ記憶領域７２には、サウンドデータやゲーム中に発生する他のゲームデータやフラグも記憶される。
【０２０２】
具体的には、図２に示したＣＰＵコア４２が図２２に示す打撃処理のフロー図を処理する。なお、図２２に示す打撃処理では、打撃操作だけでなく、クラブ選択入力、ショット方向入力、縦方向のスピン値の入力、ショットタイプの入力などの処理も打撃処理として説明する。
【０２０３】
図２２を参照して、ＣＰＵコア４２は打撃処理を開始すると、ステップＳ１で、各種設定処理（図２３参照）を実行し、ステップＳ３で、画面表示処理（図２４参照）し、そして、ステップＳ５で、スライド操作開始処理（図２５参照）を実行する。次のステップＳ７では、スライド操作を開始したかどうかを判断する。ここでは、タッチオンフラグ７７６がオフ状態からオン状態に変化したかを判断する。タッチオンフラグ７７６がオフ状態或いはオン状態のまま、または、オン状態からオフ状態に変化すれば、ステップＳ７で“ＮＯ”となり、スライド操作を開始していないと判断し、そのままステップＳ１に戻る。しかし、タッチオンフラグ７７６がオフ状態からオン状態に変化すれば、スライド操作を開始したと判断して、ステップＳ９で、スライド操作（１）処理（図２６および図２７参照）を実行する。
【０２０４】
続いて、ステップＳ１１で、スライド操作（２）処理（図２８および図２９参照）を実行し、ステップＳ１３で、スライド操作判定処理（図３１）を実行し、ステップＳ１５で、スライド操作の継続かどうかを判断する。ここでは、スイング処理フラグ７７４がオンであるかどうかを判断する。ステップＳ１５で“ＹＥＳ”であれば、つまりスイング処理フラグ７７４がオンであれば、スライド操作の継続であると判断して、ステップＳ１７で、スライド操作中断判定処理（図３２参照）を実行し、ステップＳ１９で、スライド操作を中断するかどうかを判断する。ここでは、スイング処理フラグ７７４がオフであるかどうかを判断する。ステップＳ１９で“ＮＯ”であれば、つまりスイング処理フラグ７７４がオンであれば、スライド操作を中断しないと判断して、ステップＳ１１に戻る。一方、ステップＳ１９で“ＹＥＳ”であれば、つまりスイング処理フラグ７７４がオフであれば、スライド操作をやり直すべく、ステップＳ１に戻る。
【０２０５】
また、ステップＳ１５で“ＮＯ”であれば、つまりスイング処理フラグ７７４がオフであれば、スライド操作の終了であると判断して、ステップＳ２１で、インパクト判定処理（図３３および図３４参照）を実行し、ステップＳ２３で、ショット前処理（図３５〜図３８参照）を実行し、そして、ステップＳ２５で、ショット演出処理（図４０参照）を実行して、打撃処理を終了する。
【０２０６】
図２３は、図２２のステップＳ１に示す各種設定処理のフロー図である。図２３を参照して、ＣＰＵコア４２は、各種設定処理を開始すると、ステップＳ３１で、クラブ１０４の変更（設定）であるかどうかを判断する。ステップＳ３１で“ＮＯ”であれば、つまりクラブ１０４の変更でなければ、そのままステップＳ３５に進む。しかし、ステップＳ３１で“ＹＥＳ”であれば、つまりクラブ１０４の変更であれば、ステップＳ３３で、変更したクラブ１０４のパラメータを選択クラブデータ７２４としてＲＡＭ４８に記憶（更新）して、ステップＳ３５に進む。
【０２０７】
ステップＳ３５では、ショット方向の変更（設定）であるかどうかを判断する。ステップＳ３５で“ＮＯ”であれば、つまりショット方向の変更でなければ、そのままステップＳ３９に進む。しかし、ステップＳ３５で“ＹＥＳ”であれば、つまりショット方向の変更であれば、ステップＳ３７で、変更したショット方向に対応するショット方向データ７２６をＲＡＭ４８に記憶（更新）して、ステップＳ３９に進む。
【０２０８】
ステップＳ３９では、縦スピンの設定変更であるかどうかを判断する。ステップＳ３９で“ＮＯ”であれば、つまり縦スピンの設定変更でなければ、そのままステップＳ４３に進む。しかし、ステップＳ３９で“ＹＥＳ”であれば、つまり縦スピンの設定変更であれば、ステップＳ４１で、変更した縦スピン値に対応する縦スピンデータ７２８をＲＡＭ４８に記憶（更新）して、ステップＳ４３に進む。
【０２０９】
ステップＳ４３では、ショットタイプの変更（設定）であるかどうかを判断する。ステップＳ４３で“ＮＯ”であれば、つまりショットタイプの変更でなければ、そのまま各種設定処理をリターンする。しかし、ステップＳ４３で“ＹＥＳ”であれば、つまりショットタイプの変更であれば、ステップＳ４５で、変更したショットタイプの補正値に対応するショットタイプ設定データ７３０をＲＡＭ４８に記憶して、各種設定処理をリターンする。
【０２１０】
図２４は、図２２のステップＳ３の画面表示処理を示すフロー図である。図２４を参照して、ＣＰＵコア４２は、画面表示処理を開始すると、ステップＳ５１で、フルショットライン１２６の水平座標（Ｙ座標）に対応するフルショットライン位置データ７３２をＲＡＭ４８に記憶する。次のステップＳ５３では、フルショットライン位置データ７３２が示す水平座標の位置にフルショットライン１２６を表示する。次に、ステップＳ５５で、選択クラブデータ７２４が示すパラメータから、インパクトライン１２４の水平座標を取得し、ステップＳ５７で、インパクトライン１２４の水平座標すなわちインパクトライン位置データ７３４をＲＡＭ４８に記憶し、ステップＳ５９で、インパクトライン位置データ７３４が示す水平座標の位置にインパクトライン１２４を表示する。つまり、プレイヤキャラクタ１０２が使用するクラブ１０４の種類に応じてインパクトライン１２４の表示される。
【０２１１】
続いて、ステップＳ６１では、ゲーム難易度から、ターゲットボール１２２の大きさを取得する。上述したように、ゲーム難易度は、使用するクラブ１０４に応じて変化させたり、ゲームの開始に先立って選択しておいたり、ゲームの進行状況に応じて変化したりする。また、ゲーム難易度が低いほど、ターゲットボール１２２は大きくされ、ゲーム難易度が高いほど、ターゲットボール１２２は小さくされる。上述したように、ゲーム難易度は３段階で設定され、ステップＳ６１では、段階に応じたターゲットボール１２２の大きさが取得されるのである。ターゲットボール１２２の大きさを取得すると、ステップＳ６３で、ターゲットボール１２２の大きさすなわちターゲットボールサイズデータ７３６をＲＡＭ４８に記憶する。
【０２１２】
次に、ステップＳ６５で、ボール１０６の現在位置の左右傾斜（傾斜および傾斜量）を取得（算出）する。つまり、上述したように、プレイヤキャラクタ１０２とボール１０６との高低差ｄを数３に従って算出し、左右傾斜を数４に従って算出する。ボール１０６の現在位置の左右傾斜を取得すると、ステップＳ６７で、ボール１０６の現在位置の左右傾斜で決定されるターゲットボール１２２の位置１２２ａ（ターゲットボール座標ｘ）すなわちターゲットボール位置データ７３８をＲＡＭ４８に記憶する。そして、ステップＳ６９で、ターゲットボール位置データ７３８が示す位置１２２ａを中心にターゲットボール１２２を表示する。
【０２１３】
次に、ステップＳ７１では、ボール１０６の現在位置におけるライの状態を取得する。上述した仮想ゲームのマップデータ（地形データ）７２２からライの状態を取得する。ライの状態を取得すると、ステップＳ７３で、ボール１０６の現在位置におけるライの状態すなわちライ状態データ７４０をＲＡＭ４８に記憶する。そして、ステップＳ７５で、ライ状態データ７４０が示すライ状態に相当するテクスチャ画像をＬＣＤ１４に表示して、画面表示処理をリターンする。つまり、ステップＳ７１〜ステップＳ７５の処理を実行することにより、現在のボール１０６のライ状態に応じたゲーム画面１２０が表示され、スイング操作（スライド操作）を実行するプレイヤにリアリティを与えることができる。たとえば、ボール１０６の現在位置のライ状態がバンカーであれば、砂地にターゲットボール１２２が置いてあるようなゲーム画面１２０が表示される。
【０２１４】
図２５は、図２２のステップＳ５に示したスライド操作開始処理を示すフロー図である。図２５を参照して、ＣＰＵコア４２は、スライド操作開始処理を開始すると、ステップＳ８１で、タッチ入力を検出する。なお、図示は省略するが、スライド操作開始処理の開始時に、タッチ座標の履歴データ７４２はリセット（消去）される。次のステップＳ８３では、タッチ入力があるかどうかを判断する。ここでは、タッチパネル２２からタッチ座標の座標データが入力されたかどうかを判断する。ステップＳ８３で“ＮＯ”であれば、つまりタッチ入力が無ければ、そのままステップＳ８１に戻る。一方、ステップＳ８３で“ＹＥＳ”であれば、つまりタッチ入力があれば、ステップＳ８５で、タッチオンフラグ７７６をオンし、ステップＳ８７で、スイング処理フラグ７７４をオンし、ステップＳ８９で、今回検出したタッチ座標（タッチオン座標）の座標データをタッチ現在位置データ７４６としてＲＡＭ４８に記憶する。
【０２１５】
続くステップＳ９１では、タッチオン座標の座標データを、タッチ初期位置データ７４４としてＲＡＭ４８に記憶（コピー）する。また、ステップＳ９３で、タッチオン座標の座標データを、タッチ直前位置データ７４８として記憶（コピー）する。そして、ステップＳ９５で、スライド操作時間基準タイマ７７０をスタートし、ステップＳ９７で、スライド操作停止時間基準タイマ７７２をスタートして、スライド操作開始処理をリターンする。
【０２１６】
図２６および図２７は、図２２に示したステップＳ９のスライド操作（１）処理を示すフロー図である。このスライド操作（１）処理では、主として、タッチオン座標に基づいて、ショットパワー値Ｐおよびスタンスを設定（決定）する。図２６を参照して、ＣＰＵコア４２は、スライド操作（１）処理を開始すると、ステップＳ１０１で、タッチ初期位置データ７４４からタッチ座標（ここでは、タッチオン座標）を取得する。次のステップＳ１０３では、ターゲットボール位置データ７３８からターゲットボール座標ｘ（ターゲットボール１２２の表示位置１２２ａ）を取得し、ステップＳ１０５で、タッチ座標とターゲットボール座標ｘとからクラブ表示角度を算出する。具体的には、タッチ座標とターゲットボール座標ｘとを結ぶ直線（線分）とクラブフェイスが直交するように、クラブ表示角度が算出される。
【０２１７】
次に、ステップＳ１０７で、タッチ座標とターゲットボール座標ｘとからスタンス値を求め（算出し）、そのスタンス値に対応するスタンス値データ７５２をＲＡＭ４８に記憶する。続くステップＳ１０９では、現在のクラブ種類、表示角度で、タッチオン座標にクラブヘッドを表示する。つまり、選択クラブデータ７２４が示すクラブ種類およびステップＳ１０５において算出したクラブ表示角度で、タッチ座標にクラブヘッドの画像１２８をＬＣＤ１４に表示するのである。このとき、タッチ座標がクラブフェイスの中心と重なり、ステップＳ１０５で算出したクラブ表示角度となるように、クラブヘッドの画像１２８が表示される。
【０２１８】
続いて、ステップＳ１１１では、タッチ座標上を水平方向にショットパワーライン１２７を表示し、ステップＳ１１３で、ショットパワーライン１２７の表示位置（水平（Ｙ）座標）をＲＡＭ４８に記憶する。次に、ステップＳ１１５で、インパクトライン１２４の水平座標（Ｙ座標）を取得し、ステップＳ１１７で、フルショットライン１２６の水平座標（Ｙ座標）を取得する。そして、ステップＳ１１９で、ショットパワーライン１２７、インパクトライン１２４、フルショットライン１２６の相対位置から、ショットパワー値を算出する。この算出方法は上述したとおりである。
【０２１９】
図２７に示すように、次のステップＳ１２１では、ショットパワー値が１００％以上であるかどうかを判断する。ステップＳ１２１で“ＮＯ”であれば、つまりショットパワー値が１００％未満であれば、そのままステップＳ１２５に進む。しかし、ステップＳ１２１で“ＹＥＳ”であれば、つまりショットパワー値が１００％以上であれば、ステップＳ１２３で、ショットパワー値を１００％に補正して、ステップＳ１２５に進む。つまり、ステップＳ１２１およびＳ１２３の処理により、ショットパワー値が１００％を超えないように、制限してある。
【０２２０】
ステップＳ１２５では、ショットパワー値に対応するショットパワー値データ７５０をＲＡＭ４８に記憶する。次のステップＳ１２７では、ショットパワー値をショットパワーライン１２７の近傍であり、ゲーム画面１２０の左端に表示する（図５参照）。ただし、表示されるショットパワー値は１０％単位である。
【０２２１】
続いて、ステップＳ１２９では、スタンス値を取得する。つまり、スタンス値データ７５２が読み出される。次のステップＳ１３１では、スタンス値が一定値（たとえば、ターゲットボール１２２の半径）未満であるかどうかを判断する。具体的には、スタンス基準線１４０の垂直座標（Ｘ座標）とタッチオン座標のＸ座標との距離がターゲットボール１２２の半径未満であるかどうかを判断するのである。ステップＳ１３１で“ＹＥＳ”であれば、つまりスタンス値が一定値未満であれば、ステップＳ１３３で、スクェアスタンスに設定して、ステップＳ１４１に進む。たとえば、図示しないスクェアスタンスについてのフラグをオンする。このとき、オープンスタンスについてのフラグ（図示せず）およびクローズドスタンスについてのフラグ（図示せず）の両方をオフする。
【０２２２】
しかし、ステップＳ１３１で“ＮＯ”であれば、つまりスタンス値が一定値以上であれば、ステップＳ１３５で、タッチオン座標がスタンス基準線１４０の右側かどうかを判断する。具体的には、スタンス値の符号がプラスであるかどうかを判断する。ステップＳ１３５で“ＹＥＳ”であれば、つまりタッチオン座標がスタンス基準線１４０の右側であれば、ステップＳ１３７で、オープンスタンスに設定して、ステップＳ１４１に進む。ここでは、たとえば、オープンスタンスのフラグをオンし、スクェアスタンスのフラグおよびクローズドスタンスのフラグをオフする。
【０２２３】
また、ステップＳ１３５で“ＮＯ”であれば、つまりタッチオン座標がスタンス基準線１４０の左側であれば、クローズドスタンスに設定して、ステップＳ１４１に進む。ここでは、たとえば、クローズドスタンスのフラグをオンし、スクェアスタンスのフラグおよびオープンスタンスのフラグをオフする。ステップＳ１４１では、ターゲットボール１２２上部に球筋すなわち指示画像１３０を表示する。ただし、ステップＳ１４１において表示される指示画像１３０の曲がり量および方向は、スタンス値に応じて変化される。つまり、ステップＳ１４１では、スタンス値データ７５２を参照して、適切な指示画像１３０を表示するのである。そして、ステップＳ１４３では、サイドスピン値を決定して、スライド操作（１）処理をリターンする。このステップＳ１４３では、プレイヤキャラクタ１０２が打撃したボール１０６の飛行中の横方向（Ｘ軸方向）の軌道を決定する移動方向ベクトルがショット方向、ショットタイプおよびスタンス値に基づいて算出（決定）される。
【０２２４】
図２８および図２９は、図２２に示したステップＳ１１のスライド操作（２）処理を示すフロー図である。このスライド操作（２）処理では、主として、スライド操作による軌道１４２を描画する。図２８に示すように、ＣＰＵコア４２は、スライド操作（２）処理を開始すると、ステップＳ１５１で、タッチ入力を検出する。次のステップＳ１５３では、タッチオン状態かどうかを判断する。つまり、タッチオンフラグ７７６がオンであるかどうかを判断する。ステップＳ１５３で“ＮＯ”であれば、つまりタッチオンフラグ７７６がオフであれば、タッチオフ状態と判断して、ステップＳ１７１で、図３０に示すスライド操作の軌跡１４２の延長処理を実行して、図２９に示すように、スライド操作（２）処理をリターンする。
【０２２５】
しかし、ステップＳ１５３で“ＹＥＳ”であれば、つまりタッチオン状態であれば、ステップＳ１５５で、ステップＳ１５１において検出したタッチ入力（タッチ座標）を取得し、ステップＳ１５７で、タッチ座標をＲＡＭ４８に記憶する。つまり、タッチ現在位置データ７４６が更新される。続くステップＳ１５９では、直前のタッチ座標を取得する。つまり、タッチ直前位置データ７４８が示すタッチ座標を取得する。
【０２２６】
続いて、ステップＳ１６１で、スライド操作の軌跡１４２を表示するための描画エリアをショットエリア（１）でトリミングし、ステップＳ１６３で、現在のタッチ位置と直前のタッチ座標とを結ぶライン（直線）でスライド操作の軌跡１４２を表示する。そして、ステップＳ１６５で、タッチ位置の変化があるかどうかを判断する。つまり、スライド操作（スイング操作）であるかどうかを判断する。ここでは、タッチ位置の変化を正確に判断するために、現在のタッチ位置と直前のタッチ位置とが一定距離以上離れているかどうかを判断する。これにより、単なる手振れがスライド操作として判断されるのを回避してある。
【０２２７】
ステップＳ１６５で“ＹＥＳ”であれば、つまりタッチ位置の変化があれば、スライド操作であると判断して、ステップＳ１６７で、スイング停止時間基準タイマ７７０をリスタート（リセットおよびスタート）して、図２９に示すステップＳ１７３に進む。一方、ステップＳ１６５で“ＮＯ”であれば、つまりタッチ位置の変化がなければ、スライド操作でないと判断して、ステップＳ１６９で、スイング停止時間基準タイマ７７２のカウントを進めて、ステップＳ１７３に進む。
【０２２８】
図２９に示すステップＳ１７３では、ターゲットボール座標ｘを取得する。つまり、ターゲットボール位置データ７３８を読み出す。次のステップＳ１７５で、現在のタッチ座標とターゲットボール座標ｘとからクラブ表示角度を算出し、ステップＳ１７７で、現在のクラブ種類、表示角度で、タッチ座標にクラブヘッドの画像１２８を表示する。なお、ステップＳ１７５およびＳ１７７の処理は、上述したステップＳ１０５およびＳ１０９の処理とそれぞれ同じであるため、詳細な説明は省略することにする。そして、ステップＳ１７９で、現在のタッチ座標を直前のタッチ座標として記憶し、スライド操作（２）処理をリターンする。つまり、ステップＳ１７９では、タッチ現在位置データ７４６をタッチ直前位置データ７４８にコピーするのである。
【０２２９】
図３０は、図２８に示したステップＳ１７１のスライド操作の軌跡１４２延長処理を示すフロー図である。図３０に示すように、ＣＰＵコア４２は、スライド操作の軌跡１４２延長処理を開始すると、ステップＳ１９１で、スライド操作の軌跡１４２の延長処理が２回目以降であるかどうかを判断する。図示は省略するが、たとえば、スライド操作の軌跡１４２の延長処理の回数をカウントするカウンタをＲＡＭ４８のデータ記憶領域７２等に設けておき、スライド操作の軌跡１４２の延長処理を実行する毎にカウンタをインクリメントし、打撃処理の開始時または終了時に、カウンタをリセット（カウント値を０に設定）すれば良い。
【０２３０】
ステップＳ１９１で“ＹＥＳ”であれば、つまりスライド操作の軌跡１４２の延長処理が２回目以降であれば、そのままステップＳ２０１に進む。一方、ステップＳ１９１で“ＮＯ”であれば、つまりスライド操作の軌跡１４２の延長処理が初回（１回目）であれば、ステップＳ１９３で、スライド距離を算出する。具体的には、ＣＰＵコア４２は、ＲＡＭ４８からタッチ初期位置データ７４４およびタッチ現在位置データ７４６を読み出し、現在のタッチ座標と初期位置のタッチ座標との差分（距離）を算出する。続くステップＳ１９５では、スライド操作時間基準タイマ７７０のタイマ値（カウント値）を参照して、スライド時間を取得する。そして、ステップＳ１９７で、スライド操作の軌跡１４２を延長するための初速度（スライド距離／スライド時間）を算出する。また、ステップＳ１９９で、速度ベクトルを取得し、ステップＳ２０１に進む。具体的には、ステップＳ１９９では、タッチ直前位置データ７４８が示す直前のタッチ座標を始点とし、タッチ現在位置データ７４６が示す現在のタッチ座標を終点とするベクトルの方向を算出する。そして、ステップＳ１９７で算出した初速度を、算出したベクトルのスカラとして、速度ベクトルを取得するのである。
【０２３１】
ステップＳ２０１では、移動距離を算出する。つまり、スライド速度が所定の倍率（０．９４倍）になるように、大きさを変化させた速度ベクトルを求める。次のステップＳ２０３では、ステップＳ２０１で算出した移動距離で、速度ベクトルが示す方向に、スライド操作の軌跡１４２をゲーム画面１２０に表示する。そして、ステップＳ２０５で、直前のタッチ座標（タッチ直前位置データ７４８）を更新し、ステップＳ２０７で、現在のタッチ座標（タッチ現在位置データ７４６）を更新して、スライド操作の軌跡１４２の延長処理をリターンする。つまり、ステップＳ２０５では、スライド操作の軌跡１４２を延長する前における現在のタッチ座標を直前のタッチ座標として記憶し、ステップＳ２０７では、スライド操作の軌跡１４２を延長する際に算出した速度ベクトルの終点を現在のタッチ座標として記憶する。
【０２３２】
図３１は、図２２に示したステップＳ１３のスライド操作判定処理を示すフロー図である。図３１に示すように、ＣＰＵコア４２は、スライド操作判定処理を開始すると、ステップＳ２２１で、ＲＡＭ４８を参照して、タッチ現在位置データ７４６が示す現在のタッチ座標を取得する。次のステップＳ２２３では、現在のタッチ座標がインパクトエリア（４）内かどうかを判断する。ここでは、現在のタッチ座標のＹ座標が、インパクトライン位置データ７３４が示すＹ座標よりも小さいかどうかを判断する。
【０２３３】
ステップＳ２２３で“ＹＥＳ”であれば、つまり現在のタッチ座標がインパクトエリア（４）内であれば、そのままステップＳ２２９に進む。一方、ステップＳ２２３で“ＮＯ”であれば、つまり現在のタッチ座標がインパクトエリア（４）内でなければ、ステップＳ２２５で、現在のタッチ座標がターゲットボールエリア内かどうかを判断する。ここでは、現在のタッチ座標が、ターゲットボール１２２の表示領域に含まれる座標と一致するかどうかを判断する。ステップＳ２２５で“ＹＥＳ”であれば、つまり現在のタッチ座標がターゲットボールエリア内であれば、そのままステップＳ２２９に進む。一方、ステップＳ２２５で“ＮＯ”であれば、つまり現在のタッチ座標がターゲットボールエリア内でなければ、ステップＳ２２７で、スライド操作の軌跡１４２の延長終了かどうかを判断する。ここでは、速度ベクトルの速度（スライド速度）が一定値以下になったかどうかを判断する。ステップＳ２２７で“ＮＯ”であれば、つまりスライド速度が一定値を超えている場合には、スライド操作の軌跡１４２の延長を続行すると判断して、図３２に示すスライド操作中断判定処理にリターン（ジャンプ）する。一方、ステップＳ２２７で“ＹＥＳ”であれば、つまりスライド速度が一定値以下である場合には、スライド操作の軌跡１４２の延長を終了すると判断して、そのままスライド操作判定処理をリターンする。
【０２３４】
ステップＳ２２９では、スイング操作時間基準タイマ７７０のタイマ値（カウント値）からスライド操作の時間を取得する。次のステップＳ２３１では、スライド操作（スイング操作）の時間が一定時間以上であるかどうかを判断する。ステップＳ２３１で“ＮＯ”であれば、つまりスライド操作の時間が一定時間未満であれば、そのままステップＳ２３９に進む。しかし、ステップＳ２３１で“ＹＥＳ”であれば、つまりスライド操作の時間が一定時間以上であれば、ステップＳ２３３で、スライド操作の時間からスイング速度補正値を算出し、ステップＳ２３５で、スイング速度補正値に対応するスイング速度補正データ７５４をＲＡＭ４８に記憶し、ステップＳ２３７で、スイング速度補正フラグ７７８をオンして、ステップＳ２３９に進む。つまり、スライド操作の速度が遅い場合には、ターゲットボール１２２およびその中心（中央）をスライドし易くなるため、ボール１０６の飛距離Ｆが短くなるように補正するようにしてある。
【０２３５】
ステップＳ２３９では、スライド操作を終了すべく、スイング処理フラグ７７４をオフして、ステップＳ２４１で、スイング（スライド操作）に関するデータ、フラグ、タイマをすべて初期化して、スライド操作判定処理をリターンする。ただし、ステップＳ２４１では、スイング速度補正データ７５４およびスイング速度補正フラグ７７８は初期化されない。
【０２３６】
図３２は、図２２に示したステップＳ１７のスライド操作中断判定処理を示すフロー図である。図３２に示すように、ＣＰＵコア４２は、スライド操作中断判定処理を開始すると、ステップＳ２５１で、ＲＡＭ４８を参照して、タッチ現在位置データ７４６が示す現在のタッチ座標を取得する。続くステップＳ２５３で、ＲＡＭ４８を参照して、タッチ直前位置データ７４８が示す直前のタッチ座標を取得する。次のステップＳ２５５では、インパクトエリア（４）とは逆向きにスライド操作したかどうかを判断する。つまり、直前のタッチ座標を始点とし、現在のタッチ座標を終点とするベクトルの向きが下向きであるかどうかを判断する。または、直前のタッチ座標のＹ座標が現在のタッチ座標のＹ座標よりも小さいかどうかを判断する。
【０２３７】
ステップＳ２５５で“ＹＥＳ”であれば、つまりインパクトエリア（４）とは逆向きにスライド操作した場合には、スイング操作の中断（やり直し）であると判定して、ステップＳ２６３に進む。一方、ステップＳ２５５で“ＮＯ”であれば、つまりインパクトエリア（４）とは逆向きにスライド操作していない場合には、ステップＳ２５７で、現在のタッチ座標がショットエリア（１）外に出たかどうかを判断する。上述のゲーム画面１２０では省略したが、ショットエリア（１）およびインパクトエリア（４）の左右（いずれか一方でも可。）には、各種設定のためのボタンないしアイコンを表示する領域が設けられており、ステップＳ２５７では、当該領域に現在のタッチ座標が入ったかどうかを判断しているのである。
【０２３８】
ステップＳ２５７で“ＹＥＳ”であれば、つまり現在のタッチ座標がショットエリア（１）外に出た場合にも、スイング操作の中断（やり直し）であると判定して、ステップＳ２６３に進む。一方、ステップＳ２５７で“ＮＯ”であれば、つまり現在のタッチ座標がショットエリア（１）外に出ていない場合には、ステップＳ２５９で、スライド操作停止時間基準タイマ７７２のタイマ値（カウント値）を参照して、スライド操作停止の時間を取得する。そして、ステップＳ２６１で、一定時間以上、スライド操作を停止したかどうかを判断する。ステップＳ２６１で“ＮＯ”であれば、つまり一定時間以上、スライド操作を停止していなければ、スライド操作の継続中であると判定して、そのままスライド操作中断判定処理をリターンする。一方、ステップＳ２６１で“ＹＥＳ”であれば、つまり一定時間以上、スライド操作を停止していれば、スライド操作の中断（やり直し）であると判定して、ステップＳ２６３に進む。
【０２３９】
ステップＳ２６３では、スライド操作を中断すべく、スイング処理フラグ７７４をオフし、ステップＳ２６５で、スイング（スライド操作）に関するデータ、フラグ、タイマをすべて初期化して、スライド操作中断判定処理をリターンする。なお、スライド操作を中断する場合には、図２２に示したように、最初から打撃処理を実行するため、上述したスライド操作判定処理とは異なり、ステップＳ２６５では、スイング速度補正データ７５４やスイング速度補正フラグ７７８も初期化される。
【０２４０】
図３３および図３４は、図２２に示したステップＳ２１のインパクト判定処理を示すフロー図である。なお、このインパクト判定処理では、簡単のため、右打ちのプレイヤキャラクタ１０２の場合について説明するが、左打ちのプレイヤキャラクタ１０２では、プッシュショットエリアとプルショットエリアとが逆になるだけである（図１４参照）。図３３に示すように、ＣＰＵコア４２は、インパクト判定処理を開始すると、ステップＳ２８１で、スライド操作の軌跡１４２とターゲットボール１２２の接触を確認する。次のステップＳ２８３では、軌跡１４２がターゲットボール１２２に接触したかどうかを判断する。ステップＳ２８３で“ＮＯ”であれば、つまり軌跡１４２がターゲットボール１２２に接触していなければ、ステップＳ２８５で、インパクト結果として「空振り」を記憶する。つまり、「空振り」を示すインパクト結果データ７５６をＲＡＭ４８に記憶する。以下、インパクト結果を記憶する場合について同様である。
【０２４１】
しかし、ステップＳ２８３で“ＹＥＳ”であれば、つまり軌跡１４２がターゲットボール１２２に接触すれば、ステップＳ２８７で、スイング基準線ｑ１を確定する。続くステップＳ２８９では、インパクト点を確定し、ステップＳ２９１で、インパクト点の座標すなわちインパクト点データ７５８をＲＡＭ４８に記憶する。
【０２４２】
続くステップＳ２９３では、インパクト点がグッドショットエリア（I）内であるかどうかを判断する。ステップＳ２９３で“ＹＥＳ”であれば、つまりインパクト点がグッドショットエリア（I）内であれば、ステップＳ２９５で、「グッド」を示すインパクト結果データ７５６をＲＡＭ４８に記憶して、図３４に示すように、インパクト判定処理をリターンする。一方、ステップＳ２９３で“ＮＯ”であれば、つまりインパクト点がグッドショットエリア（I）内でなければ、ステップＳ２９７で、インパクト点がプッシュショットエリア（II）内であるかどうかを判断する。ステップＳ２９７で“ＹＥＳ”であれば、つまりインパクト点がプッシュショットエリア（II）内であれば、ステップＳ２９９で、「プッシュ」を示すインパクト結果データ７５６をＲＡＭ４８に記憶して、インパクト判定処理をリターンする。
【０２４３】
しかし、ステップＳ２９７で“ＮＯ”であれば、つまりインパクト点がプッシュショットエリア（II）内でなければ、図３４に示すステップＳ３０１で、インパクト点がプルショットエリア（III）内であるかどうかを判断する。ステップＳ３０１で“ＹＥＳ”であれば、つまりインパクト点がプルショットエリア（III）内であれば、ステップＳ３０３で、「プル」を示すインパクト結果データ７５６をＲＡＭ４８に記憶して、インパクト判定処理をリターンする。一方、ステップＳ３０１で“ＮＯ”であれば、つまりインパクト点がミスショットエリア（IV）内であれば、ステップＳ３０５で、「ミス」を示すインパクト結果データ７５６をＲＡＭ４８に記憶して、インパクト判定処理をリターンする。
【０２４４】
図３５〜図３８は、図２２に示したステップＳ２３のショット前処理を示すフロー図である。なお、このショット前処理も、上述のインパクト判定処理と同様に、右打ちのプレイヤキャラクタ１０２について説明することにする。図３５を参照して、ＣＰＵコア４２は、ショット前処理を開始すると、ステップＳ３２１で、ＲＡＭ４８を参照して、インパクト結果データ７５６が示すインパクト結果を取得する。次のステップＳ３２３では、インパクト結果が「空振り」を示すかどうかを判断する。
【０２４５】
ステップＳ３２３で“ＹＥＳ”であれば、つまりインパクト結果が「空振り」を示す場合には、図３７に示すように、そのままショット前処理をリターンする。一方、ステップＳ３２３で“ＮＯ”であれば、つまりインパクト結果が「空振り」を示していない場合には、ステップＳ３２５で、インパクト結果が「プッシュ」を示すかどうかを判断する。ステップＳ３２５で“ＹＥＳ”であれば、つまりインパクト結果が「プッシュ」を示す場合には、ステップＳ３２７で、ＲＡＭ４８を参照して、インパクト点データ７５８が示すインパクト点の座標を取得する。続くステップＳ３２９では、インパクト点の座標から打ち出し方向補正値（たとえば、０〜３０度）を算出する。ここでは、インパクトの判定領域１２２０の中心からのインパクト点のずれ量（距離）を検出し、その距離に応じて、打ち出し方向補正値が算出される。たとえば、距離が長くなるにつれて、打ち出し方向補正値が線形的（段階的）に変化される。ただし、逆に、距離が短くなるにつれて、打ち出し方向補正値が線形的（段階的）に変化させるようにしても良い。そして、ステップＳ３３１で、算出した打ち出し方向補正値に対応する打ち出し方向補正データ７６０をＲＡＭ４８に記憶して、図３６に示すステップＳ３４９に進み、後述するスライド操作の軌跡に基づくサイドスピン補正値算出処理（図３９参照）を実行して、図３７に示すように、ショット前処理をリターンする。
【０２４６】
しかし、ステップＳ３２５で“ＮＯ”であれば、つまりインパクト結果が「プッシュ」を示していない場合には、図３６に示すステップＳ３３３で、インパクト結果が「プル」を示すかどうかを判断する。ステップＳ３３３で“ＹＥＳ”であれば、つまりインパクト結果が「プル」を示している場合には、ステップＳ３３５で、ＲＡＭ４８を参照して、インパクト点データ７５８が示すインパクト点の座標を取得する。続くステップＳ３３７では、インパクト点の座標から打ち出し方向補正値（たとえば、０〜−３０度）を算出する。ここでは、インパクト結果が「プッシュ」の場合と同様に、インパクトの判定領域１２２０の中心からのインパクト点のずれ量（距離）を検出し、その距離に応じて、打ち出し方向補正値が算出される。たとえば、距離が長くなるにつれて、打ち出し方向補正値がマイナス方向に線形的（段階的）に変化される。または、距離が短くなるにつれて、打ち出し方向補正値がマイナス方向に線形的（段階的）に変化される。そして、ステップＳ３３９で、算出した打ち出し方向補正値に対応する打ち出し方向補正データ７６０をＲＡＭ４８に記憶して、ステップＳ３４９に進む。
【０２４７】
しかし、ステップＳ３３３で“ＮＯ”であれば、つまりインパクト結果が「プル」を示していない場合には、ステップＳ３４１で、インパクト結果が「グッド」を示しているかどうかを判断する。ステップＳ３４１で“ＮＯ”であれば、つまりインパクト結果が「グッド」を示していなければ、インパクト結果が「ミス」を示していると判断して、図３７に示すステップＳ３５１に進む。一方、ステップＳ３４１で“ＹＥＳ”であれば、つまりインパクト結果が「グッド」を示す場合には、ステップＳ３４３で、ショットパワー値とスイング速度補正値とを取得する。つまり、ＣＰＵコア４２は、ＲＡＭ４８を参照して、ショットパワー値データ７５０が示すショットパワー値およびスイング速度補正データ７５４が示すスイング速度補正値を取得する。
【０２４８】
そして、ステップＳ３４５で、ショットパワー値が１００％であり、かつ、スイング速度補正値が０％であるかどうかを判断する。ただし、スイング速度補正値が０％であるかどうかの判断に変えて、スイング速度補正フラグ７７８がオフであるかどうかを判断するようにしても良い。ステップＳ３４５で“ＮＯ”であれば、つまりショットパワー値が１００％未満であったり、または、スイング速度補正値が１パーセント以上であったり、或いは、それら両方であったりする場合には、そのままステップＳ３４９に進む。一方、ステップＳ３４５で“ＹＥＳ”であれば、つまりショットパワー値が１００％であり、かつ、スイング速度補正値が０％である場合には、「ナイスショット」であると判断して、ステップＳ３４７で、ナイスショットフラグ７８０をオンして、ステップＳ３４９に進む。
【０２４９】
上述したように、インパクト結果が「ミス」を示す場合には、図３７に示すステップＳ３５１で、ＲＡＭ４８を参照して、ショットパワー値データ７５０が示すショットパワー値が１００％であるかどうかを判断する。ステップＳ３５１で“ＮＯ”であれば、つまりショットパワー値が１００％でなければ、そのままステップＳ３６１に進む。しかし、ステップＳ３５１で“ＹＥＳ”であれば、つまりショットパワー値が１００％であれば、ステップＳ３５３で、ＲＡＭ４８を参照して、ライ状態データ７４０が示すライ状態が「ティアップ」であるかどうかを判断する。つまり、ティショットであるかどうかを判断するのである。
【０２５０】
ステップＳ３５３で“ＮＯ”であれば、つまりライ状態が「ティアップ」でなければ、ティショットでないと判断して、ステップ３６１に進む。一方、ステップＳ３５３で“ＹＥＳ”であれば、つまりライ状態が「ティアップ」であれば、ティショットであると判断して、ミスショットのタイプを「テンプラ」に決定する。具体的には、ステップＳ３５５で、打ち出し角度補正値を３０度〜６０度でランダムに（乱数で）決定して、対応する打ち出し角度補正データ７６２をＲＡＭ４８に記憶する。また、ステップＳ３５７では、パワーロス補正値を２０％〜５０％でランダムに（乱数で）決定して、対応するパワーロス補正データ７６４をＲＡＭ４８に記憶する。そして、ステップＳ３５９で、縦スピン（バックスピン）補正値を０％〜−３０％でランダムに（乱数で）決定して、対応する縦スピン補正データ７６８をＲＡＭ４８に記憶して、ショット前処理をリターンする。
【０２５１】
また、ステップＳ３６１では、ＲＡＭ４８を参照して、選択クラブデータ７２４が示すクラブ１０４がアイアン（ここでは、ウェッジも含む。）であるかどうかを判断する。ステップＳ３６１で“ＮＯ”であれば、つまり選択中のクラブ１０４がアイアンでなけば、図３８に示すステップＳ３６９に進む。一方、ステップＳ３６１で“ＹＥＳ”であれば、つまり選択中のクラブ１０４がアイアンであれば、ステップ３６３で、右側のミスショットエリア（IV）をインパクトしたかどうかを判断する。ステップＳ３６３で“ＮＯ”であれば、つまり右側のミスショットエリア（IV）をインパクトしていない場合には、ステップＳ３６９に進む。一方、ステップＳ３６３で“ＹＥＳ”であれば、つまり右側のミスショットエリア（IV）をインパクトした場合には、ミスショットのタイプを「シャンク」に決定する。具体的には、ステップＳ３６５で、打ち出し方向補正値を６０度〜９０度でランダムに（乱数で）決定し、対応する打ち出し方向補正データ７６０をＲＡＭ４８に記憶する。そして、ステップＳ３６７で、パワーロス補正値を３０〜８０％でランダムに（乱数で）決定し、対応するパワーロス補正データ７６４をＲＡＭ４８に記憶して、ショット前処理をリターンする。
【０２５２】
なお、このショット前処理では、プレイヤキャラクタ１０２が右打ちの場合について説明してあるが、左打ちの場合には、ステップＳ３６３で、左側のミスショットエリア（IV）をインパクトしたかどうかが判断される。
【０２５３】
図３８に示すように、ステップＳ３６９では、スピン設定がバックスピンであるかどうかを判断する。ここでは、ＣＰＵコア４２は、ＲＡＭ４８を参照して、縦スピン補正データ７６８が示すスピン補正値の符号がマイナスであるかどうかを判断する。ステップＳ３６９で“ＹＥＳ”であれば、つまりスピン設定がバックスピンであれば、ミスショットのタイプを「ダフ」に決定する。具体的には、ステップＳ３７１で、打ち出し角度補正値を１０度〜４０度でランダムに（乱数で）決定し、対応する打ち出し角度補正データ７６２をＲＡＭ４８に記憶する。また、ステップＳ３７３で、打ち出し方向補正値を−４５度〜４５度でランダムに（乱数で）決定し、対応する打ち出し方向補正データ７６０をＲＡＭ４８に記憶する。さらに、ステップＳ３７５で、パワーロス補正値を４０％〜９０％でランダムに（乱数で）決定し、対応するパワーロス補正データ７６４をＲＡＭ４８に記憶する。そして、ステップＳ３７７で、縦スピン（バックスピン）補正値を０〜−１０％でランダムに（乱数で）決定し、対応する縦スピン補正データ７６８をＲＡＭ４８に記憶（更新）して、図３７に示したように、ショット前処理をリターンする。
【０２５４】
しかし、ステップＳ３６９で“ＮＯ”であれば、つまりスピン設定がバックスピンでなければ、ミスショットのタイプを「トップ」に決定する。具体的には、ステップＳ３７９で、打ち出し角度補正値を１０度〜４０度でランダムに（乱数で）決定し、対応する打ち出し角度補正データ７６２をＲＡＭ４８に記憶する。また、ステップＳ３８１で、打ち出し方向補正値を−１０度〜１０度でランダムに（乱数で）決定し、対応する打ち出し方向補正データ７６０をＲＡＭ４８に記憶する。さらに、ステップ３８３で、パワーロス補正値を５０％〜７０％でランダムに（乱数で）決定し、対応するパワーロス補正データ７６４をＲＡＭ４８に記憶する。そして、ステップＳ３８５で、縦スピン（トップスピン）補正値を３０％〜５０％でランダムに（乱数で）決定し、対応する縦スピン補正データ７６８をＲＡＭ４８に記憶（更新）して、ショット前処理をリターンする。
【０２５５】
このように、ショット前処理では、インパクトの判定結果に基づいて、ボール１０６の移動に関するパラメータ（の補正値）が決定されるのである。
【０２５６】
なお、この実施例では、ミスショットのタイプに従って、打ち出し角度補正値、打ち出し方向補正値、パワーロス補正値、縦スピン補正値をランダムに（乱数で）決定するようにしてあるが、上述した「プッシュ」または「プル」の場合と同様に、インパクト点に応じて線形的（段階的）に決定するようにしても良い。
【０２５７】
また、ショット前処理では、ミスショットのタイプを「テンプラ」、「シャンク」、「ダフ」または「トップ」のいずれかに決定するようにしてあるが、選択中のクラブ１０４がＰＴである場合にはいずれのタイプにも決定されない。
【０２５８】
図３９は、図３６に示したステップＳ３４９のスライド操作の軌跡に基づくサイドスピン補正値算出処理を示すフロー図である。図３９に示すように、ＣＰＵコア４２は、スライド操作の軌跡に基づくサイドスピン補正値算出処理を開始すると、ステップＳ３９１で、スライド操作の開始位置の座標を取得する。ここでは、ＣＰＵコア４２は、タッチ初期位置データ７４４を参照して、タッチオンの位置を取得する。続くステップＳ３９３では、スライド基準線１４４を決定する。
【０２５９】
続いて、ステップＳ３９５では、スライド基準線１４４を等間隔に分割し、分割した点ｘｎ（ｎは整数）を通り、スライド基準線１４４に直交する線とスライド操作の軌跡１４２が交わるタッチ座標ｓｐｎを取得する。つまり、上述したように、スライド基準線１４４の始点（タッチオンの位置）と終点（ターゲットボール１２２の表示位置１２２ａ）との間を、所定距離毎に分割した位置ｘｎの各々を通り、スライド基準線１４４に直交する線と、スライド操作の軌跡１４２との交点ｓｐｎをサンプリングする。ただし、スライド操作の軌跡１４２は、タッチ座標の履歴データ７４２を参照して決定される。なお、図示は省略するが、スライド操作の軌跡１４２を延長した場合には、その延長した場合の１フレーム毎のタッチ座標は、ＲＡＭ４８に記憶（一時記憶）されるため、スライド操作の軌跡１４２の決定は可能である。
【０２６０】
次に、ステップＳ３９７で、取得したタッチ座標ｓｐｎとスライド基準線１４４との距離（差分）ｄｘｎを算出する。続くステップＳ３９９では、距離ｄｘｎの各々についてサイドスピン値の補正値を、数５に従って算出し、サイドスピン補正データ７６６をデータ記憶領域７２に記憶して、スライド操作の軌跡に基づくサイドスピン補正値算出処理をリターンする。
【０２６１】
なお、差分ｄｘｎの各々についてのサイドスピン値の補正値は、対応するタッチ座標ｓｐｎが軌跡１４２上でタッチオンの位置に近い順番に（すなわち、ｓｐ１、ｓｐ２、ｓｐ３・・・に対応する、ｄｘ１、ｄｘ２、ｄｘ３・・・の順番に）データ記憶領域７２に記憶される。または、たとえば順番識別データを付すなどして、その順番が分かるように記憶されても構わない。
【０２６２】
また、タッチ座標ｓｐｎまたは差分ｄｘｎをデータ記憶領域７２に順次記憶しておき、それからサイドスピン補正値を算出する処理は、ショット演出処理（図４０）のＳ４２１において実行しても構わない。
【０２６３】
図４０は、図２２に示したステップＳ２５のショット演出処理を示すフロー図である。図４０に示すように、ＣＰＵコア４２は、ショット演出処理を開始すると、ステップＳ４１１で、ショットモーション表示する。つまり、ＬＣＤ１２に表示されるゲーム画面１００において、プレイヤキャラクタ１０２がクラブ１０４をスイングする動作（または、ボール１０６を打つ動作）のモーション（アニメーション）を表示する。ただし、インパクト結果が「空振り」を示す場合には、プレイヤキャラクタ１０２がボール１０６を空振りするアニメーションが表示される。続くステップＳ４１３では、ＲＡＭ４８を参照して、スイング速度補正フラグ７７８がオンであるかどうかを判断する。ステップＳ４１３で“ＹＥＳ”であれば、つまりスイング速度補正フラグ７７８がオンであれば、そのままステップＳ４１９に進む。一方、ステップＳ４１３で“ＮＯ”であれば、つまりスイング速度補正フラグ７７８がオフであれば、ステップＳ４１５で、ナイスショットフラグ７８０がオンであるかどうかを判断する。
【０２６４】
ステップＳ４１５で“ＮＯ”であれば、つまりナイスショットフラグ７８０がオフであれば、そのままステップＳ４１９に進む。一方、ステップＳ４１５で“ＹＥＳ”であれば、つまりナイスショットフラグ７８０がオンであれば、ステップＳ４１７で、ナイスショット演出を実行して、ステップＳ４１９に進む。たとえば、ナイスショットを表現するために、効果音を鳴らしたり、ボール１０６が移動する様子を華やかに表示したり、ナイスショットを示す文字をテキスト表示したりする。これらは、少なくとも１つ実行すればよく、２つ以上の組み合わせで複合的に実行するようにしてもよい。
【０２６５】
ステップＳ４１９では、弾道計算（飛距離Ｆと打球方向Ｄの計算）を行う。ここで、飛距離Ｆおよび打球方向Ｄは、数１および数２に従ってそれぞれ算出される。次にステップＳ４２１では、ステップＳ４１９で計算した弾道を再計算する。つまり、スライド操作の軌跡１４２に基づくサイドスピン値の補正値によって弾道を補正する。
【０２６６】
なお、データ記憶領域７２に記憶されたサイドスピン補正データ７６６は、記憶された順番に（または順番データの示す順番に）読み出して、順次使用する。すなわち、図１８において、差分ｄｘ１に対応するサイドスピン補正データ、差分ｄｘ２に対応するサイドスピン補正データ、差分ｄｘ３に対応するサイドスピン補正データ・・・の順番に使用される。ただし、ステップＳ４２１は、毎フレーム実行せずに、たとえば、所定フレーム数毎やボール１０６が所定距離移動する毎に、実行してもよい。
【０２６７】
続いて、ステップＳ４２３では、ＬＣＤ１２の画面表示処理を実行する。この画面表示処理では、計算および補正された弾道に従って仮想空間内をボール１０６が移動（飛んだり、転がったり）する様子がゲーム画面１００として表示される。ただし、「空振り」の場合には、ボール１０６は移動されず、たとえば、プレイヤキャラクタ１０２がティグランドで絶望する様子がゲーム画面１００として表示される。そして、ステップＳ４２５で、ショット結果を表示して、ショット演出処理をリターンする。たとえば、ショット結果としては、飛距離が数値で表示されたり、ピンまでの残りの距離が数値表示されたり、ボール１０６の現在位置についてのライの状態が表示されたりする。
【０２６８】
この実施例によれば、タッチパネルが配置されるＬＣＤに表示されるボールを打撃するようにスライド操作することにより、プレイヤキャラクタにボールを打撃させることができるので、簡単で直感的な操作が可能である。このため、リアリティのあるゲームを楽しむことができる。
【０２６９】
また、この実施例では、プレイヤのタッチ入力がボールの飛距離や軌道（弾道）に影響するため、プレイヤが実際にボールを打撃するような感覚を得ることができる。つまり、リアリティのあるゲームを楽しむことができる。
【０２７０】
なお、この実施例では、２つのＬＣＤを設けて２つのゲーム画面を表示する場合について説明したが、１つのＬＣＤを設けて、これに対応してタッチパネルを設けておき、当該ＬＣＤに１つのゲーム画面を表示するようにしても良い。かかる場合には、たとえば、打撃操作が終了するまでは、上述の実施例で示したゲーム画面１２０を表示し、打撃操作が終了すると、上述の実施例で示したゲーム画面１００を表示するようにすれば良い。
【０２７１】
また、この実施例では、２つのＬＣＤを設けたゲーム装置について説明したが、１つのＬＣＤの表示領域を２つに分割し、少なくともいずれか一方の表示領域に対応してタッチパネルを設けるようにしても良い。この場合、縦長のＬＣＤを設ける場合には、縦に２つ表示領域が並ぶようにＬＣＤの表示領域を分割し、横長のＬＣＤを設ける場合には、横に２つの表示領域が並ぶようにＬＣＤの表示領域を分割するようにすれば良い。
【０２７２】
さらに、この実施例では、タッチパネルのようなポインティングデバイスを用いるようにしたが、これに限定されるべきではない。ラップトップ型のＰＣに用いらえるタッチパッド、ペンタブレット、コンピュータマウスなども用いることができる。なお、コンピュータマウスの場合には、マウスのボタン操作をタッチ操作に対応付けることができる。
【０２７３】
さらにまた、この実施例では、タッチオン座標に基づいて、スタンスと打撃力とを決定するようにしたが、少なくとも１つのパラメータを決定するようにしても良い。また、タッチオンからタッチオフまでに検出されるいずれか１つまたは２つ以上の座標を用いて、少なくとも１つのパラメータを決定するようにすることも可能である。さらに、タッチ位置の直交座標の各成分に基づいてパラメータを決定したが、極座標の各成分に基づいてパラメータを決定するようにしても良い。
【０２７４】
なお、この実施例では、スライド基準線を等間隔に分割した点ｘｎを通る直線と交差するスライド操作の軌跡１４２上の点ｓｐｎとスライド基準線との距離ｄｘｎに基づいてサイドスピン値の補正値を算出するようにしたが、これに限定される必要はない。たとえば、図４１（Ａ）に示すように、スライド操作の軌跡１４２上であり、一定時間毎に検出される点ｓｐｎ（すなわち、一定時間毎に検出されるタッチ座標そのもの）とスライド基準線１４４との距離ｄｘｎに基づいてサイドスピン値の補正値を算出するようにしてもよい。かかる場合には、図４１（Ｂ）に示すように、一定時間毎に検出された点ｓｐ１，ｓｐ２，ｓｐ３，ｓｐ４，ｓｐ５，ｓｐ６は、ボール１０６のＹ軸方向の位置Ｙ１，Ｙ２，Ｙ３，Ｙ４，Ｙ５，Ｙ６に対応する。したがって、上述の実施例と同様に、位置Ｙ１，Ｙ２，Ｙ３，Ｙ４，Ｙ５，Ｙ６の各々で、すなわち、ショット後のボールのＹ座標が位置Ｙ１、Ｙ２、Ｙ３・・・に到達する毎に、算出された補正値を順次利用して水平方向の移動方向ベクトルが補正される。
【０２７５】
したがって、かかる場合には、図３９に示したフロー図に代えて、図４２に示すフロー図に従ってスライド操作の軌跡に基づくサイドスピン補正値算出処理が実行される。つまり、ステップＳ３９５´で、一定時間毎のタッチ座標（点ｓｐｎ）を取得するようにしてある。なお、他の処理は、図３９に示した処理と同じであるため、重複した説明は省略する。
【０２７６】
また、この実施例では、各距離ｄｘｎについて補正値を求めて、各々を順次使用して、ボール１０６の軌道を補正するようにしたが、これに限定される必要はない。たとえば、すべての距離ｄｘｎの平均値を算出し、この平均値を用いて軌道全体を補正するようにしてもよい。かかる場合には、図３９に示したフロー図に代えて、図４３に示すフロー図に従ってスライド操作の軌跡に基づくサイドスピン補正値補正処理が実行される。つまり、ステップＳ３９７で、各距離ｄｘｎを算出すると、ステップＳ４０１において、すべての距離ｄｘｎについての平均値が算出され、この平均値に基づいて補正値が算出される。ただし、平均値は、距離ｄｘｎの絶対値で算出してもよいし、スライド基準線１４４を基準（中心）として左右で異なる符号を付した距離ｄｘｎを用いて算出してもよい。また、平均値に代えて、すべての距離ｄｘｎの和を用いて補正値を算出するようにしてもよい。
【０２７７】
また、本実施例では、複数の距離ｄｘｎについて補正値を求めてそれらに基づいて、ボール１０６の軌道を補正するようにしたが、これに限定される必要はない。例えば、軌跡１４２上の所定の１点（たとえば、タッチオン後の所定時間経過後の１点、所定距離スライド後の１点、軌跡が所定領域に入った最初の点、または、所定領域から出た最後の点など）についての距離ｄｘによりサイドスピン補正値を算出してそれをゲーム制御で利用してもよい。
【０２７８】
さらに、本実施例では、距離ｄｘをサイドスピンの補正値として利用したが、サイドスピン値そのものとして利用してもかまわない。
【０２７９】
さらにまた、この実施例では、スライド基準線は、スライド操作の軌跡に基づいてボール１０６のサイドスピン値の補正値を算出するための基準としてのみ説明したが、これに限定されるべきではない。スライド基準線が示す方向に基づいて、サイドスピン値を設定したり、打ち出し方向を決定したりすることも可能である。つまり、スライド基準線の方向をゲームの入力値として用いることができる。
【図面の簡単な説明】
【０２８０】
【図１】図１はこの発明のゲーム装置の一例を示す図解図である。
【図２】図２は図１に示すゲーム装置の電気的な構成を示すブロック図である。
【図３】図３は図１に示すゲーム装置に設けられる第１のＬＣＤおよび第２のＬＣＤに表示されるゲーム画面の例を示す図解図である。
【図４】図４は図１に示すゲーム装置に設けられる第２のＬＣＤに表示されるメニュー画面の例を示す図解図である。
【図５】図５は図１に示すゲーム装置に設けられる第２のＬＣＤに表示されるゲーム画面においてショットパワーラインおよびショットパワー値が表示される様子を示す図解図である。
【図６】図６は図１に示すゲーム装置の第２のＬＣＤに表示されるゲーム画面でインパクトラインの表示位置が変化される様子を示す図解図である。
【図７】図７は図１に示すゲーム装置に設けられる第１のＬＣＤおよび第２のＬＣＤに表示されるゲーム画面の他の例を示す図解図である。
【図８】図８は図１に示すゲーム装置に設けられる第１のＬＣＤおよび第２のＬＣＤに表示されるゲーム画面のその他の例を示す図解図である。
【図９】図９は図１に示すゲーム装置に設けられる第１のＬＣＤおよび第２のＬＣＤに表示されるゲーム画面のさらに他の例である。
【図１０】図１０は図１に示すゲーム装置に設けられる第２のＬＣＤに表示されるゲーム画面に対するタッチオン座標に応じたボールの曲がり具合を説明するための図解図である。
【図１１】図１１は図１に示すゲーム装置に設けられる第２のＬＣＤに表示されるゲーム画面の他の例を示す図解図である。
【図１２】図１２は図１に示すゲーム装置に設けられるタッチパネル上におけるスライド操作の例を示す図解図である。
【図１３】図１３は図１に示すゲーム装置に設けられるタッチパネル上におけるスライド操作の他の例を示す図解図である。
【図１４】図１４は図１に示すゲーム装置に設けられる第２のＬＣＤに表示されるゲーム画面のボールに対して設定されるインパクトの判定領域を示す図解図である。
【図１５】図１５は図１４に示すインパクトの判定領域を用いたインパクトの判定方法を説明するための図解図である。
【図１６】図１６は図１に示すゲーム装置に設けられる第２のＬＣＤに表示されるゲーム画面のボールの大きさをゲーム難易度で変化させることを説明するための図解図である。
【図１７】図１７はインパクトの判定領域の他の例を示す図解図である。
【図１８】図１８はプレイヤのスライド操作の軌跡１４２の例およびサイドスピン値の補正方法を説明するための図解図である。
【図１９】図１９はサイドスピンの補正値を用いてボールの軌道を補正する方法を説明するための図解図である。
【図２０】図２０はこの発明の他の実施例におけるＲＡＭのメモリマップの例を示す図解図である。
【図２１】図２１は図２０に示すＲＡＭのデータ記憶領域の例を示す図解図である。
【図２２】図２２は図２に示すＣＰＵコアの打撃処理を示すフロー図である。
【図２３】図２３は図２に示すＣＰＵコアの各種設定処理を示すフロー図である。
【図２４】図２４は図２に示すＣＰＵコアの画面表示処理を示すフロー図である。
【図２５】図２５は図２に示すＣＰＵコアのスライド操作開始処理を示すフロー図である。
【図２６】図２６は図２に示すＣＰＵコアのスライド操作（１）処理の一部を示すフロー図である。
【図２７】図２７は図２に示すＣＰＵコアのスライド操作（１）処理の他の一部であり、図３５に後続するフロー図である。
【図２８】図２８は図２に示すＣＰＵコアのスライド操作（２）処理の一部を示すフロー図である。
【図２９】図２９は図２に示すＣＰＵコアのスライド操作（２）処理の他の一部であり、図２８に後続するフロー図である。
【図３０】図３０は図２に示すＣＰＵコアのスライド操作の軌跡１４２の延長処理を示すフロー図である。
【図３１】図３１は図２に示すＣＰＵコアのスライド操作判定処理を示すフロー図である。
【図３２】図３２は図２に示すＣＰＵコアのスライド操作中断判定処理を示すフロー図である。
【図３３】図３３は図２に示すＣＰＵコアのインパクト判定処理の一部を示すフロー図である。
【図３４】図３４は図２に示すＣＰＵコアのインパクト判定処理の他の一部であり、図３３に後続するフロー図である。
【図３５】図３５は図２に示すＣＰＵコアのショット前処理の一部を示すフロー図である。
【図３６】図３６は図２に示すＣＰＵコアのショット前処理の他の一部であり、図３５に後続するフロー図である。
【図３７】図３７は図２に示すＣＰＵコアのショット前処理のその他の一部であり、図３６に後続するフロー図である。
【図３８】図３８は図２に示すＣＰＵコアのショット前処理のさらに他の一部であり、図３７に後続するフロー図である。
【図３９】図３９は図２に示すＣＰＵコアのサイドスピン補正値算出処理を示すフロー図である。
【図４０】図４０は図２に示すＣＰＵコアのショット演出処理を示すフロー図である。
【図４１】図４１はサイドスピンの補正値の算出方法の他の例および軌道の補正方法の他の例を説明するための図解図である。
【図４２】図４２は図２に示すＣＰＵコアのサイドスピン補正値算出処理の他の例を示すフロー図である。
【図４３】図４３は図２に示すＣＰＵコアのサイドスピン補正値算出処理のその他の例を示すフロー図である。
【符号の説明】
【０２８１】
１０  …ゲーム装置
１２，１４  …ＬＣＤ
１６，１６ａ，１６ｂ  …ハウジング
２０  …操作スイッチ
２２  …タッチパネル
２４  …スティック
２８  …メモリカード
２８ａ  …ＲＯＭ
２８ｂ，４８  …ＲＡＭ
４０  …電子回路基板
４２  …ＣＰＵコア
５０，５２  …ＧＰＵ
５４  …Ｉ／Ｆ回路
５６，５８  …ＶＲＡＭ
６０  …ＬＣＤコントローラ
【図１】
2008079989.tif 000003
【図２】
2008079989.tif 000004
【図３】
2008079989.tif 000005
【図４】
2008079989.tif 000006
【図５】
2008079989.tif 000007
【図６】
2008079989.tif 000008
【図７】
2008079989.tif 000009
【図８】
2008079989.tif 000010
【図９】
2008079989.tif 000011
【図１０】
2008079989.tif 000012
【図１１】
2008079989.tif 000013
【図１２】
2008079989.tif 000014
【図１３】
2008079989.tif 000015
【図１４】
2008079989.tif 000016
【図１５】
2008079989.tif 000017
【図１６】
2008079989.tif 000018
【図１７】
2008079989.tif 000019
【図１８】
2008079989.tif 000020
【図１９】
2008079989.tif 000021
【図２０】
2008079989.tif 000022
【図２１】
2008079989.tif 000023
【図２２】
2008079989.tif 000024
【図２３】
2008079989.tif 000025
【図２４】
2008079989.tif 000026
【図２５】
2008079989.tif 000027
【図２６】
2008079989.tif 000028
【図２７】
2008079989.tif 000029
【図２８】
2008079989.tif 000030
【図２９】
2008079989.tif 000031
【図３０】
2008079989.tif 000032
【図３１】
2008079989.tif 000033
【図３２】
2008079989.tif 000034
【図３３】
2008079989.tif 000035
【図３４】
2008079989.tif 000036
【図３５】
2008079989.tif 000037
【図３６】
2008079989.tif 000038
【図３７】
2008079989.tif 000039
【図３８】
2008079989.tif 000040
【図３９】
2008079989.tif 000041
【図４０】
2008079989.tif 000042
【図４１】
2008079989.tif 000043
【図４２】
2008079989.tif 000044
【図４３】
2008079989.tif 000045