(57)【特許請求の範囲】
【請求項１】
ポリゴンで構成されるゴルフコースの画像情報とゴルフボールの画像情報とを、表示手段の表示面上に表示し、前記ゴルフコースの画像情報の所定範囲内に存在する前記ポリゴンの頂点間に線を表示すると共に、各線の輝度を、前記ゴルフボールの位置の高さを基準とした、その始点に対応する前記ポリゴンの頂点の高さと、その終点に対応する前記ポリゴンの頂点の高さと、に応じて設定することを特徴とするゲームシステム。
【請求項２】
ポリゴンで構成されるゴルフコースの画像情報とゴルフボールの画像情報とを、表示手段の表示面上に表示し、前記ゴルフコースの画像情報の所定範囲内に存在する前記ポリゴンの頂点間に線を表示すると共に、各線の輝度を、前記ゴルフボールの位置の高さを基準とした、その始点に対応する前記ポリゴンの頂点の高さと、その終点に対応する前記ポリゴンの頂点の高さと、に応じて設定するようゲームシステムを動作させるためのプログラムを記録した、前記ゲームシステムにより読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プログラムデータの記録された、光ディスク、磁気ディスク、半導体メモリを用いたカセット式記録媒体等を用いるゲームシステムに適用して好適な、ゲームシステム並びに記録媒体に関する。
【０００２】
【従来の技術】
ゲームシステムは数多く提案されている。家庭用の専用機とテレビジョンモニタとからなるシステム、業務用の専用機、パーソナルコンピュータ若しくはワークステーションとディスプレイと音声出力機とからなるシステム等である。これらのシステムは、何れも、プレーヤが操作するためのコントローラと、ゲームプログラムデータの記録された記録媒体と、ゲームプログラムデータに基いて音声や画像の生成のための制御を行うＣＰＵと、画像を生成するためのプロセッサと、音声を生成するためのプロセッサと、画像を表示するためのＣＲＴと、音声を出力するためのスピーカとで構成される。上記記録媒体としては、ＣＤ−ＲＯＭ、半導体メモリ、半導体メモリを内蔵したカセット等が多い。ゲームシステムの構成は以上の通りである。
【０００３】
次に、ゲームの画面構成について説明する。ゲームの種類は多々あるが、ゲームの画面は、最もおおまかに言えば、上記コントローラの操作に基いて変化する、被操作物画像と、静止若しくは上記被操作物の操作状態により適応的に変化する背景画像とからなる。この背景画像を更に分類すると、ゲームプレーヤに対して視覚的変化を与えるだけに用いられるもの、即ち、単なる背景と、ゲームプレーヤに与えられる成果、例えば得点等を得るための条件として用いられるものとに分けることができる。後者の例としては、例えばゴルフゲームにおけるコースの背景画像がある。
【０００４】
通常、ゴルフゲームでは、ゴルフコースを示す画像と、ゴルファーを示す画像とがテレビジョンモニタの表示面上に表示されることにより、その表示面上にゴルフゲーム空間が形成される。そして、ゲームプレーヤによるコントローラの操作に応じて、上記ゴルフゲーム空間上のゴルファーが視覚的に動かされ、上記ゴルファーの持つクラブで、ボールが打たれる。打たれたボールは、ゴルフゲーム空間内において奥行き方向に向かって視覚的に飛ぶ。つまり、ゴルフゲーム空間内において、実際に人間が行うゴルフと同様なことが視覚的に行われる。簡単にいえば、いわゆるビデオゲームにおけるゴルフゲームは、ゲームプレーヤのコントローラの操作に応じて、テレビジョンモニタの管面上に表示する画像を適宜変更することにより、ゴルフを視覚的に行うというものである。
【０００５】
上記ゴルフコースの画像は、ゴルフコースの高低データと関連づけられている。そして、ゲームプレーヤによるコントローラの操作と、ゴルフコースの高低データとから、ゴルフボールが、ゴルフゲーム空間内においてどのくらい移動するのかが演算され、その演算結果が、画像として表示される。例えば、ゴルフボールが、グリーン内の非常に低い位置にあるときに、ゲームプレーヤが、ゴルフゲーム空間内のゴルファーが非常に高い位置に向かってゴルフボールを弱く打つように、コントローラを操作した場合、ゴルフゲーム空間内のゴルフボールは、ゲームプレーヤの意図した位置には移動しない。このように、コースの画像の各部分に対応づけられている高低データを用いるのは、ゴルフゲームを行うゲームプレーヤに対し、より、実際のゴルフに近い感覚を与えるためである。
【０００６】
【発明が解決しようとする課題】
ところで、上述したゴルフゲームのように、背景の各位置に高低データが関連づけられるようなゲームでは、ゲームプレーヤが適切に操作を行えるようにするために、コースの高低を正確に表示する必要がある。コースの高低が何らかの形で表現されていないと、ゲームプレーヤは、コントローラの操作を適切に行えないからである。
【０００７】
本発明はこのような点を考慮してなされたもので、背景の各頂点に高低データが関連づけられているようなゲームにおいて、簡単、且つ、正確に、ゲームプレーヤに対して、操作のガイドを行うことを目的とする。
【０００８】
【課題を解決するための手段】
本発明は、ゴルフコースを表示するゴルフゲームシステムであって、前記ゴルフコースの所定範囲内に存在する任意の頂点間に線を表示すると共に、各線の輝度を、その始点に対応する前記ゴルフコースの高さと、その終点に対応する前記ゴルフコースの高さと、の関係に応じて設定することを特徴とするゲームシステムである。
【０００９】
また、本発明は、ゴルフコースを表示するようゲームシステムを動作させるためのプログラムを記録した記録媒体であって、前記ゴルフコースの所定範囲内に存在する任意の頂点間に線を表示すると共に、各線の輝度を、その始点に対応する前記ゴルフコースの高さと、その終点に対応する前記ゴルフコースの高さと、の関係に応じて設定するプログラムを記録した記録媒体である。
【００１０】
他の発明の１つは、地形を示す画像情報と、移動物体の画像情報とを表示手段の表示面上に表示し、上記移動物体を、操作手段の操作状態と、上記地形の地形情報とに基いて、上記表示手段の表示面上において移動するようにした地形情報を用いるゲームシステムにおけるガイド表示方法であって、上記表示手段の表示面上に、複数の線で構成されるガイドを表示すると共に、当該ガイドを構成する線の輝度及び長さを、上記地形の地形情報に基いて設定するものである。
【００１１】
他の発明の１つは、地形を示す画像情報と、移動物体の画像情報とを表示手段の表示面上に表示し、上記移動物体を、操作手段の操作状態と、上記地形の地形情報とに基いて、上記表示手段の表示面上において移動するようにした地形情報を用いるゲームシステムにおけるガイド表示方法であって、上記表示手段の表示面上に、複数の線で構成されるガイドを表示すると共に、当該ガイドを構成する線の輝度及び長さを、上記地形の地形情報に基いて設定するものである。
【００１２】
また、上記発明において、上記地形を示す画像情報は、上記表示手段の表示面上において疑似３次元表示され、上記ガイドは、２次元平面上において、マトリクス状に配置された複数の線で構成されると共に、上記表示手段の表示面上に疑似３次元表示された地形上に、疑似３次元表示されるものである。
【００１３】
また、上記発明において、上記ゲームシステムは、ゴルフゲームシステムであり、上記地形を示す画像情報は、ゴルフコースの画像情報であり、上記移動物体は、ゴルフボールの画像情報である。また、上記発明において、上記地形の画像情報は、多数のポリゴンで構成されるものであり、上記ガイドは、上記ポリゴンの頂点間に描画される複数の線で構成されるものである。
【００１４】
また、上記発明において、上記地形情報は、頂点の高さを示す情報であり、上記ガイドを形成する線の輝度は、各線の始点及び終点に対応する地形情報の頂点の高さの値に応じて設定されるものである。また、上記発明において、上記移動物体の移動方向を予め設定すると共に、設定された上記移動物体の移動方向に応じて上記地形の画像情報及び上記ガイドを疑似３次元表示するものである。
【００１５】
また、上記発明において、上記各線の輝度の値は、上記始点の高さが上記終点の高さよりも高い場合には、輝度が上記始点から上記終点に向かって徐々に低くなるよう設定され、上記始点の高さが上記終点の高さよりも低い場合には、輝度が上記始点から上記終点に向かって徐々に高くなるよう設定される請求項１記載の地形情報を用いるものである。
プレーヤが操作手段を操作することにより、ゲーム空間上の移動物体を打撃して当該移動物体をゲーム空間上において移動させるようにしたゲームシステムで用いられる移動物体の打撃位置設定方法であって、上記移動物体をゲーム空間上に固定表示し、水平方向位置設定用画像を少なくとも上記移動物体上で水平方向に移動するように表示し、プレーヤが上記操作手段の対応ボタンを押したときの上記水平方向位置設定用画像の水平位置を記憶し、垂直方向位置設定用画像を少なくとも上記移動物体上で垂直方向に移動するように表示し、プレーヤが上記操作手段の対応ボタンを押したときの上記垂直方向位置設定用画像の垂直位置を記憶し、プレーヤが上記操作手段を操作して上記移動物体をゲーム空間上で打撃する際に、上記移動物体上の打撃位置を、上記水平位置及び垂直位置で示される位置とするものである。
【００１６】
【発明の実施の形態】
以下に、図１〜図２６を順次参照して本発明の実施の形態について詳細に説明する。
【００１７】
本発明の実施の形態の説明は、次に示す項目説明を各項目の先頭に記載し、各項目について次に示す順序で説明する。
【００１８】
Ａ．ゲームシステムの構成（図１）
Ｂ．図１に示したＣＰＵ１の有する機能（図２）
Ｃ．ゴルフコースの一例（図３Ａ）
Ｄ．ゴルフコースから抽出された抽出エリア（図４Ａ）
Ｅ．ゴルフコースのデータテーブル（図４Ｂ）
Ｆ．ゴルフ画面の表示例（図５）
Ｇ．メインルーチンによる制御（図６〜図８）
Ｈ．画像表示ルーチンＳ１００による制御（図９〜図１０）
Ｉ．アンデュレーション画像出力ルーチンＳ１５０（図１１〜図１２）
Ｊ．ティーアップ設定ルーチンＳ２００による制御（図１３〜図１４）
Ｋ．カメラ位置設定ルーチンＳ２５０による制御（図１５〜図１６）
Ｌ．方向設定ルーチンＳ３００による制御（図１７〜図１８）
Ｍ．スタンス設定ルーチンＳ３５０による制御（図１９〜図２０）
Ｎ．クラブ設定ルーチンＳ４００による制御（図２１〜図２２）
Ｏ．打撃位置設定ルーチンＳ４５０による制御（図２３〜図２４）
Ｐ．打撃ルーチンＳ５００による制御（図２５〜図２６）
【００１９】
Ａ．ゲームシステムの構成（図１）
【００２０】
図１は、本発明の一実施の形態としてのゲームシステムの構成例を示す構成図である。
【００２１】
〔接続及び構成〕
この図１に示されるゲームシステムは、ゲーム機本体と、プログラムデータの記録された記録媒体３０とからなる。ゲーム機本体は、ＣＰＵ１に、アドレス、データ及びコントロールバスからなるバス２が接続され、このバス２に、グラフィックスデータ生成プロセッサ３、インターフェース回路４、メインメモリ５、ＲＯＭ６、伸張回路７、パラレルポート８、シリアルポート９、描画処理プロセッサ１０及びバッファ１１、音声処理プロセッサ１３及びバッファ１４、デコーダ１７及びバッファ１８、インターフェース回路２０及びメモリ２１とが夫々接続され、更に、描画処理プロセッサ１０にテレビジョンモニタ１２が接続され、音声処理プロセッサ１３に増幅回路１４を介してスピーカ１６が接続され、デコーダ１７に記録媒体ドライバ１９が接続され、インターフェース回路２０にコントローラ２２が接続されて構成される。
【００２２】
ここで、上記ゲームシステムは、用途に応じてその形態が異なる。即ち、上記ゲームシステムが、家庭用として構成されている場合においては、テレビジョンモニタ１２及びスピーカ１６はゲーム機本体とは別体となる。また、上記ゲームシステムが、業務用として構成されている場合においては、図１に示されている構成要素はすべて一体型となっている１つの筺体に収納される。また、上記ゲームシステムが、パーソナルコンピュータやワークステーションを核として構成されている場合においては、上記テレビジョンモニタ１２は、上記コンピュータ用のディスプレイに対応し、上記描画処理プロセッサ１０、音声処理プロセッサ１３、伸張回路７は、夫々上記記録媒体３０に記録されているプログラムデータの一部若しくはコンピュータの拡張スロットに搭載される拡張ボード上のハードウエアに対応し、上記インターフェース回路４、上記パラレルポート８、上記シリアルポート９及びインターフェース回路２０は、コンピュータの拡張スロットに搭載される拡張ボード上のハードウエアに対応する。また、上記バッファ１１、１４及び１８は、夫々メインメモリ５若しくは図示しない拡張メモリの各エリアに対応する。本形態では、上記ゲームシステムが、家庭用として構成されている場合を例にとり説明する。
【００２３】
次に、図１に示した各構成要素についてより詳細に説明する。グラフィックスデータ生成プロセッサ３は、ＣＰＵ１のいわばコプロセッサとしての役割を果たす。即ち、このグラフィックスデータ生成プロセッサ３は、座標変換や光源計算、例えば固定小数点形式の行列やベクトルの演算を、並列処理により行う。このグラフィックスデータ生成プロセッサ３の主な処理は、ＣＰＵ１から供給される画像データの２次元若しくは３次元面内における各頂点の座標データと、移動量データと、回転量データとに基いて、処理対象画像の表示エリア上におけるアドレスを求め、当該アドレスデータを、再びＣＰＵ１に返す処理や、仮想的に設定された光源からの距離に応じて、画像の輝度を計算する処理等である。
【００２４】
上記インターフェース回路４は、周辺デバイス、例えばマウスやトラックボール等のポインティングデバイス等のインターフェース用である。上記ＲＯＭ６はゲームシステムのオペレーティングシステムとしてのプログラムデータが、記憶されている。パーソナルコンピュータで言えば、ＢＩＯＳ（Ｂａｓｉｃ Ｉｎｐｕｔ Ｏｕｔｐｕｔ Ｓｙｓｔｅｍ）に相当する。
【００２５】
上記伸張回路７は、ＭＰＥＧ（Ｍｏｖｉｎｇ Ｐｉｃｔｕｒｅ Ｅｎｇｉｎｅｅｒｉｎｇ Ｇｒｏｕｐ）やＪＰＥＧ（Ｊｏｉｎｔ Ｐｉｃｔｕｒｅ Ｅｎｇｉｎｅｅｒｉｎｇ Ｇｒｏｕｐ）に準拠したイントラ符号化により圧縮された圧縮画像に対し、伸張処理が施される。伸張処理は、デコード処理（ＶＬＣ：Ｖａｒｉａｖｌｅ Ｌｅｎｇｔｈ Ｃｏｄｅによりエンコードされたデータのデコード）、逆量子化処理、ＩＤＣＴ（Ｉｎｖｅｒｓｅ Ｄｉｓｃｒｅｔｅ Ｃｏｓｉｎｅ Ｔｒａｎｓｆｏｒｍ）処理、イントラ画像の復元処理等である。
【００２６】
描画処理プロセッサ１０は、ＣＰＵ１が発行する描画命令に基いて、バッファ１１に対する描画処理を行う。バッファ１１は、表示エリアと非表示エリアとからなる。表示エリアは、テレビジョンモニタ１２の表示面上に表示するデータの展開エリアである。非表示エリアは、テクスチャデータやカラーパレットデータ等の記憶エリアである。ここで、テクスチャデータは、２次元の画像データである。カラーパレットデータは、テクスチャデータ等の色を指定するためのデータである。これらのデータは、記録媒体３０から一度、若しくはゲームの進行状況に合致して複数回に分けて、ＣＰＵ１により、予めバッファ１１の非表示エリアに記憶される。
【００２７】
描画命令としては、例えばラインを描画するための描画命令、ポリゴンを用いて立体的な画像を描画するための描画命令、通常の２次元画像を描画するための描画命令がある。ここで、ポリゴンは、多角形の２次元画像であり、本形態においては、三角形若しくは四角形が用いられる。
【００２８】
ラインを描画するための描画命令は、ラインの描画開始及び終了アドレス、色及びライン描画を意味するデータからなる。このライン描画命令は、ＣＰＵ１により、直接、描画処理プロセッサ１０に対して発行される。
【００２９】
ポリゴンを用いて立体的な画像を描画するための描画命令は、バッファ１１の表示エリア上におけるポリゴン頂点アドレスデータ、ポリゴンに貼り付けるテクスチャデータのバッファ１１上における記憶位置を示すテクスチャアドレスデータ、テクスチャデータの色を示すカラーパレットデータのバッファ１１上における記憶位置を示すカラーパレットアドレスデータ並びにテクスチャの輝度を示す輝度データとからなる。これらのデータの内、表示エリア上のポリゴン頂点アドレスデータは、グラフィックスデータ生成プロセッサ３が、ＣＰＵ１からの、３次元空間上におけるポリゴン頂点座標データを、ＣＰＵ１からの移動量データ及び回転量データに基いて、座標変換することによって新たに求められるポリゴン頂点座標データの内の、ｘ及びｙ方向の座標データからなるものである。また、輝度データは、上記グラフィックスデータ生成プロセッサ３が、ＣＰＵ１からの、上記座標変換後のポリゴン頂点座標データが示す位置から、仮想的に配置された光源までの距離に基いて、決定される。
【００３０】
上記ポリゴン頂点アドレスデータは、バッファ１１の表示エリア上のアドレスを示す。描画処理プロセッサ１０は、３若しくは４個のポリゴン頂点アドレスデータで示されるバッファ１１の表示エリアの範囲に、対応するテクスチャデータを書き込む。この処理は、一般に、「テクスチャの貼り付け」等と称されている。
【００３１】
１つの物体は、多数のポリゴンで構成される。ＣＰＵ１は、各ポリゴンの３次元空間上の座標データを、メインメモリ５上に保持している。そして、コントローラ２２の操作により、表示面上で物体を動かす場合、言い換えれば、物体そのものの動きを表現する場合若しくは物体を見ている位置（視点位置）を変える場合、次のような処理が行われる。即ち、ＣＰＵ１は、グラフィックスデータ生成プロセッサ３に対し、メインメモリ５上に保持している各ポリゴンの頂点の３次元座標データと、各ポリゴンの移動量データ及び回転量データを与える。グラフィックスデータ生成プロセッサ３は、各ポリゴンの頂点の３次元座標データと、各ポリゴンの移動量データ及び回転量データとに基いて、順次、各ポリゴンの移動後及び回転後の３次元座標データを求める。このようにして求められた各ポリゴンの３次元座標データが２次元座標データに変換され、水平及び垂直方向の座標データが、バッファ１１の表示エリア上のアドレスデータ、即ち、ポリゴン頂点アドレスデータとして、描画処理プロセッサ１０に供給される。描画処理プロセッサ１０は、３個若しくは４個のポリゴン頂点アドレスデータによって示されるバッファ１１の三角形若しくは四角形の表示エリア上に、予め割り当てられているテクスチャアドレスデータが示すテクスチャデータを書き込む。これによって、テレビジョンモニタ１２の表示面上には、多数のポリゴンにテクスチャデータの貼り付けられた物体が表示される。
【００３２】
通常の２次元画像を描画するための描画命令は、頂点アドレスデータ、テクスチャアドレスデータ、テクスチャデータの色を示すカラーパレットデータのバッファ１１上における記憶位置を示すカラーパレットアドレスデータ、並びにテクスチャの輝度を示す輝度データとからなる。これらのデータの内、頂点アドレスデータは、グラフィックスデータ生成プロセッサ３が、ＣＰＵ１からの２次元平面上における頂点座標データを、ＣＰＵ１からの移動量データ及び回転量データに基いて、座標変換して得られる座標データである。以下、描画処理については、「描画命令を発行する」等のように簡略化して記載する。
【００３３】
音声処理プロセッサ１３は、記録媒体３０から読み出されたＡＤＰＣＭデータを、バッファ１４に記憶し、このバッファ１４に記憶されたＡＤＰＣＭデータを音源とする。そして、音声処理プロセッサ１３は、ＡＤＰＣＭデータを、例えば４４．１ＫＨｚの周波数のクロックで読み出す。そして、そして音声処理プロセッサ１３は、バッファ１４から読み出したＡＤＰＣＭデータに対し、ピッチの変換、ノイズの付加、エンベロープの設定、レベルの設定、リバーブの付加等の処理を施す。記録媒体３０から読み出される音声データがＰＣＭデータの場合においては、音声処理プロセッサ１３により、ＡＤＰＣＭデータに変換される。また、ＰＣＭデータに対するプログラムデータによる処理は、メインメモリ５上において直接行われる。メインメモリ５上において処理されたＰＣＭデータは、音声処理プロセッサ１３に供給されてＡＤＰＣＭデータに変換された後に、上述した各種処理が施された後に、音声としてスピーカ１６から出力される。
【００３４】
記録媒体ドライバ１９は、例えばハードディスクドライブ、光ディスクドライブ、フレキシブルディスクドライブ、シリコンディスクドライブ、カセット媒体読みとり機等である。記録媒体３０は、例えばハードディスク、光ディスク、フレキシブルディスク、半導体メモリ等である。記録媒体ドライバ１９は、記録媒体３０から画像、音声、プログラムデータを読み出し、読み出したデータを、デコーダ１７に供給する。デコーダ１７は、記録媒体ドライバ１９からの再生データに対し、ＥＣＣ（Ｅｒｒｏｒ Ｃｏｒｒｅｃｔｉｏｎ Ｃｏｄｅ）によるエラー訂正処理を施し、エラー訂正処理を施したデータを、メインメモリ５若しくは音声処理プロセッサ１３に供給する。
【００３５】
メモリ２１は、例えば、ホルダ及びカード型のメモリからなる。カード型のメモリは、例えば終了時点の状態を保持する等のように、ゲームの各種パラメータを保持するためのものである。コントローラ２２は、左キーＬ、右キーＲ、上キーＵ、下キーＤからなる十字キーと、左ボタン２２Ｌ、右ボタン２２Ｒ、スタートボタン２２ａ、セレクトボタン２２ｂ、第１ボタン２２ｃ、第２ボタン２２ｄ、第３ボタン２２ｅ、第４ボタン２２ｆとからなる。十字キーは、ゲームプレーヤが、ＣＰＵ１に対し、上下左右を示すコマンドを与えるものである。スタートボタン２２ａは、ゲームプレーヤが、記録媒体３０からロードされるゲームプログラムデータの開始をＣＰＵ１に指示するためのものである。セレクトボタン２２ｂは、ゲームプレーヤが、記録媒体３０からメインメモリ５にロードされるゲームプログラムデータに関する各種選択を、ＣＰＵ１に指示するためのものである。尚、左キーＬ、右キーＲ、第１〜第４ボタン２２ｃ、２２ｄ、２２ｅ、２２ｆの機能は、記録媒体３０からロードされるゲームプログラムデータによって異なる。
【００３６】
〔動作〕
電源スイッチ（図示せず）がオンにされ、ゲームシステムに電源が投入される。このとき、記録媒体３０が、記録媒体ドライバ１９に装填されていると、ＣＰＵ１が、ＲＯＭ６に記憶されているオペレーティングシステムに基いて、記録媒体ドライバ１９に対し、記録媒体３０からのプログラムデータの読み出しを指示する。これにより、記録媒体ドライバ１９は、記録媒体３０から画像、音声及びプログラムデータを読み出す。読み出された画像、音声及びプログラムデータは、デコーダ１７に供給され、ここで、エラー訂正処理が施される。デコーダ１７においてエラー訂正処理の施された画像データは、バス２を介して伸張回路７に供給され、ここで、上述した伸張処理が施された後に、描画処理プロセッサ１０に供給され、この描画処理プロセッサ１０により、バッファ１１の非表示エリアに書き込まれる。
【００３７】
デコーダ１７においてエラー訂正処理の施された音声データは、メインメモリ５若しくは音声処理プロセッサ１３に供給され、メインメモリ５若しくはバッファ１４に書き込まれる。また、デコーダ１７においてエラー訂正処理の施されたプログラムデータは、メインメモリ５に供給され、このメインメモリ５に書き込まれる。以降、ＣＰＵ１は、メインメモリ５に記憶されているゲームプログラムデータ、並びにゲームプレーヤが、コントローラ２２を介して指示する内容に基いて、ゲームを進行する。即ち、ＣＰＵ１は、コントローラ２２を介してゲームプレーヤから指示される指示内容に基いて、適宜、画像処理の制御、音声処理の制御、内部処理の制御を行う。画像処理の制御とは、２次元若しくは３次元座標データや視点位置データのグラフィックスデータ生成プロセッサ３への供給、グラフィックスデータ生成プロセッサ３が求めたバッファ１１の表示エリア上のアドレスデータや輝度データを含む描画命令の発行等である。音声処理の制御とは、音声処理プロセッサ１３に対する音声出力コマンドの発行、レベル、リバーブ等の指定である。内部処理の制御とは、例えばコントローラ２２の操作に応じた演算等である。
【００３８】
Ｂ．図１に示したＣＰＵ１の有する機能（図２）
【００３９】
図２は、図１に示したＣＰＵ１の有する機能を示す説明図である。ＣＰＵ１は、図１に示した記録媒体３０から読み出され、メインメモリ５に記憶されたプログラムデータを読むことにより、図２に示す機能を持つ。この図２に示されているように、ＣＰＵ１の機能は、ボタン操作検出手段１ａ、視点位置データ設定手段１ｂ、表示範囲情報抽出手段１ｃ、演算手段１ｄ、結果情報設定手段１ｅ、判断手段１ｈ、描画命令発行手段１ｇ、変数設定手段１ｈ、アドレス設定手段１ｉ、アドレス取得手段１ｊ、高さデータ補正手段１ｋ、アンデュレーション出力判断手段１ｍ、アンデュレーション画像描画手段１ｎ、パラメータ管理手段１ｏ、乱数発生手段１ｐ、輝度処理手段１ｑとで構成される。これらの手段は、夫々項目Ｃ〜項目Ｏにおいて説明する制御の主体となる。
【００４０】
Ｃ．ゴルフコースの一例（図３Ａ）
【００４１】
図３Ａは、ゴルフコースの一例を示す説明図であり、この図において、ゴルフコースは、説明の便宜上、マトリクス状に領域が仕切られている。この図３Ａに示されているように、ゴルフコースには、ティーグラウンドＴｇと、グリーンＧｒとが含まれる。また、ゴルフコース上に示される各縦線と各横線の各交点には、夫々アドレス（ｘ、ｙ）が与えられている。この例では、最小アドレスは（０、０）、最大アドレスは、（２００、５３０）となっている。これらのアドレスデータは、テクスチャ番号データと関連づけられ、記録媒体３０に記録されている。
【００４２】
Ｄ．ゴルフコースから抽出された抽出エリア（図４Ａ）
【００４３】
図４Ａは、図３に示したゴルフコースから、視点位置データに基いて抽出された抽出エリアＡｒ１を示す説明図である。尚、この図４Ａは、図３に示したゴルフコースよりも、コース上に設定されている情報が細かく示されている。この図４Ａに示されているように、ゴルフコースは、三角形若しくは四角形の多くのポリゴンで構成される。そして、図４Ａ中に示されている黒い点は、夫々ポリゴンの頂点を示している。この頂点の高さデータも、上述と同様に、テクスチャ番号データと関連づけられ、記録媒体３０に記録されている。図１に示したグラフィックスデータ生成プロセッサ３は、高さデータに基いて光源計算を行い、その結果に基いて、各テクスチャの輝度データの値を設定する。ゴルフコースの光源は、ゴルフコースの上に設定されるので、光源との距離は、高さデータが基準となる。
【００４４】
Ｅ．ゴルフコースのデータテーブル（図４Ｂ）
【００４５】
図４Ｂは、ゴルフコースのデータテーブルを示す説明図である。この図４Ｂに示されているように、１つのゴルフコースに対して１つのデータテーブルが用意されている。そして、１つのデータテーブルは、この図４Ｂに示されているように、０〜ｎ番までのポリゴン頂点番号データ、この０〜ｎ番までのポリゴン頂点データについて夫々登録されている水平方向アドレスデータｘ、垂直方向アドレスデータｙ、高さデータｚ、輝度データＬｕからなる。元々テーブルに登録されている高さデータは、ゴルフボールの位置を基準として、随時、補正され、書き換えられる。そして、輝度データＬｕは、補正された高さデータに基いて、輝度処理手段１ｑにより演算により求められ、このテーブルに登録される。テーブルに登録された輝度データＬｕは、既に説明したテクスチャアドレスデータ等と共に、描画命令として、図１に示した描画処理プロセッサ１０に供給される。描画処理プロセッサ１０は、描画命令中の輝度データの値が示す輝度で、描画すべきデータを表示する。
【００４６】
ここで、上記ポリゴン頂点番号データは、図４において黒い点で示した、ポリゴンの頂点のインデックス番号である。また、上記水平及び垂直方向アドレスデータは、図３に示したアドレスｘ、ｙである。
【００４７】
Ｆ．画面表示例（図５）
【００４８】
図５は、画面表示例を示す説明図である。この図５に示すように、基本的な画面は、左上及び右上の文字情報の表示エリアと、エリアＡｒ２、Ａｒ３、Ａｒ４と、ゴルファーＭａ及びそのコースの表示エリア（図中中央）と、ガイドＧｕ１の表示エリアとで構成される。
【００４９】
ここで、左上のエリアには、この例に示されるように、打数を示す文字（０ＳＴＲＯＫＥ）と、ゴルファーの番号（複数の場合の１人目、２人目の意味である）を示す文字と、残りの距離を示す文字（ＲＥＳＴ ５１８ｙ）とからなる。そして、更に、このエリアの真下の領域には、風力を示す文字（ＷＩＮＤ ４ｍ）が表示され、その下には風向きを示す矢印Ｂｙの画像が表示される。
【００５０】
また、エリアＡｒ２には、例えばゴルフクラブの選択、ティーアップ、打撃位置等の設定すべき事項のタイトルが表示され、エリアＡｒ３には、上記設定すべき事項の画像（例えばゴルフクラブ等）が表示される。また、ガイドＧｕ１には、ゴルフボールの飛距離、位置を示すための指示画像Ｉｎが表示される。この指示画像Ｉｎは、上記設定に応じて随時その表示状態が変更される。また、エリアＡｒ４には、ゴルフボールの画像と地面が表示される。
【００５１】
また、画面の中央には、ゴルフクラブＣｂを持つゴルファーＭａの画像と、グリーンＧｒ等のコースの風景が表示されると共に、このゴルファーＭａの位置（若しくはボールの位置）から打撃方向に向かって、ガイドＧｕ２が表示される。このガイドＧｕ２は、図３Ｂに示されるように、２次元平面上においてマトリクス状の形状となっており、多数の直線の集まりによって形成される。このガイドＧｕ２は、図５に示されるように、ゴルファーＭａの位置から打撃方向に向かって地形に合致するように、即ち、地形と同様に、疑似３次元表示される。そして、更に、ガイドＧｕ２は、各部の下に位置する地形の高さに応じてその輝度が可変されている。この例では、ガイドＧｕ２は、その真下の地形の高さが高い程、輝度が高く設定され、その真下の地形の高さが低い程、輝度が低く設定される。これにより、ゲームプレーヤは、地形の高低が判別でき、例えばコントローラ２２で打撃設定を行う際に、その設定値を強くする等のように、よりゴルフゲーム空間内の地形に応じたゲーム運びを行うことができる。
【００５２】
既に説明したように、上記ガイドＧｕ２は、地形を構成するポリゴンの各頂点間を線描画命令に基いて、図１に示した描画処理プロセッサ１０が描画した多数の線により形成される。線描画命令中には、各ポリゴン頂点の輝度データが含まれているので、描画処理プロセッサ１０は、線の輝度を、始点に対応するポリゴンの頂点の輝度、並びに終点に対応するポリゴンの頂点の輝度に基いて決定する。例えば、始点の輝度が、終点の輝度よりも高いときには、線の輝度は、始点が最も高く、終点に近づくにつれて徐々に低くなるように決定される。一方、始点の輝度が、終点の輝度よりも低いときには、線の輝度は、始点が、最も低く、終点に近づくにつれて徐々に高くなるように決定される。尚、図５においては、作図の都合上、１本の線の内部でのこのようなグラデーションの表現はしていない。
【００５３】
図３Ａ及び図４を参照して説明したように、通常、風景の各部分は、高さデータが設定されている。そして、図１に示したグラフィックスデータ生成プロセッサ３は、この高さデータと、視点位置に基いた仮想的な光源の位置に基いて光源計算を行い、その結果に応じて各部の輝度を設定する。よって、風景そのものだけである程度の距離、高低を表現することはできる。しかしながら、光源計算で求めた輝度の違いでコース内での距離や高低を表現するだけでは、これをガイドとした場合に、コントローラ２２の操作を適切に行うことができない。そこで、ガイドＧｕ２を表示するようにする。これによれば、同じ長さの直線からなるガイドＧｕ２の各部分が、コース内の高低に応じた明るさ、且つ、距離に応じた長さとなるので、ゴルフコースの距離及び高低を、より分かり易く表現することができる。従って、ゲームプレーヤは、コントローラ２２を、よりゲーム空間内のゴルフコースの条件に合致させて操作することができる。
【００５４】
Ｇ．メインルーチンによる制御（図６〜図８）
【００５５】
図６〜図８は、メインルーチンによる制御動作を説明するためのフローチャートである。尚、ステップＳ１のみ、図１に示したＲＯＭ６に記憶されているオペレーティングシステムによる制御動作である。他のステップは、記録媒体３０から読み出されたゲームプログラムデータによる制御動作である。また、ゲームプログラムデータによる制御の主体は、既に説明したように、図２に示したＣＰＵ１の機能としての各手段である。
【００５６】
ステップＳ１では、オペレーティングシステムの命令により、記録媒体ドライバ１９が、記録媒体３０から画像、音声及びプログラムデータを読み出す。読み出されたデータの内、プログラムデータは、メインメモリ５に記憶される。これにより、ＣＰＵ１は、図２に示した機能を有する。尚、このとき、画像、即ち、テクスチャデータは、描画処理プロセッサ１０のバッファ１１に記憶され、夫々テクスチャ番号が割り当てられるものとする。また、音声データは、音声処理プロセッサ１３のバッファ１４に記憶され、夫々音声番号データが割り当てられるものとする。通常、すべての画像及び音声データが、ステップＳ１においてバッファ１１及び１４に保持されることはないが、説明の便宜上、すべての画像及び音声データが、ステップＳ１においてロードされるものとする。
【００５７】
ステップＳ２では、ボタン操作検出手段１ａが、コントローラ２２のスタートボタン２２ａが押された否かを判断し、「ＹＥＳ」であればステップＳ３に移行する。
【００５８】
ステップＳ３では、描画命令発行手段１ｇが、セレクト画像の描画を示す描画命令を、図１に示した描画処理プロセッサ１０に対して発行する。描画処理プロセッサ１０は、上記描画命令に基いて、セレクト画像の画像データを、バッファ１１の表示面上に展開する。これにより、テレビジョンモニタ１２の表示面上には、セレクト画像が表示される。
【００５９】
ステップＳ４では、ボタン操作手段１ａが、コントローラ２２のスタートボタン２２ａが押されたか否かを判断し「ＹＥＳ」であればステップＳ５に移行する。
【００６０】
ステップＳ５では、ＣＰＵ１が、セレクトされたゲームにセットする。ここで、「セレクトされる」とは、ゲームプレーヤが、ステップＳ３で表示されたセレクト画像を参照して、十字キーを用いてゲームを選択し、この後に、スタートボタン２２ａを押すことを意味する。また、ここで「ゲーム」とは、ゲームそのものの他、例えば対戦型格闘ゲームにおけるキャラクタ等も含む。要するに、ゲームが実際に開始される前の選択事項である。
【００６１】
ステップＳ６では、描画命令発行手段１ｇが、セレクトされたゲームの初期画像の描画を示す描画命令を、描画処理プロセッサ１０に対して発行する。これにより、描画処理プロセッサ１０は、バッファ１１の表示エリア上に初期画像の画像データを、展開する。これにより、テレビジョンモニタ１２の表示面上には、初期画像が表示される。
【００６２】
ステップＳ７では、変数設定手段１ｈが、メインメモリ５に保持しているフラグや変数を夫々リセットする。
【００６３】
ステップＳ８では、視点位置データ設定手段１ｂが、メインメモリ５に保持されている視点位置データＥｘ、Ｅｙ、Ｅｚの値を、夫々初期値にセットする。ここで「初期値」とは、例えばゴルフコースのティーグラウンドＴｇの位置を示すアドレスデータである。
【００６４】
ステップＳ１００では、画像表示処理を行う。この画像表示処理ルーチンについては後に詳述する。簡単に言えば、このルーチンにおいては、ステップＳ８で設定された視点位置データＥｘ、Ｅｙ、Ｅｚに応じた画像が、表示される。
【００６５】
ステップＳ９では、演算手段１ｄが、視点位置データＥｘ、Ｅｙ、Ｅｚに変数Ｒｘ、Ｒｙ、Ｒｚ（一定ではない）を、夫々加算する。ここで、視点位置データＥｘ、Ｅｙ、Ｅｚは、夫々水平方向アドレス、垂直方向アドレス、及び高さを示す。
【００６６】
ステップＳ１０では、判断手段１ｆが、視点位置データＥｙが最大値ＥＹｍａｘを越えたか否かを判断し、「ＹＥＳ」であればステップＳ１１に移行し、「ＮＯ」であれば再びステップＳ１００に移行する。上記ステップＳ１００からＳ１０からなるループは、視点位置データの値を変える都度、画像表示処理ルーチンＳ１００により画像表示を行うことで、ゴルフコースを、ゲームプレーヤに案内するように表示するためである。
【００６７】
ステップＳ１１では、視点位置データ設定手段１ｂが、視点位置データＥｘ、Ｅｙ、Ｅｚに、夫々初期値をセットする。
【００６８】
ステップＳ１００では画像表示処理を行う。
【００６９】
ステップＳ２００では、ティーアップ設定処理を行う。このティーアップ設定処理ルーチンＳ２００については後に詳述する。「ティーアップ設定」とは、ティーショットの位置の設定を意味する。
【００７０】
ステップＳ１５０では、アンデュレーション画像出力処理を行う。アンデュレーション画像出力ルーチンＳ１５０については後に詳述する。アンデュレーション画像とは、図５において説明したガイドＧｕ２の画像である。既に説明したように、アンデュレーション画像は、ゴルフゲーム空間内のコースの距離及び高低をよりわかり易くするためのガイドである。このガイドＧｕ２は、高いところに対応する位置ほど、その輝度が高く設定され、遠いところに対応する位置ほど、その長さが短く表示される。尚、他のステップＳ１５０も、同じ内容である。
【００７１】
ステップＳ２５０では、カメラ位置設定処理を行う。「カメラ位置」とは、ゴルフコース及びゴルファーの撮像位置を意味する。このカメラ位置設定処理ルーチンＳ２５０については後に詳述する。
【００７２】
ステップＳ３００では、方向設定処理を行う。「方向」とは、ゴルファーの体の向きを意味する。この方向設定ルーチンＳ３００については後に詳述する。
【００７３】
ステップＳ１２では、ボタン操作検出手段１ａが、第４ボタン２２ｆが押されたか否かを判断し、「ＹＥＳ」であればステップＳ３５０に移行する。このステップＳ１２は、方向設定ルーチンＳ３００による方向設定を終了するか否かを判断するステップである。即ち、ゲームプレーヤが、第４ボタン２２ｆを押さない限り、方向設定ルーチンＳ３００に移行すると共に、この後、方向設定ルーチンＳ３００で設定された方向設定値Ｄｉに基いたアンデュレーション画像の表示が、アンデュレーション画像出力ルーチンＳ１５０において行われる。
【００７４】
ステップＳ３５０では、スタンス設定処理が行われる。「スタンス」とは、ゴルファーの姿勢を意味する。このスタンス設定ルーチンＳ３５０については後に詳述する。
【００７５】
ステップＳ４００では、クラブ設定処理が行われる。「クラブ」とは、アイアン、ウッド等のゴルフクラブを意味する。このクラブ設定ルーチンＳ４００については後に詳述する。
【００７６】
ステップＳ４５０では、打撃位置設定処理が行われる。「打撃位置」とは、ゴルフボールに対してクラブのヘッド部分が当たる位置を意味する。この打撃位置設定ルーチンＳ４５０については後に詳述する。
【００７７】
ステップＳ５００では、打撃処理が行われる。この処理においては、打たれたゴルフボールや背景等の画像処理が主に行われる。この打撃ルーチンＳ５００については後に詳述する。
【００７８】
ステップＳ１３では、判断手段１ｆが、最後のボール位置がホール位置か否かを判断し、「ＹＥＳ」であればステップＳ１３に移行し、「ＮＯ」であればステップＳ１４に移行する。ここで最後のボール位置がホール位置か否かを判断するのは、カップ・インした場合と、カップ・インしない場合とでは、その後の処理を変える必要があるからである。
【００７９】
ステップＳ１４では、描画命令発行手段１ｇが、スコア画像の描画を示す描画命令を、描画処理プロセッサ１ｇに対して発行する。次に、結果情報設定手段１ｅが、打数等を示す文字データを、描画処理プロセッサ１０に供給する。これにより、描画処理プロセッサ１ｇは、結果情報を反映したスコア画像を、バッファ１１の表示エリア上に展開する。これにより、テレビジョンモニタ１２の表示面上には、結果の反映されたスコア画像が表示される。そして、この後、再びステップＳ３に移行する。
【００８０】
ステップＳ１５では結果情報設定手段１ｅが、最後のボール位置までの飛距離を示す文字データを、描画処理プロセッサ１０に供給する。これにより、描画処理プロセッサ１ｇは、最後のボール位置までの飛距離を示す画像データを、バッファ１１の表示エリア上に展開する。これにより、最後のボール位置までの飛距離が、画像としてテレビジョンモニタ１２に表示される。
【００８１】
ステップＳ１６では、視点位置データ設定手段１ｂが、最後のボール位置データＢｘｎ，Ｂｙｎ、Ｂｚｎを、視点位置データＥｘ、Ｅｙ、Ｅｚに夫々代入する。この後、再びステップＳ１００の画像表示処理ルーチンＳ１００に移行する。これによって、最後のボール位置を視点位置とした画像が表示される。
【００８２】
Ｈ．画像表示ルーチンＳ１００による制御（図９〜図１０）
【００８３】
図９〜図１０は、画像表示ルーチンＳ１００による制御動作を説明するためのフローチャートである。
【００８４】
ステップＳ１０１では、アドレス設定手段１ｉが、ゴルフコースの水平方向最小アドレスＸｍｉｎ、垂直方向最小アドレスＹｍｉｎ、水平方向最大アドレスＸｍａｘ、垂直方向最大アドレスＹｍａｘをセットする。図３に示したゴルフコースを例にとると、最小アドレスは、（０、０）、最大アドレスは、（２００、５３０）となる。以下、ｘ及びＸは、水平方向のアドレスであることを意味し、ｙ及びＹは、垂直方向のアドレスであることを意味し、ｚ及びＺは、高さであることを意味する。
【００８５】
ステップＳ１０２では、アドレス取得手段１ｊが、視点位置データＥｘ、Ｅｙ、Ｅｚに基いて、表示範囲内の水平方向最小アドレスデータＡＤｘｍｉｎ、垂直方向最小アドレスデータＡＤｙｍｉｎ、水平方向最大アドレスデータＡＤｘｍａｘ垂直方向最大アドレスデータＡＤｙｍａｘを、図４Ｂに示したテーブルから求める。ここで、表示範囲とは、図４Ａに示したような抽出エリアＡｒ１を意味する。
【００８６】
ステップＳ１０３では、変数設定手段１ｈが、アドレスデータＡＤｘに、ゴルフコースの最小アドレスＸｍｉｎを代入する。
【００８７】
ステップＳ１０４では、変数設定手段１ｈが、アドレスデータＡＤｙに、ゴルフコースの最小アドレスデータＹｍｉｎを代入する。
【００８８】
ステップＳ１０５では、高さデータ補正手段１ｋが、高さデータｚを、テーブルから読む。
【００８９】
ステップＳ１０６では、高さデータ補正手段１ｋの制御の元に、演算手段１ｄが、ステップＳ１０５で読み出された高さデータｚから、高さデータＥｚを減算する。テーブルに登録されている高さデータｚは、初期値である。そして、高さデータは、ゴルフボールの置かれているところの高さを基準とする。従って、テーブルに登録されている高さデータｚを、ゴルフボールの置かれている位置の高さに基いて、随時修正しなければならない。そこで、このステップＳ１０６に示されるように、テーブルから読み出した高さデータｚから、視点位置データの高さデータＥｚを減算するのである。
【００９０】
尚、最初の１打が打たれる前は、視点位置データＥｘ、Ｅｙ、Ｅｚが用いられるが、最初の１打が打たれた後は、視点位置データＥｘ、Ｅｙ、Ｅｚには、ボール位置データＢｘ、Ｂｙ、Ｂｚが代入される。従って、最初の１打が打たれる前は、視点位置データの高さデータＥｚがテーブルから読み出した高さデータｚから減算されるが、最初の１打が打たれた後は、ボール位置データＢｚが、テーブルから読み出された高さデータｚから減算される。
【００９１】
ステップＳ１０７では、高さデータ補正手段１ｋが、ステップＳ１０６で求められた高さデータＡＤｚを、テーブルから読み出された高さデータｚの代わりに、その高さデータｚが記憶されていたテーブルの記憶位置に書き込む。これにより、テーブルから読み出された高さデータｚは、視点位置データＥｚを基準とした高さデータに修正される。
【００９２】
ステップＳ１０８では、輝度処理手段１ｑが、高さデータＡＤｚの値に基いて輝度データＬｕを求める。
【００９３】
ステップＳ１０９では、判断手段１ｆが、輝度データＬｕの値が、輝度データＬｕの最大値Ｌｕｍａｘよりも大きいか否かを判断し、「ＹＥＳ」であればステップＳ１１０に移行し、「ＮＯ」であればステップＳ１１１に移行する。
【００９４】
ステップＳ１１０では、輝度処理手段１ｑが、輝度データＬｕに輝度データＬｕの最大値Ｌｕｍａｘを代入する。
【００９５】
ステップＳ１１１では、判断手段１ｆが、輝度データＬｕの値が、輝度データＬｕの最小値Ｌｕｍｉｎよりも小さいか否かを判断し、「ＹＥＳ」であればステップＳ１１２に移行し、「ＮＯ」であればステップＳ１１３に移行する。
【００９６】
ステップＳ１１２では、輝度処理手段１ｑが、輝度データＬｕの値に輝度データＬｕの最小値Ｌｕｍｉｎを代入する。
【００９７】
ステップＳ１１３では、輝度処理手段１ｑが、対応する輝度データＬｕを新たに求めた輝度データＬｕで書き換える。
【００９８】
ステップＳ１１４では、演算手段１ｄが、アドレスデータＡＤｘに“１”を加算する。
【００９９】
ステップＳ１１５では、判断手段１ｆが、アドレスデータＡＤｘが最大アドレスデータＸｍａｘよりも大きいか否かを判断し、「ＹＥＳ」であればステップＳ１１６に移行し、「ＮＯ」であればステップＳ１１９に移行する。
【０１００】
ステップＳ１１６では、変数設定手段１ｈが、アドレスデータＡＤｘに、表示範囲内の最小アドレスデータＡＤｘｍｉｎを代入する。
【０１０１】
ステップＳ１１７では、演算手段１ｄが、アドレスデータＡＤｙに“１”を加算する。
【０１０２】
ステップＳ１１８では、判断手段１ｆが、アドレスデータＡＤｙが、ゴルフコースの最大アドレスデータＹｍａｘよりも大きいか否かを判断し、「ＹＥＳ」であればこの画像表示処理ルーチンＳ１００を抜け、「ＮＯ」であればステップＳ１１９に移行する。
【０１０３】
一方、ステップＳ１１９では、判断手段１ｆが、アドレスデータＡＤｘが、表示範囲内の最小アドレスデータＡＤｘｍｉｎ以上で、且つ、表示範囲内の最大アドレスデータＡＤｘｍａｘ以下であるか否かを判断し、「ＹＥＳ」であればステップＳ１２０に移行し、「ＮＯ」であれば再びステップＳ１０５に移行する。
【０１０４】
ステップＳ１２０では、判断手段１ｆが、アドレスデータＡＤｙが、表示範囲内の最小アドレスデータＡＤｙｍｉｎ以上で、且つ、表示範囲内の最大アドレスデータＡＤｙｍａｘ以下であるか否かを判断し、「ＹＥＳ」であればステップＳ１２１に移行し、「ＮＯ」であれば再びステップＳ１０５に移行する。
【０１０５】
ステップＳ１２１では、描画命令発行手段１ｇが、描画命令を、描画処理プロセッサ１０に対して発行する。これにより、描画処理プロセッサ１０は、視点位置データＥｘ、Ｅｙ、Ｅｚに基いた画像データを、バッファ１１の表示面上に展開する。よって、テレビジョンモニタ１２の表示面上には、指定された画像が表示される。
【０１０６】
Ｉ．アンデュレーション画像出力ルーチンＳ１５０（図１１〜図１２）
【０１０７】
図１１及び図１２は、アンデュレーション画像出力ルーチンによる制御動作を説明するためのフローチャートである。アンデュレーション画像は、既に説明したように、ゲームプレーヤが、テレビジョンモニタ１２の表示面上に表示されたゴルフコース上での距離や起伏を、感覚的に判別し、これに基いて適切な操作を行うことができるようにするための、ガイド画像である。
【０１０８】
ステップＳ１５１では、ボタン操作検出手段１ａが、第１ボタンが押されたか否かを判断し、「ＹＥＳ」であればステップＳ１５２に移行し、「ＮＯ」であればこのアンデュレーション画像出力ルーチンＳ１５０を抜ける。
【０１０９】
ステップＳ１５２では、アンデュレーション出力判断手段１ｍが、アンデュレーションフラグが“０”か否かを判断し、「ＹＥＳ」であればステップＳ１５６に移行し、「ＮＯ」であればステップＳ１５４に移行する。ここで、アンデュレーションフラグは、図５に示したガイドＧｕ２が表示されているか否かを示すフラグであり、例えば“１”は表示、“０”は非表示である。このステップＳ１５２において、上記アンデュレーション出力判断手段１ｍにより、アンデュレーションフラグが“０”であるものと判断された場合は、ステップＳ１５６以降に移行して、アンデュレーション画像が出力される。また、このステップＳ１５２において、上記アンデュレーション出力判断手段１ｍにより、アンデュレーションフラグが“１”であると判断された場合は、ステップＳ１５４及びＳ１５５において、アンデュレーション画像が消去される。
【０１１０】
ステップＳ１５４では、アンデュレーション出力判断手段１ｍが、アンデュレーションフラグを“０”にする。
【０１１１】
ステップＳ１５５では、アンデュレーション画像描画手段１ｎが、描画処理プロセッサ１０に対し、アンデュレーション画像の消去命令を発行する。これにより、描画処理プロセッサ１０は、バッファ１１上への線のデータの書き込みを中止する。これにより、テレビジョンモニタ１２の表示面上から、図５に示したガイドＧｕ２の画像が消去される。尚、アンデュレーション画像の消去は、アンデュレーション画像以外の画像の再書き込みで行っても良い。
【０１１２】
ステップＳ１５６では、アンデュレーション出力判断手段１ｍが、アンデュレーションフラグを“１”にする。
【０１１３】
ステップＳ１５７では、アドレス設定手段１ｉが、ゴルフコースの最小アドレスデータＸｍｉｎ、Ｙｍｉｎ並びに最大アドレスデータＸｍａｘ、Ｙｍａｘをセットする。
【０１１４】
ステップＳ１５８では、アドレス設定手段１ｉが、ボール位置データＢｘ、Ｂｙに基いて、アンデュレーション画像の表示範囲内における最小アドレスＡＤｘｍｉｎ、ＡＤｙｍｉｎ、ＡＤｘｍａｘ、ＡＤｙｍａｘを得る。
【０１１５】
ステップＳ１５９では、変数設定手段１ｈが、アドレスデータＡＤｘに最小アドレスデータＸｍｉｎを代入する。
【０１１６】
ステップＳ１６０では、変数設定手段１ｈが、アドレスデータＡＤｙに最小アドレスデータＹｍｉｎを代入する。
【０１１７】
ステップＳ１６１では、高さデータ補正手段１ｋが、テーブルからアドレスデータＡＤｘ、ＡＤｙが示す高さデータｚを読む。
【０１１８】
ステップＳ１６２では、高さデータ補正手段１ｋが、高さデータ補正手段１ｋの制御の元に、演算手段１ｄが、ステップＳ１６１で読み出された高さデータｚから、高さデータＥｚを減算する。テーブルに登録されている高さデータは、初期値である。そして、高さデータは、ゴルフボールの置かれているところの高さを基準とする。従って、テーブルに登録されている高さデータｚを、ゴルフボールの置かれている位置の高さに基いて、随時修正しなければならない。そこで、このステップＳ１６２に示されるように、テーブルから読み出した高さデータｚから、視点位置データＥｚを減算するのである。
【０１１９】
ステップＳ１６３では、高さデータ補正手段１ｋが、ステップＳ１６２で求められた高さデータＡＤｚを、テーブルから読み出された高さデータｚの代わりに、その高さデータｚが記憶されていたテーブルの記憶位置に書き込む。これにより、テーブルから読み出された高さデータｚは、視点位置データＥｚを基準とした高さデータに修正される。
【０１２０】
ステップＳ１６４では、輝度処理手段１ｑが、高さデータＡＤｚの値に基いて輝度データＬｕを求める。
【０１２１】
ステップＳ１６５では、判断手段１ｆが、輝度データＬｕの値が、輝度データＬｕの最大値Ｌｕｍａｘよりも大きいか否かを判断し、「ＹＥＳ」であればステップＳ１１０に移行し、「ＮＯ」であればステップＳ１１１に移行する。
【０１２２】
ステップＳ１６６では、輝度処理手段１ｑが、輝度データＬｕに輝度データＬｕの最大値Ｌｕｍａｘを代入する。
【０１２３】
ステップＳ１６７では、輝度処理手段１ｑが、対応する輝度データＬｕを新たに求めた輝度データＬｕで書き換える。
【０１２４】
ステップＳ１６８では、演算手段１ｄが、アドレスデータＡＤｘに“１”を加算する。
【０１２５】
ステップＳ１６９では、判断手段１ｆが、アドレスデータＡＤｘが最大アドレスデータＸｍａｘよりも大きいか否かを判断し、「ＹＥＳ」であればステップＳ１７０に移行し、「ＮＯ」であればステップＳ１７３に移行する。
【０１２６】
ステップＳ１７０では、変数設定手段１ｈが、アドレスデータＡＤｘに、表示範囲内の最小アドレスデータＡＤｘｍｉｎを代入する。
【０１２７】
ステップＳ１７１では、演算手段１ｄが、アドレスデータＡＤｙに“１”を加算する。
【０１２８】
ステップＳ１７２では、判断手段１ｆが、アドレスデータＡＤｙが、ゴルフコースの最大アドレスデータＹｍａｘよりも大きいか否かを判断し、「ＹＥＳ」であればこのアンデュレーション画像表示ルーチンＳ１５０を抜ける。
【０１２９】
一方、ステップＳ１７３では、判断手段１ｆが、アドレスデータＡＤｘが、表示範囲内の最小アドレスデータＡＤｘｍｉｎ以上で、且つ、表示範囲内の最大アドレスデータＡＤｘｍａｘ以下であるか否かを判断し、「ＹＥＳ」であればステップＳ１７４に移行し、「ＮＯ」であれば再びステップＳ１６１に移行する。
【０１３０】
ステップＳ１７４では、判断手段１ｆが、アドレスデータＡＤｙが、表示範囲内の最小アドレスデータＡＤｙｍｉｎ以上で、且つ、表示範囲内の最大アドレスデータＡＤｙｍａｘ以下であるか否かを判断し、「ＹＥＳ」であればステップＳ１７５に移行し、「ＮＯ」であれば再びステップＳ１６１に移行する。
【０１３１】
ステップＳ１７５では、描画命令発行手段１ｇが、線描画命令を、描画処理プロセッサ１０に対して発行する。これにより、描画処理プロセッサ１０は、バッファ１１の表示エリア上に、線のデータを書き込む。ここで、ガイドＧｕ２は、図３Ｂに示したように、マトリクス状の画像データである。しかしながら、ゴルフコースの画像が、視点位置に応じて擬似的に３次元表示されるので、上記ガイドＧｕ２も、同様に、３次元表示される。具体的には、ガイドＧｕ２の表示範囲内のゴルフコースのポリゴンの頂点間を、多数の線で結ぶことにより、ガイドＧｕ２を描画する。そして、ガイドＧｕ２の輝度は、ポリゴンの各頂点の高さに基いて決められる。１本の線は、夫々ポリゴンの頂点に一致する始点と終点とが結ばれることにより描画される。１本の線の輝度は、例えば、始点の輝度及び終点の輝度に基いて、グラデーションがかけられた状態で表現される。既に説明したように、始点の高さが終点の高さよりも高い場合には、輝度が始点から終点に向かって徐々に低くなり、始点の高さが終点の高さよりも低い場合には、輝度が始点から終点に向かって徐々に高くなる。
【０１３２】
ステップＳ１７６では、判断手段１ｆが、輝度データＬｕの値が、輝度データＬの最小値Ｌｕｍｉｎよりも小さいか否かを判断し、「ＹＥＳ」であればステップＳ１７７に移行し、「ＮＯ」であればステップＳ１６７に移行する。
【０１３３】
ステップＳ１７７では、輝度処理手段１ｑが、輝度データＬｕに輝度データＬｕの最小値Ｌｕｍｉｎを代入する。
【０１３４】
上記ステップＳ１６１〜ステップＳ１６３の処理により、高さデータが補正され、この後、アドレスデータＡＤｘ、ＡＤｙが、アンデュレーション画像の表示範囲内の最小アドレスＡＤｘｍｉｎ、ＡＤｙｍｉｎ、ＡＤｘｍａｘ、ＡＤｙｍａｘの範囲内にある内は、描画処理が繰り返し行われる。この処理により、ガイドＧｕ２の画像が、テレビジョンモニタ１２に表示される。
【０１３５】
〔アンデュレーション画像を表示することによる効果〕
ゲームプレーヤが、ゴルフゲーム空間内のゴルファーにショットをさせるためには、コントローラ２２に対し所定の操作を行う必要がある。操作形態については詳述する。ゴルフボールのゴルフゲーム空間内における移動距離は、コントローラ２２の操作状態により異なる。図５に示したように、ゴルフゲーム空間内のゴルフコースには、ゴルフゲーム空間内における距離及び地形が設定されている。例えば図５に示したゴルフコースは、５１８ヤードの長さを有し、その途中には、バンカーや起伏があるものと設定されている。ゲームプレーヤは、このような情報に基いて、コントローラ２２を操作するのである。
【０１３６】
ところで、ゴルフボールを転がす等のように、比較的近い所にボールを打つ場合においては、距離と起伏をより分かり易く表示する必要がある。ここでいう距離は、ゲームプレーヤに与える感覚的な距離感を意味する。既に説明したように、ゲームプレーヤが、距離と起伏に応じてコントローラ２２の操作を行うことができるようにするためである。ゴルフコースの距離と起伏は、表示された画像の色及び明暗によって表現される。ゴルフコースの画像そのものの明暗は、図１に示したグラフィックスデータ生成プロセッサ３により求められた色及び輝度情報により、表現される。
【０１３７】
しかしながら、ゲームプレーヤに対し、ゴルフコースの起伏及び距離を、ゴルフコースの色及び輝度だけで認識させることは困難である。テレビジョンモニタ１２の表示面といった、非常に狭い範囲内で、ゴルフコースといった、実際には非常に大きなものを表現しているからである。言い換えれば、現実の大きさ、距離、起伏を知っているゲームプレーヤに対し、色及び輝度だけでゲーム空間内の大きさ、距離、起伏を認識させることが困難だからである。
【０１３８】
そこで、本形態においては、図５に示したように、ガイドＧｕ２を、ゲーム空間上に形成されている地形上に重ねて表示するようにしている。既に説明したように、このガイドＧｕ２は、線描画命令によって表示される。このガイドＧｕ２の形状は、図３Ｂに示されるように、マトリクス状である。そして、図５に示すように、地形上に表示する場合においては、ガイドＧｕ２を構成している線の長さを、視点位置からの距離及び位置に応じて変えるようにしている。しかも、ガイドＧｕ２の輝度は、ガイドＧｕ２の表示されている地形の輝度データＬｕに基いて変えられている。よって、ゲームプレーヤに対し、ゲーム空間内における感覚的な距離感及び起伏情報を的確に与えることができ、これによって、ゲームプレーヤが、よりコントローラ２２の操作を、表示されているゴルフコースに応じて的確に行うことができるといった大きなメリットがある。
【０１３９】
Ｊ．ティーアップ設定ルーチンＳ２００による制御（図１３〜図１４）
【０１４０】
図１３及び図１４は、ティーアップ設定ルーチンＳ２００による制御動作を説明するためのフローチャートである。ここでティーアップの設定とは、ティーショットの位置の設定を意味する。
【０１４１】
ステップＳ２０１では、描画命令発行手段１ｇが、ガイダンス画像の描画を示す描画命令を、描画処理プロセッサ１０に対して発行する。描画処理プロセッサ１０は、ガイダンス画像データをバッファ１１の表示エリア上に展開する。これにより、図５に示したテレビジョンモニタ１２の表示面上のエリアＡｒ３には、ティーアップを設定するためのガイダンス画像が、右側のエリアには、ガイドＧｕ１が夫々表示される。
【０１４２】
ステップＳ２０２では、描画命令発行手段１ｇが、初期値に応じた線描画命令を、描画処理プロセッサ１０に対して発行する。描画処理プロセッサ１０は、線描画命令に応じて、バッファ１１上において、始点のアドレスから終点のアドレスに向かって、ラインデータを書き込む。このラインは、図５に示されているガイドＧｕ１上の指示画像Ｉｎである。そして、ガイドＧｕ１は、現在選択されているゴルフコースの縮小画像となっている。従って、ゲームユーザは、現在の設定でコントローラ２２を介してゴルフゲーム空間内のゴルファーＭａにゴルフボールを打たせた場合におけるゴルフボールの弾道、飛距離、停止位置を、予測することができる。
【０１４３】
ステップＳ２０３では、ボタン操作検出手段１ａが、十字キーが押されたか否かを判断し、「ＹＥＳ」であればステップＳ２０４に移行する。
【０１４４】
ステップＳ２０４では、ボタン操作検出手段１ａが、右キーＲが押されたか否かを判断し、「ＹＥＳ」であればステップＳ２０９に移行し、「ＮＯ」であればステップＳ２０５に移行する。
【０１４５】
ステップＳ２０５では、ボタン操作検出手段１ａが、左キーＬが押されたか否かを判断し、「ＹＥＳ」であればステップＳ２０６に移行し、「ＮＯ」であれば再びステップＳ２０３に移行する。
【０１４６】
ステップＳ２０６では、演算手段１ｄが、ティーアップ設定値Ｔｙから、“１”を減算する。
【０１４７】
ステップＳ２０７では、判断手段１ｆが、ティーアップ設定値Ｔｙが、ティーアップ設定値の最小値Ｔｙｍｉｎよりも大きいか否かを判断し、「ＹＥＳ」であればステップＳ２０８に移行し、「ＮＯ」であればステップＳ２１２に移行する。
【０１４８】
ステップＳ２０８では、変数設定手段１ｈが、ティーアップ設定値Ｔｙに、ティーアップ設定値の最大値Ｔｙｍａｘを、代入する。
【０１４９】
ステップＳ２０９では、演算手段１ｄが、ティーアップ設定値Ｔｙに、“１”を、加算する。
【０１５０】
ステップＳ２１０では、判断手段１ｆが、ティーアップ設定値Ｔｙが、ティーアップ設定値の最大値Ｔｙｍａｘよりも大きいか否かを判断し、「ＹＥＳ」であればステップＳ２１１に移行し、「ＮＯ」であればステップＳ２１２に移行する。
【０１５１】
ステップＳ２１１では、変数設定手段１ｈが、ティーアップ設定値Ｔｙに、ティーアップ設定値の最小値Ｔｙｍｉｎを代入する。
【０１５２】
ステップＳ２１２では、描画命令発行手段１ｇが、ティーアップ設定値Ｔｙの値に応じたティーアップ画像の描画を示す描画命令を、描画処理プロセッサ１０に対して発行する。これにより、図５に示したエリアＡｒ３上の画像は、ティーアップ設定値Ｔｙの値に応じた表示状態となる。
【０１５３】
ステップＳ２１３では、描画命令発行手段１ｇが、線描画命令を、描画処理プロセッサ１０に対して発行する。これにより、描画処理プロセッサ１０は、バッファ１１上において、始点のアドレスから終点のアドレスに向かって、ラインデータを書き込む。従って、テレビジョンモニタ１２の表示面上のガイドＧｕ１上のラインＩｎも、ティーアップ設定値Ｔｙの値に応じた表示状態となる。
【０１５４】
ステップＳ２１４では、ボタン操作検出手段１ａが、第４ボタン２２ｆが押されたか否かを判断し、「ＹＥＳ」であればステップＳ２１５に移行し、「ＮＯ」であれば再びステップＳ２０３に移行する。
【０１５５】
ステップＳ２１５では、パラメータ管理手段１ｏが、ティーアップ設定値データＴｙを、メインメモリ５に記憶する。
【０１５６】
Ｋ．カメラ位置設定ルーチンＳ２５０による制御（図１５〜図１６）
【０１５７】
図１５及び図１６は、カメラ位置設定ルーチンＳ２５０による制御動作を説明するためのフローチャートである。本形態においては、カメラ位置として、ゲーム空間内において、ゴルファーＭａの後方、前方、左側、右側等が設定可能である。カメラ位置を示すカメラ位置設定値は、視点位置データである。よって、カメラ位置設定値に応じた視点位置データが選択され、その視点位置データに対応する画像が出力される。カメラ位置設定値は、十字キーの右キーＲまたは左キーＬが１回押圧される都度、インクリメント若しくはデクリメントされる。
【０１５８】
ステップＳ２５１では、ボタン操作検出手段１ａが、十字キーが押されたか否かを判断し、「ＹＥＳ」であればステップＳ２５２に移行する。
【０１５９】
ステップＳ２５２では、ボタン操作検出手段１ａが、右キーＲが押されたか否かを判断し、「ＹＥＳ」であればステップＳ２５７に移行し、「ＮＯ」であればステップＳ２５３に移行する。
【０１６０】
ステップＳ２５３では、ボタン操作検出手段１ａが、左キーＬが押されたか否かを判断し、「ＹＥＳ」であればステップＳ２５４に移行し、「ＮＯ」であれば再びステップＳ２５１に移行する。
【０１６１】
ステップＳ２５４では、演算手段１ｄが、カメラ位置設定値Ｃａから、“１”を減算する。
【０１６２】
ステップＳ２５５では、判断手段１ｆが、カメラ位置設定値Ｃａが、カメラ位置設定値の最小値Ｃａｍｉｎよりも大きいか否かを判断し、「ＹＥＳ」であればステップＳ２５６に移行し、「ＮＯ」であればステップＳ２６０に移行する。
【０１６３】
ステップＳ２５６では、変数設定手段１ｈが、カメラ位置設定値Ｃａに、カメラ位置設定値の最大値Ｃａｍａｘを代入する。
【０１６４】
ステップＳ２５７では、演算手段１ｄが、カメラ位置設定値Ｃａに、“１”を加算する。
【０１６５】
ステップＳ２５８では、判断手段１ｆが、カメラ位置設定値Ｃａが、カメラ位置設定値の最大値Ｃａｍａｘよりも大きいか否かを判断し、「ＹＥＳ」であればステップＳ２５９に移行し、「ＮＯ」であればステップＳ２６０に移行する。
【０１６６】
ステップＳ２５９では、変数設定手段１ｈが、カメラ位置設定値Ｃａに、カメラ位置設定値の最小値Ｃａｍｉｎを代入する。
【０１６７】
ステップＳ２６０では、変数設定手段１ｈが、カメラ位置設定値Ｃａの値に応じた視点位置データＥｘ、Ｅｙ、Ｅｚを設定する。既に説明したように、カメラ位置設定値Ｃａは、視点位置データである。そして、カメラ位置設定値Ｃａの値に対し、夫々視点位置データがテーブルに登録されている。よって、ここで言う「設定」とは、変数設定手段１ｈが、カメラ位置設定値Ｃａの値に対応する視点位置データを、テーブルから読み出すことを意味する。
【０１６８】
ステップＳ１００では、画像表示処理ルーチンによる処理が行われる。ステップＳ２６０において設定された視点位置データＥｘ、Ｅｙ、Ｅｚに基いた描画処理である。
【０１６９】
ステップＳ２６１では、ボタン操作検出手段１ａが、第４ボタン２２ｆが押されたか否かを判断し、「ＹＥＳ」であればこのカメラ位置設定ルーチンＳ２５０を抜け、「ＮＯ」であれば再びステップＳ２５１に移行する。
【０１７０】
Ｌ．方向設定ルーチンＳ３００による制御（図１７〜図１８）
【０１７１】
図１７及び図１８は、方向設定ルーチンＳ３００による制御動作を説明するためのフローチャートである。方向設定値は、ゴルフゲーム空間内のゴルファーの体の向き、即ち、打撃方向を示す角度データである。よって、ゴルフボールは、ゴルフゲーム空間内において、方向設定値に応じた角度データが示す方向に移動する。方向設定値は、十字キーの右キーＲまたは左キーＬが１回押圧される都度、インクリメント若しくはデクリメントされる。インクリメント、デクリメントの単位は、基準角度データＡｎｇである。
【０１７２】
ステップＳ３０１では、描画命令発行手段１ｇが、ガイダンス画像の描画を示す描画命令を、描画処理プロセッサ１０に対して発行する。これにより、描画処理プロセッサ１０は、ガイダンス画像データを、バッファ１１の表示エリア上に展開する。これにより、図５に示したテレビジョンモニタ１２の表示面上のエリアＡｒ３には、方向を設定するためのガイダンス画像が、右側のエリアには、ガイドＧｕ１が夫々表示される。
【０１７３】
ステップＳ３０２では、描画命令発行手段１ｇが、初期値に応じた線描画命令を、描画処理プロセッサ１０に対して発行する。描画処理プロセッサ１０は、線描画命令に応じて、バッファ１１上において、始点のアドレスから終点のアドレスに向かって、ラインデータを書き込む。このラインは、既に説明したように、図５に示されているガイドＧｕ１上のラインＩｎである。
【０１７４】
ステップＳ３０３では、ボタン操作検出手段１ａが、十字キーが押されたか否かを判断し、「ＹＥＳ」であればステップＳ３０４に移行する。
【０１７５】
ステップＳ３０４では、ボタン操作検出手段１ａが、右キーＲが押されたか否かを判断し、「ＹＥＳ」であればステップＳ３０９に移行し、「ＮＯ」であればステップＳ３０５に移行する。
【０１７６】
ステップＳ３０５では、ボタン操作検出手段１ａが、左キーＬが押されたか否かを判断し、「ＹＥＳ」であればステップＳ３０６に移行し、「ＮＯ」であれば再びステップＳ３０３に移行する。
【０１７７】
ステップＳ３０６では、演算手段１ｄが、方向設定値Ｄｉから、基準角度データＡｎｇを減算する。
【０１７８】
ステップＳ３０７では、判断手段１ｆが、方向設定値Ｄｉが、“０”未満か否かを判断し、「ＹＥＳ」であればステップＳ３０８に移行し、「ＮＯ」であればステップＳ３１２に移行する。
【０１７９】
ステップＳ３０８では、変数設定手段１ｈが、方向設定値Ｄｉに、"３６０"を、代入する。
【０１８０】
ステップＳ３０９では、演算手段１ｄが、方向設定値Ｄｉに、基準角度データＡｎｇを、加算する。
【０１８１】
ステップＳ３１０では、判断手段１ｆが、方向設定値Ｄｉが、"３６０"よりも大きいか否かを判断し、「ＹＥＳ」であればステップＳ３１１に移行し、「ＮＯ」であればステップＳ３１２に移行する。
【０１８２】
ステップＳ３１１では、変数設定手段１ｈが、方向設定値Ｄｉに、“０”を代入する。
【０１８３】
ステップＳ３１２では、描画命令発行手段１ｇが、方向設定値Ｄｉの値に応じた方向表示用画像の描画を示す描画命令を、描画処理プロセッサ１０に対して発行する。これにより、図５に示したエリアＡｒ３上の画像は、方向設定値Ｄｉの値に応じた表示状態となる。
【０１８４】
ステップＳ３１３では、描画命令発行手段１ｇが、描画処理プロセッサ１０に対して、線描画命令を、発行する。これにより、描画処理プロセッサ１０は、バッファ１１上において、始点のアドレスから終点のアドレスに向かって、ラインデータを書き込む。従って、テレビジョンモニタ１２の表示面上のガイドＧｕ１上のラインＩｎも、方向設定値Ｄｉの値に応じた表示状態となる。
【０１８５】
ステップＳ３１４では、パラメータ管理手段１ｐが、方向設定値データＤｉを、メインメモリ５に記憶する。
【０１８６】
Ｍ．スタンス設定ルーチンＳ３５０による制御（図１９〜図２０）
【０１８７】
図１９及び図２０は、スタンス設定ルーチンＳ３５０による制御動作を説明するためのフローチャートである。スタンス設定とは、ゴルファーの姿勢を設定することを意味する。
【０１８８】
ステップＳ３５１では、描画命令発行手段１ｇが、ガイダンス画像の描画を示す描画命令を、描画処理プロセッサ１０に対して発行する。描画処理プロセッサ１０は、ガイダンス画像データを、バッファ１１の表示エリアに展開する。これにより、図５に示したテレビジョンモニタ１２の表示面上のエリアＡｒ３には、スタンスを設定するためのガイダンス画像が、右側のエリアには、ガイドＧｕ１が夫々表示される。
【０１８９】
ステップＳ３５２では、描画命令発行手段１ｇが、初期値に応じた線描画命令を、描画処理プロセッサ１０に対して通知する。描画処理プロセッサ１０は、線描画命令に応じて、バッファ１１上において、始点のアドレスから終点のアドレスに向かって、ラインデータを書き込む。このラインは、既に説明したように、図５に示されているガイドＧｕ１上のラインＩｎである。
【０１９０】
ステップＳ３５３では、ボタン操作検出手段１ａが、十字キーが押されたか否かを判断し、「ＹＥＳ」であればステップＳ３５４に移行する。
【０１９１】
ステップＳ３５４では、ボタン操作検出手段１ａが、右キーＲが押されたか否かを判断し、「ＹＥＳ」であればステップＳ３５９に移行し、「ＮＯ」であればステップＳ３５５に移行する。
【０１９２】
ステップＳ３５５では、ボタン操作検出手段１ａが、左キーＬが押されたか否かを判断し、「ＹＥＳ」であればステップＳ３５６に移行し、「ＮＯ」であれば再びステップＳ３５３に移行する。
【０１９３】
ステップＳ３５６では、演算手段１ｄが、スタンス設定値Ｓｔから、基準角度データＡｎｇを減算する。
【０１９４】
ステップＳ３５７では、判断手段１ｆが、スタンス設定値Ｓｔの値が、スタンス設定値の最小値Ｓｔｍｉｎの値よりも小さいか否かを判断し、「ＹＥＳ」であればステップＳ３５８に移行し、「ＮＯ」であればステップＳ３６２に移行する。
【０１９５】
ステップＳ３５８では、変数設定手段１ｈが、スタンス設定値Ｓｔに、スタンス設定値の最大値Ｓｔｍａｘを、代入する。
【０１９６】
ステップＳ３５９では、演算手段１ｄが、スタンス設定値Ｓｔに、基準角度データＡｎｇを、加算する。
【０１９７】
ステップＳ３６０では、判断手段１ｆが、スタンス設定値Ｓｔが、角度データの最大値Ａｎｇｍａｘよりも大きいか否かを判断し、「ＹＥＳ」であればステップＳ３６１に移行し、「ＮＯ」であればステップＳ３６２に移行する。
【０１９８】
ステップＳ３６１では、変数設定手段１ｈが、スタンス設定値Ｓｔに、スタンス設定値の最小値Ｓｔｍｉｎを代入する。
【０１９９】
ステップＳ３６２では、描画命令発行手段１ｇが、スタンス設定値Ｓｔの値に応じたスタンス画像の表示を示す描画命令を、描画処理プロセッサ１０に対して発行する。これにより、図５に示したテレビジョンモニタ１２の表示面上のエリアＡｒ３の画像は、スタンス設定値Ｓｔの値に応じた表示状態となる。
【０２００】
ステップＳ３６３では、描画命令発行手段１ｇが、描画処理プロセッサ１０に対し、ライン描画命令発行命令を、発行する。これにより、描画処理プロセッサ１０は、バッファ１１上において、始点のアドレスから終点のアドレスに向かって、ラインデータを書き込む。従って、テレビジョンモニタ１２の表示面上のガイドＧｕ１上のラインＩｎも、スタンス設定値Ｓｔの値に応じた表示状態となる。
【０２０１】
ステップＳ３６４では、ボタン操作検出手段１ａが、第４ボタン２２ｆが押されたか否かを判断し、「ＹＥＳ」であればステップＳ３６５に移行し、「ＮＯ」であれば再びステップＳ３６３に移行する。
【０２０２】
ステップＳ３６５では、パラメータ管理手段１ｏが、スタンス設定値データＳｔを、メインメモリ５に記憶する。
【０２０３】
Ｎ．クラブ設定ルーチンＳ４００による制御（図２１〜図２２）
【０２０４】
図２１及び図２２は、クラブ設定ルーチンＳ４００による制御動作を説明するためのフローチャートである。クラブ設定とは、ゴルフクラブを選択することを意味する。
【０２０５】
この処理では、クラブ番号データＮＯが用いられる。クラブ番号データＮＯの１つの値には、１つのクラブの画像を示すテクスチャアドレスデータが、割り当てられる。これらのデータは、テーブルとして記憶されている。クラブ番号データＮＯは、十字キーの１回の押圧により、インクリメント若しくはデクリメントされる。そして、クラブ番号データＮＯの値に応じたテクスチャアドレスデータが、テーブルから読み出され、読み出されたテクスチャアドレスデータが、描画処理プロセッサ１０に供給される。描画処理プロセッサ１０は、上記テクスチャアドレスデータに対応するクラブの画像データを、バッファ１１の非表示エリアから読み出し、読み出したクラブの画像データを、バッファ１１の表示エリアに書き込む。従って、図５に示したテレビジョンモニタ１２の表示面上のエリアＡｒ３には、クラブの画像が表示される。
【０２０６】
ステップＳ４０１では、描画命令発行手段１ｇが、ガイダンス画像の表示を示す描画命令を、描画処理プロセッサ１０に対して発行する。描画処理プロセッサ１０は、ガイダンス画像データを、バッファ１１の表示エリア上に展開する。これにより、図５に示したテレビジョンモニタ１２の表示面上のエリアＡｒ３には、選択されたゴルフクラブを示す画像が、右側のエリアには、ガイドＧｕ２が夫々表示される。
【０２０７】
ステップＳ４０２では、描画命令発行手段１ｇが、初期値に応じた線描画命令を、描画処理プロセッサ１０に通知する。描画処理プロセッサ１０は、線描画命令に応じて、バッファ１１上において、始点のアドレスから終点のアドレスに向かって、ラインデータを書き込む。このラインは、図５に示されているガイドＧｕ１上のラインＩｎである。そして、ガイドＧｕ１は、現在選択されているゴルフコースの縮小画像となっている。従って、ゲームユーザは、現在の設定でコントローラ２２を介してゴルフゲーム空間内のゴルファーＭａに、ゴルフボールを打たせた場合における、ゴルフボールの弾道、飛距離、停止位置を予測することができる。
【０２０８】
ステップＳ４０３では、ボタン操作検出手段１ａが、十字キーが押されたか否かを判断し、「ＹＥＳ」であればステップＳ４０４に移行する。
【０２０９】
ステップＳ４０４では、ボタン操作検出手段１ａが、右キーＲが押されたか否かを判断し、「ＹＥＳ」であればステップＳ４０４に移行し、「ＮＯ」であればステップＳ４０５に移行する。
【０２１０】
ステップＳ４０５では、ボタン操作検出手段１ａが、左キーＬが押されたか否かを判断し、「ＹＥＳ」であればステップＳ４０６に移行し、「ＮＯ」であれば再びステップＳ４０３に移行する。
【０２１１】
ステップＳ４０６では、演算手段１ｄが、クラブ番号データＮＯから“１”を減算する。
【０２１２】
ステップＳ４０７では、判断手段１ｆが、クラブ番号データＮＯの値が、クラブ番号データＮＯの最小値ＮＯｍｉｎの値よりも小さいか否かを判断し、「ＹＥＳ」であればステップＳ４０８に移行し、「ＮＯ」であればステップＳ４１２に移行する。
【０２１３】
ステップＳ４０８では、変数設定手段１ｈが、クラブ番号データＮＯに、クラブ番号データＮＯの最大値ＮＯｍａｘを、代入する。
【０２１４】
ステップＳ４０９では、演算手段１ｄが、クラブ番号データＮＯに、“１”を、加算する。
【０２１５】
ステップＳ４１０では、判断手段１ｆが、クラブ番号データＮＯが、クラブ番号の最大値ＮＯｍａｘよりも大きいか否かを判断し、「ＹＥＳ」であればステップＳ４１１に移行し、「ＮＯ」であればステップＳ４１２に移行する。
【０２１６】
ステップＳ４１１では、変数設定手段１ｈが、クラブ番号ＮＯに、クラブ番号ＮＯの最大値ＮＯｍｉｎを代入する。
【０２１７】
ステップＳ４１２では、描画命令発行手段１ｇが、クラブ番号データＮＯの値に応じたクラブ画像の描画を示す描画命令を、描画処理プロセッサ１０に対して発行する。これにより、図５に示したテレビジョンモニタ１２の表示面上のエリアＡｒ３上の画像は、クラブ番号ＮＯの値に応じたクラブの画像の表示状態となる。
【０２１８】
ステップＳ４１３では、描画命令発行手段１ｇが、描画処理プロセッサ１０に対し、線描画命令を、発行する。これにより、描画処理プロセッサ１０は、バッファ１１上において、始点のアドレスから終点のアドレスに向かって、ラインデータを書き込む。従って、テレビジョンモニタ１２の表示面上のガイドＧｕ１上のラインＩｎも、スタンス設定値Ｓｔの値に応じた表示状態となる。
【０２１９】
ステップＳ４１４では、ボタン操作検出手段１ａが、第４ボタン２２ｆが押されたか否かを判断し、「ＹＥＳ」であればステップＳ４１５に移行し、「ＮＯ」であれば再びステップＳ４０３に移行する。
【０２２０】
ステップＳ４１５では、パラメータ管理手段１ｏが、クラブ番号データＮＯを、メインメモリ５に記憶する。
【０２２１】
Ｏ．打撃位置設定ルーチンＳ４５０による制御（図２３〜図２４）
【０２２２】
図２３及び図２４は、打撃位置設定ルーチンＳ４５０による制御動作を説明するためのフローチャートである。打撃位置設定とは、打撃の際に、クラブ設定ルーチンＳ４００で選択したクラブのヘッド部分が、ゴルフボールのどの部分に当たるのかを設定することを意味する。ゴルフボールのどの位置であるのかを示すデータは、垂直方向のアドレス値が固定で、水平方向のアドレス値のみが変わるアドレスデータＨａｄ、並びに水平方向のアドレス値が固定で、垂直方向のアドレス値が変わるアドレスデータＶａｄからなる。
【０２２３】
ステップＳ４５１では、描画命令発行手段１ｇが、ゴルフボールの画像の描画を示す描画命令を、描画処理プロセッサ１０に対して発行する。これにより、描画処理プロセッサ１０は、ゴルフボールの画像データを、バッファ１１の表示エリアに書き込む。ここで、ゴルフボールの画像は、図５に示す表示面上において、略中央の位置に表示される。
【０２２４】
ステップＳ４５２では、水平軸画像の描画を示す描画命令を、描画処理プロセッサ１０に対して発行する。ここで、描画命令中には、バッファ１１の表示エリア上のアドレスデータＨａｄが含まれる。これにより、描画処理プロセッサ１０は、上記アドレスデータＨａｄの値が示す位置に、水平軸画像データを、書き込む。これにより、図３Ｃに示されるように、テレビジョンモニタ１２の表示面上には、水平軸画像Ｈａが表示される。
【０２２５】
ステップＳ４５３では、演算手段１ｄが、アドレスデータＨａｄに、“１”を加算する。ステップＳ４５４では、ボタン操作検出手段１ａがｍ第４ボタン２２ｆが押されたか否かを判断し、「ＹＥＳ」であればステップＳ４６０に移行し、「ＮＯ」であればステップＳ４５５に移行する。
【０２２６】
ステップＳ４５５では、判断手段１ｆが、アドレスデータＨａｄの値が、アドレスデータＨａｄの最大値ＨＡＤｍａｘよりも大きいか否かを判断し、「ＹＥＳ」であればステップＳ４５６に移行し、「ＮＯ」であれば再びステップＳ４５２に移行する。
【０２２７】
ステップＳ４５６では、演算手段１ｄが、アドレスデータＨａｄから、“１”を減算する。
【０２２８】
ステップＳ４５７では、判断手段１ｆが、アドレスデータＨａｄの値が、アドレスデータＨａｄの最小値ＨＡＤｍｉｎよりも大きいか否かを判断し、「ＹＥＳ」であればステップＳ４５８に移行し、「ＮＯ」であれば再びステップＳ４５２に移行する。
【０２２９】
ステップＳ４５８では、水平軸画像の描画を示す描画命令を、描画処理プロセッサ１０に対して発行する。ここで、描画命令中には、バッファ１１の表示エリア上のアドレスデータＨａｄが含まれる。これにより、描画処理プロセッサ１０は、上記アドレスデータＨａｄの値が示す位置に、水平軸画像データを、書き込む。これにより、図３Ｃに示されるように、テレビジョンモニタ１２の表示面上においては、水平軸画像Ｈａが表示される。
【０２３０】
ステップＳ４５９では、ボタン操作検出手段１ａが、第４ボタン２２ｆが押されたか否かを判断し、「ＹＥＳ」であればステップＳ４６０に移行し、「ＮＯ」であれば再びステップＳ４５６に移行する。ここで、「ＮＯ」と判断して再び上述した処理が繰り返されることにより、表示面上において、図３Ｃに示される水平軸画像Ｈａが矢印Ｙｈで示すように左右に移動し続ける。第４ボタン２２ｆが押されることにより、ゴルフボールの水平方向での打撃位置が決定される。
【０２３１】
ステップＳ４６０では、パラメータ管理手段１ｏが、アドレスデータＨａｄを、メインメモリ５に記憶する。
【０２３２】
ステップＳ４６１では、垂直軸画像の描画を示す描画命令を、描画処理プロセッサ１０に対して発行する。ここで、描画命令中には、バッファ１１の表示エリア上のアドレスデータＶａｄとが含まれる。これにより、描画処理プロセッサ１０は、上記アドレスデータＶａｄの示す位置に、垂直軸画像データを、書き込む。これにより、図３Ｃに示されるように、テレビジョンモニタ１２の表示面上においては、垂直軸画像Ｖａが表示される。
【０２３３】
ステップＳ４６２では、演算手段１ｄが、アドレスデータＶａｄに、“１”を加算する。ステップＳ４６３では、ボタン操作検出手段１ａが、第４ボタン２２ｆが押されたか否かを判断し、「ＹＥＳ」であればステップＳ４６９に移行し、「ＮＯ」であればステップＳ４６４に移行する。
【０２３４】
ステップＳ４６４では、判断手段１ｆが、アドレスデータＶａｄの値が、アドレスデータＶａｄの最大値ＶＡＤｍａｘよりも大きいか否かを判断し、「ＹＥＳ」であればステップＳ４６５に移行し、「ＮＯ」であれば再びステップＳ４６１に移行する。
【０２３５】
ステップＳ４６５では、演算手段１ｄが、垂直アドレスデータＶａｄから、“１”を減算する。
【０２３６】
ステップＳ４６６では、判断手段１ｆが、アドレスデータＶａｄの値が、アドレスデータＶａｄの最小値ＶＡＤｍｉｎよりも大きいか否かを判断し、「ＹＥＳ」であればステップＳ４６７に移行し、「ＮＯ」であれば再びステップＳ４６１に移行する。
【０２３７】
ステップＳ４６７では、垂直軸画像の描画を示す描画命令を、描画処理プロセッサ１０に対して発行する。ここで、描画命令中には、バッファ１１の表示エリア上のアドレスデータＶａｄが含まれる。これにより、描画処理プロセッサ１０は、上記アドレスデータＶａｄの値が示す位置に、垂直軸画像データを、書き込む。これにより、図３Ｃに示されるように、テレビジョンモニタ１２の表示面上においては、垂直軸画像Ｖａが表示される。
【０２３８】
ステップＳ４６８では、ボタン操作検出手段１ａが、第４ボタン２２ｆが押されたか否かを判断し、「ＹＥＳ」であればステップＳ４６９に移行し、「ＮＯ」であれば再びステップＳ４６５に移行する。ここで、「ＮＯ」と判断して再び上述した処理が繰り返されることにより、表示面上において、図３Ｃに示される垂直軸画像Ｖａが矢印Ｙｖで示すように上記に移動し続ける。第４ボタン２２ｆが押されることにより、ゴルフボールの垂直方向での打撃位置が決定される。
【０２３９】
ステップＳ４６９では、パラメータ管理手段１ｏが、アドレスデータＶａｄを、メインメモリ５に記憶する。そして、この打撃位置設定ルーチンＳ４５０を抜ける。
【０２４０】
Ｐ．打撃ルーチンＳ５００による制御（図２５〜図２６）
【０２４１】
図２５及び図２６は、打撃ルーチンＳ５００による制御動作を説明するためのフローチャートである。ここで、「打撃」とは、ゲームプレーヤがコントローラ２２を操作することにより、テレビジョンモニタ１２の表示面上に表示されたゴルフゲーム空間内のゴルファーＭａに、ゴルフボールを打たせることを意味する。この打撃ルーチンでは、ゴルフゲーム空間内のゴルファーＭａの打ったゴルフボールが、当該空間内で落下、停止するまでの画像の表示処理が行われる。
【０２４２】
ステップＳ５０１では、描画命令発行手段１ｇが、図３Ｄに示す打撃用のガイドＧｕ３の画像の描画を示す描画命令を、描画処理プロセッサ１０に対して発行する。描画処理プロセッサ１０は、上記描画命令に基いて、図３Ｄに示すガイド画像データＧｕ３を、バッファ１１の表示エリアに書き込む。これによって、図３Ｄに示すガイドＧｕ３が、テレビジョンモニタ１２の表示面上の略中央に表示される。
【０２４３】
ここで、ガイドＧｕ３について説明する。ガイドＧｕ３は、ゲームプレーヤが、ゴルフゲーム空間内のゴルファーＭａに打撃を行わせるためにコントローラを操作する際、自分の操作による打撃の強さ（以下、「エネルギー」と称する）がどのくらいなのかを、ゲームプレーヤに示すための画像である。このガイドＧｕ３は、図３Ｄに示されるように、ドーナツ型の図形が一部切り欠かれた形状となっている。そして、切り欠き部分の上部には、文字「ｍａｘ」が添えられ、切り欠き部分の下部には、文字「ｍｉｎ」が添えられている。「ｍａｘ」は打撃のパワーが最大であることを意味し、「ｍｉｎ」は、打撃のパワーが最小であることを意味する。
【０２４４】
ガイドＧｕ３が表示されている状態で、第４ボタン２２ｆが押されると、その間、ガイドＧｕ３のｍｉｎの位置からｍａｘの位置に向かって、ガイドＧｕ３の内部が順次塗りつぶされる。このとき、所定量ずつ、例えば黄色、水色、青、紫、赤のように色分けされて塗りつぶされる。この塗りつぶし部分の先端は、その時点における打撃のエネルギーを示す。従って、第４ボタン２２ｆを押している時間が長ければ長い程、打撃のエネルギーは大きくなる。
【０２４５】
一方、上記状態で第４ボタン２２ｆが離されると、その時点から、ガイドＧｕ３の塗りつぶし部分が、順次、消える。上述の例の場合においては、ガイドＧｕ３のｍａｘの位置からｍｉｎの位置に向かって、赤、紫、青、水色、黄色の順序で、塗りつぶし部分が消える。この塗りつぶし部分の先端は、その時点における打撃のエネルギーを示す。従って、第４ボタン２２ｆを離している時間が長ければ長い程、打撃のエネルギーは小さくなる。一旦、第４ボタン２２ｆが離された後に、再び、第４ボタン２２ｆが押されると、その時点における打撃のエネルギーが確定する。打撃のエネルギーが確定すると、打撃が行われる。以上の説明の対応部分は、フローチャートのＳ５０１、Ｓ５０５〜Ｓ５１１である。
【０２４６】
ステップＳ５０２では、乱数発生手段１ｐが、風の方向ＷＤｉ及び風力Ｗｐを示す値をランダムに発生する。
【０２４７】
ステップＳ５０３では、描画命令発行手段１ｇが、風の方向ＷＤｉ、風力Ｗｐを示す値に応じた文字データ及び矢印の画像の描画を示す描画コマンドを、描画処理プロセッサ１０に供給する。描画処理プロセッサ１０は、描画命令発行手段１ｇからの描画命令に基いて、バッファ１１の表示エリアに、風力、タイトル及び矢印を示す画像データを夫々書き込む。これにより、図５に示されているように、テレビジョンモニタ１２の表示面上には、風の方向を示す矢印Ｂｙ、風力のタイトル（「ＷＩＮＤ」）及び風力の値（この例では「４ｍ」）を示す画像が表示される。
【０２４８】
ステップＳ５０４では、パラメータ管理手段１ｏが、風の方向データＷＤｉ及び風力データＷｐを、メインメモリ５に記憶する。
【０２４９】
ステップＳ５０５では、ボタン操作検出手段１ａが、第４ボタン２２ｆが押されたか否かを判断し、「ＹＥＳ」であればステップＳ５０６に移行し、「ＮＯ」であれば再びステップＳ５０１に移行する。
【０２５０】
ステップＳ５０６では、演算手段１ｄが、打撃エネルギーデータＰＯＷＥＲに、基準値データｋを加算する。
【０２５１】
ステップＳ５０７では、描画命令発行手段１ｇが、描画処理プロセッサ１０に対し、上記打撃エネルギーデータＰＯＷＥＲの値に対応する線描画命令を、供給する。ここで、線描画命令は、図３Ｄに示したガイドＧｕ３の内部、且つ、その外周から内周（若しくは内周から外周）に向かって指定された色で線を引くことを意味する。描画処理プロセッサ１０は、線描画命令に基いて、バッファ１１に書き込まれているガイドＧｕ３上に、打撃エネルギーデータＰＯＷＥＲの値が示す分だけ、線のデータを書き込む。これにより、テレビジョンモニタ１２の表示面上に表示されたガイドＧｕ３内が、所定の色で塗りつぶされる。
【０２５２】
ステップＳ５０８では、ボタン操作手段１ａが、第４ボタン２２ｆが離されたか否かを判断し、「ＹＥＳ」であればステップＳ５０９に移行し、「ＮＯ」であれば再びステップＳ５０６に移行する。
【０２５３】
ステップＳ５０９では、演算手段１ｄが、打撃エネルギーデータＰＯＷＥＲから、基準データｋを減算する。
【０２５４】
ステップＳ５１０では、描画命令発行手段１ｇが、描画処理プロセッサ１０に対し、上記打撃エネルギーデータＰＯＷＥＲの値に対応する線描画命令を、供給する。描画処理プロセッサ１０は、線描画命令に基いて、バッファ１１に書き込まれているガイドＧｕ３上に、打撃エネルギーデータＰＯＷＥＲの値が示す分だけ線のデータを書き込む。これにより、テレビジョンモニタ１２の表示面上に表示されたガイドＧｕ３内が、所定の色で塗りつぶされる。尚、このステップＳ５１０でのガイドＧｕ３内の塗りつぶしは、打撃エネルギーデータＰＯＷＥＲの値が少なくなっているので、テレビジョンモニタ１２の表示面上においては、塗りつぶされている領域が、徐々に少なくなっていくように見える。
【０２５５】
ステップＳ５１１では、ボタン操作検出手段１ａが、第４ボタン２２ｆが押されたか否かを判断し、「ＹＥＳ」であればステップＳ５１２に移行し、「ＮＯ」であれば再びステップＳ５０９に移行する。ここで、第４ボタン２２ｆが押されると、この時点における打撃エネルギーデータＰＯＷＥＲが、確定する。
【０２５６】
ステップＳ５１２では、演算手段１ｄが、打数データＨｉに“１”を加算する。そして、パラメータ管理手段１ｏが、当該打数データＨｉを、メインメモリ５に記憶する。
【０２５７】
ステップＳ５１３では、描画命令発行手段１ｇが、ゴルファーＭａの画像の描画を示す描画命令を、順次、描画処理プロセッサ１０に供給する。描画処理プロセッサ１０は、描画命令に基いて、バッファ１１の表示エリア上に、順次ゴルファーＭａの画像を展開する。これにより、テレビジョンモニタ１２の表示面上において、ゴルファーＭａがゴルフボールを打ち終えるまでの、一連のアニメーションが実行される。
【０２５８】
ステップＳ５１４では、演算手段１ｄが、ボール位置Ｂｘ、Ｂｙ、Ｂｚ、打撃エネルギーデータＰＯＷＥＲ、ティーアップデータＴｙ、方向データＤｉ、スタンスデータＳｔ、クラブ番号データＮＯ、アドレスデータＨａｄ及びＶａｄ、風の方向データＷＤｉ、風力データＷｐに基いて、単位時間毎のボール位置Ｂｘ、Ｂｙ、Ｂｚを、全て求める。ここで、単位時間毎とは、例えばＮＴＳＣのテレビジョン方式においては、３０フレーム／秒である。よって、この場合は、１フレーム毎のボールの位置が予め求められる。
【０２５９】
ボールが停止するまでの時間は、上記各パラメータによって異なる。従って、１フレーム毎のボールの位置を求め、そのボールの位置に応じた画像を１フレーム毎に表示するものとすると、ボールが停止するまでのフレーム数も異なる。ボールが停止するまでのフレーム数は、ｎｍａｘとして、メインメモリ５に記憶される。
【０２６０】
ステップＳ５１５では、演算手段１ｄが、変数ｎに、ｆを加算する。ここで、ｆは、例えば１フレームを意味する。
【０２６１】
ステップＳ５１６では、判断手段１ｆが、変数ｎが、ｎの最大値ｎｍａｘよりも大きいか否かを判断し、「ＹＥＳ」であればステップＳ５１７に移行し、「ＮＯ」であればステップＳ５１８に移行する。ここで、ｎｍａｘは、既に説明したように、ゴルフボールが停止するまでのフレーム数である。
【０２６２】
ステップＳ５１７では、変数設定手段１ｈが、変数ｎに“０”を代入する。
【０２６３】
ステップＳ５１８では、描画命令発行手段１ｇが、ボール位置データＢｘｎ、Ｂｙｎ、Ｂｚｎに応じたボールの描画を示す描画命令を、描画処理プロセッサ１０に供給する。
【０２６４】
ステップＳ５１９では、演算手段１ｄが、変数ｎに、ｆを加算する。
【０２６５】
ステップＳ５２０では、判断手段１ｆが、変数ｎが、最大値ｎｍａｘよりも大きいか否かを判断し、「ＹＥＳ」であればこの打撃ルーチンＳ５００を抜け、「ＮＯ」であればステップＳ５２１に移行する。
【０２６６】
ステップＳ５２１では、変数設定手段１ｈが、ボール位置データＢｘｎ、Ｂｙｎ、Ｂｚｎを、視点位置データＥｘ、Ｅｙ、Ｅｚに代入する。
【０２６７】
Ｓ１００では、画像表示処理ルーチンＳ１００による処理を行う。ステップＳ５１９からステップＳ１００までの処理は、打たれたゴルフボールの飛んでいる状態を再現する処理である。ボール位置は、フレーム毎に刻一刻と移り変わる。よって、ボール位置データＢｘｎ、Ｂｙｎ、Ｂｚｎを、視点位置データＥｘ、Ｅｙ、Ｅｚ代入することにより、視点も刻一刻と変わる。視点が刻一刻と変わるので、背景画像も刻一刻と変わる。これにより、テレビジョンモニタ１２の表示面上においては、いわゆるリプレイ画像が表示される。
【０２６８】
上述せる本実施形態によれば、地形を示す画像情報と、移動物体の画像情報とを表示手段の表示面上に表示し、上記移動物体を、操作手段の操作状態と、上記地形の地形情報とに基いて、上記表示手段の表示面上において移動するようにした地形情報を用いるゲームシステムにおいて、上記表示手段の表示面上に、複数の線で構成されるガイドを表示すると共に、当該ガイドを構成する線の輝度及び長さを、上記地形の地形情報に基いて設定するので、地形の画像情報のみで表すことのできない地形情報を、ゲームプレーヤに分かり易くガイドすることができるという効果がある。
【０２６９】
また、上記実施形態において、上記地形を示す画像情報は、上記表示手段の表示面上において疑似３次元表示され、上記ガイドは、２次元平面上において、マトリクス状に配置された複数の線で構成されると共に、上記表示手段の表示面上に疑似３次元表示された地形上に、疑似３次元表示されるので、ガイドと地形の表示状態をマッチングさせることができ、これによって、よりゲームプレーヤに分かり易くガイドすることができるという効果がある。
【０２７０】
また、上記実施形態において、上記ゲームシステムは、ゴルフゲームシステムであり、上記地形を示す画像情報は、ゴルフコースの画像情報であり、上記移動物体は、ゴルフボールの画像情報である。よって、ゲームプレーヤが、ゴルフゲーム空間上におけるゴルフゲームを、より本物のゴルフゲームを行う感覚で行うことができるという効果がある。
【０２７１】
また、上記実施形態において、上記地形の画像情報は、多数のポリゴンで構成されるものであり、上記ガイドは、上記ポリゴンの頂点間に描画される複数の線で構成されるので、地形の頂点と、ガイドの始点及び終点とを一致させることにより、地形に沿ってガイドを表示することができ、地形の状態をより正確にガイドできるという効果がある。
【０２７２】
また、上記実施形態において、上記地形情報は、頂点の高さを示す情報であり、上記ガイドを形成する線の輝度は、各線の始点及び終点に対応する地形情報の頂点の高さの値に応じて設定されるので、ガイドによる地形の高低の表現をより的確に行うことができ、これにより、より、ゲームプレーヤに対するガイドを良好に行うことができるという効果がある。
【０２７３】
また、上記実施形態において、上記移動物体の移動方向を予め設定すると共に、設定された上記移動物体の移動方向に応じて上記地形の画像情報及び上記ガイドを疑似３次元表示するので、移動物体の移動方向に対応したガイド表示ができ、これによって、ゲームプレーヤに対し、より適切なガイドを行うことができるという効果がある。
【図面の簡単な説明】
【図１】  本発明の一実施の形態を示すゲームシステムの構成図である。
【図２】  図１に示したＣＰＵ１が有する機能を示す機能ブロック図である。
【図３】  ゴルフコースの一例を示す説明図である。
【図４】  図３に示したゴルフコースから抽出された一部のエリア及びテーブルを示す説明図である。
〔図４Ａ〕  図３に示したゴルフコースから抽出された抽出エリアＡｒ１を示す説明図である。
〔図４Ｂ〕  図３に示したゴルフコースの各部のポリゴン頂点の座標、高さ、輝度データからなるテーブルを示す説明図である。
【図５】  画面表示例を示す説明図である。
【図６】  ゲームプログラムのメインルーチンによる制御動作を説明するためのフローチャートである。
【図７】  ゲームプログラムのメインルーチンによる制御動作を説明するためのフローチャートである。
【図８】  ゲームプログラムのメインルーチンによる制御動作を説明するためのフローチャートである。
【図９】  画像表示ルーチンＳ１００による制御動作を説明するためのフローチャートである。
【図１０】  画像表示ルーチＳ１００による制御動作を説明するためのフローチャートである。
【図１１】  アンデュレーション画像表示ルーチンＳ１５０による制御動作を説明するためのフローチャートである。
【図１２】  アンデュレーション画像表示ルーチンＳ１５０による制御動作を説明するためのフローチャートである。
【図１３】  ティーアップ設定ルーチンＳ２００による制御動作を説明するためのフローチャートである。
【図１４】  ティーアップ設定ルーチンＳ２００による制御動作を説明するためのフローチャートである。
【図１５】  カメラ位置設定ルーチンＳ２５０による制御動作を説明するためのフローチャートである。
【図１６】  カメラ位置設定ルーチンＳ２５０による制御動作を説明するためのフローチャートである。
【図１７】  方向設定ルーチンＳ３００による制御動作を説明するためのフローチャートである。
【図１８】  方向設定ルーチンＳ３００による制御動作を説明するためのフローチャートである。
【図１９】  スタンス設定ルーチンＳ３５０による制御動作を説明するためのフローチャートである。
【図２０】  スタンス設定ルーチンＳ３５０による制御動作を説明するためのフローチャートである。
【図２１】  クラブ設定ルーチンＳ４００による制御動作を説明するためのフローチャートである。
【図２２】  クラブ設定ルーチンＳ４００による制御動作を説明するためのフローチャートである。
【図２３】  打撃位置設定ルーチンＳ４５０による制御動作を説明するためのフローチャートである。
【図２４】  打撃位置設定ルーチンＳ４５０による制御動作を説明するためのフローチャートである。
【図２５】  打撃ルーチンＳ５００による制御動作を説明するためのフローチャートである。
【図２６】  打撃ルーチンＳ５００による制御動作を説明するためのフローチャートである。
【符号の説明】
１  ＣＰＵ、１ａ  ボタン操作検出手段、１ｂ  始点位置データ設定手段、１ｃ  表示範囲情報抽出手段、１ｄ  演算手段、１ｅ  結果情報設定手段、１ｆ  判断手段、１ｇ  描画命令発行手段、１ｈ  変数設定手段、１ｉ  アドレス設定手段、１ｊ  アドレス取得手段、１ｋ  高さデータ補正手段、１ｍ  アンデュレーション出力判断手段、１ｎ  アンデュレーション画像描画手段、１ｏ  パラメータ管理手段、１ｐ  乱数発生手段、１ｑ  輝度処理手段、２  バス、３  グラフィックスデータ生成プロセッサ、４，２０  インターフェース回路、５  メインメモリ、６  ＲＯＭ、７  伸張回路、８  パラレルポート、９  シリアルポート、１０  描画処理プロセッサ、１１，１４，１８  バッファ、１３  音声処理プロセッサ、１５  増幅回路、１６  スピーカ、１７  デコーダ、１９  記録媒体ドライバ、２１  メモリ、２２  コントローラ。
【図１】
0003656845.tif 000002
【図２】
0003656845.tif 000003
【図３】
0003656845.tif 000004
【図４】
0003656845.tif 000005
【図５】
0003656845.tif 000006
【図６】
0003656845.tif 000007
【図７】
0003656845.tif 000008
【図８】
0003656845.tif 000009
【図９】
0003656845.tif 000010
【図１０】
0003656845.tif 000011
【図１１】
0003656845.tif 000012
【図１２】
0003656845.tif 000013
【図１３】
0003656845.tif 000014
【図１４】
0003656845.tif 000015
【図１５】
0003656845.tif 000016
【図１６】
0003656845.tif 000017
【図１７】
0003656845.tif 000018
【図１８】
0003656845.tif 000019
【図１９】
0003656845.tif 000020
【図２０】
0003656845.tif 000021
【図２１】
0003656845.tif 000022
【図２２】
0003656845.tif 000023
【図２３】
0003656845.tif 000024
【図２４】
0003656845.tif 000025
【図２５】
0003656845.tif 000026
【図２６】
0003656845.tif 000027