(57)【特許請求の範囲】
【請求項１】
打撃対象を打撃して仮想空間内を移動させるゲームを実行するゲーム装置であって、
制御部が、打撃準備開始タイミングからプレイヤが打撃開始操作を行ったときまでに経過した経過時間を特定する特定手段と、
前記打撃対象の画像を表示する表示手段、に表示されるカーソルの初期位置を、前記制御部が乱数に基づいて設定する初期位置設定手段と、
前記プレイヤが前記打撃開始操作を行ってから前記打撃対象が打撃されるインパクトタイミングが到来するまでの期間、前記制御部が、前記プレイヤのカーソル移動操作に基づいて、前記カーソルを前記初期位置から移動させる移動手段と、
前記インパクトタイミングが到来した場合に、前記制御部が、前記打撃対象の移動方向を、前記インパクトタイミングにおける、前記カーソルの位置と前記打撃対象の画像内の基準位置との位置関係に基づいて決定するとともに、前記打撃対象の移動距離を、前記経過時間に基づいて決定する移動結果決定手段と、
を含み
前記初期位置設定手段は、
前記制御部が、前記基準位置に対する前記初期位置の方向を乱数に基づいて制御する手段と、
前記制御部が、前記経過時間の長さに応じて変化するように、前記基準位置から前記初期位置までの距離を制御する手段と、を含むこと、
を特徴とするゲーム装置。
【請求項２】
打撃対象を打撃して仮想空間内を移動させるゲームを実行するゲーム装置であって、
制御部が、打撃準備開始タイミングからプレイヤが打撃開始操作を行ったときまでに経過した経過時間を特定する特定手段と、
前記打撃対象の画像を表示する表示手段、に表示されるカーソルの初期位置を、前記制御部が、乱数に基づいて設定する初期位置設定手段と、
前記プレイヤが前記打撃開始操作を行ってから前記打撃対象が打撃されるインパクトタイミングが到来するまでの期間、前記制御部が、前記プレイヤのカーソル移動操作に基づいて、前記カーソルを前記初期位置から移動させる移動手段と、
前記インパクトタイミングが到来した場合に、前記制御部が、前記打撃対象の移動方向を、前記インパクトタイミングにおける、前記カーソルの位置と前記打撃対象の画像内の基準位置との位置関係に基づいて決定するとともに、前記打撃対象の移動距離を、前記経過時間に基づいて決定する移動結果決定手段と、
前記制御部が、前記移動手段が前記カーソルを移動させる際の移動速度を、前記経過時間に基づいて制御する手段と、
を含むことを特徴とするゲーム装置。
【請求項３】
打撃対象を打撃して仮想空間内を移動させるゲームを実行するゲーム装置であって、 制御部が、打撃準備開始タイミングからプレイヤが打撃開始操作を行ったときまでに経過した経過時間を特定する特定手段と、 前記打撃対象の画像を表示する表示手段、に表示されるカーソルの初期位置を、前記制御部が、乱数に基づいて設定する初期位置設定手段と、 前記プレイヤが前記打撃開始操作を行ってから前記打撃対象が打撃されるインパクトタイミングが到来するまでの期間、前記制御部が、前記プレイヤのカーソル移動操作に基づいて、前記カーソルを前記初期位置から移動させる移動手段と、  前記インパクトタイミングが到来した場合に、前記制御部が、前記インパクトタイミングにおいて前記カーソルが前記打撃対象の画像内の基準位置を含む所与の判定領域内にあるか否かを判定する判定手段と、  前記インパクトタイミングが到来した場合に、前記制御部が、前記打撃対象の移動距離を前記経過時間に基づいて決定するとともに、前記打撃対象の移動方向を前記判定手段の判定結果に基づいて決定する手段であって、前記インパクトタイミングにおいて前記カーソルが前記所与の判定領域内にないと判定された場合に、前記打撃対象の移動方向を、前記インパクトタイミングにおける前記カーソルの位置と前記基準位置との位置関係に基づいて決定する移動結果決定手段と、 前記制御部が、前記所与の判定領域の大きさを、前記経過時間に基づいて制御する手段と、  を含むことを特徴とするゲーム装置。
【請求項４】
打撃対象を打撃して仮想空間内を移動させるゲームを実行するゲーム装置であって、
制御部が、打撃準備開始タイミングからプレイヤが打撃開始操作を行ったときまでに経過した経過時間を特定する特定手段と、
前記打撃対象の画像を表示する表示手段、に表示されるカーソルの初期位置を、前記制御部が、乱数に基づいて設定する初期位置設定手段と、
前記プレイヤが前記打撃開始操作を行ってから前記打撃対象が打撃されるインパクトタイミングが到来するまでの期間、前記制御部が、前記プレイヤのカーソル移動操作に基づいて、前記カーソルを前記初期位置から移動させる移動手段と、
前記インパクトタイミングが到来した場合に、前記制御部が、前記打撃対象の移動方向を、前記インパクトタイミングにおける、前記カーソルの位置と前記打撃対象の画像内の基準位置との位置関係に基づいて決定するとともに、前記打撃対象の移動距離を、前記経過時間に基づいて決定する移動結果決定手段と、
前記制御部が、前記期間の長さを、前記経過時間に基づいて制御する手段と、
を含むことを特徴とするゲーム装置。
【請求項５】
前記初期位置設定手段により過去に設定された初期位置の履歴に関する履歴データを記憶する履歴記憶手段をさらに含み、
前記初期位置設定手段は、前記履歴記憶手段に記憶される履歴データにさらに基づいて前記初期位置を設定する、
ことを特徴とする請求項１乃至４のいずれかに記載のゲーム装置。
【請求項６】
前記表示手段は、前記打撃対象がフィールドに置かれている様子を表す画像を表示し、
前記カーソルは、前記打撃対象がフィールドに置かれている様子を表す画像内に表示され、
前記移動結果決定手段は、前記経過時間と、前記打撃対象が置かれているフィールドの状態と、に基づいて前記打撃対象の移動距離を決定する、
ことを特徴とする請求項１乃至５のいずれかに記載のゲーム装置。
【請求項７】
打撃対象を打撃して仮想空間内を移動させるゲームを実行するゲーム装置の制御方法であって、 制御部が、打撃準備開始タイミングからプレイヤが打撃開始操作を行ったときまでに経過した経過時間を特定する特定ステップと、 前記制御部が、前記打撃対象の画像を表示する表示手段、に表示されるカーソルの初期位置を、乱数に基づいて設定する初期位置設定ステップと、 前記制御部が、前記プレイヤが前記打撃開始操作を行ってから前記打撃対象が打撃されるインパクトタイミングが到来するまでの期間、前記プレイヤのカーソル移動操作に基づいて、前記カーソルを前記初期位置から移動させる移動ステップと、 前記制御部が、前記インパクトタイミングが到来した場合に、前記打撃対象の移動方向を、前記インパクトタイミングにおける、前記カーソルの位置と前記打撃対象の画像内の基準位置との位置関係に基づいて決定するとともに、前記打撃対象の移動距離を、前記経過時間に基づいて決定する移動結果決定ステップと、  を含み、  前記初期位置設定ステップは、 前記制御部が、前記基準位置に対する前記初期位置の方向を乱数に基づいて制御するステップと、  前記制御部が、前記経過時間の長さに応じて変化するように、前記基準位置から前記初期位置までの距離を制御するステップと、を含むこと、  を特徴とする制御方法。
【請求項８】
打撃対象を打撃して仮想空間内を移動させるゲームを実行するゲーム装置の制御方法であって、
制御部が、打撃準備開始タイミングからプレイヤが打撃開始操作を行ったときまでに経過した経過時間を特定する特定ステップと、
前記制御部が、前記打撃対象の画像を表示する表示手段、に表示されるカーソルの初期位置を、乱数に基づいて設定する初期位置設定ステップと、
前記制御部が、前記プレイヤが前記打撃開始操作を行ってから前記打撃対象が打撃されるインパクトタイミングが到来するまでの期間、前記プレイヤのカーソル移動操作に基づいて、前記カーソルを前記初期位置から移動させる移動ステップと、
前記制御部が、前記インパクトタイミングが到来した場合に、前記打撃対象の移動方向を、前記インパクトタイミングにおける、前記カーソルの位置と前記打撃対象の画像内の基準位置との位置関係に基づいて決定するとともに、前記打撃対象の移動距離を、前記経過時間に基づいて決定する移動結果決定ステップと、
前記制御部が、前記移動ステップで前記カーソルの表示位置を移動させる際の移動速度を前記経過時間に基づいて制御するステップと、
を含むことを特徴とする制御方法。
【請求項９】
打撃対象を打撃して仮想空間内を移動させるゲームを実行するゲーム装置の制御方法であって、
制御部が、打撃準備開始タイミングからプレイヤが打撃開始操作を行ったときまでに経過した経過時間を特定する特定ステップと、
前記制御部が、前記打撃対象の画像を表示する表示手段、に表示されるカーソルの初期位置を、乱数に基づいて設定する初期位置設定ステップと、
前記制御部が、前記プレイヤが前記打撃開始操作を行ってから前記打撃対象が打撃されるインパクトタイミングが到来するまでの期間、前記プレイヤのカーソル移動操作に基づいて、前記カーソルを前記初期位置から移動させる移動ステップと、
前記制御部が、前記インパクトタイミングが到来した場合に、前記インパクトタイミングにおいて前記カーソルの表示位置が、前記打撃対象の画像内の基準位置を含む所与の判定領域内にあるか否かを判定する判定ステップと、
前記制御部が、前記インパクトタイミングが到来した場合に、前記打撃対象の移動距離を前記経過時間に基づいて決定するとともに、前記打撃対象の移動方向を前記判定ステップでの判定結果に基づいて決定するステップであって、前記インパクトタイミングにおいて前記カーソルが前記所与の判定領域内にないと判定された場合に、前記打撃対象の移動方向を、前記インパクトタイミングにおける前記カーソルの表示位置と前記基準位置との位置関係に基づいて決定する移動結果決定ステップと、
前記制御部が、前記所与の判定領域の大きさを前記経過時間に基づいて制御するステップと、
を含むことを特徴とする制御方法。
【請求項１０】
打撃対象を打撃して仮想空間内を移動させるゲームを実行するゲーム装置の制御方法であって、
制御部が、打撃準備開始タイミングからプレイヤが打撃開始操作を行ったときまでに経過した経過時間を特定する特定ステップと、
前記制御部が、前記打撃対象の画像を表示する表示手段、に表示されるカーソルの初期位置を、乱数に基づいて設定する初期位置設定ステップと、
前記制御部が、前記プレイヤが前記打撃開始操作を行ってから前記打撃対象が打撃されるインパクトタイミングが到来するまでの期間、前記プレイヤのカーソル移動操作に基づいて、前記カーソルを前記初期位置から移動させる移動ステップと、
前記制御部が、前記インパクトタイミングが到来した場合に、前記打撃対象の移動方向を、前記インパクトタイミングにおける、前記カーソルの位置と前記打撃対象の画像内の基準位置との位置関係に基づいて決定するとともに、前記打撃対象の移動距離を、前記経過時間に基づいて決定する移動結果決定ステップと、
前記制御部が、前記期間の長さを前記経過時間に基づいて制御するステップと、
を含むことを特徴とする制御方法。
【請求項１１】
打撃対象を打撃して仮想空間内を移動させるゲームを実行するゲーム装置としてコンピュータを機能させるプログラムであって、
制御部が、打撃準備開始タイミングからプレイヤが打撃開始操作を行ったときまでに経過した経過時間を特定する特定ステップと、
前記制御部が、前記打撃対象の画像を表示する表示手段、に表示されるカーソルの初期位置を、乱数に基づいて設定する初期位置設定ステップと、
前記制御部が、前記プレイヤが前記打撃開始操作を行ってから前記打撃対象が打撃されるインパクトタイミングが到来するまでの期間、前記プレイヤのカーソル移動操作に基づいて、前記カーソルを前記初期位置から移動させる移動ステップと、
前記制御部が、前記インパクトタイミングが到来した場合に、前記打撃対象の移動方向を、前記インパクトタイミングにおける、前記カーソルの位置と前記打撃対象の画像内の基準位置との位置関係に基づいて決定するとともに、前記打撃対象の移動距離を、前記経過時間に基づいて決定する移動結果決定ステップと、
を前記コンピュータに実行させ、
前記初期位置設定ステップは、
前記制御部が、前記基準位置に対する前記初期位置の方向を乱数に基づいて制御するステップと、
前記制御部が、前記経過時間の長さに応じて変化するように、前記基準位置から前記初期位置までの距離を制御するステップと、を含むこと、
を特徴とするプログラム。
【請求項１２】
打撃対象を打撃して仮想空間内を移動させるゲームを実行するゲーム装置としてコンピュータを機能させるプログラムであって、
制御部が、打撃準備開始タイミングからプレイヤが打撃開始操作を行ったときまでに経過した経過時間を特定する特定ステップと、
前記制御部が、前記打撃対象の画像を表示する表示手段、に表示されるカーソルの初期位置を、乱数に基づいて設定する初期位置設定ステップと、
前記制御部が、前記プレイヤが前記打撃開始操作を行ってから前記打撃対象が打撃されるインパクトタイミングが到来するまでの期間、前記プレイヤのカーソル移動操作に基づいて、前記カーソルを前記初期位置から移動させる移動ステップと、
前記制御部が、前記インパクトタイミングが到来した場合に、前記打撃対象の移動方向を、前記インパクトタイミングにおける、前記カーソルの位置と前記打撃対象の画像内の基準位置との位置関係に基づいて決定するとともに、前記打撃対象の移動距離を、前記経過時間に基づいて決定する移動結果決定ステップと、
前記制御部が、前記移動ステップで前記カーソルを移動させる際の移動速度を、前記経過時間に基づいて制御するステップと、
を前記コンピュータに実行させるプログラム。
【請求項１３】
打撃対象を打撃して仮想空間内を移動させるゲームを実行するゲーム装置としてコンピュータを機能させるプログラムであって、
制御部が、打撃準備開始タイミングからプレイヤが打撃開始操作を行ったときまでに経過した経過時間を特定する特定ステップと、
前記制御部が、前記打撃対象の画像を表示する表示手段、に表示されるカーソルの初期位置を、乱数に基づいて設定する初期位置設定ステップと、
前記制御部が、前記プレイヤが前記打撃開始操作を行ってから前記打撃対象が打撃されるインパクトタイミングが到来するまでの期間、前記プレイヤのカーソル移動操作に基づいて、前記カーソルを前記初期位置から移動させる移動ステップと、
前記制御部が、前記インパクトタイミングが到来した場合に、前記インパクトタイミングにおいて前記カーソルが、前記打撃対象の画像内の基準位置を含む所与の判定領域内にあるか否かを判定する判定ステップと、
前記制御部が、前記インパクトタイミングが到来した場合に、前記打撃対象の移動距離を前記経過時間に基づいて決定するとともに、前記打撃対象の移動方向を前記判定ステップでの判定結果に基づいて決定するステップであって、前記インパクトタイミングにおいて前記カーソルが前記所与の判定領域内にないと判定された場合に、前記打撃対象の移動方向を、前記インパクトタイミングにおける前記カーソルの位置と前記基準位置との位置関係に基づいて決定する移動結果決定ステップと、
前記制御部が、前記所与の判定領域の大きさを、前記経過時間に基づいて制御するステップと、
を前記コンピュータに実行させるプログラム。
【請求項１４】
打撃対象を打撃して仮想空間内を移動させるゲームを実行するゲーム装置としてコンピュータを機能させるプログラムであって、
制御部が、打撃準備開始タイミングからプレイヤが打撃開始操作を行ったときまでに経過した経過時間を特定する特定ステップと、
前記制御部が、前記打撃対象の画像を表示する表示手段、に表示されるカーソルの初期位置を設定する初期位置設定ステップと、
前記制御部が、前記プレイヤが前記打撃開始操作を行ってから前記打撃対象が打撃されるインパクトタイミングが到来するまでの期間、前記プレイヤのカーソル移動操作に基づいて、前記カーソルを前記初期位置から移動させる移動ステップと、
前記制御部が、前記インパクトタイミングが到来した場合に、前記打撃対象の移動方向を、前記インパクトタイミングにおける、前記カーソルの位置と前記打撃対象の画像内の基準位置との位置関係に基づいて決定するとともに、前記打撃対象の移動距離を、前記経過時間に基づいて決定する移動結果決定ステップと、
前記制御部が、前記期間の長さを、前記経過時間に基づいて制御するステップと、
を前記コンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、打撃対象を打撃して移動させる競技・遊技を模したゲームを実行するゲーム装置、ゲーム装置の制御方法及びプログラムに関する。
【背景技術】
【０００２】
打撃対象を打撃して移動させる遊技・競技を模したゲームがある。例えば、ゴルフゲームがよく知られている（特許文献１）。このようなゴルフゲームでは、ボールをショットする場合において、ゲージと当該ゲージ上を移動するポインタが表示される。そして、プレイヤがボタンを押した時のポインタのゲージ上の位置に応じて、ボールの移動方向や移動距離などが決定されるようになっている。すなわち、プレイヤがボタンを押したタイミングに応じて、ボールの移動方向や移動距離などが決定されるようになっている。
【特許文献１】特許第３５１１５１８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
例えば、実際のゴルフでは、プレイヤは、ダウンスイングの際にクラブヘッドの軌道を調整して、クラブヘッドをボールに命中させる。この際、バックスイングの大きさやプレイヤの立ち位置によって、ダウンスイング開始時のクラブヘッドの位置とボールとの位置関係は毎ショット変化する。そのため、プレイヤは、クラブヘッドをボールに命中させるために、毎ショット異なるクラブヘッドの軌道調整を行う必要がある。
【０００４】
この点、従来のゴルフゲームでは、クラブヘッドをボールに命中させるために必要なクラブヘッドの軌道調整が毎ショット異なる様子が十分に演出されているとは必ずしも言えず、ボールのショット操作に関するリアリティに欠けるところがあった。
【０００５】
本発明は上記課題に鑑みてなされたものであって、その目的は、打撃対象を打撃して移動させる遊技や競技を模したゲームにおいて、打撃対象の打撃操作に関するリアリティを向上させるゲーム装置、ゲーム装置の制御方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係るゲーム装置は、打撃対象を打撃して移動させるゲームを実行するゲーム装置であって、乱数に基づいて、カーソルの初期位置を設定する初期位置設定手段と、所与のタイミングが到来するまでの期間、プレイヤのカーソル移動操作に基づいて、前記カーソルを前記初期位置から移動させる移動手段と、前記所与のタイミングが到来した場合に、該タイミングにおける前記カーソルの位置と、基準位置と、の位置関係に基づいて、前記打撃対象の移動結果を決定する移動結果決定手段と、を含むことを特徴とする。
【０００７】
また、本発明に係るゲーム装置の制御方法は、打撃対象を打撃して移動させるゲームを実行するゲーム装置の制御方法であって、乱数に基づいて、カーソルの初期位置を設定する初期位置設定ステップと、所与のタイミングが到来するまでの期間、プレイヤのカーソル移動操作に基づいて、前記カーソルを前記初期位置から移動させる移動ステップと、前記所与のタイミングが到来した場合に、該タイミングにおける前記カーソルの位置と、基準位置と、の位置関係に基づいて、前記打撃対象の移動結果を決定する移動結果決定ステップとを含むことを特徴とする。
【０００８】
また、本発明に係るプログラムは、打撃対象を打撃して移動させるゲームを実行するゲーム装置として、携帯電話機、据置型ゲーム機（家庭用ゲーム機）、携帯ゲーム機、業務用ゲーム機、携帯情報端末（ＰＤＡ）、パーソナルコンピュータなどのコンピュータを機能させるためのプログラムであって、乱数に基づいて、カーソルの初期位置を設定する初期位置設定手段、所与のタイミングが到来するまでの期間、プレイヤのカーソル移動操作に基づいて、前記カーソルを前記初期位置から移動させる移動手段、及び、前記所与のタイミングが到来した場合に、該タイミングにおける前記カーソルの位置と、基準位置と、の位置関係に基づいて、前記打撃対象の移動結果を決定する移動結果決定手段として前記コンピュータを機能させるプログラムである。
【０００９】
また、本発明に係る情報記憶媒体は、上記プログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。
【００１０】
本発明は、打撃対象を打撃して移動させるゲームを実行するゲーム装置に関するものである。本発明では、例えば、ゴルフゲームが実行される。本発明では、乱数に基づいて、カーソルの初期位置が設定される。そして、所与のタイミングが到来するまでの期間、プレイヤのカーソル移動操作に基づいて、前記カーソルが前記初期位置から移動される。そして、前記タイミングにおける前記カーソルの位置と、基準位置と、の位置関係に基づいて、前記打撃対象の移動結果が決定される。本発明によれば、打撃具を打撃対象に命中させるために必要な打撃具の軌道調整が毎回異なる様子を十分に演出できるようになり、打撃対象の打撃操作に関するリアリティを向上させることができる。
【００１１】
また、本発明の一態様では、前記打撃対象を打撃する際の強度を決定するパラメータ値を取得する手段をさらに含み、前記移動結果決定手段は、前記打撃対象の移動方向を前記位置関係に応じて変化するように決定する移動方向決定手段と、前記打撃対象の移動距離を前記パラメータ値に応じて変化するように決定する移動距離決定手段とを含み、前記初期位置設定手段は、前記パラメータ値に基づいて、前記基準位置から前記初期位置までの距離を制御する制御手段を含むようにしてもよい。こうすれば、打撃対象を打撃する際の強度に応じて、打撃対象の打撃操作の困難性を変化させることができる。
【００１２】
また、本発明の一態様では、基準タイミングからプレイヤが所定操作を行ったときまでに経過した経過時間を特定する特定手段をさらに含み、前記移動結果決定手段は、前記打撃対象の移動方向を前記位置関係に応じて変化するよう決定する移動方向決定手段と、前記打撃対象の移動距離を前記経過時間に応じて変化するように決定する移動距離決定手段とを含み、前記初期位置設定手段は、前記経過時間に基づいて、前記基準位置から前記初期位置までの距離を制御する制御手段を含むようにしてもよい。こうすれば、基準タイミングからプレイヤが所定操作を行ったときまでに経過した経過時間に基づいて、打撃対象の打撃操作の困難性を変化させることができる。
【００１３】
また、本発明の一態様では、複数種の打撃具から１つの打撃具を選択するようプレイヤに案内する案内手段をさらに含み、前記移動結果決定手段は、前記打撃対象の移動方向を前記位置関係に応じて変化するように決定する移動方向決定手段と、前記打撃対象の移動距離をプレイヤにより選択された前記打撃具に応じて変化するように決定する移動距離決定手段とを含み、前記初期位置設定手段は、プレイヤにより選択された前記打撃具に基づいて、前記基準位置から前記初期位置までの距離を制御する制御手段を含むようにしてもよい。こうすれば、打撃対象を打撃する打撃具に応じて、打撃対象の打撃操作の困難性を変化させることができる。
【００１４】
また、本発明の一態様では、前記打撃対象を打撃する際の強度を決定するパラメータ値を取得する手段をさらに含み、前記移動結果決定手段は、前記打撃対象の移動方向を前記位置関係に応じて変化するように決定する移動方向決定手段と、前記打撃対象の移動距離を前記パラメータ値に応じて変化するように決定する移動距離決定手段とを含み、前記パラメータ値に基づいて、前記移動手段が前記カーソルを移動させる際の移動速度を制御する制御手段をさらに含むようにしてもよい。こうすれば、打撃対象を打撃する際の強度に応じて、打撃対象の打撃操作の困難性を変化させることができる。
【００１５】
また、本発明の一態様では、基準タイミングからプレイヤが所定操作を行ったときまでに経過した経過時間を特定する特定手段をさらに含み、前記移動結果決定手段は、前記打撃対象の移動方向を前記位置関係に応じて変化するように決定する移動方向決定手段と、前記打撃対象の移動距離を前記経過時間に応じて変化するように決定する移動距離決定手段とを含み、前記経過時間に基づいて、前記移動手段が前記カーソルを移動させる際の移動速度を制御する制御手段をさらに含むようにしてもよい。こうすれば、基準タイミングからプレイヤが所定操作を行ったときまでに経過した経過時間に基づいて、打撃操作の困難性を変化させることができる。
【００１６】
また、本発明の一態様では、複数種の打撃具から１つの打撃具を選択することをプレイヤに案内する案内手段をさらに含み、前記移動結果決定手段は、前記打撃対象の移動方向を前記位置関係に応じて変化するように決定する移動方向決定手段と、前記打撃対象の移動距離をプレイヤにより選択された打撃具に応じて変化するように決定する移動距離決定手段とを含み、プレイヤにより選択された前記打撃具に基づいて、前記移動手段が前記カーソルを移動させる際の移動速度を制御する制御手段をさらに含むようにしてもよい。こうすれば、打撃対象を打撃する打撃具に応じて、打撃対象の打撃操作の困難性を変化させることができる。
【００１７】
また、本発明の一態様では、前記打撃対象を打撃する際の強度を決定するパラメータ値を取得する手段と、前記タイミングにおいて前記カーソルが前記基準位置を含む所与の判定領域内にあるか否かを判定する判定手段と、をさらに含み、前記移動結果決定手段は、前記タイミングにおいて前記カーソルが前記所与の判定領域内にないと判定される場合に、前記打撃対象の移動方向を前記位置関係に応じて変化するように決定する移動方向決定手段と、前記打撃対象の移動距離を前記パラメータ値に応じて変化するように決定する移動距離決定手段とを含み、前記パラメータ値に基づいて、前記所与の判定領域の大きさを制御する制御手段をさらに含むようにしてもよい。こうすれば、打撃対象を打撃する際の強度に応じて、打撃対象の打撃操作の困難性を変化させることができる。
【００１８】
また、本発明の一態様では、基準タイミングからプレイヤが所定操作を行ったときまでに経過した経過時間を特定する特定手段と、前記タイミングにおいて前記カーソルが前記基準位置を含む所与の判定領域内にあるか否かを判定する判定手段と、をさらに含み、前記移動結果決定手段は、前記タイミングにおいて前記カーソルが前記所与の判定領域内にないと判定される場合に、前記打撃対象の移動方向を前記位置関係に応じて変化するように決定する移動方向決定手段と、前記打撃対象の移動距離を前記経過時間に応じて変化するように決定する移動距離決定手段とを含み、前記経過時間に基づいて、前記所与の判定領域の大きさを制御する制御手段をさらに含むようにしてもよい。こうすれば、基準タイミングからプレイヤが所定操作を行ったときまでに経過した経過時間に基づいて、打撃対象の打撃操作の困難性を変化させることができる。
【００１９】
また、本発明の一態様では、複数種の打撃具から１つの打撃具を選択することをプレイヤに案内する案内手段と、前記タイミングにおいて前記カーソルが前記基準位置を含む所与の判定領域内にあるか否かを判定する判定手段と、をさらに含み、前記移動結果決定手段は、前記タイミングにおいて前記カーソルが前記所与の判定領域内にないと判定される場合に、前記打撃対象の移動方向を前記位置関係に応じて変化するように決定する移動方向決定手段と、前記打撃対象の移動距離をプレイヤにより選択された打撃具に応じて変化するように決定する移動距離決定手段とを含み、プレイヤにより選択された前記打撃具に基づいて、前記所与の判定領域の大きさを制御する制御手段をさらに含むようにしてもよい。こうすれば、打撃対象を打撃する打撃具に応じて、打撃対象の打撃操作の困難性を変化させることができる。
【００２０】
また、本発明の一態様では、前記打撃対象を打撃する際の強度を決定するパラメータ値を取得する手段をさらに含み、前記移動結果決定手段は、前記打撃対象の移動方向を前記位置関係に応じて変化するように決定する移動方向決定手段と、前記打撃対象の移動距離を前記パラメータ値に応じて変化するように決定する移動距離決定手段とを含み、前記パラメータ値に基づいて、前記期間の長さを制御する制御手段をさらに含むようにしてもよい。こうすれば、打撃対象を打撃する際の強度に応じて、打撃対象の打撃操作の困難性を変化させることができる。
【００２１】
また、本発明の一態様では、基準タイミングからプレイヤが所定操作を行ったときまでに経過した経過時間を特定する特定手段をさらに含み、前記移動結果決定手段は、前記打撃対象の移動方向を前記位置関係に応じて変化するように決定する移動方向決定手段と、前記打撃対象の移動距離を前記経過時間に応じて変化するように決定する移動距離決定手段とを含み、前記経過時間に基づいて、前記期間の長さを制御する制御手段をさらに含むようにしてもよい。こうすれば、基準タイミングからプレイヤが所定操作を行った時までに経過した経過時間に基づいて、打撃対象の打撃操作の困難性を変化させることができる。
【００２２】
また、本発明の一態様では、複数種の打撃具から１つの打撃具を選択することをプレイヤに案内する案内手段をさらに含み、前記移動結果決定手段は、前記打撃対象の移動方向を前記位置関係に応じて変化するように決定する移動方向決定手段と、前記打撃対象の移動距離をプレイヤにより選択された打撃具に応じて変化するように決定する移動距離決定手段とを含み、プレイヤにより選択された前記打撃具に基づいて、前記期間の長さを制御する制御手段をさらに含むようにしてもよい。こうすれば、打撃対象を打撃する打撃具に応じて、打撃対象の打撃操作の困難性を変化させることができる。
【００２３】
また、本発明の一態様では、前記初期位置設定手段により過去に設定された初期位置の履歴に関する履歴データを記憶する履歴記憶手段をさらに含み、前記初期位置設定手段は、乱数と、前記履歴記憶手段に記憶される履歴データと、に基づいて前記初期位置を設定するようにしてもよい。こうすれば、例えば、カーソルの初期位置を、バランスよくばらつかせるよう図ることができる。
【００２４】
また、本発明の一態様では、前記打撃対象がフィールドに置かれている様子を表す画像を表示する表示手段をさらに含み、前記基準位置は、前記打撃対象の画像内に設定され、前記カーソルは、前記打撃対象がフィールドに置かれている様子を表す画像内に表示され、前記移動結果決定手段は、前記位置関係と、前記打撃対象が置かれているフィールドの状態と、に基づいて前記移動結果を決定するようにしてもよい。ここで、フィールドの状態とは、例えば、「フィールドの所定の平面に対する傾斜」、や「フィールドの属性」などである。これによれば、打撃対象の移動結果がフィールドの状態によって変化する感覚をプレイヤに実感させることができる。また、これによれば、プレイヤが打撃操作を行うためのインターフェイスに、カーソルだけでなく、打撃対象がフィールドに置かれている様子を表す画像も表示される。そのため、例えば、プレイヤがカーソルの位置を調整する際、フィールドの状態が参照されやすくなる。その結果、例えば、打撃操作の際の利便性が比較的向上する。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の実施形態の一例について図面に基づき詳細に説明する。ここでは、本発明に係るゲーム装置として、携帯電話機を用いて実現した例について説明する。なお、本発明に係るゲーム装置は、据置型ゲーム機（家庭用ゲーム機）、携帯ゲーム機、業務用ゲーム機、携帯情報端末（ＰＤＡ）、パーソナルコンピュータなどを用いて実現することもできる。
【００２６】
以下、本発明の実施形態１について説明する。図１は本実施形態に係る携帯電話機１０（ゲーム装置）の外観の一例を示す。図２は携帯電話機１０のハードウェア構成を示す。図１及び図２に示すように、携帯電話機１０は、表示部１２と、操作キー部１４と、音声出力部２０と、制御部２２と、記憶部２４と、通信制御部２６と、を含んで構成される
【００２７】
制御部２２は、記憶部２４に記憶されたプログラムに従って、携帯電話機１０の各部を制御する。制御部２２は通常の携帯電話機としての処理（発呼、着呼の処理や、通話に関する処理）も行うが、以下では本発明に関連する処理について主に説明する。制御部２２によって実行される処理の具体的内容については後に述べる。
【００２８】
記憶部２４はメインメモリと不揮発性メモリとを含んで構成される。不揮発性メモリには制御部２２によって実行されるプログラムが保持される。このプログラムは、例えばネットワーク２８を介してサーバ側装置３０からダウンロードされて不揮発性メモリに格納される。または、例えばメモリカードなどのコンピュータ読み取り可能な情報記憶媒体から複写されて不揮発性メモリに格納される。メインメモリには、不揮発性メモリから読み出されるプログラムや制御部２２の処理において必要となる種々のデータが必要に応じて書き込まれる。
【００２９】
通信制御部２６は制御部２２から入力される発呼の指示に従って、携帯電話回線網を介して相手側を発呼する。また、携帯電話回線網を介して着信要求が到来すると、制御部２２にこれを伝達する。さらに制御部２２から着呼の指示があると着信要求に応答して着呼の処理を行う。通信制御部２６は、制御部２２からサーバ側装置３０（図２参照）に対してデータを送信するべき旨の指示を受けると、ネットワーク２８（図２参照）を介して当該指示に係るデータを送信する。また通信制御部２６は、ネットワーク２８を介して到来したデータを受信して制御部２２に出力する。
【００３０】
表示部１２は例えば液晶パネルを含んで構成される。表示部１２は制御部２２から入力される指示に従って各種画面を表示する。音声出力部２０は制御部２２から入力される指示に従って各種音声（例えば着信音、ゲーム音楽や効果音など）を出力する。
【００３１】
操作キー部１４は、方向指示操作に用いられる方向指示キー１６ａと、入力決定キー１６ｂと、「０」〜「９」の各数字に対応する１０個の数字キー（テンキー）を含むキー群１８と、を含んで構成される。
【００３２】
上記の構成を有する携帯電話機１０では、打撃対象を打撃して移動させる遊技・競技を模したゲームが実行される。本実施形態では、ゴルフゲームが実行される。このゲームは、記憶部２４に記憶されたゲームプログラムを制御部２２が実行することによって実現される。
【００３３】
携帯電話機１０では、ボールのショット操作に関するリアリティの向上が図られており、クラブヘッドをボールに命中させるために必要なクラブヘッドの軌道調整が毎ショット異なる感覚をプレイヤが実感できるようになっている。以下、この点について説明する。
【００３４】
図３は表示部１２に表示されるゲーム画面の一例を示す。ここでは、プレイヤオブジェクト５０がボールオブジェクト５２をショットするために構えている状態（以下、ショット前状態）におけるゲーム画面を示す。同図に示すように、ゲーム画面には、プレイヤオブジェクト５０の画像と、ショットに用いられるゴルフクラブの種類と、ボールがショットされる強さを表す数値（以下、ショットパワー値）と、が表示される。ショットパワー値は、例えば、上下方向を指示する方向指示キー１６ａの押下により、プレイヤによって増減される。また、ゴルフクラブの種類は、左右方向を指示する方向指示キー１６ａの押下により、予め定められた複数種のゴルフクラブからプレイヤによって選択される。なお、各ゴルフクラブには、その最大飛距離が設定されている。
【００３５】
また、ゲーム画面の所定領域には、サブ画面４０が表示される。サブ画面４０には、ボールがフィールドに置かれている様子を表す画像が表示される。例えば、図３に示されるサブ画面４０は、傾斜しているフェアウェイにボールが置かれている様子を表している。サブ画面４０には、ボールオブジェクト５２の画像、カーソル５４、及び、フィールドオブジェクト５６の画像が表示される。ショット前状態では、ボールオブジェクト５２の画像、及び、カーソル５４はサブ画面４０の中心点（以下、基準位置９９）に表示される。
【００３６】
ここで、ゲーム画面を表示するために記憶部２４（メインメモリ）に形成される仮想３次元空間１００について説明する。図４は、仮想３次元空間１００の一例を示す図である。同図に示すように、仮想３次元空間１００には、原点をＰとするワールド座標系が設定される。そして、仮想３次元空間１００には、第１視点４２と、第２視点４４と、プレイヤオブジェクト５０と、ボールオブジェクト５２と、ゴルフコースを表すフィールドオブジェクト５６と、ピンオブジェクト５８と、が配置される。プレイヤオブジェクト５０は、ゴルフクラブ６０を保持する。ゴルフクラブ６０は、クラブヘッド６２とその他の部分とから構成される。フィールドオブジェクト５６は、ＸＺ平面に平行に配置され、ＸＺ平面に平行な部分やＸＺ平面に対して傾いている部分を含む。また、フィールドオブジェクト５６は、複数の領域に区分けされており、各領域には、「フェアウェイ」属性、「ラフ」属性、「バンカー属性」などのフィールド属性が設定される。フィールドオブジェクト５６の各領域には、その領域のフィールド属性に対応するオブジェクトが配置される。例えば、「フェアウェイ」属性が設定されている領域には、フェアウェイを表すオブジェクトが配置される。
【００３７】
第１視点４２は、例えば、プレイヤオブジェクト５０の後方に配置され、目標方向がその視線方向として設定される。ここで、目標方向は、プレイヤによって予め指定される方向である。ゲーム画面には、この第１視点４２から目標方向を見た様子が表示されるようになっている。
【００３８】
一方、第２視点４４は、クラブヘッド６２に設定され、例えば、クラブフェイスの法線方向がその視線方向として設定される。サブ画面４０には、この第２視点４４から視線方向を見た様子が表示されるようになっている。なお、ショット前状態では、第２視点４４がボールオブジェクト５２の近傍に位置し、ボールオブジェクト５２の画像中心が基準位置９９に位置するようになっている。
【００３９】
ショット前状態において、プレイヤは、ショット開始操作（例えば、入力決定キー１６ｂの押下）を行う。すると、プレイヤオブジェクト５０がバックスイングを行う。また、プレイヤオブジェクト５０がバックスイングを行っている間、カーソル５４が、乱数に基づいて決定される方向に、ショットパワー値、或いはプレイヤによって選択されたゴルフクラブの種類、或いは「ボールオブジェクト５２が位置するフィールドオブジェクト５６の領域のフィールド属性」に基づいて決定される速さで、自動的に移動する。そして、プレイヤオブジェクト５０は、バックスイングを完了すると、ダウンスイングを行う。なお、以下、プレイヤオブジェクト５０がバックスイングを行っている期間を、「バックスイング実行期間」と呼ぶ。また、以下、「ボールオブジェクト５２が位置するフィールドオブジェクト５６の領域のフィールド属性」を「ボールオブジェクト５２の位置のフィールド属性」と記載する。
【００４０】
図５は、プレイヤオブジェクト５０がダウンスイングを行っている期間におけるサブ画面４０の変化を説明するための図である。図５（ａ）は、プレイヤオブジェクト５０がダウンスイングを開始する時（すなわち、バックスイング実行期間が終了した時）のサブ画面４０の一例である。また、図５（ｂ）は、プレイヤオブジェクト５０がダウンスイングを行っている最中のサブ画面４０の一例である。また、図５（ｃ）は、プレイヤオブジェクト５０がボールオブジェクト５２を打つ瞬間のサブ画面４０の一例である。
【００４１】
プレイヤオブジェクト５０がダウンスイングを開始すると、カーソル５４は、プレイヤのカーソル移動操作（例えば、方向指示キー１６ａの押下）に従って移動する。プレイヤは、プレイヤオブジェクト５０がダウンスイングを行っている間に（プレイヤオブジェクト５０がボールオブジェクト５２を打つ瞬間までに）カーソル移動操作を行って、カーソル５４を初期位置９８（すなわち、プレイヤオブジェクト５０がダウンスイングを開始した時のカーソル５４の位置）から基準位置９９に向けて移動させる。なお、以下、プレイヤオブジェクト５０がダウンスイングを行う期間（すなわち、バックスイング実行期間の終了時からプレイヤオブジェクト５０がボールオブジェクト５２を打つ瞬間までの期間）を「ダウンスイング実行期間」と呼ぶ。また、プレイヤオブジェクト５０がボールオブジェクト５２を打つ瞬間を「インパクトタイミング」と呼ぶ。
【００４２】
そして、インパクトタイミングが到来すると、ボールオブジェクト５２の移動結果が決定される。この際、ボールオブジェクト５２の移動距離は、ショットパワー値や、プレイヤによって選択されたゴルフクラブの種類や、「ボールオブジェクト５２の位置のフィールド属性」に基づいて決定される。また、ボールオブジェクト５２の移動方向は、「カーソル５４から基準位置９９までの距離」が小さいほど、目標方向とのズレが小さくなるように決定される。
【００４３】
そして、ボールオブジェクト５２の移動結果が出力される。例えば、当該移動結果に基づくボールオブジェクト５２の移動が開始されるとともに、フィールドオブジェクト５６を上空から見た様子がゲーム画面に表示される。
【００４４】
以上のように、ボールオブジェクト５２の移動方向は、インパクトタイミングにおけるカーソル５４から基準位置９９までの距離が小さいほど、目標方向とのズレが小さくなるように決定される。そのため、プレイヤは、ボールオブジェクト５２を目標方向に移動させるため、インパクトタイミングまでにカーソル５４を初期位置９８から基準位置９９に近づけなければならない。また、バックスイング実行期間においてカーソル５４が移動する方向は乱数に基づいて決定されるため、カーソル５４の初期位置９８は毎ショット異なる。そのため、プレイヤは、カーソル５４を、毎ショット異なる初期位置９８から移動させなければならない。その結果、プレイヤは、クラブヘッドをボールに命中させるために必要なクラブヘッドの軌道調整が毎ショット異なる感覚を実感することができ、ボールのショット操作に関するリアリティが向上する。
【００４５】
なお、バックスイングの大きさによっては、ボールオブジェクト５２が第２視点４４の視野範囲内にないため、ボールオブジェクト５２の画像は、ダウンスイング実行期間開始時にサブ画面４０に表示されない（図５（ａ）参照）。この場合、ボールオブジェクト５２の画像は、ボールオブジェクト５２が第２視点４４の視野範囲内に入った時からサブ画面４０に表示され（図５（ｂ）参照）、インパクトタイミングが近づくにつれて拡大していく（図５（ｃ）参照）。
【００４６】
ここで、携帯電話機１０で実現される機能ブロックについて説明する。図６は、携帯電話機１０で実現される機能ブロックのうち、本発明に関連するものを主として示している。図６に示すように、携帯電話機１０は、打撃具選択部７０と、打撃力取得部７２と、ゲームデータ記憶部７４と、初期位置設定部７６と、カーソル移動部７８と、移動結果決定部８０と、ゲーム画像生成部８２と、を含む。
【００４７】
打撃具選択部７０は、例えば、制御部２２を主として実現される。打撃具選択部７０は、複数種のゴルフクラブから１つのゴルフクラブを選択するようプレイヤに案内する。そして、選択されたゴルフクラブをゲームデータ記憶部７４に記憶する。
【００４８】
打撃力取得部７２は、例えば、制御部２２を主として実現される。打撃力取得部７２は、プレイヤの所定操作（例えば、上下方向を指示する方向指示キー１６ａの押下）に基づいて、ショットパワー値を決定する。そして、ショットパワー値をゲームデータ記憶部７４に記憶する。
【００４９】
ゲームデータ記憶部７４は、例えば、記憶部２４を主として実現される。ゲームデータ記憶部７４は、ゴルフゲームに用いられる各種ゲームデータ（例えば、プレイヤによって選択されたゴルフクラブとその最大飛距離、目標方向、ショットパワー値、プレイヤオブジェクト５２の位置・姿勢、カーソル５４のサブ画面４０における位置、第１視点４２の位置、第２視点４４の位置、ボールオブジェクト５２の位置、バックスイング実行期間の長さ、ボールオブジェクト５２の位置のフィールド属性など）を記憶する。
【００５０】
初期位置設定部７６は、例えば、制御部２２を主として実現される。初期位置設定部７６は、乱数に基づいて、初期位置９８を設定する。ここにおいて、初期位置設定部７６は、基準位置９９から初期位置９８までの距離を、ショットパラメータ値や、プレイヤによって選択されたゴルフクラブの最大飛距離や、「ボールオブジェクト５２の位置のフィールド属性」に基づいて制御し、基準位置９９に対する初期位置９８の方向を、乱数に基づいて決定する。
【００５１】
カーソル移動部７８は、例えば、制御部２２を主として実現される。カーソル移動部７８は、ダウンスイング実行期間中、プレイヤのカーソル移動操作を受け付ける。そして、カーソル移動部７８は、受け付けたカーソル移動操作に基づいて、カーソル５４を初期位置９８から移動させる。
【００５２】
移動結果決定部８０は、例えば、制御部２２を主として実現される。移動結果決定部８０は、インパクトタイミングが到来した場合に、インパクトタイミングにおけるカーソル５４の位置と、基準位置９９と、の位置関係に基づいて、ボールオブジェクト５２の移動距離と、移動方向と、を含む移動結果を決定する。ここで、「インパクトタイミングにおけるカーソル５４の位置と、基準位置９９と、の位置関係」には、「インパクトタイミングにおけるカーソル５４の位置から基準位置９９までの距離」と、「基準位置９９に対する、インパクトタイミングにおけるカーソル５４の方向」と、が含まれる。
【００５３】
本実施形態では、移動結果決定部８０は、ボールオブジェクト５２の移動方向を、「インパクトタイミングにおけるカーソル５４の位置から基準位置９９までの距離」と、「基準位置９９に対する、インパクトタイミングにおけるカーソル５４の方向」と、に応じて変化するように決定する。例えば、移動結果決定部８０は、「インパクトタイミングにおけるカーソル５４の位置から基準位置９９までの距離」が大きいほど目標方向からのズレが大きくなるようにしつつ、目標方向からのズレの方向が「基準位置９９に対する、インパクトタイミングにおけるカーソル５４の方向」の逆方向になるように、ボールオブジェクト５２の移動方向を決定する。
【００５４】
また、移動結果決定部８０は、ボールオブジェクト５２の移動距離を、ショットパワー値や、プレイヤにより選択されたゴルフクラブの種類や、「ボールオブジェクト５２の位置のフィールド属性」に応じて変化するように決定する。例えば、移動結果決定部８０は、ショットパワー値と、プレイヤにより選択されたゴルフクラブの最大飛距離と、が大きいほど大きくなるようにしつつ、「ボールオブジェクト５２の位置のフィールド属性」に応じて変化するようにボールオブジェクト５２の移動距離を決定する。
【００５５】
ゲーム画像生成部８２は、例えば、制御部２２を主として実現される。ゲーム画像生成部８２は、所定時間間隔ごとに、ゲーム画像を生成して表示部１２に表示させる。例えば、ゲーム画像生成部８２は、以下のようにしてゲーム画像を生成する。すなわち、ゲーム画像生成部８２は、ゲームデータ記憶部７４の記憶内容に基づいて、第１視点４２から見た様子を示すメイン画像を生成する。また、ゲーム画像生成部７２は、第２視点４４から見た様子を示す画像を生成し、当該画像にカーソル５４を配置してサブ画像を生成する。そして、メイン画像の所定位置にサブ画像を配置してゲーム画像を生成する。
【００５６】
ここで、上記の機能が実現される携帯電話機１０で実行される処理について説明する。図７及び図８は、携帯電話機１０で実行される処理を示すフロー図である。制御部２２は、記憶部２４に記憶されるプログラムに従って、図７及び図８に示す処理を実行する。
【００５７】
制御部２２は、所定時間間隔ごとに、ショット開始操作がなされたか否かを監視する（Ｓ１０１）。そして、制御部２２は、ショット開始操作がなされたことを検知すると（Ｓ１０１のＹ）、バックスイング実行期間中、以下の処理（後述するＳ１０２乃至Ｓ１０８のステップ）を実行する。
【００５８】
すなわち、制御部２２は、乱数に基づいて、「バックスイング実行期間におけるカーソル５４の移動方向」を決定する（Ｓ１０２）。そして、制御部２２は、ショットパワー値に基づいて、「バックスイング実行期間の長さ」Ｔ１を決定する（Ｓ１０３）。ここで、制御部２２は、ショットパワー値が大きいほど長くなるように「バックスイング実行期間の長さ」Ｔ１を決定する。例えば、所定の基準ショットパワー値に対するショットパワー値の割合と、所定の基準時間と、の積を「バックスイング実行期間の長さ」Ｔ１として決定するようにしてもよい。また、例えば、ショットパワー値と「バックスイング実行期間の長さ」Ｔ１の候補とを対応付けてなるテーブルを記憶部２４に予め記憶しておき、当該テーブルの記憶内容に基づいて「バックスイング実行期間の長さ」Ｔ１を決定するようにしてもよい。そして、制御部２２は、プレイヤによって選択されたゴルフクラブの最大飛距離と、「ボールオブジェクト５２の位置のフィールド属性」と、に基づいて、「バックスイング実行期間におけるカーソル５４の移動速度」を決定する（Ｓ１０４）。ここで、制御部２２は、ゴルフクラブの最大飛距離が大きいほど大きくなるようにしつつ、「ボールオブジェクト５２の位置のフィールド属性」に応じて変化するように「バックスイング実行期間におけるカーソル５４の移動速度」を決定する。例えば、「所定の基準飛距離に対するゴルフクラブの最大飛距離の割合」と、「ボールオブジェクト５２の位置のフィールド属性」について予め設定されている割合と、所定の基準速度との積を「バックスイング実行期間におけるカーソル５４の移動速度」として決定するようにしてもよい。また、例えば、ゴルフクラブとフィールド属性の組み合わせと、「バックスイング実行期間におけるカーソル５４の移動速度」の候補と、を対応付けてなるテーブルを記憶部２４に予め記憶しておき、当該テーブルの記憶内容に基づいて「バックスイング実行期間におけるカーソル５４の移動速度」を決定するようにしてもよい。
【００５９】
そして、制御部２２は、記憶部２４に予め記憶されているバックスイングモーションデータを再生し、プレイヤオブジェクト５０の姿勢を更新する（Ｓ１０５）。また、プレイヤオブジェクト５０の姿勢の更新に応じて、クラブヘッド６２及び第２視点４４の位置も更新する。ここで、バックスイングモーションデータは、バックスイング中のプレイヤオブジェクト５０の姿勢を示すモーションデータである。
【００６０】
そして、制御部２２は、カーソル５４を、Ｓ１０２のステップで決定した移動方向に、Ｓ１０４のステップで決定した移動速度で、基準位置９９から移動させる（Ｓ１０６）。また、制御部２２は、ゲーム画像を生成し表示部１２に表示させる（Ｓ１０７）。
【００６１】
そして、制御部２２は、ショット開始操作がなされてから経過した経過時間が「バックスイング実行期間の長さ」Ｔ１に達したか否か、すなわち、バックスイング実行期間が終了したか否か、を判断する（Ｓ１０８）。バックスイング実行期間が終了していない場合（Ｓ１０８のＮ）、制御部２２は、Ｓ１０５のステップに戻る。このため、ショット開始操作がなされてから「バックスイング実行期間の長さ」Ｔ１が経過するまでの期間（すなわち、バックスイング実行期間）、Ｓ１０５乃至Ｓ１０７のステップが繰り返し実行される。
【００６２】
一方、制御部２２は、バックスイング実行期間が終了した場合（Ｓ１０８のＹ）、ダウンスイング実行期間中、以下の処理（後述するＳ１０９乃至Ｓ１１３のステップ）を実行する。なお、ここでは、「ダウンスイング実行期間の長さ」Ｔ２は、所定の長さであるものとする。
【００６３】
すなわち、制御部２２は、記憶部２４に予め記憶されているダウンスイングモーションデータを再生し、プレイヤオブジェクト５０の姿勢を更新する（Ｓ１０９）。また、プレイヤオブジェクト５０の姿勢の更新に応じて、クラブヘッド６２及び第２視点４４の位置も更新する。ここで、ダウンスイングモーションデータとは、例えば、ダウンスイング中にプレイヤオブジェクト５０がとる姿勢を示すデータである。
【００６４】
そして、制御部２２は、カーソル移動操作がなされているか否かを判定する（Ｓ１１０）。制御部２２は、カーソル移動操作がなされていると判定した場合（Ｓ１１０のＹ）、カーソル５４を、該カーソル移動操作により指示される方向に移動させる（Ｓ１１１）。ここでは、所定の移動速度でカーソル５４を移動させる。そして、制御部２２は、ゲーム画像を生成し表示部１２に表示させる（Ｓ１１２）。一方、制御部２２は、カーソル移動操作がなされていないと判定した場合（Ｓ１１０のＮ）、そのままＳ１１２のステップに進む。
【００６５】
そして、制御部２２は、ショット開始操作がなされてから経過した経過時間がＴ１＋Ｔ２に達したか否か、すなわち、インパクトタイミングになったか否か、を判定する（Ｓ１１３）。制御部２２は、インパクトタイミングになっていない場合（Ｓ１１３のＮ）、Ｓ１０９のステップに戻る。このため、ショット開始操作がなされてから経過した経過時間がＴ１からＴ１＋Ｔ２になるまでの期間（すなわち、ダウンスイング実行期間）、Ｓ１０９乃至Ｓ１１２のステップが繰り返し実行される。
【００６６】
一方、制御部２２は、インパクトタイミングになったと判定した場合（Ｓ１１３のＹ）、カーソル５４のサブ画面４０における位置と、基準位置９９と、の位置関係に基づいて、移動距離及び移動方向を含む、ボールオブジェクト５２の移動結果を決定する（Ｓ１１４）。
【００６７】
この際、制御部２２は、ボールオブジェクト５２の移動方向を、「カーソル５４の位置から基準位置９９までの距離」が大きいほど目標方向からのズレの大きさが大きくなるようにしつつ、目標方向からのズレの方向が「基準位置９９に対するカーソル５４の方向」の逆方向になるように決定する。例えば、制御部２２は、所定の基準距離に対する「カーソル５４の位置から基準位置９９までの距離」の割合と、基準となるズレの大きさと、の積を目標方向からのズレの大きさΔとして決定する。そして、目標方向を「基準位置９９に対するカーソル５４の方向」とは逆方向に大きさΔだけずらした方向を、ボールオブジェクト５２の移動方向として決定するようにしてもよい。
【００６８】
また、制御部２２は、ボールオブジェクト５２の移動距離を、ショットパワー値と、プレイヤにより選択されたゴルフクラブの最大飛距離と、が大きいほど大きくなるようにしつつ、「ボールオブジェクト５２の位置のフィールド属性」に応じて変化するようにボールオブジェクト５２の移動距離を決定する。例えば、制御部２２は、「基準ショットパワー値に対するショットパワー値の割合」と、「ボールオブジェクト５２の位置のフィールド属性」について予め設定されている割合と、ゴルフクラブの最大飛距離と、の積をボールオブジェクト５２の移動距離として決定するようにしてもよい。また、例えば、ショットパワー値とゴルフクラブとフィールド属性の組み合わせと、ボールオブジェクト５２の移動距離の候補と、を対応付けてなるテーブルを予め記憶部２４に記憶しておき、当該テーブルの記憶内容に基づいて、ボールオブジェクト５２の移動距離を決定するようにしてもよい。
【００６９】
そして、制御部２２は、Ｓ１１４のステップで決定した移動結果を出力する（Ｓ１１５）。例えば、制御部２２は、Ｓ１１４のステップで決定した移動結果に基づくボールオブジェクト５２の移動を開始し、フィールドオブジェクト５６を上空から見た様子をゲーム画面に表示する。
【００７０】
以上に説明した携帯電話機１０では、プレイヤは、ボールオブジェクト５２を目標方向に移動させたければ、インパクトタイミングまでにカーソル５４を基準位置９９になるべく近づけなければならない。この際、プレイヤは、カーソル５４を毎ショット異なる初期位置９８から移動させることとなる。その結果として、携帯電話機１０によれば、クラブヘッドをボールに命中させるために必要なクラブヘッドの軌道修正が毎回異なる様子を十分に演出することができ、ボールのショット操作に関するリアリティが向上する。
【００７１】
また、携帯電話機１０では、ショットパワー値が大きいほど、初期位置９８から基準位置９９までの距離が大きくなる。そのため、プレイヤは、ショットパワー値が大きいほど遠くから、カーソル５４を基準位置９９へ移動させなければならない。その結果、携帯電話機１０によれば、ボールを遠くへ飛ばそうとするほどクラブヘッドをボールに命中させることが困難になる感覚をプレイヤに実感させることができる。また、携帯電話機１０では、ショットパワー値が大きいほど、バックスイング実行期間が長くなり、その結果、バックスイングが大きくなる。そのため、バックスイングが大きいほど、クラブヘッドをボールに命中させることが困難になる感覚もプレイヤに実感させることができる。
【００７２】
また、携帯電話機１０では、初期位置９８から基準位置９９までの距離が、ショットに用いられるゴルフクラブの種類に応じて変化する。そのため、携帯電話機１０によれば、ゴルフクラブに応じて、クラブヘッドをボールに命中させることが困難になる感覚もプレイヤに実感させることができる。
【００７３】
また、携帯電話１０では、初期位置９８から基準位置９９までの距離が、「ボールオブジェクト５２の位置のフィールド属性」に応じて変化する。そのため、携帯電話機１０によれば、ボールが置かれているフィールドの状態に応じて、クラブヘッドをボールに命中させることが困難になる感覚もプレイヤに実感させることができる。
【００７４】
また、携帯電話機１０では、ダウンスイング実行期間において、インパクトタイミングが近づくにつれて、ボールオブジェクト５２の画像が拡大する。その結果、携帯電話機１０によれば、プレイヤはボールオブジェクト５２の画像の大きさを頼りにインパクトタイミングの到来を把握することができる。
【００７５】
なお、本発明は以上説明した実施の形態に限定されるものではない。
【００７６】
例えば、上記実施形態では、プレイヤは、ショット開始操作以前にショットパワー値を指定するようにしていた。しかしながら、ショット開始操作の後、所定期間内に所定の操作（例えば、上下方向を指示する方向指示キー１６ａの押下）をプレイヤに行わせることにより、ショット開始操作の後の一定期間、プレイヤがショットパワー値を増減できるようにしてもよい。
【００７７】
また、例えば、上記実施形態では、プレイヤは、ショットパワー値を指定することにより、ボールオブジェクト５２の移動距離を調整できるようになっていた。しかしながら、プレイヤに、ショット開始操作の後、所定のダウンスイング開始操作（例えば、入力決定キー１６ｂの押下）を行わせるようにし、プレイヤがダウンスイング開始操作を行うタイミングを調整することにより、ボールオブジェクト５２の移動距離を調整できるようにしてもよい。例えば、制御部２２は、図７及び図８に示すフロー図において、以下の処理を実行するようにしてもよい。
【００７８】
すなわち、制御部２２は、Ｓ１０３のステップを省略し、Ｓ１０８のステップでショット開始操作がなされてから経過した経過時間が「バックスイング実行期間の長さ」Ｔ１に達したか否かを判定する代わりに、ダウンスイング開始操作がなされたか否かを判定する。そして、ダウンスイング開始操作がなされたと判定しなかった場合（Ｓ１０８のＮ）、制御部２２は、Ｓ１０５のステップに戻る。一方、ダウンスイング開始操作がなされたと判定した場合（Ｓ１０８のＹ）、制御部２２は、ショット開始操作がなされてからダウンスイング開始操作がなされたときまでに経過した経過時間（すなわち、バックスイング実行期間の長さ）Ｔ１を特定する。そして、制御部２２は、Ｓ１１４のステップにおいて、経過時間Ｔ１と、ゴルフクラブの最大飛距離と、「ボールオブジェクト５２の位置のフィールド属性」と、に基づいて、ボールオブジェクト５２の移動距離を決定する。例えば、制御部２２は、「所定の基準経過時間に対する経過時間Ｔ１の割合」と、「ボールオブジェクト５２の位置のフィールド属性」について予め設定されている割合と、ゴルフクラブの最大飛距離と、の積をボールオブジェクト５２の移動距離として決定するようにしてもよい。また、例えば、経過時間Ｔ１とゴルフクラブとフィールド属性の組み合わせと、ボールオブジェクト５２の移動距離の候補と、を対応付けてなるテーブルを記憶部２４に予め記憶しておき、当該テーブルの記憶内容に基づいてボールオブジェクト５２の移動距離を決定するようにしてもよい。
【００７９】
こうすれば、プレイヤは、ダウンスイング開始操作のタイミングを遅くすることで、ボールオブジェクト５２の移動距離を大きくすることができる。この場合も、基準位置９９から初期位置９８までの距離は、経過時間Ｔ１が大きいほど大きくなる。そのため、この場合も、ボールを遠くへ飛ばそうとするほどクラブヘッドをボールに命中させることが困難になる感覚をプレイヤに実感させることができる。
【００８０】
また、例えば、上記実施形態では、基準位置９９から初期位置９８までの距離を変化させることで、ボールを遠くへ飛ばそうとするほどクラブヘッドをボールに命中させることが困難になる感覚をプレイヤに実感させるようにしていた。しかしながら、カーソル移動操作によってカーソル５４を移動可能な期間の長さ（すなわち、「ダウンスイング実行期間の長さ」Ｔ２）を変化させることにより、ボールを遠くへ飛ばそうとするほどクラブヘッドをボールに命中させることが困難になる感覚をプレイヤに実感させることも可能である。例えば、図７及び図８のフロー図において、以下の処理を実行するようにしてもよい。
【００８１】
すなわち、制御部２２は、バックスイング実行期間が終了した場合に（Ｓ１０８のＹ）、「ダウンスイング実行期間の長さ」Ｔ２を決定する。この際、制御部２２は、ショットパワー値やプレイヤによって選択されたゴルフクラブの最大飛距離が大きいほど短くなるようにしつつ、「ボールオブジェクト５２の位置のフィールド属性」に応じて変化するように、「ダウンスイング実行期間の長さ」Ｔ２を決定する。例えば、制御部２２は、「ショットパワー値に対する基準ショットパワー値の割合」と、「ボールオブジェクト５２の位置のフィールド属性」について予め設定されている割合と、「ゴルフクラブの最大飛距離に対する基準飛距離の割合」と、基準時間と、の積を「ダウンスイング実行期間の長さ」Ｔ２として決定するようにしてもよい。また、例えば、ショットパワー値とゴルフクラブとフィールド属性の組み合わせと、「ダウンスイング実行期間の長さ」Ｔ２の候補と、を対応付けてなるテーブルを予め記憶部２４に記憶しておき、当該テーブルの記憶内容に基づいて「ダウンスイング実行期間の長さ」Ｔ２を決定するようにしてもよい。そして、制御部２２は、Ｓ１０９以降のステップに進む。なお、この場合、「バックスイング実行期間の長さ」Ｔ１と「バックスイング実行期間におけるカーソル５４の移動速度」を所定値とすることにより、Ｓ１０３及びＳ１０４のステップを省略するようにしてもよい。
【００８２】
こうすれば、ショットパワー値が大きいほど、「ダウンスイング実行期間の長さ」Ｔ２が短くなる。そのため、プレイヤは、ショットパワー値が大きいほど短期間で、カーソル５４を基準位置９９まで移動させなければならなくなる。その結果、この場合においても、ボールを遠くへ飛ばそうとするほどクラブヘッドをボールに命中させることが困難になる感覚をプレイヤに実感させることができる。また、「ダウンスイング実行期間の長さ」Ｔ２は、プレイヤによって選択されたゴルフクラブの種類や「ボールオブジェクト５２の位置のフィールド属性」に応じて変化する。そのため、この場合においても、ゴルフクラブやボールが置かれているフィールドの状態に応じて、クラブヘッドをボールに命中させることが困難になる感覚をプレイヤに実感させることができる。
【００８３】
なお、「ダウンスイング実行期間の長さ」Ｔ２を変化させる場合においても、プレイヤが前記ダウンスイング開始操作を行うタイミングを調整することにより、ショットパワー値を指定することなく、ボールオブジェクト５２の移動距離を調整するようにしてもよい。例えば、制御部２２は、図７及び図８のフロー図の処理において、以下の処理を実行するようにしてもよい。
【００８４】
すなわち、制御部２２は、Ｓ１０３のステップを省略し、Ｓ１０８のステップで、ダウンスイング開始操作がなされたか否かを判定する。そして、ダウンスイング開始操作がなされたと判定しなかった場合（Ｓ１０８のＮ）、制御部２２は、Ｓ１０５のステップに戻る。一方、ダウンスイング開始操作がなされたと判定した場合（Ｓ１０８のＹ）、制御部２２は、経過時間Ｔ１を特定する。そして、制御部２２は、経過時間Ｔ１やプレイヤによって選択されたゴルフクラブの最大飛距離が大きいほど短くなるようにしつつ「ボールオブジェクト５２の位置のフィールド属性」に応じて変化するように、「ダウンスイング期間の長さ」Ｔ２を決定する。例えば、制御部２２は、「経過時間Ｔ１に対する基準経過時間の割合」と、「ゴルフクラブの最大飛距離に対する基準飛距離の割合」と、「ボールオブジェクト５２の位置のフィールド属性」について予め設定されている割合と、基準時間と、の積を「ダウンスイング実行期間の長さ」Ｔ２として決定するようにしてもよい。また、例えば、経過時間Ｔ１とゴルフクラブとフィールド属性の組み合わせと、「ダウンスイング実行期間の長さ」Ｔ２の候補と、を対応付けてなるテーブルを記憶部２４に予め記憶しておき、当該テーブルの記憶内容に基づいて「ダウンスイング実行期間の長さ」Ｔ２を決定するようにしてもよい。そして、制御部２２は、Ｓ１０９以降のステップに進み、Ｓ１１４のステップにおいて、経過時間Ｔ１と、ゴルフクラブの最大飛距離と、「ボールオブジェクト５２の位置のフィールド属性」と、に基づいて、ボールオブジェクト５２の移動距離を決定する。例えば、制御部２２は、「基準経過時間に対する経過時間Ｔ１の割合」と、「ボールオブジェクト５２の位置のフィールド属性」について予め設定されている割合と、ゴルフクラブの最大飛距離と、の積をボールオブジェクト５２の移動距離として決定するようにしてもよい。また、例えば、経過時間Ｔ１とゴルフクラブとフィールド属性の組み合わせと、ボールオブジェクト５２の移動距離の候補と、を対応付けてなるテーブルを記憶部２４に予め記憶しておき、当該テーブルの記憶内容に基づいてボールオブジェクト５２の移動距離を決定するようにしてもよい。なお、「バックスイング実行期間におけるカーソル５４の移動速度」を所定値とすることにより、Ｓ１０４のステップを省略するようにしてもよい。
【００８５】
こうすれば、プレイヤは、ダウンスイング開始操作のタイミングを遅くすることで、ボールオブジェクト５２の移動距離を大きくすることができる。この場合も、「ダウンスイング実行期間の長さ」Ｔ２は、経過時間Ｔ１が大きいほど短くなる。そのため、この場合も、ボールを遠くへ飛ばそうとするほどクラブヘッドをボールに命中させることが困難になる感覚をプレイヤに実感させることができる。
【００８６】
また、例えば、上記実施形態では、基準位置９９から初期位置９８までの距離や、「ダウンスイング実行期間の長さ」Ｔ２、を変化させることにより、ボールを遠くへ飛ばそうとするほどクラブヘッドをボールに命中させることが困難になる感覚をプレイヤに実感させるようにしていた。しかしながら、「ダウンスイング実行期間中のカーソル５４の移動速度（すなわち、カーソル移動操作に基づいてカーソル５４を移動させる際の移動速度）」を変化させることにより、ボールを遠くへ飛ばそうとするほどクラブヘッドをボールに命中させることが困難になる感覚をプレイヤに実感させるようにしてもよい。例えば、図７及び図８のフロー図において、以下の処理を実行するようにしてもよい。
【００８７】
すなわち、制御部２２は、Ｓ１０８のステップでバックスイング実行期間が終了したと判定した場合（Ｓ１０８のＹ）、「ダウンスイング実行期間中のカーソル５４の移動速度」を決定する。ここでは、制御部２２は、ショットパワー値やプレイヤによって選択されたゴルフクラブの最大飛距離が大きいほど遅くなるようにしつつ、「ボールオブジェクト５２の位置のフィールド属性」に応じて変化するように「ダウンスイング実行期間中のカーソル５４の移動速度」を決定する。例えば、制御部２２は、「ショットパワー値に対する基準ショットパワー値の割合」と、「ゴルフクラブの最大飛距離に対する基準飛距離の割合」と、「ボールオブジェクト５２の位置のフィールド属性」について予め設定されている割合と、所定速度と、の積を「ダウンスイング実行期間中のカーソル５４の移動速度」として決定するようにしてもよい。また、例えば、ショットパワー値とゴルフクラブとフィールド属性の組み合わせと、「ダウンスイング実行期間中のカーソル５４の移動速度」の候補と、を対応付けてなるテーブルを記憶部２４に記憶しておき、当該テーブルの記憶内容に基づいて「ダウンスイング実行期間中のカーソル５４の移動速度」を決定するようにしてもよい。そして、制御部２２は、Ｓ１０９以降のステップに進む。なお、この場合も、「バックスイング実行期間の長さ」Ｔ１と「バックスイング実行期間におけるカーソル５４の移動速度」を所定値とすることにより、Ｓ１０３及びＳ１０４のステップを省略するようにしてもよい。
【００８８】
こうすれば、ショットパワー値が大きいほど、「ダウンスイング実行期間中のカーソル５４の移動速度」が遅くなり、カーソル５４を基準位置９９まで移動させることが困難になる。そのため、この場合も、ボールを遠くへ飛ばそうとするほどクラブヘッドをボールに命中させることが困難になる感覚をプレイヤに実感させることができる。また、「ダウンスイング実行期間中のカーソル５４の移動速度」は、ゴルフクラブの種類や「ボールオブジェクト５２の位置のフィールド属性」に応じて変化する。そのため、この場合においても、ゴルフクラブやボールが置かれているフィールドの状態に応じて、クラブヘッドをボールに命中させることが困難になる感覚をプレイヤに実感させることができる。
【００８９】
なお、「ダウンスイング実行期間中のカーソル５４の移動速度」を変化させる場合においても、プレイヤが前記ダウンスイング開始操作を行うタイミングを調整することにより、ショットパワー値を指定することなく、ボールオブジェクト５２の移動距離を調整するようにしてもよい。例えば、制御部２２は、図７及び図８のフロー図の処理において、以下の処理を実行するようにしてもよい。
【００９０】
すなわち、制御部２２は、Ｓ１０３のステップを省略し、Ｓ１０８のステップで、ダウンスイング開始操作がなされたか否かを判定する。そして、ダウンスイング開始操作がなされたと判定しなかった場合（Ｓ１０８のＮ）、制御部２２は、Ｓ１０５のステップに戻る。一方、ダウンスイング開始操作がなされたと判定した場合（Ｓ１０８のＹ）、制御部２２は、経過時間Ｔ１を特定する。そして、制御部２２は、経過時間Ｔ１やプレイヤによって選択されたゴルフクラブの最大飛距離が大きいほど遅くなるようにしつつ、「ボールオブジェクト５２の位置のフィールド属性」に応じて変化するように「ダウンスイング実行期間中のカーソル５４の移動速度」を決定する。例えば、制御部２２は、「経過時間Ｔ１に対する基準経過時間の割合」と、「ゴルフクラブの最大飛距離に対する基準飛距離の割合」と、「ボールオブジェクト５２の位置のフィールド属性」について予め設定されている割合と、所定速度と、の積を「ダウンスイング実行期間中のカーソル５４の移動速度」として決定するようにしてもよい。また、例えば、経過時間Ｔ１とゴルフクラブとフィールド属性の組み合わせと、「ダウンスイング実行期間中のカーソル５４の移動速度」の候補と、を対応付けてなるテーブルを記憶部２４に予め記憶しておき、当該テーブルの記憶内容に基づいて「ダウンスイング実行期間中のカーソル５４の移動速度」を決定するようにしてもよい。そして、制御部２２は、Ｓ１０９以降のステップに進み、Ｓ１１４のステップにおいて、経過時間Ｔ１と、ゴルフクラブの最大飛距離と、「ボールオブジェクト５２の位置のフィールド属性」と、に基づいて、ボールオブジェクト５２の移動距離を決定する。例えば、制御部２２は、「基準経過時間に対する経過時間Ｔ１の割合」と、「ボールオブジェクト５２の位置のフィールド属性」について予め設定されている割合と、ゴルフクラブの最大飛距離と、の積をボールオブジェクト５２の移動距離として決定するようにしてもよい。また、例えば、経過時間Ｔ１とゴルフクラブとフィールド属性の組み合わせと、ボールオブジェクト５２の移動距離の候補と、を対応付けてなるテーブルを記憶部２４に予め記憶しておき、当該テーブルの記憶内容に基づいてボールオブジェクト５２の移動距離を決定するようにしてもよい。なお、「バックスイング実行期間におけるカーソル５４の移動速度」を所定値とすることにより、Ｓ１０４のステップを省略してもよい。
【００９１】
こうすれば、プレイヤがダウンスイング開始操作を行うタイミングが遅いほど、「ダウンスイング実行期間中のカーソル５４の移動速度」が遅くなり、カーソル５４を基準位置９９まで移動させることが困難になる。そのため、この場合も、ボールを遠くへ飛ばそうとするほどクラブヘッドをボールに命中させることが困難になる感覚をプレイヤに実感させることができる。
【００９２】
また、上記実施形態では、インパクトタイミングにおけるカーソル５４の位置と基準位置９９とが一致している場合にのみ、ボールオブジェクト５２を目標方向に移動させるようにしていた。しかしながら、インパクトタイミングにおけるカーソル５４の位置が基準位置９９を含む判定領域内にある場合に、ボールオブジェクト５２を目標方向に移動させるようにしてもよい。より正確には、インパクトタイミングにおけるカーソル５４の位置が判定領域内にある場合に、ボールオブジェクト５２を目標方向に移動させるようにし、インパクトタイミングにおけるカーソル５４の位置が判定領域内にない場合に、インパクトタイミングにおけるカーソル５４の位置と基準位置９９との位置関係に基づいて、ボールオブジェクト５２の移動方向を決定するようにしてもよい。この場合、判定領域の大きさを変化させることにより、ボールを遠くへ飛ばそうとするほどクラブヘッドをボールに命中させることが困難になる感覚をプレイヤに実感させるようにしてもよい。例えば、図７及び図８のフロー図において、以下の処理を実行するようにしてもよい。
【００９３】
この場合、基準位置９９を含む所定の基準領域をサブ画面４０に予め設定しておく。なお、基準領域はサブ画面４０に図示されてもよいし、図示されなくてもよい。その上で、制御部２２は、Ｓ１０８のステップでバックスイング実行期間が終了したと判定した場合（Ｓ１０８のＹ）、「基準領域の拡大率」を決定し、サブ画面４０に判定領域（基準位置９９を拡大中心として、基準領域を決定した拡大率で拡大した領域）を設定する。この際、制御部２２は、ショットパワー値やプレイヤによって選択されたゴルフクラブの最大飛距離が大きいほど小さくなるようにしつつ、「ボールオブジェクト５２の位置のフィールド属性」に応じて変化するように「基準領域の拡大率」を決定する。例えば、制御部２２は、「ショットパワー値に対する基準ショットパワー値の割合」と、「ゴルフクラブの最大飛距離に対する基準飛距離の割合」と、「ボールオブジェクト５２の位置のフィールド属性」について予め定められた割合と、の積を「基準領域の拡大率」として決定するようにしてもよい。また、例えば、ショットパワー値とゴルフクラブとフィールド属性の組み合わせと、「基準領域の拡大率」の候補と、を対応付けてなるテーブルを記憶部２４に記憶しておき、当該テーブルの記憶内容に基づいて「基準領域の拡大率」を決定するようにしてもよい。そして、制御部２２は、Ｓ１０９以降のステップに進む。そして、Ｓ１１４のステップにおいてボールオブジェクト５２の移動方向を決定する際、制御部２２は、カーソル５４の位置が判定領域内にあるか否かの判定を実行し、当該判定の結果に応じて、ボールオブジェクト５２の移動方向を決定する。具体的には、制御部２２は、カーソル５４の位置が判定領域内にあると判定した場合、ボールオブジェクト５２の移動方向を目標方向に決定する。一方、カーソル５４の位置が判定領域内にないと判定した場合、基準距離に対する「カーソル５４の位置から基準位置９９までの距離」の割合と、基準となるズレの大きさと、の積を目標方向からのズレの大きさΔとして決定し、目標方向を「基準位置９９に対するカーソル５４の方向」とは逆方向に大きさΔだけずらした方向を、ボールオブジェクト５２の移動方向として決定する。なお、「バックスイング実行期間の長さ」Ｔ１と「バックスイング実行期間におけるカーソル５４の移動速度」を所定値とすることにより、Ｓ１０３及びＳ１０４のステップを省略するようにしてもよい。また、判定領域はサブ画面４０に図示されてもよいし、図示されなくてもよい。
【００９４】
ここで、判定領域は、基準位置９９を中心とし、その半径を所与の判定距離とする同心円の領域であってもよい。この場合、制御部２２は、判定距離を変化させることによって、判定領域の大きさを変化させるようにしてもよい。すなわち、制御部２２は、図７及び図８に示すフロー図において、バックスイング実行期間が終了したと判定した場合（Ｓ１０８のＹ）、ショットパワー値と、プレイヤによって選択されたゴルフクラブの最大飛距離と、「ボールオブジェクト５２の位置のフィールド属性」と、基づいて、「判定距離」を決定する。例えば、「ショットパワー値に対する基準ショットパワー値の割合」と、「ゴルフクラブの最大飛距離に対する基準飛距離の割合」と、「ボールオブジェクト５２の位置のフィールド属性」について予め設定されている割合と、所定距離と、の積を「判定距離」として決定するようにしてもよい。また、例えば、ショットパワー値とゴルフクラブとフィールド属性の組み合わせと、「判定距離」の候補と、を対応付けてなるテーブルを記憶部２４に記憶しておき、当該テーブルの記憶内容に基づいて「判定距離」を決定するようにしてもよい。そして、Ｓ１１４のステップにおいてボールオブジェクト５２の移動方向を決定する際、制御部２２は、「カーソル５４から基準位置９９までの距離」が「判定距離」以下であるか否かの判定を実行し、当該判定の結果に応じて、ボールオブジェクト５２の移動方向を決定する。具体的には、制御部２２は、「カーソル５４から基準位置９９までの距離」が「判定距離」以下であると判定した場合、ボールオブジェクト５２の移動方向を目標方向に決定する。
【００９５】
こうすれば、ショットパワー値が大きいほど、判定領域が小さくなり、カーソル５４を判定領域内に移動させることが困難になる。そのため、この場合も、ボールを遠くへ飛ばそうとするほどクラブヘッドをボールに命中させることが困難になる感覚をプレイヤに実感させることができる。また、判定領域の大きさは、ゴルフクラブの種類や「ボールオブジェクト５２の位置のフィールド属性」に応じて変化する。そのため、この場合も、ゴルフクラブやボールが置かれているフィールドの状態に応じて、クラブヘッドをボールに命中させることが困難になる感覚をプレイヤに実感させることができる。
【００９６】
なお、判定領域の大きさを変化させる場合においても、プレイヤが前記ダウンスイング開始操作を行うタイミングを調整することにより、ショットパワー値を指定することなく、ボールオブジェクト５２の移動距離を調整するようにしてもよい。例えば、制御部２２は、図７及び図８のフロー図の処理において、以下の処理を実行するようにしてもよい。
【００９７】
この場合も、基準位置９９を含む所定の基準領域をサブ画面４０に予め記憶しておく。その上で、制御部２２は、Ｓ１０３のステップを省略し、Ｓ１０８のステップで、ダウンスイング開始操作がなされたか否かを判定する。そして、ダウンスイング開始操作がなされたと判定しなかった場合（Ｓ１０８のＮ）、制御部２２は、Ｓ１０５のステップに戻る。一方、ダウンスイング開始操作がなされたと判定した場合（Ｓ１０８のＹ）、制御部２２は、経過時間Ｔ１を特定する。そして、制御部２２は、経過時間Ｔ１やプレイヤによって選択されたゴルフクラブの最大飛距離が大きいほど小さくなるようにしつつ、「ボールオブジェクト５２の位置のフィールド属性」に応じて変化するように「基準領域の拡大率」を決定し、判定領域を設定する。例えば、制御部２２は、「経過時間Ｔ１に対する基準経過時間の割合」と、「ボールオブジェクト５２の位置のフィールド属性」について予め設定されている割合と、「ゴルフクラブの最大飛距離に対する基準飛距離の割合」と、の積を「基準領域の拡大率」として決定するようにしてもよい。また、例えば、経過時間Ｔ１とゴルフクラブとフィールド属性の組み合わせと、「基準領域の拡大率」の候補と、を対応付けてなるテーブルを記憶部２４に予め記憶しておき、当該テーブルの記憶内容に基づいて「基準領域の拡大率」を決定するようにしてもよい。そして、制御部２２は、Ｓ１０９以降のステップに進み、Ｓ１１４のステップにおいて、経過時間Ｔ１と、ゴルフクラブの最大飛距離と、「ボールオブジェクト５２の位置のフィールド属性」と、に基づいて、ボールオブジェクト５２の移動距離を決定する。例えば、制御部２２は、「基準経過時間に対する経過時間Ｔ１の割合」と、「ボールオブジェクト５２の位置のフィールド属性」について予め設定されている割合と、ゴルフクラブの最大飛距離と、の積をボールオブジェクト５２の移動距離として決定するようにしてもよい。また、例えば、経過時間Ｔ１とゴルフクラブとフィールド属性の組み合わせと、ボールオブジェクト５２の移動距離の候補と、を対応付けてなるテーブルを記憶部２４に予め記憶しておき、当該テーブルの記憶内容に基づいてボールオブジェクト５２の移動距離を決定するようにしてもよい。また、制御部２２は、Ｓ１１４のステップにおいて、カーソル５４の位置が判定領域内にあるか否かの判定を実行する。そして、制御部２２は、判定の結果に応じて、ボールオブジェクト５２の移動方向を決定する。なお、「バックスイング実行期間におけるカーソル５４の移動速度」を所定値とすることにより、Ｓ１０４のステップを省略してもよい。
【００９８】
ここでも、判定領域を判定距離を半径とする同心円の領域とし、判定距離を変化させることによって、判定領域の大きさを変化させるようにしてもよい。すなわち、制御部２２は、図７及び図８に示すフロー図において、バックスイング実行期間が終了したと判定した場合（Ｓ１０８のＹ）、経過時間Ｔ１と、プレイヤによって選択されたゴルフクラブの最大飛距離と、「ボールオブジェクト５２の位置のフィールド属性」と、に基づいて、「判定距離」を決定する。例えば、「経過時間Ｔ１に対する基準時間の割合」と、「ゴルフクラブの最大飛距離に対する基準飛距離の割合」と、「ボールオブジェクト５２の位置のフィールド属性」について予め設定されている割合と、所定距離と、の積を「判定距離」として決定するようにしてもよい。また、例えば、経過時間Ｔ１とゴルフクラブとフィールド属性の組み合わせと、「判定距離」の候補と、を対応付けてなるテーブルを記憶部２４に記憶しておき、当該テーブルの記憶内容に基づいて「判定距離」を決定するようにしてもよい。そして、制御部２２は、Ｓ１０９以降のステップに進む。
【００９９】
こうすれば、プレイヤがダウンスイング開始操作を行うタイミングが遅いほど、判定領域が小さくなり、カーソル５４を判定領域内に移動させることが困難になる。そのため、この場合も、ボールを遠くへ飛ばそうとするほどクラブヘッドをボールに命中させることが困難になる感覚をプレイヤに実感させることができる。
【０１００】
また、例えば、過去に設定された初期位置９８の履歴に関するデータを記憶部２４に記憶しておき、当該データと、乱数と、に基づいて初期位置９８を設定するようにしてもよい。図９及び図１０は、この態様を説明するための図である。
【０１０１】
例えば、前提として、図９に示すように、サブ画面４０に複数の領域（領域１乃至領域８）を設定しておく。そして、図１０に示すように、領域ごとに、過去のショットにおいて決定された「バックスイング実行期間におけるカーソル５４の移動方向」が該領域内にあった回数Ｎを、記憶部２４に記憶しておく。こうした上で、Ｓ１０２のステップにおいて、以下に説明するようにして、「バックスイング実行期間におけるカーソル５４に移動方向」を決定することが考えられる。
【０１０２】
すなわち、制御部２２は、回数Ｎの値に基づいて、少なくとも１つの領域を特定する。
例えば、制御部２２は、回数Ｎの値が１〜ｎ（例えば３）番目に少ない領域を特定し、それらの領域のうちのいずれかの領域を乱数に基づいて選択する。そして、選択した領域に対応する方向範囲内で「バックスイング実行期間におけるカーソル５４の移動方向」を乱数に基づいて決定する。こうすれば、初期位置９８は、毎ショット異なる領域に設定されるようになる。そのため、各ショットでの初期位置９８の位置に偏りができないようになり、その結果、クラブヘッドをボールに命中させることが簡単になりすぎないように図ることができる。また、例えば、制御部２２は、回数Ｎの値が１〜ｍ（例えば３）番目に多い領域を特定し、それらの領域のうちのいずれかの領域を乱数に基づいて選択する。そして、選択した領域に対応する方向範囲内で「バックスイング実行期間におけるカーソル５４の移動方向」を乱数に基づいて決定する。こうすれば、初期位置９８は、毎ショットほぼ同じ方向に基準位置９９からずれやすくなる。その結果、プレイヤオブジェクト５０にショットに関する癖がある様子を演出することができる。
【０１０３】
ところで、実際のゴルフでは、ボールの移動結果は、ボールが置かれているフィールドの状態によって変化する。例えば、ボールが置かれているフィールドの傾斜や属性（例えば、種類）に応じて、ボールの移動方向は変化する。例えば、右下がりの斜面でボールをショットした場合、ボールが前方に移動すると思っていても、ボールの軌道が右方向にそれることがある。この点、ここまで述べた実施形態では、ボールオブジェクト５２の移動方向が、インパクトタイミングにおけるカーソル５４の位置と基準位置９９との位置関係にのみ基づいて決定されるため、ボールが置かれているフィールドの傾斜や属性に応じてボールの移動方向が変化する感覚をプレイヤが満足に実感できるようになっているとは必ずしも言えない。そこで、例えば、インパクトタイミングにおけるカーソル５４の位置と基準位置９９との位置関係と、ボールオブジェクト５２が位置するフィールドオブジェクト５６の領域の状態と、に基づいてボールオブジェクト５２の移動方向を決定することが考えられる。この態様について、以下に説明する。なお、以下、「ボールオブジェクト５２が位置するフィールドオブジェクト５６の領域」を「注目領域」と記載する。
【０１０４】
この態様では、制御部２２は、Ｓ１１５のステップに進む前に、「Ｓ１１４のステップで決定したボールオブジェクト５２の移動方向」を、注目領域の傾斜（正確には、ＸＺ平面に対する注目領域の傾斜）やフィールド属性に応じてずらす。そこで、制御部２２は、「Ｓ１１４のステップで決定したボールオブジェクト５２の移動方向」をずらす前に、注目領域の傾斜やフィールド属性に応じて、「Ｓ１１４のステップで決定したボールオブジェクト５２の移動方向」をずらす方向と大きさとを表すシフトデータを生成する。この際、制御部２２は、注目領域の傾斜が急であるほど大きくなるようにしつつ、「注目領域のフィールド属性」に応じて変化するように、「Ｓ１１４のステップで決定したボールオブジェクト５２の移動方向」をずらす大きさを決定する。例えば、所定の基準値に、「注目領域のフィールド属性」について予め設定されている割合と、「注目領域とＸＺ平面とがなす鋭角の角度」をｓｉｎ関数に代入して得た値と、を乗算することにより、「Ｓ１１４のステップで決定したボールオブジェクト５２の移動方向」を算出するようにしてもよい。また、制御部２２は、注目領域の傾斜の方向に応じて変化するように、「Ｓ１１４のステップで決定したボールオブジェクト５２の移動方向」をずらす方向を決定する。例えば、制御部２２は、「Ｓ１１４のステップで決定したボールオブジェクト５２の移動方向」をずらす方向として、注目領域の法線方向（正確には、注目領域の２つの法線方向のうちＹ成分が正である法線方向）を算出するようにしてもよい。こうして、シフトデータを生成すると、制御部２２は、シフトデータに従って「Ｓ１１４のステップで決定したボールオブジェクト５２の移動方向」をずらし、Ｓ１１５のステップに進む。なお、シフトデータは、予め記憶部２４に記憶されているデータであってもよい。例えば、フィールドオブジェクト５６の領域とシフトデータを対応付けてなるテーブルを記憶部２４に記憶しておき、注目領域に対応するシフトデータを読み出すようにしてもよい。
【０１０５】
これによれば、プレイヤには、所望の方向にボールオブジェクト５２を移動させたければ、注目領域の傾斜や属性を考慮してカーソル５４の位置を調整することが要求されることとなる。その結果として、ボールの移動結果がフィールドの状態によって変化する感覚をプレイヤに実感させることができ、ゲームに新たな面白味が加えられる。また、プレイヤがショット操作を行うためのインターフェイス（すなわち、サブ画面４０）に、カーソル５４だけでなく、ボールがフィールドに置かれている様子を表す画像も表示される。そのため、この画像が、ショット操作のためのインターフェイスに表示されない場合に比べ、プレイヤがカーソル５４の位置を調整する際、フィールドの状態が参照されやすくなる。その結果、ショット操作の際の利便性が比較的向上する。
【０１０６】
また、例えば、カーソル５４の位置を、バックスイング実行期間が終了したタイミングで、基準位置９９から初期位置９８に切り替えるようにしてもよい。
【０１０７】
また、例えば、カーソル５４の位置を、ショット開始操作がなされたタイミング（すなわち、バックスイング実行期間の開始する時）で、基準位置９９から初期位置９８に切り替えるようにしてもよい。この際、ショット開始操作がなされたタイミングからインパクトタイミングまでの期間、カーソル移動操作を受け付けて、カーソル５４を初期位置９８から移動させるようにしてもよい。
【０１０８】
また、上記実施形態では、ゴルフゲームを例に取り上げているが、本発明は、打撃対象を打撃して移動させる遊技・競技を模したゲームであれば、どのようなゲームにも適用可能である。例えば、本発明は、ビリヤードゲームや、ゲートボールゲームなどにも適用可能である。
【図面の簡単な説明】
【０１０９】
【図１】本実施の形態に係る携帯電話機の外観を示す図である。
【図２】本実施の形態に係る携帯電話機のハードウェア構成を示す図である。
【図３】本実施の形態に係る携帯電話機に表示されるゲーム画面の一例を示すである。
【図４】仮想３次元空間の一例を示す図である。
【図５】サブ画面に表示される画像の一例を示す図である。
【図６】本実施の形態に係る携帯電話機で実現される機能の一例を示すブロック図である。
【図７】本実施の形態に係る携帯電話機で実行される処理の一例を示すフロー図である。
【図８】本実施の形態に係る携帯電話機で実行される処理の一例を示すフロー図である。
【図９】サブ画面に複数の領域が設定されている様子を示す図である。
【図１０】本実施の形態に係る携帯電話機の記憶部の記憶内容の一例である。
【符号の説明】
【０１１０】
１０  携帯電話機、１２  表示部、１４  操作キー部、１６ａ  方向指示キー、１６ｂ  入力決定キー、１８  キー群、２０  音声出力部、２２  制御部、２４  記憶部、２６  通信制御部、２８  ネットワーク、３０  サーバ側装置、４０  サブ画面、４２  第１視点、４４  第２視点、５０  プレイヤオブジェクト、５２  ボールオブジェクト、５４  カーソル、５６  フィールドオブジェクト、５８  ピンオブジェクト、６０  ゴルフクラブ、６２  クラブヘッド、７０  打撃具選択部、７２  打撃力取得部、７４  ゲームデータ記憶部、７６  初期位置設定部、７８  カーソル移動部、８０  移動結果決定部、８２  ゲーム画像生成部、９８  初期位置、９９  基準位置、１００  仮想３次元空間。
【図１】
0005011064.tif 000002
【図２】
0005011064.tif 000003
【図３】
0005011064.tif 000004
【図４】
0005011064.tif 000005
【図５】
0005011064.tif 000006
【図６】
0005011064.tif 000007
【図７】
0005011064.tif 000008
【図８】
0005011064.tif 000009
【図９】
0005011064.tif 000010
【図１０】
0005011064.tif 000011