(57)【要約】  【構成】ゲーム装置は、たとえば敵と味方に分かれてオブジェクトが戦闘するゲームを実行する。たとえば、プレイヤオブジェクトが倒された場合やプレイヤが戦闘に参加しなかった場合など所定の条件が満たされた場合において、プレイヤによる入力があったときには、コンピュータによって戦闘動作が制御されるプレイヤの味方オブジェクトが回復される。たとえば、ヒットポイントが減っている場合にはヒットポイントが回復され、異常状態にある場合には、その残り時間が減らされる。  【効果】味方の戦いを有利にすることができ、アクション操作や戦闘ゲームの苦手なプレイヤでもゲームを楽しめる。【選択図】図４１
2007075431.tif 000002
【特許請求の範囲】
【請求項１】
敵と味方に分かれたオブジェクトが対戦するゲーム装置であって、
プレイヤによる操作手段の操作に応じた入力データを取得する入力取得手段、
前記入力データによらずに味方オブジェクトの戦闘動作を制御する味方制御手段、
前記入力データに基づいて所定の入力があったか否かを判定する判定手段、および
前記判定手段によって前記所定の入力があったと判定されるとき、前記味方オブジェクトを回復させる味方回復手段を備える、ゲーム装置。
【請求項２】
前記味方回復手段は、前記味方オブジェクトの生命に関するパラメータの値を最大値に近付ける、請求項１記載のゲーム装置。
【請求項３】
前記味方回復手段は、前記味方オブジェクトの異常状態の残り時間を減らす、請求項１または２記載のゲーム装置。
【請求項４】
前記判定手段は、所定の条件が満足されたか否かを判定する条件判定手段を含み、前記所定の条件が満足されたと判定される場合において、前記入力データに基づいて所定の入力があったか否かを判定し、
前記味方回復手段は、前記判定手段によって前記所定の条件が満足されたと判定されかつ前記所定の入力があったと判定されるときに、前記味方オブジェクトを回復させる、請求項１ないし３のいずれかに記載のゲーム装置。
【請求項５】
前記入力データに基づいてプレイヤオブジェクトにコマンド選択によらずに直接戦闘動作を行わせるプレイヤ制御手段をさらに備える、請求項１ないし４のいずれかに記載のゲーム装置。
【請求項６】
前記所定の条件は、前記プレイヤオブジェクトの生命に関するパラメータの値が最小値になったことを含む、請求項５記載のゲーム装置。
【請求項７】
戦闘開始前に前記入力データに基づいて前記オブジェクトの戦闘操作の担当を示すデータとして前記プレイヤまたはコンピュータを示すデータから選択する選択手段をさらに備え、
前記所定の条件は、前記選択手段によって前記プレイヤを示すデータが前記戦闘操作の担当を示すデータとして選択されなかったことを含む、請求項５または６記載のゲーム装置。
【請求項８】
敵と味方に分かれたオブジェクトが対戦するゲーム装置のゲームプログラムであって、
前記ゲーム装置のプロセサに、
プレイヤによる操作手段の操作に応じた入力データを取得する入力取得ステップ、
前記入力データによらずに味方オブジェクトの戦闘動作を制御する味方制御ステップ、
前記入力データに基づいて所定の入力があったか否かを判定する判定ステップ、および
前記判定ステップによって前記所定の入力があったと判定されるとき、前記味方オブジェクトを回復させる味方回復ステップを実行させる、ゲームプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ゲーム装置およびゲームプログラムに関し、特にたとえば、プレイヤによる入力によらずに自動的にその戦闘動作が制御される味方オブジェクトが敵オブジェクトと対戦するゲームが実行される、ゲーム装置およびゲームプログラムに関する。
【背景技術】
【０００２】
この種の従来の対戦ゲームの一例がたとえば非特許文献１および非特許文献２に紹介されている。この種の従来の戦闘では、プレイヤオブジェクトが敵オブジェクトの攻撃によってダメージを受けたとき、ヒットポイントＨＰ（体力ないしライフ）が減少するとともに、副次的な効能として一定時間オブジェクトが操作不能状態や戦闘不能状態になることがあった。このような状態に陥ったとき、プレイヤによるコントローラのレバー（ジョイスティック）やボタンスイッチの連打によってプレイヤオブジェクトを異常状態から早期に回復させることが行われていた。
【０００３】
一方、プレイヤによって操作されるプレイヤオブジェクトとコンピュータによって自動的に制御される味方オブジェクトとが登場して敵オブジェクトと戦うような場合には、たとえばプレイヤオブジェクトが先に倒されたときには、その後の戦闘はコンピュータによって制御される残りの味方オブジェクトと敵オブジェクトによって行われるだけであったり、あるいは、残りの味方オブジェクトの１つがプレイヤによって操作されるように変更されたりしていた。
【非特許文献１】「スカイキッド必勝攻略法」、株式会社双葉社、１９８６年９月２８日発行、ｐ．５
【非特許文献２】ＰＳ２専用ゲームソフト「聖闘士星矢  聖域十二宮編」取扱説明書、ｐ．７、２００５年４月７日発売
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来技術では、戦闘時にはプレイヤはあくまでプレイヤキャラクタのみを操作することが可能であり、味方オブジェクトを操作することはできなかった。また、プレイヤオブジェクトが倒された後は、コンピュータによって自動的になされる戦闘をただ見ているだけであり、味方の戦闘に関与することができず手持ち無沙汰であった。あるいは、プレイヤオブジェクトが別のオブジェクトに変更される場合には、再び戦闘に参加することはできるが、操作するキャラクタが変わることによって感情移入が阻害されてしまう。また、戦闘アクション操作の苦手なプレイヤにとっては、変更によって味方オブジェクトの操作のすべてを担当するよりも、そのままコンピュータに任せた方が勝利を得易いなどの問題もあった。
【０００５】
それゆえに、この発明の主たる目的は、新規な、ゲーム装置およびゲームプログラムを提供することである。
【０００６】
この発明の他の目的は、プレイヤの味方のオブジェクトの戦いを有利にすることができる、ゲーム装置およびゲームプログラムを提供することである。
【０００７】
この発明のその他の目的は、アクション操作の苦手なプレイヤであっても戦闘ゲームを楽しむことができる、ゲーム装置およびゲームプログラムを提供することである。
【課題を解決するための手段】
【０００８】
第１の発明（請求項１の発明）は、敵と味方に分かれたオブジェクトが対戦するゲーム装置である。このゲーム装置は、入力取得手段、味方制御手段、判定手段、および味方回復手段を備える。入力取得手段は、プレイヤによる操作手段の操作に応じた入力データを取得する。味方制御手段は、入力データによらずに味方オブジェクトの戦闘動作を制御する。判定手段は、入力データに基づいて所定の入力があったか否かを判定する。味方回復手段は、判定手段によって所定の入力があったと判定されるとき、味方オブジェクトを回復させる。
【０００９】
請求項１の発明では、ゲーム装置（１０：後述する実施例で相当する参照符号。以下同じ。）は、たとえば敵と味方とに分かれたオブジェクトが対戦して勝敗を決するようなゲームが実行される。入力取得手段（３６、５６、Ｓ５３１）は、プレイヤによる操作手段（２２、２６）の操作に応じた入力データないし操作データをたとえば一定時間ごとに取得する。味方制御手段（３６、Ｓ５５３）は、入力データによらずに味方オブジェクトの戦闘動作を制御する。つまり、味方オブジェクトのたとえば攻撃や防御などの戦闘動作は、プレイヤによって操作されずに所定のプログラムに従ってコンピュータによって制御される。判定手段（３６、Ｓ５３５）は、取得した入力データに基づいて所定の入力があったか否かを判定する。所定の入力は、たとえば、操作手段に含まれるレバーによる方向入力、あるいは操作手段に含まれるボタンによる入力など、簡単な操作で可能な入力であってよい。また、所定の入力は所定の条件が満足される場合の所定の入力であってもよい。所定の条件は、たとえばプレイヤオブジェクトが戦いの場に存在しないこと、つまり、プレイヤが操作を担当するオブジェクトが倒されたり、プレイヤが戦闘に参加しなかったりしたこと等であってよい。味方回復手段（３６、Ｓ５３７、Ｓ５４１）は、所定の入力があったとき、味方オブジェクトを回復させる。味方回復手段は、たとえば味方オブジェクトの生命や異常状態を回復させてよい。
【００１０】
このようにして、請求項１の発明によれば、プレイヤによる所定の入力に応じて、通常はプレイヤによって操作されない味方オブジェクトを回復させることができる。したがって、プレイヤの味方オブジェクトの敵との戦いを有利にすることができる。また、敵と味方とが戦うゲームにおいて、味方オブジェクトの回復のための操作をすることによって、当該戦闘を有利に進めることが可能になるので、戦闘ゲームやアクション操作の苦手なプレイヤであっても、ゲームを楽しむことができ、したがって、ゲームの興趣性を高めることができる。
【００１１】
請求項２の発明は、請求項1の発明に従属し、味方回復手段は、味方オブジェクトの生命に関するパラメータの値を最大値に近付ける。
【００１２】
請求項２の発明では、味方回復手段（Ｓ５３７）によって、味方オブジェクトのヒットポイントや体力のような生命または寿命に関するパラメータの値がその最大値に近付けるように変化される。たとえば、所定の入力に応じて、ヒットポイントの値に所定値が加算されてよい。したがって、プレイヤの操作に応じて、味方オブジェクトの生命を回復させることができるので、味方オブジェクトの戦闘を有利にすることができる。
【００１３】
請求項３の発明は、請求項１または２の発明に従属し、味方回復手段は、味方オブジェクトの異常状態の残り時間を減らす。
【００１４】
請求項３の発明では、味方回復手段（Ｓ５４１）によって、味方オブジェクトの異常状態の残り時間が減らされる。異常状態は、たとえば強制的な戦闘不能状態や能力値低減状態であってよい。したがって、プレイヤの操作に応じて、味方オブジェクトを異常状態から早期に復帰させることができるので、味方オブジェクトの戦闘を有利にすることができる。
【００１５】
請求項４の発明は、請求項１ないし３の発明のいずれかに従属し、判定手段は、所定の条件が満足されたか否かを判定する条件判定手段を含み、所定の条件が満足されたと判定される場合において、入力データに基づいて所定の入力があったか否かを判定する。味方回復手段は、判定手段によって所定の条件が満足されたと判定され、かつ、所定の入力があったと判定されるときに、味方オブジェクトを回復させる。
【００１６】
請求項４の発明では、条件判定手段（３６、Ｓ５２５、Ｓ５６３、Ｓ５３３）によって、所定の条件が満たされたか否かが判定される。所定の条件は、プレイヤが味方オブジェクトに対して指示を出せる状態になっていることであってよく、具体的には、プレイヤが戦闘操作を担当するプレイヤオブジェクトが倒されたこと、プレイヤが戦闘に参加せず、戦闘操作を全てコンピュータに任せたこと等であってよい。このように、所定の条件が満足されるときに限り、プレイヤによる所定の入力に応じて、プレイヤの味方オブジェクトを回復させることができる。したがって、プレイヤオブジェクトが倒された後であっても、プレイヤは味方オブジェクトを回復させる操作を通して味方を支援することによって戦いを続けることができるので、ゲームの興趣性を高めることができる。また、戦闘操作の担当をコンピュータに任せた場合でも、回復操作のみを行って味方オブジェクトを支援することができるので、戦闘操作の苦手なプレイヤであっても戦闘ゲームを楽しむことができる。
【００１７】
請求項５の発明は、請求項１ないし４の発明のいずれかに従属し、入力データに基づいてプレイヤオブジェクトにコマンド選択によらずに直接戦闘動作を行わせるプレイヤ制御手段をさらに備える。
【００１８】
請求項５の発明では、プレイヤ制御手段（３６、Ｓ５５３）によって、入力データに基づいてプレイヤオブジェクトの戦闘動作がコマンド選択によらずに直接制御される。つまり、プレイヤのアクション操作によって戦闘が行われるゲームが実行され、プレイヤは、プレイヤオブジェクトのアクションをコマンド選択ではなく操作手段のたとえばレバーやボタンで直接操作できる。したがって、アクション操作による戦闘ゲームで、プレイヤの操作によって味方オブジェクトを回復させて戦闘を有利にすることができるので、アクション操作の苦手なプレイヤでも戦闘ゲームを楽しむことができる。
【００１９】
請求項６の発明は、請求項５の発明に従属し、所定の条件は、プレイヤオブジェクトの生命に関するパラメータの値が最小値になったことを含む。請求項６の発明では、プレイヤオブジェクトのたとえばヒットポイントがゼロになったとき、つまり、プレイヤオブジェクトが倒されたときに、所定の条件が満足されて、プレイヤによる味方オブジェクトの回復操作が可能になる。したがって、プレイヤが戦闘操作を担当するオブジェクトが戦いに敗れて破壊された後でも、プレイヤは味方オブジェクトの回復操作によって戦いに参加し続けて、戦闘を有利にすることができるので、興趣性の高いゲームを実現できる。
【００２０】
請求項７の発明は、請求項５または６の発明に従属し、戦闘開始前に入力データに基づいてオブジェクトの戦闘操作の担当を示すデータとしてプレイヤまたはコンピュータを示すデータから選択する選択手段をさらに備える。所定の条件は、選択手段によってプレイヤを示すデータが戦闘操作の担当を示すデータとして選択されなかったことを含む。
【００２１】
請求項７の発明では、選択手段（３６、Ｓ５２１、Ｓ５２３）によって、戦闘開始前にプレイヤによる入力に応じて、オブジェクトの戦闘動作が、プレイヤ操作によって制御されるのか、または、コンピュータによって自動制御されるのかが選択される。そして、プレイヤがオブジェクトの戦闘操作の担当として選択されなかったときに、所定の条件が満足されて、プレイヤによる味方オブジェクトの回復操作が可能になる。したがって、プレイヤが戦闘操作に参加しない場合であっても、味方オブジェクトの回復操作を通して戦闘に参加することができるので、アクション操作の不得手なプレイヤであっても、味方の戦いを有利にすることができるので、気軽にかつ簡単に戦闘ゲームを楽しむことができる。
【００２２】
第２の発明（請求項８の発明）は、敵と味方に分かれたオブジェクトが対戦するゲーム装置のゲームプログラムである。このゲームプログラムは、ゲーム装置のプロセサに、入力取得ステップ、味方制御ステップ、判定ステップ、および味方回復ステップを実行させる。入力取得ステップは、プレイヤによる操作手段の操作に応じた入力データを取得する。味方制御ステップは、入力データによらずに味方オブジェクトの戦闘動作を制御する。判定ステップは、入力データに基づいて所定の入力があったか否かを判定する。味方回復ステップは、判定ステップによって所定の入力があったと判定されるとき、味方オブジェクトを回復させる。
【００２３】
請求項８の発明では、上述の第１の発明のゲーム装置と同様にして、味方オブジェクトの敵との戦いを有利にすることができ、戦闘ゲームやアクション操作の苦手なプレイヤにもゲームを楽しんでもらうことができる。
【発明の効果】
【００２４】
この発明によれば、プレイヤによる所定の入力に応じて、味方オブジェクトが回復される。したがって、プレイヤの支援によって、味方オブジェクトの敵との戦いを有利にすることができる。また、戦闘ゲームの苦手なプレイヤにとっても、味方オブジェクトの攻撃や防御などの主な操作をコンピュータに任せて、回復のための操作だけを行えばよいので、戦闘を簡単かつ気軽に楽しむことが可能になる。
【００２５】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００２６】
図１を参照して、この発明の一実施例であるビデオゲームシステム１０は、ビデオゲーム装置１２を含む。ビデオゲーム装置１２は、略立方体のハウジング１４を含み、ハウジング１４の上端には光ディスクドライブ１６が設けられる。光ディスクドライブ１６には、ゲームプログラム等を記憶した情報記憶媒体の一例である光ディスク１８が装着される。ハウジング１４の前面には複数の（この実施例では４つの）コネクタ２０が設けられる。これらコネクタ２０は、ケーブル２４によって、コントローラ２２をビデオゲーム装置１２に接続するためのものであり、この実施例では最大４つのコントローラ２２をビデオゲーム装置１２に接続することができる。なお、この発明を実行する装置は、ビデオゲーム装置に限られず、携帯型ゲーム装置，業務用ゲーム装置，パーソナルコンピュータまたは携帯電話等、ゲームを実行可能な装置であればなんでもよい。
【００２７】
コントローラ２２には、その上面，下面，或いは側面などに、操作部（操作スイッチ）２６が設けられる。操作部２６は、たとえば２つのアナログジョイスティック（レバー），１つの十字キー，複数のボタンスイッチ等を含む。１つのアナログジョイスティックは、スティックの傾き量と方向とによって、たとえばプレイヤオブジェクト（プレイヤがコントローラ２２によって操作可能な動画オブジェクト）の移動方向および／または移動速度ないし移動量などを入力するために用いられる。他のアナログジョイスティックは、傾斜方向によって、たとえば仮想カメラの移動を制御する。十字スイッチは、アナログジョイスティックに代えてプレイヤオブジェクトやカーソル等の移動方向を指示するために用いられる。ボタンスイッチは、たとえば、プレイヤオブジェクトの動作を指示するために利用されたり、３次元画像の仮想カメラの視点を切り換えたり、プレイヤオブジェクトの移動スピード調節等に用いられる。ボタンスイッチは、さらに、たとえばメニュー選択の決定／取り消しを制御する。
【００２８】
なお、この実施例ではコントローラ２２がそれと一体的に設けられるケーブル２４によってビデオゲーム装置１２に接続された。しかしながら、コントローラ２２は、他の方法、たとえば電磁波（電波または赤外線）を介してワイヤレスで、ビデオゲーム装置１２に接続されてもよい。また、コントローラ２２の操作部２６の具体的構成は、もちろんこの実施例の構成に限られるものではなく、任意の変形が可能である。たとえば、アナログジョイスティックは１つだけでもよいし、用いられなくてもよい。十字スイッチは用いられなくてもよい。
【００２９】
ビデオゲーム装置１２のハウジング１４の前面であり、コネクタ２０の下方には、１つまたは複数の（この実施例では２つの）メモリスロット２８が設けられる。このメモリスロット２８にはメモリカード３０が挿入される。メモリカード３０は、光ディスク１８から読み出したゲームプログラム等をローディングして一時的に記憶したり、このゲームシステム１０を利用してプレイしたゲームのゲームデータ（ゲームの結果データまたは途中データ）を保存（セーブ）しておいたりするために利用される。
【００３０】
ビデオゲーム装置１２のハウジング１４の後面には、ＡＶケーブルコネクタ（図示せず）が設けられ、そのコネクタを用いて、ＡＶケーブル３２を通してビデオゲーム装置１２にモニタ３４を接続する。このモニタ３４は典型的にはカラーテレビジョン受像機であり、ＡＶケーブル３２は、ビデオゲーム装置１２からの映像信号をカラーテレビのビデオ入力端子に入力し、音声信号を音声入力端子に入力する。したがって、カラーテレビ（モニタ）３４の画面上にたとえば３次元（３Ｄ）ビデオゲームのゲーム画像が表示され、左右のスピーカ３４ａからゲーム音楽や効果音などのステレオゲーム音声が出力される。
【００３１】
このゲームシステム１０において、ユーザまたはゲームプレイヤがゲーム（または他のアプリケーション）をプレイするために、ユーザはまずビデオゲーム装置１２の電源をオンし、次いで、ユーザはビデオゲーム（もしくはプレイしたいと思う他のアプリケーション）をストアしている適宜の光ディスク１８を選択し、その光ディスク１８をビデオゲーム装置１２のディスクドライブ１６にローディングする。応じて、ビデオゲーム装置１２がその光ディスク１８にストアされているソフトウェアに基づいてビデオゲームもしくは他のアプリケーションを実行し始めるようにする。ユーザはビデオゲーム装置１２に入力を与えるためにコントローラ２２を操作する。たとえば、操作部２６のどれかを操作することによってゲームもしくは他のアプリケーションをスタートさせる。操作部２６の他のものを動かすことによって、動画オブジェクト（プレイヤオブジェクト）を異なる方向に移動させ、または３次元（３Ｄ）のゲーム世界におけるユーザの視点（カメラ位置）を変化させることができる。
【００３２】
図２は図１実施例のビデオゲームシステム１０の電気的な構成を示すブロック図である。ビデオゲーム装置１２には、中央処理ユニット（以下、「ＣＰＵ」という。）３６が設けられる。このＣＰＵ３６は、コンピュータ或いはプロセサなどとも呼ばれ、ビデオゲーム装置１２の全体的な制御を担当する。ＣＰＵ３６ないしコンピュータは、ゲームプロセサとして機能し、このＣＰＵ３６には、バスを介して、メモリコントローラ３８が接続される。メモリコントローラ３８は主として、ＣＰＵ３６の制御の下で、バスを介して接続されるメインメモリ４０の書込みや読出しを制御する。このメモリコントローラ３８にはＧＰＵ(Graphics Processing Unit:グラフィックス処理装置) ４２が接続される。
【００３３】
ＧＰＵ４２は、描画手段の一部を形成し、たとえばシングルチップＡＳＩＣで構成され、メモリコントローラ３８を介してＣＰＵ３６からのグラフィクスコマンド(graphics command ：作画命令) を受け、そのコマンドに従って、ジオメトリユニット４４およびレンダリングユニット４６によって３次元（３Ｄ）ゲーム画像を生成する。つまり、ジオメトリユニット４４は、３次元座標系の各種キャラクタないしオブジェクト（複数のポリゴンで構成されている。そして、ポリゴンとは少なくとも３つの頂点座標によって定義される多角形平面をいう。）の回転，移動，変形等の座標演算処理を行う。レンダリングユニット４６は、各種オブジェクトの各ポリゴンにテクスチャ（Texture ：模様画像）を貼り付けるなどの画像生成処理を施す。したがって、ＧＰＵ４２によって、ゲーム画面上に表示すべき３Ｄ画像データが作成され、その画像データがフレームバッファ４８内に記憶される。ただし、仮想ゲーム空間が３次元ではなく２次元である場合には、立体的なゲーム画像ではなく２次元の平面的なゲーム画像が生成される。
【００３４】
なお、ＧＰＵ４２が作画コマンドを実行するにあたって必要なデータ（プリミティブまたはポリゴンやテクスチャ等）は、ＧＰＵ４２がメモリコントローラ３８を介して、メインメモリ４０から入手する。
【００３５】
フレームバッファ４８は、たとえばラスタスキャンモニタ３４の１フレーム分の画像データを描画（蓄積）しておくためのメモリであり、ＧＰＵ４２によって１フレーム毎に書き換えられる。具体的には、フレームバッファ４８は、１画素（ピクセル）毎に、画像の色情報を順序立てて記憶している。ここで、色情報は、Ｒ，Ｇ，Ｂ，Ａについてのデータであり、たとえば、８ビットのＲ（赤）データ、８ビットのＧ（緑）データ、８ビットのＢ（青）データおよび８ビットのＡ（アルファ）データである。なお、Ａデータは、マスクについてのデータである。後述のビデオＩ／Ｆ５８がメモリコントローラ３８を介してフレームバッファ４８のデータを読み出すことによって、モニタ３４の画面上に３Ｄゲーム画像が表示される。
【００３６】
また、Ｚバッファ５０は、フレームバッファ４８に対応する画素数×１画素当たりの奥行きデータのビット数に相当する記憶容量を有し、フレームバッファ４８の各記憶位置に対応するドットの奥行き情報または奥行きデータ（Ｚ値）を記憶するものである。
【００３７】
なお、フレームバッファ４８およびＺバッファ５０は、ともにメインメモリ４０の一部を用いて構成されてもよく、また、これらはＧＰＵ４２の内部に設けられてもよい。
【００３８】
メモリコントローラ３８はまた、ＤＳＰ(Digital Signal Processor)５２を介して、オーディオ用のＲＡＭ（以下、「ＡＲＡＭ」という。）５４に接続される。したがって、メモリコントローラ３８は、メインメモリ４０だけでなく、サブメモリとしてのＡＲＡＭ５４の書込みおよび／または読出しを制御する。
【００３９】
ＤＳＰ５２は、サウンドプロセサとして働き、メインメモリ４０に記憶されたサウンドデータ（図示せず）を用いたり、ＡＲＡＭ５４に書き込まれている音波形データ（図示せず）を用いたりして、ゲームに必要な音、音声或いは音楽に対応するオーディオデータを生成する。
【００４０】
メモリコントローラ３８は、さらに、バスによって、各インタフェース（Ｉ／Ｆ）５６，５８，６０，６２および６４に接続される。コントローラＩ／Ｆ５６は、ビデオゲーム装置１２に接続されるコントローラ２２のためのインタフェースであり、コントローラ２２の操作部２６の操作信号または操作データを、メモリコントローラ３８を通してＣＰＵ３６に与える。ビデオＩ／Ｆ５８は、フレームバッファ４８にアクセスし、ＧＰＵ４２で作成した画像データを読み出して、画像信号または画像データ（ディジタルＲＧＢＡピクセル値）をＡＶケーブル３２（図１）を介してモニタ３４に与える。
【００４１】
外部メモリＩ／Ｆ６０は、ビデオゲーム装置１２の前面に挿入されるメモリカード３０（図１）をメモリコントローラ３８に連係させる。それによって、メモリコントローラ３８を介して、ＣＰＵ３６がこのメモリカード３０にデータを書込み、またはメモリカード３０からデータを読み出すことができる。オーディオＩ／Ｆ６２は、メモリコントローラ３８を通してＤＳＰ５２から与えられるオーディオデータまたは光ディスク１８から読み出されたオーディオストリームを受け、それらに応じたオーディオ信号（音声信号）をモニタ３４のスピーカ３４ａに与える。
【００４２】
そして、ディスクＩ／Ｆ６４は、ディスクドライブ１６をメモリコントローラ３８に接続し、したがって、ＣＰＵ３６がディスクドライブ１６を制御する。このディスクドライブ１６によって光ディスク１８から読み出されたプログラムおよびデータが、ＣＰＵ３６の制御の下でメインメモリ４０に書き込まれる。
【００４３】
図３および図４にはメインメモリ４０のメモリマップが示される。メインメモリ４０は、プログラム記憶領域７０とデータ記憶領域７２を含む。プログラム記憶領域７０にはゲームプログラムが記憶される。ＣＰＵ３６はプログラム記憶領域７０のゲームプログラムに従ってデータ記憶領域７２に必要なデータを生成または取得しつつ処理を実行する。なお、ゲームプログラムおよびデータは、光ディスク１８から一度に全部または必要に応じて部分的にかつ順次的に読み出され、メインメモリ４０の所定領域に記憶される。また、データ記憶領域７２には、光ディスク１８から読み出したデータ以外にゲームの進行に従って生成または取得したデータも記憶される。なお、図３および図４には記憶されるデータの一部が示され、ゲーム処理の実行に必要な各種データが記憶される。
【００４４】
画像データ記憶領域７４には、ゲーム画像を生成するための画像データが記憶される。キャラクタ画像、ユニット画像、地形画像、基地画像、拠点画像、背景画像、カーソル画像、各種画面の画像などの画像データが記憶される。
【００４５】
マップデータ記憶領域７６には、基地、拠点および地形などが配置されてユニットが移動される、すなわち、このウォー・シミュレーションゲームが執り行われるマップに関するデータが記憶される。マップは、複数の地点（位置、場所ないし土地）が盤面上で縦横ないし行列形状に配列されることによって形成される。各地点は、たとえば四角形などの所定形状の区域ないしブロックなどであってもよいし、あるいは点であってもよい。マップデータは、マップのサイズ、マップ上の各土地ないし位置の地形、青チームの基地の位置、赤チームの基地の位置、拠点の数および拠点の位置などに関する情報を含む。サイズはたとえば８×８から１４×１４程度であってよい。図５には、四角形の土地（升目）を用いた８×８のマップが示され、各升目内には当該地点の位置を示す座標（ｘ，ｙ）が示される。ｘは行番号でありｙは列番号である。各位置すなわち各升目に配置される地形の種類は、平地、砂漠、山地、雪山、川、海、宇宙等であり、種類に応じてユニットの移動の可不可、機動性などが異なる。各陣営（赤チームおよび青チーム）の基地はそれぞれ１つだけ配置される。また、初期状態では、たとえば各陣営のユニットが３機ずつ出現されるので、たとえば６つの拠点が配置される。図６には、初期状態のマップの一例が示される。地形、基地位置、および拠点位置の予め決められたマップデータが予め光ディスク１８に記憶されていてもよいし、ゲームを開始する際に新たにマップを作成するようにしてもよい。基地および拠点の位置や地形の配置などはたとえばランダムに決定されてよい。
【００４６】
拠点所属データ記憶領域７８は、各拠点の識別情報に対応付けて各拠点の所属するチームを示す情報が記憶される。これによって、各拠点が、赤チームまたは青チームに占領されているのか、あるいは中立（無所属）であるのかが特定される。
【００４７】
移動操作担当データ記憶領域８０には、マップ上における各陣営のユニットの移動操作の担当を示す情報が記憶される。つまり、青チームおよび赤チームごとに、たとえば、コントローラ１のプレイヤ１、コントローラ２のプレイヤ２およびコンピュータのいずれがユニットを移動させるのかを示す情報が記憶される。
【００４８】
順序データ記憶領域８２には、先攻チームおよび後攻チームを示す情報が記憶される。つまり、このデータによって青チームおよび赤チームのいずれが先攻または後攻であるかが特定される。
【００４９】
青チーム制御データ記憶領域８４には、青チームのユニットの制御データが記憶される。制御データはマップ上に出現しているユニット数を示すデータを含む。初期状態ではユニット数はたとえば３であり、その後、ゲーム進行に応じて増減する。各ユニットの制御データは、マップ上の位置、現在のヒットポイント（生命、寿命または体力を示すパラメータ）、ヒットポイント最大値、移動済み情報などを含む。初期位置は青チームの基地の位置に設定される。移動済み情報は当該ターンにおける移動を終えたか否かを示す。赤チーム制御データ記憶領域８６には、上述の青チーム制御データと同様な、赤チームのユニットの制御データが記憶される。
【００５０】
占領地データ記憶領域８８には、移動、リンクまたは囲みなど味方の位置によって規定される範囲によって占領したマップ上の地点の位置が一時記憶される。青チーム領地データ記憶領域９０には、青チームが占領しているマップ上の領地（地点）に関するデータが記憶される。青チーム領地データは、占領している領地数、占領率、および占領している地点の位置等の情報を含む。占領率はマップ全体における全領地数に対する当該チームの領地数である。赤チーム領地データ記憶領域９２には、上述の青チーム領地データと同様な、赤チームの占領している地点に関するデータが記憶される。
【００５１】
図４に示すように、青チーム戦闘データ記憶領域９４には、青チームのユニットの戦闘時の制御データが記憶される。戦闘データは、戦闘に参加しているユニット数を示すデータを含む。戦闘参加可能な最大ユニット数はたとえば３である。敵ユニットと重なった味方ユニットに隣接するユニットがその戦闘に参加することが可能である。各ユニットの制御データは、戦闘時の操作担当、異常状態、および残存時間等の情報を含む。戦闘時の操作担当は、当該ユニットの戦闘操作の担当がプレイヤ１、プレイヤ２およびコンピュータのいずれであるかを示す情報である。異常状態は、当該ユニットが敵ユニットの攻撃を受けて異常状態になっているか否かを示す情報である。異常状態では、オブジェクトは強制的に戦闘不能な状態や能力値が低減された状態におかれる。具体的には、異常状態としては、たとえば「しびれ」および「スロー」が準備される。「しびれ」とは、一定時間（たとえば２秒間すなわち１２０フレーム）ユニットが操作不能または戦闘不能状態になる状態を指す。また、「スロー」とは、一定時間（たとえば２秒間）ユニットが攻撃不能および移動速度が１／３倍になる状態を指す。残存時間は、異常状態が残りどの程度の時間（何フレーム）続くのかを示す情報であり、つまり、異常状態ではなくなるまでに要する時間を示す情報である。赤チーム戦闘データ記憶領域９６には、上述の青チーム戦闘データと同様な、赤チームのユニットの戦闘時の制御データが記憶される。
【００５２】
青チーム回復フラグ記憶領域９８には、青チームの味方ユニットに対する回復操作を受け付けるか否かを示すデータが記憶される。プレイヤの操作するユニットが戦闘で破壊されたとき、または戦闘開始時にユニットの操作担当にプレイヤが選ばれず全てコンピュータが戦闘操作の担当となったときには、このフラグがオンにされ、青チームの味方ユニットに異常状態が生じまたはＨＰが最大でないときには、プレイヤの操作に応じて当該ユニットに対する回復処理が実行されることとなる。赤チーム回復フラグ記憶領域１００には、上述の青チーム回復フラグと同様な、赤チームの味方ユニットに対する回復操作を受け付けるか否かを示すデータが記憶される。
【００５３】
この実施例では、青チームと赤チームの２つの陣営ないし軍がマップ上でユニットを移動させて戦うウォー・シミュンレーションゲームが実行される。勝利条件は、たとえば、相手に所属するユニットを全滅させること、相手の基地を占領することのほか、マップ上の全ての土地（地点）のうちの所定割合以上の土地を占領することである。プレイヤおよびコンピュータは、将棋やチェスで盤上で駒を動かすのと同様に、マップ上でユニットと呼ばれるキャラクタないしオブジェクトを移動させて勝利を目指す。
【００５４】
ゲームは各軍が先攻と後攻に分かれて自分の番にユニットを動かす事で進められる。つまり、このゲームではターン制が採用されている。先攻と後攻の２つの番を合わせて１ターンとし、このターンが所定回数（たとえば７回）進捗するとゲームの終了（引き分け）となる。それ以前に勝利条件を満足することで決着がつく。
【００５５】
勝利条件の達成の難易度から見て、陣地の獲得と敵基地の占領の２つが主な目的となる。陣地はユニットがマップ上を移動することによって獲得され、基地の占領は敵基地の位置に到達することで達成される。このように、この実施例では、敵と味方が陣地を奪い合う陣取りゲームの面を有するゲームが実行される。なお、敵ユニットを全滅させたときも勝利となるので、積極的にバトルを行って全滅を目指すのも勝利への道である。しかし、味方ユニットを失うリスクが大きく、敵チームに強力なユニットが存在すると達成が困難であるという問題もはらんでいる。また、バトルはアクション操作で行われるので、その操作の苦手なプレイヤにとって敵全滅は困難なものとなる。したがって、上記２つの主目的の達成へ向けて望み通りにユニットを行動させるために、必要が生じるとバトルで邪魔な敵を排除するというのが主なゲームの進め方となる。
【００５６】
マップ上の陣地の拡張は、主にユニットの移動によってなされる。すなわち、第１の陣地獲得方法として、ユニットが移動した跡は当該ユニットのチームの領地とすることができる。一例として、図７（Ａ）には、青チームのユニットの移動前の状態が示される。ゲームでは、たとえば、方向指示スイッチやアナログジョイスティックの操作によってユニットの存在する位置にカーソルを移動させてＡボタンを操作することによって、移動対象のユニットを選択することができる。移動対象ユニットを選択すると、マップ上で移動可能な位置がたとえば緑色の矩形状のマーク（図７では破線表示）等によって識別可能に表示される。方向指示スイッチやアナログジョイスティックがマップ上の土地の配列方向に合わせて操作されると、移動ルートを示す矢印がたとえば紺色で認識可能に表示される。矢印の頭を所望の位置に移動させてＡボタンを操作することによって、移動ルートを決定することができる。移動ルートが決定されると、図７（Ｂ）に示すように、ユニットが移動ルート上を目的地まで移動するとともに、移動ルート上の各地点が当該ユニットの所属する青チームの領地に変更され、その升目の色が当該チームの色（青）に変化される。
【００５７】
また、移動完了したユニットを含めた味方の位置によって規定される範囲内の土地を獲得できるようにしている。すなわち、第２の陣地獲得方法として、ユニットが移動を終了したときに、当該ユニットと他の味方ユニットまたは味方拠点とが一直線上で結ばれている場合には、通常、それらに挟まれたその直線上の土地も獲得することができる。このようなユニットと他の味方ユニットまたは味方拠点の２つによる挟み込みを「リンク」と呼び、味方で挟んだ土地の獲得をリンクによる占領とも表現する。この挟むことによる占領によって、一度に多くの領地を獲得することができる。ただし、後述するように、リンクが生じても、移動終了後のユニットと味方ユニットまたは味方拠点との間に敵ユニット、敵拠点または中立拠点（無所属の拠点）が存在する場合には、土地を獲得することができない。
【００５８】
一例として、図８（Ａ）には、青チームのユニット（図において左下側）の移動前の状態が示される。この移動対象のユニットの移動ルートを決定する際に、移動ルートを示す矢印の頭の位置すなわち移動目的地が他の味方ユニットまたは味方拠点との間でリンクを発生することとなる位置に存在する場合には、リンクが発生することをプレイヤに知らせる画像が表示される。図８（Ａ）では、移動目的位置と他の味方ユニット（図において上側）の存在する位置とで結ばれた直線上の複数の土地を一括して縁取るような破線が表示される。このリンクが発生する状態で移動ルートが決定された場合、図８（Ｂ）に示すように、ユニットが移動ルート上を目的地まで移動し、移動したルート上の土地が青チームの領地に変更される。そして、当該移動対象ユニットと他の味方ユニットとの間にリンクが発生するので、それらに挟まれた土地も青チームの領地に変更される。
【００５９】
一方、この実施例では、移動終了後のユニットと味方ユニットまたは味方拠点との間に敵ユニットが存在している場合には、リンクによる占領の代わりに、当該敵ユニットのヒットポイントＨＰに対してダメージを与えるようにした。具体的には、一例として、図９（Ａ）には青チームのユニットの移動前の状態が示される。この図９（Ａ）では、上述の図８（Ａ）と異なり、赤チームユニットが上側の青チームユニットの下側に存在している。左下側の青チームユニットの移動目的地が、リンクを発生可能な位置に決定されると、図９（Ｂ）に示すように、青チームユニットが移動ルート上を目的地まで移動して、移動したルート上の土地が青チームに占領される。しかし、移動後の青チームユニットと上側の味方ユニットとの間には敵ユニットが存在しているので、それらの間の土地は獲得されない。その代わりに、リンクの生じた直線上に存在する赤チームユニットのＨＰが所定値または所定の式に従って算出された値だけ減少される。ここで、リンク内に存在する敵ユニット数をｎとし、敵ユニットＸ（＝Ｘ１〜Ｘｎ）のＨＰ最大値をＨＰｍａｘ（Ｘ）とする。各敵ユニットＸに付与されるダメージＤは、たとえば、図９（Ｂ）の下段に示される式によって算出され、すなわち、各敵ユニットのＨＰ最大値の１２．５％の平均値であってよい。このように、リンク内に含まれる敵ユニットの種類や数に応じて、各ユニットに与えられるダメージの値が変化されることとなる。たとえば、上記例では、最大ＨＰの大きい敵が多く含まれるほど、ダメージの値は大きくなる。
【００６０】
さらに、第３の陣地獲得方法として、ユニットが移動を終了したときに、当該ユニットと他の味方ユニットまたは味方拠点によって土地が囲まれた状態になっている場合には、その囲まれた土地を獲得することができる。詳しくは、味方ユニットまたは味方拠点の３つで構成される直交状態の２つのリンクの先端の２つの位置と、移動終了後のユニットとの間に直交状態の２つのリンクが発生する場合、それら４つのリンクによって土地が囲まれる。このようなユニットと他の味方ユニットまたは味方拠点で構成される囲みを形成することによって当該囲み内の土地を占領することができる。この囲みによる占領によって、一度に多くの領地を獲得でき、したがって効率よく領地を拡張できる。ただし、上述のリンクの場合と同様に、囲みが生じても、囲み内に敵ユニットが存在する場合には、土地を獲得することができない。一例として、図１０（Ａ）には、青チームのユニット（左下側）の移動前の状態が示される。左上側の青チーム拠点、右上側の青チーム拠点および右下側の青チームユニットによって直交状態の２つのリンクが発生した状態となっている。左下側の青チームユニットの移動目的地が１マス上の位置に選ばれる場合には、当該移動対象ユニットと上側の味方拠点との間にリンクが発生するとともに、当該移動対象ユニットと右下側の味方ユニットとの間にリンクが発生することとなる。つまり、移動後のユニットと３つの味方ユニットまたは味方拠点との間の４つのリンクによって囲みが発生することとなる。したがって、囲みが発生する位置に移動目的地が決定されると、図１０（Ｂ）に示すように、囲み内の土地が青チームに占領される。
【００６１】
一方、囲み内に敵ユニットが存在する場合には、囲みによる占領の代わりに、囲み内の敵ユニットのＨＰにダメージを与えるようにした。具体的には、一例として、図１１（Ａ）には青チームのユニットの移動前の状態が示される。この図１１（Ａ）では、上述の図１０（Ａ）と異なり、赤チームユニットが右上側の青チームユニットの左下側に存在している。左下側の青チームユニットの移動目的地が、囲みを発生可能な位置に決定されると、図１１（Ｂ）に示すように、青チームユニットが目的地へ移動して目的地が青チームに占領される。この移動によって囲みが発生するが、囲み内には敵ユニットが存在しているので、囲みによる土地の占領は行われない。なお、移動後のユニットと左上側の味方拠点との間のリンクによる占領、および移動後のユニットと右下側の味方ユニットとの間のリンクによる占領が行われる。囲みによる占領の代わりに、囲み内に存在する赤チームユニットのＨＰが所定値または所定の式に従って算出された値だけ減少される。ここで、囲み内に存在する敵ユニット数をｎとし、敵ユニットＸ（＝Ｘ１〜Ｘｎ）のＨＰ最大値をＨＰｍａｘ（Ｘ）とする。各敵ユニットＸに付与されるダメージＤは、たとえば、図１１（Ｂ）の下段に示す式に従って算出されてよく、その値は各敵ユニットのＨＰ最大値の２５％の平均値であってよい。上述のリンクによるダメージと同様に、囲み内の敵ユニットの種類や数に応じて、各ユニットに与えられるダメージの値が変化される。
【００６２】
このように、この実施例では、陣地獲得のための行動（すなわち移動）によって戦闘以外で敵ユニットにダメージを与える仕組みを設けた。これによって、領地拡張や敵本拠占領のための移動を行いながら戦わずして敵ユニットにダメージを与えることができる。したがって、たとえば敵全滅を目指した戦闘だけを繰返すような単純なゲームプレイや、敵本拠の占領の途上で敵と遭遇したときに戦闘を行うといった成り行きまかせのゲームプレイなどではなく、領地拡張や敵本拠占領のための移動と敵ユニットとの戦闘とを上手く組み合わせながら戦略的に敵陣営を攻略することができ、ゲームをより楽しむことができる。このように、戦略性や興趣性の高いウォー・シミュレーションゲームを実現することができる。
【００６３】
続いて、ユニットの移動終了後の位置からのリンクおよび囲みの判定方法について説明する。この実施例では、ユニットの到達位置から上下左右各方向へのリンクの発生および囲みの発生の判定がそれぞれ行われる。
【００６４】
図１２には、到達位置から上方向へのリンク囲み判定の手順が示される。図１２（Ａ）には、上方向へのリンク判定が示される。この判定では、たとえば、到達位置から上方向へ１マスずつ順次調査を行う。最初に他の味方ユニットまたは味方拠点にたどり着くことが検出された場合には、リンクによる占領成立と判定される。一方、最初に敵拠点、敵ユニットまたは中立拠点にたどり着くことが検出された場合において、その後マップ外周に達する前に味方ユニットまたは味方拠点にたどり着くことが検出されたときには、占領は不成立であるが、リンクによるダメージ付与が成立する。
【００６５】
上方向へのリンク占領が成立する場合には、図１２（Ｂ）に示すように、さらに、左右方向へのリンク四角形囲み判定を行う。つまり、４点のリンクによる四角形の囲みが左方向または右方向で成立するか否かを判定する。具体的には、リンクの成立した上方向の味方ユニットまたは味方拠点の位置（すなわち上方向位置）から、右方向、下方向および左方向の順にリンク判定を行う。上方向位置からユニットの到達位置にたどり着くまで全３つのリンク占領が成立したときには、囲み成立と判定される。なお、この囲みは到達位置の右上の囲みであるので第１右上囲みとも呼ばれ、後述するように右方向へのリンク判定から開始することによってその成立が判定される第２右上囲みと同一か否か判定される必要がある。また、上方向位置から左方向、下方向および右方向の順にリンク判定を行い、全３つのリンク占領が成立する場合には、囲み成立と判定される。この囲みは第１左上囲みとも呼ばれる。
【００６６】
このような上方向へのリンク囲み判定を、下方向、左方向および右方向のそれぞれに行う。すなわち、図１３に示すように、到達位置から下方向へのリンク囲み判定では、まず、下方向へのリンク判定を行う。そして、下方向へリンク占領が成立する場合には、さらに左右方向へのリンク四角形囲み判定をそれぞれ行う。つまり、下方向の味方ユニットまたは味方拠点の位置（下方向位置）から、右方向、上方向および左方向の順にリンク判定を行い、第１右下囲みの成立を判定する。また、下方向位置から、左方向、上方向および右方向の順にリンク判定を行い、第１左下囲みの成立を判定する。
【００６７】
図１４に示すように、到達位置から左方向へのリンク囲み判定では、まず、左方向へのリンク判定を行う。そして、下方向へリンク占領が成立する場合には、さらに上下方向へのリンク四角形囲み判定をそれぞれ行う。つまり、左方向の味方ユニットまたは味方拠点の位置（左方向位置）から、上方向、右方向および下方向の順にリンク判定を行い、第２左上囲みの成立を判定する。また、左方向位置から、下方向、右方向および上方向の順にリンク判定を行い、第２左下囲みの成立を判定する。
【００６８】
図１５に示すように、到達位置から右方向へのリンク囲み判定では、まず、右方向へのリンク判定を行う。そして、右方向へリンク占領が成立する場合には、さらに上下方向へのリンク四角形囲み判定をそれぞれ行う。つまり、右方向の味方ユニットまたは味方拠点の位置（右方向位置）から、上方向、左方向および下方向の順にリンク判定を行い、第２右上囲みの成立を判定する。また、右方向位置から、下方向、左方向および上方向の順にリンク判定を行い、第２右下囲みの成立を判定する。
【００６９】
また、この実施例では、移動到達位置からのリンクおよび囲みによる占領だけでなく、移動ルート上を移動中のユニットによってその周辺に囲みが発生する場合には、当該囲みによって土地を獲得できる。この移動中の１マスごとの囲みの発生の判定を説明する。この実施例では、移動途中におけるユニットの位置の上下左右各方向への囲みが判定される。
【００７０】
図１６には、移動途中の位置から上方向の囲み判定が示される。この判定では、移動途中のユニット位置の１つ上の位置を始点として、味方の領地に沿って１マスずつ進める調査を行い、内回りで始点まで戻ってくることができるか否かを検出する。図１６（Ａ）に示すように、調査の結果、移動位置が内回りで始点まで戻ってくる場合には、囲みが成立すると判定される。囲みが成立する場合には、上述の移動終了後の位置に基づく囲みの場合と同様に、味方の領地に囲まれた内側の土地の全てを占領する。ただし、囲み内に敵ユニットが存在する場合には、土地の占領の代わりに、当該敵ユニットへの囲みによるダメージ付与が行われる。一方、図１６（Ｂ）に示すように、調査の結果、移動位置がマップの外周に達する場合や外回りで始点まで戻ってくる場合には、囲み不成立と判定される。
【００７１】
このような移動途中における囲みの判定を、さらに下方向、左方向および右方向のそれぞれについて行う。つまり、図１７（Ａ）に示すように、移動途中のユニットの１つ下の位置を始点とする調査を行う。また、図１７（Ｂ）に示すように、移動途中のユニットの１つ左の位置を始点とする調査を行う。また、図１７（Ｃ）に示すように、移動途中のユニットの１つ右の位置を始点とする調査を行う。いずれの調査においても、内回りで始点まで移動位置が戻ってくることが検出される場合には、囲み成立と判定される。
【００７２】
図１８にはユニット移動前の状況を示すゲーム画面の一例が示される。このゲーム画面は３次元画像であり、仮想３次元空間においてマップを俯瞰する位置に配置された仮想カメラから撮影されている。なお、ゲーム画面はたとえば２次元のマップ画像上に２次元のキャラクタ画像を配置した２次元画像として生成されてもよい。
【００７３】
図１８のゲーム画面ではマップの一部が表示され、青チームの３つのユニット１１０（図１８では１１０ａ，１１０ｂおよび１１０ｃ）および赤チームの１つのユニット１１２が存在している。青チームの領地はたとえば透明な青色で着色され、図１８では青チームのユニット１１０の存在する升目からわかるように無模様で表現される。赤チームの領地はたとえば透明な赤色で着色され、図１８では赤チームのユニット１１２の存在する升目からわかるように斜線模様で表現される。また、無所属の土地はその地形の画像本来の色で表示され、図１８では青チームユニット１１０ｂと赤チームユニット１１２との間の升目からわかるように縦線模様で表現される。また、移動対象のユニットを選択するためのカーソル１１４が表示される。なお、プレイヤ１によって操作される青チームの順番であるため、カーソル１１４には青色で着色され「１Ｐ」と表示される。このカーソル１１４はマップ上に立っているユニットよりも高い位置に配置されている。方向指示スイッチまたはアナログジョイスティックを操作してカーソル１１４を所望のユニットの頭上に移動させ、Ａボタンを操作すると、当該ユニットを移動対象に選択することができる。ここでは、青チームのユニット１１０ａを選択するものとする。
【００７４】
青チームのユニット１１０ａを選択すると、たとえば、図１９に示すように、移動対象のユニット１１０ａは爪状のキャッチャ１１６によって持ち上げられる。その後、方向指示スイッチまたはアナログジョイスティックの操作によって、移動ルートを決めることができる。なお、移動可能な位置にはたとえば緑色の矩形状のマークが表示され、図１９では破線表示された升目で表現される。方向指示スイッチ等の指示に応じて、たとえば、移動対象のユニット１１０ａの存在していた位置を起点としかつ指示された位置上を通る矢印１１８が表示される。つまり、この矢印１１８が移動ルートを示している。図１９では、移動目的地として、赤チームユニット１１２から２升目の無所属の土地が選ばれている。この位置にユニット１１０ａが移動されると、味方ユニット１１０ｂとの間でリンクが発生し、かつ、味方ユニット１１０ｃとの間でもリンクが発生することとなるので、画面では、これらリンクを構成する複数の升目の周縁を縁取るようにリンク発生を知らせるマーク画像１２０（たとえば黄色の破線）が表示される。所望の位置を通って所望の目的地に達する移動ルートを指示できたときには、プレイヤはＡボタンを操作することによって移動ルートを決定することができる。
【００７５】
移動ルートが決定されると、移動対象のユニット１１０ａが移動ルート上を移動する。図２０からわかるように、ユニット１１０ａが移動した後の土地は青チームの領地に変更され、たとえば透明な青色で着色される。また、目的地に到達したユニット１１０ａと味方ユニット１１０ｃとの間にはリンクが発生する。リンク内には敵ユニット１１２が存在するので、この敵ユニット１１２に対してリンクによるダメージを与えることができる。この場合には、当該赤チームユニット１１２の最大ＨＰの１２．５％に相当する値を現在のＨＰの値から減らすことができる。ゲーム画面では、当該ユニット１１２がダメージを受ける画像が表示されるとともに、当該ユニット１１２のＨＰを示すゲージにおいて値が減少する画像が表示される。
【００７６】
また、移動ルート上に敵ユニットが存在し、移動対象のユニットが敵ユニットと同じ位置に到達したときには、当該ユニット同士が対戦する戦闘モードが開始される。ユニット同士が重なり合った地点に隣接する地点にユニットが存在する場合には、隣接するユニット（たとえば各チーム最大で２つのユニット）も戦闘に参加する。戦闘開始前にはプレイヤは各ユニットの戦闘操作の担当をプレイヤ自身にするのかコンピュータにするのかを選択する。この戦闘モードでは、ユニットの戦闘はリアルタイムで進行する。つまり、たとえばコマンドが選択されるまで戦闘が一時停止して、コマンド選択に応じて当該コマンドに対応する動作をオブジェクトが実行するような戦闘ゲームではない。つまり、プレイヤの担当するユニットの戦闘動作は、プレイヤによる操作部２６のアクション操作に応じた入力データに基づいて実行される。具体的には、操作部の２６の操作によって、たとえば撃つ、斬る、蹴る、殴る、飛ぶ、避ける、守るといったアクションをプレイヤユニットに直接行わせることができる。したがって、プレイヤ自身が操作する場合には１つのユニットのみを担当できる。複数のユニットが参加する場合、プレイヤの担当しないユニットの操作はコンピュータが担当する。また、場合によっては、プレイヤは戦闘操作を担当せずに、全てのユニットの戦闘操作をコンピュータに任せることができる。コンピュータの担当するユニットの戦闘は所定のプログラムに従って制御される。
【００７７】
この実施例では、戦闘において、プレイヤの担当しない味方ユニットに対してプレイヤの操作によって影響を与えることができるようにした。具体的には、所定の条件が満足されているときには、プレイヤの操作によって味方ユニットの状態を回復させることができるようにした。所定の条件は、プレイヤが味方ユニットに対して指示を出せる状態になっていることであってよく、たとえばプレイヤの担当するユニットが戦いの場に存在していないことであってよい。具体的には、所定の条件は、プレイヤによって戦闘操作が担当されていたユニットが戦闘において破壊されたこと（すなわち、当該ユニットのヒットポイントが最小値であるゼロになったこと）であってよい。または、所定の条件は、戦闘操作担当としてプレイヤが選択されなかったこと（すなわち、全ユニットの戦闘操作担当としてコンピュータが選択されたこと）であってよい。なお、所定の条件としては、プレイヤ操作に応じて、あるいは、ゲームの進行状況に応じて、プレイヤの担当するユニットのための操作を受け付けない状態に一時的になっていること等も考えられる。
【００７８】
したがって、プレイヤは、所定の条件が満足される場合に限り、たとえば戦闘において操作するユニットがない場合には、コンピュータによって自動制御される味方ユニットを回復させるという支援のための操作を行うことができる。具体的には、味方ユニットが最大ＨＰ未満のＨＰであるときに、プレイヤの操作に応じて当該味方ユニットのＨＰを最大ＨＰに近付くように回復させることができる。また、味方ユニットがしびれやスローなどの異常状態に陥っているとき、プレイヤの操作に応じて当該異常状態の残り時間を減じさせて、当該味方ユニットを異常状態から早期に復帰させることができる。
【００７９】
図２１には、ＨＰを回復させる場合のゲーム画面の一例が示される。戦闘が開始されると、マップを表示している画面とは別の画面であり戦闘用フィールドを示す戦闘画面が表示される。戦闘画面では、画面下部に各ユニットごとに操作担当を示す画像が示される。なお、図２１では、簡略的に一方のチームの画像のみを示している。３つのユニットともにＣＯＭ（すなわちコンピュータ）に担当されていることが示される。また、図２１では、フィールド上には１つのユニット１２２のみを表示し、残り２つの味方ユニットおよび敵ユニットは省略されている。
【００８０】
戦闘において、ユニットが攻撃を受けると、そのユニットのＨＰが減少される。また、マップ上のリンクや囲みによるダメージが与えられていた場合には減少した状態のＨＰを有するユニットが戦闘に登場する。この実施例では、味方ユニットのＨＰがその最大値ではない場合において、上述のような所定の条件が満たされているときには、当該味方ユニットのＨＰを回復させる操作が受け付けられ、画面上には回復操作を受付中であることを示すマーク画像１２４が当該味方ユニットに対応する操作担当を示す画像のたとえば上側に表示される。マーク画像１２４としては、たとえば回復操作に使用される操作部２６のレバーまたはボタンを示す図柄が用いられている。なお、図２１の例では、３つの味方ユニットのうちの１つのみが最大ＨＰではなく、当該最大ＨＰではない味方ユニットが、表示された味方ユニット１２２に対応するものとする。また、このユニット１２２はプレイヤ１によって移動操作が担当されるチームのユニットであり、回復操作の受付を示すマーク画像１２４には、プレイヤ１が操作可能であることを示す「１Ｐ」が表示される。
【００８１】
プレイヤは回復操作を受け付けるマーク画像１２４を見たときは、所定の回復操作を行うことによって、対応する味方ユニット１２２のＨＰを回復させることができる。回復操作は、方向指示スイッチまたはアナログジョイスティックによる４つの方向のいずれかを指示する操作、またはスタートボタンを除く全てのボタンスイッチのいずれかの操作であってよい。あるいは、特定の方向指示や特定のボタンスイッチの操作であってもよい。プレイヤは、たとえば、アナログジョイスティックを素早くぐるぐる回したり、方向指示スイッチやボタンスイッチを連打したりすることで、より大きくあるいはより早く味方ユニットを回復させることができる。たとえば上記入力が１回検出されるごとに、所定値（たとえば０．１ポイント）をＨＰに加算するようにしてもよい。
【００８２】
また、戦闘において、ユニットが攻撃を受けると異常状態に陥ることがあり、そのユニットが一定時間（たとえば２秒間）、操作不能になったり、攻撃不能になったり、その移動速度が遅くされたりする。図２２には、異常状態から回復させる場合のゲーム画面の一例が示される。この実施例では、味方ユニットが異常状態になっている場合において、上述のような所定の条件が満足されているときには、当該味方ユニットの異常状態を早期に回復させる操作が受け付けられる。画面上には、上述の図２１のＨＰの場合と同様に、回復操作を受付中であることを示すマーク画像１２４が表示される。また、フィールド上のユニット１２２においては、異常状態になっていることを示すマーク画像１２６がたとえばその頭上に表示される。プレイヤは、たとえば異常状態を示すマーク画像１２６とともに回復操作を受け付けるマーク画像１２４を見たときには、上述のような所定の回復操作を行うことによって、対応する味方ユニット１２２を異常状態から早期に復帰させることができる。たとえば上記入力が１回検出されるごとに、異常状態の継続される残り時間から９／６０秒（すなわち９フレーム）だけ減算するようにしてもよい。
【００８３】
このように、プレイヤによって担当されたユニットが倒された場合や戦闘にプレイヤが参加しない場合には、プレイヤ操作によって味方キャラクタを回復させて味方キャラクタに加勢することができるので、コンピュータによって自動制御される味方キャラクタの敵キャラクタとの戦いを有利にすることができる。つまり、プレイヤユニットが倒された後であっても、プレイヤは味方ユニットの回復操作を通して味方を支援することによって戦いを続けることができるので、ゲームの興趣性を高めることができる。また、戦闘ゲームやアクション操作の苦手なプレイヤにとっては、味方キャラクタの攻撃や防御などの戦闘時の主たる操作をコンピュータに任せて、回復のための操作だけを行えばよいので、戦闘を簡単かつ気軽に楽しむことができる。
【００８４】
図２３には、ゲーム装置１２の動作の一例が示される。ゲーム処理を開始すると、まずステップＳ１で、ＣＰＵ３６は各陣営の移動操作担当を決定する。たとえば、ＣＰＵ３６は、各チームのマップ上での移動操作の担当を選択するための画面をモニタ３４に表示し、プレイヤにコントローラ２２によって選択させる。ＣＰＵ３６は、コントローラＩ／Ｆ５６を介して操作データを取得して、当該操作データに基づいて青チームおよび赤チームの操作担当を決定する。たとえば２つのコントローラ２２がゲーム装置１２に接続されている場合には、操作担当はプレイヤ１，プレイヤ２およびコンピュータから選択される。決定された各チームごとの移動操作担当を示すデータは、移動操作担当データ記憶領域８０に記憶される。
【００８５】
次に、ＣＰＵ３６は、ステップＳ３でマップ選択処理を実行する。たとえば、ＣＰＵ３６はマップを選択するための画面をモニタ３４に表示し、プレイヤにコントローラ２２によって選択させる。マップ選択画面では、たとえば、複数の選択候補のマップの名前またはアイコン等とともにそのプレビュー画面が表示されてよい。ＣＰＵ３６は、たとえば方向指示スイッチまたはアナログジョイスティックの左右への指示に応じて、選択しようとしているマップを変更し、Ａボタンまたはスタートボタンに応じてマップが決定される。マップは、開発者によって予め準備されている固定的なマップと、プレイヤの操作に応じてランダムに生成される変動的なマップとを含む。マップの構成要素は、サイズ、各位置の地形、拠点の数、拠点の位置、各陣営の基地の位置等を含む。ＣＰＵ３６は、操作データに応じて変動的なマップが選択される場合には、各要素をランダムに決定してマップデータを生成する。また、ＣＰＵ３６はプレビュー画面を生成してマップ選択画面上に表示する。Ａボタンまたはスタートボタンが操作されると、生成されたマップデータまたは読み出されたマップデータがマップデータ記憶領域７６に記憶される。
【００８６】
続いて、ステップＳ５で、ＣＰＵ３６は先攻後攻を決定する。たとえば、ＣＰＵ３６は順番を選択するための画面をモニタ３４に表示し、プレイヤにコントローラ２２によって選択させる。順番選択画面の初期状態では、たとえば青チームが先攻、赤チームが後攻に設定されている。ＣＰＵ３６は、方向指示操作に応じて先攻後攻を入れ替え、Ａボタンないしスタートボタンの操作に応じて先攻チームおよび後攻チームを決定して、先攻チームおよび後攻チームの識別情報を示すデータを順序データ記憶領域８２に記憶する。
【００８７】
先攻後攻が決定されると、ステップＳ７で、ＣＰＵ３６は、ＧＰＵ４２を用いてマップデータおよび画像データに基づいてマップの画像を生成してモニタ４２に表示する。マップ上の各位置にはたとえば平地、山地、雪山、川、砂漠などの地形が表示されるとともに、さらに、所定の位置には各陣営の基地および拠点（初期状態では中立）が配置される。
【００８８】
続くステップＳ９で、ＣＰＵ３６は、ＧＰＵ４２を用いて各チームの基地から各ユニットが出現する画像を生成してモニタ４２に表示する。たとえば各チーム３つずつのユニットが各チームの基地の位置にそれぞれ出現する。したがって、プレイヤまたはコンピュータは、最初はそれぞれ３つのユニットをマップ上で移動させて敵チームを攻略する。
【００８９】
ステップＳ１１では、ＣＰＵ３６は、ターン数を示す変数Ｎの初期設定を行って変数Ｎに０を記憶する。さらに、ステップＳ１３で、ＣＰＵ３６は、ターン数をカウントするために、変数Ｎをインクリメントしてたとえば「１」を加算する。
【００９０】
続いて、ステップＳ１５で、ＣＰＵ３６は、順序データに基づいて、ターン処理によって移動をさせるチームとして先攻チームを選択し、たとえば当該先攻チームの識別情報を選択チームデータとしてメインメモリ４０の所定領域に記憶する。そして、ステップＳ１７で、ＣＰＵ３６は、選択チームのためのターン処理を実行する。これによって、先攻チームのユニットはマップ上を移動し、その移動に伴って陣地の獲得、敵ユニットとの戦闘、敵ユニットへのダメージ付与などが実行される。ターン処理の動作の一例は、後述する図２４に示される。
【００９１】
ステップＳ１７を終了すると、ステップＳ１９で、ＣＰＵ３６は、順序データに基づいて、ターン処理を行うチームとして後攻チームを選択し、たとえば当該チームの識別情報を選択チームデータとしてメインメモリ４０に記憶する。そして、ステップＳ２１で、ＣＰＵ３６はターン処理を実行する。これによって、今度は、後攻チームのユニットがマップ上を移動される。このステップＳ２１で実行されるターン処理の動作は、ステップＳ１７で実行されるターン処理の動作と同じであり、後述する図２４に示される。
【００９２】
ステップＳ２１を終了すると、ステップＳ２３で、ＣＰＵ３６は、変数Ｎの値が所定の閾値を超えたか否かを判定する。ステップＳ２３で“ＮＯ”であれば、つまり、まだ規定のターン数を消化しておらず移動機会が残っている場合には、ＣＰＵ３６はステップＳ１３に戻って次のターンのために処理を続ける。一方、ステップＳ２３で“ＹＥＳ”であれば、つまり、規定のターン数を消化しても勝敗が決しなかった場合には、たとえば両陣営を引き分けとする終了処理を実行して、ゲーム処理を終了する。
【００９３】
図２４には、図２３のステップＳ１７およびＳ２１のターン処理の動作の一例が示される。ターン処理を開始すると、ＣＰＵ３６は、まず、ステップＳ３１で移動ルート設定処理を実行する。この移動ルート設定処理では、移動対象のユニットが選択されるとともに当該ユニットの移動ルートが設定される。移動ルート設定処理の動作の一例は後述する図２５に詳細に示される。
【００９４】
次に、ステップＳ３３で、ＣＰＵ３６は移動処理を実行する。この移動処理では、移動対象のユニットが移動ルートに沿って目的地まで移動され、たとえば土地の獲得、囲みによる占領またはダメージ付与、あるいは戦闘などが実行される。移動処理の動作の一例は後述する図２６に詳細に示される。
【００９５】
続いて、ステップＳ３５で、ＣＰＵ３６は移動終了処理を実行する。この移動終了処理では、目的地に達したときのリンクもしくは囲みによる占領またはダメージ付与などが実行される。この移動終了処理の動作の一例は後述する図３１に詳細に示される。
【００９６】
そして、ステップＳ３７で、ＣＰＵ３６は、選択チームの全てのユニットの移動を完了したか否かを判断する。各ユニットが移動済みであるか否かは、青チーム制御データ記憶領域８４または赤チーム制御データ記憶領域８６の各ユニットの移動済みデータに記憶されているので、ＣＰＵ３６は選択チームの全ユニットの移動済みデータがすべて完了を示すか否かを判定する。ステップＳ３７で“ＮＯ”であれば、つまり、移動させていないユニットが残っている場合には、ＣＰＵ３６はステップＳ３１に戻って残りユニットのために処理を続ける。一方、ステップＳ３７で“ＹＥＳ”であれば、つまり、選択チームの全ユニットの移動が完了した場合には、このターン処理を終了する。
【００９７】
図２５には、図２４のステップＳ３１の移動ルート設定処理の動作の一例が示される。図２５の最初のステップＳ５１で、ＣＰＵ３６は、選択チームの移動操作担当がプレイヤであるか否かを、移動操作担当データおよび選択チームデータに基づいて判定する。
【００９８】
ステップＳ５１で“ＹＥＳ”であれば、つまり、選択チームがプレイヤによって操作される場合には、ＣＰＵ３６は、ステップＳ５３で操作データに基づくユニット選択処理を実行する。たとえば、図１８に示したように、ゲーム画面には移動対象ユニットを選択するためのカーソル１１４が表示されており、プレイヤは、方向指示スイッチまたはアナログジョイスティックによる方向入力によってカーソル１１４を所望のユニットの位置に移動させ、カーソル１１４をユニットに合わせた状態でＡボタンを操作することによって、移動対象とするユニットを選択できる。具体的には、ＣＰＵ３６は、コントローラＩ／Ｆ５６を介して選択チームを操作するプレイヤに対応するコントローラ２２の操作データを一定時間ごと（たとえば１フレームごと）に取得してメインメモリ４０に記憶する。ＣＰＵ３６は、方向入力の操作データに応じてカーソル１１４の位置を変更して移動させる。ＣＰＵ３６は、Ａボタンの操作を示す操作データが取得されたときには、カーソル１１４の位置データと選択チームの各ユニットの位置データとを照合して、ユニットが選択されているか否かを判定する。カーソル１１４の位置と選択チームのいずれかのユニットの位置とが一致する場合には、ＣＰＵ３６はたとえば当該ユニットの識別情報を移動対象データとしてメインメモリ４０の所定領域に記憶する。
【００９９】
続いて、ステップＳ５５で、ＣＰＵ３６は、ＧＰＵ４２を用いて、選択されたユニットをマップ上で持ち上げる画像を生成してモニタ３４に表示する。これによって、たとえば図１９に示すように、移動対象のユニット１１０ａが爪状のキャッチャ１１６によって吊り上げられる画像が表示される。また、このステップでは、ユニットが移動することのできる位置であることを示す所定の画像（たとえば緑色の矩形状のマーク）が、対応する位置に表示される。ユニットの移動可能な位置は、たとえば、当該ユニットの機動力と地形の移動コストに応じて決定される。ユニットの機動力は１ターンで移動可能な距離であり、たとえばユニットの種類に応じて予め決められている。また、地形の移動コストは、当該地形上を移動するのに必要な機動力の値であり、地形の種類に応じて予め決められている。ユニットは、現在の位置からの目的地までの移動コストの合計が機動力の値よりも小さければ、その目的地までの範囲内を移動することができる。
【０１００】
そして、ステップＳ５７で、ＣＰＵ３６は、操作データに基づく移動ルート選択処理を実行する。たとえば、図１９に示したように、ゲーム画面には、方向指示スイッチまたはアナログジョイスティックによる方向入力に応じて、吊り上げられたユニット１１０ａが移動されるとともに、移動ルートを示す矢印１１８が現在のユニット位置から表示される。したがって、プレイヤは、方向入力によって、吊り上げられたユニット１１０ａおよび矢印１１８の頭を所望の位置に移動させて、Ａボタンを操作することによって現在位置から目的地までの移動ルートを選択することができる。なお、吊り上げられたユニット１１０ａおよび矢印１１８の頭は移動可能な範囲を越えて移動されないように制限されてよい。また、移動目的地がマップ上の味方拠点または味方ユニットとリンクを発生させる位置であると判定される場合には、当該リンクを構成する複数の升目の周縁を縁取るマーク画像１２０が表示される。具体的には、移動ルートを取得する際には、ＣＰＵ３６は、コントローラＩ／Ｆ５６を介して選択チームを操作するプレイヤに対応するコントローラ２２の操作データを一定時間ごと（たとえば１フレームごと）に取得してメインメモリ４０に記憶する。ＣＰＵ３６は、方向入力の操作データに応じて、指示された位置を特定して、指示位置の履歴をメインメモリ４０の所定領域に記憶する。なお、特定された位置が変化したときに、当該位置を指示位置の履歴に追加する。また、ＣＰＵ３６は、Ａボタンの操作を示す操作データが取得されたときには、目的地が指示されたものと見なして、指示位置の履歴の取得を停止する。したがって、記憶された指示位置の履歴は目的地までの移動ルートを示す。
【０１０１】
続いて、ステップＳ５９で、ＣＰＵ３６は、ＧＰＵ４２を用いて、選択されたユニットを目的地に降ろす画像を生成してモニタ３４に表示する。そして、ステップＳ６１で、ＣＰＵ３６は、移動先確認のためのダイアログボックスをモニタ３４に表示する。たとえば「この移動ルートおよび目的地でよろしいですか？」といったメッセージが文字で表示されてよい。ＣＰＵ３６は、ステップＳ６３で上記確認に対する操作データを取得して、ステップＳ６５でＯＫが選択されたか否か、つまり、Ａボタンが操作されたか否かを判断する。ステップＳ６５で“ＮＯ”であれば、つまり、Ｂボタンが操作された場合には、移動ルートの取り消しが指示されたので、ＣＰＵ３６は、ステップＳ５５に戻って、吊り上げられたユニットを再び現在位置に表示して、移動ルートを取得するための処理を繰返す。一方、ステップＳ６５で“ＹＥＳ”であれば、つまり、移動ルートが認定された場合には、ＣＰＵ３６は、ステップＳ６７で、指示された位置の履歴を移動ルートデータとしてメインメモリ４０の所定領域に記憶する。
【０１０２】
また、ステップＳ５１で“ＮＯ”であれば、つまり、選択チームの操作担当がコンピュータである場合には、ＣＰＵ３６は、ステップＳ６９で、ユニット自動選択処理を実行する。たとえば、所定のプログラムに従って、ＣＰＵ３６は、選択チームのユニットから移動対象とするユニットを選択し、移動対象データとして当該ユニットの識別情報をメインメモリ４０の所定領域に記憶する。そして、ステップＳ７１で、ＣＰＵ３６は移動ルート自動設定処理を実行する。たとえば、所定のプログラムに従って、ＣＰＵ３６は、移動対象に選択されたユニットの移動ルートを自動的に決定し、移動ルートデータとしてメインメモリ４０の所定領域に記憶する。ステップＳ６７またはＳ７１を終了すると、この移動ルート設定処理を終了して、ＣＰＵ３６は、図２４のステップＳ３３に戻る。
【０１０３】
図２６には、図２４のステップＳ３３の移動処理の動作の一例が示される。図２６の最初のステップＳ８１で、ＣＰＵ３６は、移動対象ユニットの位置を移動ルートに沿って１升分移動した位置に設定する。つまり、ＣＰＵ３６は、現在の位置データと移動ルートデータから次の位置を特定し、当該特定した位置を移動対象ユニットの位置データとして記憶する。次に、ステップＳ８３で、ＣＰＵ３６は、ＧＰＵ４２を用いて移動後の位置に当該ユニットを描画する。したがって、移動対象のユニットが移動ルート上を１升だけ移動した画像が表示される。
【０１０４】
続いて、ステップＳ８５で、ＣＰＵ３６は、移動対象ユニットの移動後の位置と、敵ユニットの位置とが一致するか否かを判断する。ステップＳ８５で“ＹＥＳ”であれば、ＣＰＵ３６は、ステップＳ８７で戦闘処理を実行する。この戦闘処理によって戦闘モードが開始され、マップ移動モードと別画面でユニット同士の直接の戦闘が実行される。移動対象ユニットの位置に隣接する位置に選択チームの味方ユニットが存在する場合には、当該味方ユニットも戦闘に参加することとなる。敵チームのユニットについても同様に隣接位置に存在するユニットが戦闘に参加する。戦闘でＨＰがゼロになったユニットは破壊される。戦闘処理の動作の一例は後述する図４１から図４３に示される。
【０１０５】
ステップＳ８７を終了すると、ＣＰＵ３６は、マップ移動モードを再開し、ステップＳ８９で、ＧＰＵ４２を用いて戦闘で破壊されたユニットの画像をマップ上から消去する。また、ステップＳ９１で、ＣＰＵ３６は、戦闘で破壊されたユニットのデータを青チーム制御データ記憶領域８４または赤チーム制御データ記憶領域８６等から消去し、また、各チームの制御データのうちのユニット数を更新する。
【０１０６】
そして、ステップＳ９３で、ＣＰＵ３６は、選択チームが戦闘で勝利したか否かを判断する。ステップＳ９３で“ＹＥＳ”であれば、つまり、選択チームが勝った場合には、ＣＰＵ３６は、ステップＳ９５でマップ上に登場している敵チームのユニットが全滅したか否かを、敵チームの制御データ記憶領域のユニット数データから判断する。一方、ステップＳ９３で“ＮＯ”であれば、つまり、選択チームが負けた場合には、ＣＰＵ３６は、ステップＳ９７でマップ上に登場している選択チームのユニットが全滅したか否かを、選択チームの制御データ記憶領域のユニット数データから判断する。
【０１０７】
ステップＳ９５で“ＮＯ”であれば、つまり、敵チームにまだユニットが残っている場合には、移動対象ユニットの移動を続行すべく、ＣＰＵ３６は処理をステップＳ９９に進める。一方、ステップＳ９５で“ＮＯ”であれば、つまり、敵チームが戦闘によって全滅した場合には、勝利条件が満足されたので、ＣＰＵ３６は処理をステップＳ１１１に進める。
【０１０８】
また、ステップＳ９７で“ＹＥＳ”であれば、つまり、選択チームが戦闘によって全滅した場合には、勝利条件が満足されたので、ＣＰＵ３６は処理をステップＳ１１１に進める。一方、ステップＳ９７で“ＮＯ”であれば、つまり、選択チームにまだユニットが残っている場合には、選択チームの残りのユニットの移動を実行すべく、ＣＰＵ３６はこの移動処理を終了して、処理を図２４のステップＳ３７に進める。
【０１０９】
また、ステップＳ８５で“ＮＯ”であれば、つまり、移動対象ユニットが１升移動しても敵ユニットと重ならなかった場合には、ＣＰＵ３６は処理をステップＳ９９に進める。
【０１１０】
ステップＳ９９では、ＣＰＵ３６は、移動後の位置を占領地に設定する。具体的には、ＣＰＵ３６は、移動後の位置を占領地データ記憶領域８８に記憶する。そして、ＣＰＵ３６は、ステップＳ１０１で占領処理を実行する。これによって、移動後の位置を選択チームの領地に加えることができる。この占領処理の動作の一例は後述する図２７に詳細に示される。
【０１１１】
ステップＳ１０１を終了すると、ＣＰＵ３６は、ステップＳ１０３で移動中の囲み判定処理を実行する。この移動中の囲み判定では、上述の図１６および図１７に示したように、移動中の位置の周辺にその移動によって囲みが生じるか否かが判定される。囲みが成立するときには、敵ユニットが存在しなければ囲み内の土地が占領され、敵ユニットが存在すれば当該敵ユニットにダメージが付与される。この移動中の囲み判定処理の動作の一例は後述する図２８および図２９に詳細に示される。
【０１１２】
ステップＳ１０３を終了すると、ＣＰＵ３６は、ステップＳ１０５で、敵チームのユニットが囲みによるダメージ付与によって全滅したか否かを、そのユニット数データから判断する。ステップＳ１０５で“ＹＥＳ”であれば、つまり、マップ上でのダメージ付与によって敵が全滅した場合には、勝利条件が満たされたので、ＣＰＵ３６は処理をステップＳ１１１に進める。
【０１１３】
一方、ステップＳ１０５で“ＮＯ”であれば、ＣＰＵ３６は、ステップＳ１０７で移動後の位置が移動ルートの目的地であるか否かを判断する。ステップＳ１０７で“ＮＯ”であれば、つまり、移動後の位置が移動ルートの途中の位置である場合には、ＣＰＵ３６は、ステップＳ８１に戻って、移動ルート上の移動のための処理を繰返す。
【０１１４】
一方、ステップＳ１０７で“ＹＥＳ”であれば、つまり、移動ルートの終点に到達した場合には、ＣＰＵ３６は、ステップＳ１０９で、選択チームの占領率が所定の閾値を超えたか否かを、選択チームの領地データのうちの占領率データから判断する。所定の閾値はたとえば７０％程度に設定されてよい。ステップＳ１０９で“ＹＥＳ”であれば、つまり、選択チームが勝利条件を満足したときには、ＣＰＵ３６は処理をステップＳ１１１に進める。
【０１１５】
ステップＳ１１１では、ＣＰＵ３６は、勝利条件が満足されたのでゲーム終了処理を実行する。たとえば、ＣＰＵ３６は、青チームまたは赤チームの勝利を告げる画面を生成してモニタ３４に表示する。そして、ＣＰＵ３６はゲーム処理を終了する。一方、ステップＳ１０９で“ＮＯ”であれば、ＣＰＵ３６はこの移動処理を終了して、図２４のステップＳ３５へ戻る。
【０１１６】
図２７には、図２６のステップＳ１０１の占領処理の動作の一例が示される。なお、この占領処理は、後述する移動中の囲み判定処理（図２８および図２９）およびリンク囲み処理（図３２−図３９）でも実行される。
【０１１７】
図２７の占領処理を開始すると、まずステップＳ１２１で、ＣＰＵ３６は、選択チームの領地データ記憶領域９０または９２のうちの位置データに、占領地データの位置を追加的に記憶する。占領地データには、移動による占領、リンクによる占領、または囲みによる占領によって獲得される土地の位置が記憶されている。次に、ステップＳ１２３で、ＣＰＵ３６は、占領地データに含まれていた位置の数に基づいて、選択チームの領地データ記憶領域９０または９２のうちの領地数データおよび占領率データを更新する。
【０１１８】
続いて、ステップＳ１２５では、ＣＰＵ３６は、ＧＰＵ４２を用いて占領地データに含まれる各位置の色を選択チームに対応する色に変更する。これによって、たとえば図２０に示したように、占領された土地の色が選択チームの領地を示す色で着色される。
【０１１９】
また、ＣＰＵ３６は、ステップＳ１２７で、占領地データと敵チームの領地データとを照合して、占領地に敵チームに所属する位置が含まれていたか否かを判断する。ステップＳ１２７で“ＹＥＳ”であれば、つまり、敵チームの領地を奪った場合には、敵チームの領地データを更新する必要がある。具体的には、ＣＰＵ３６は、ステップＳ１２９で、敵チームの領地データのうちの位置データから、占領地データに含まれていた位置を削除する。また、ステップＳ１３１で、ＣＰＵ３６は、選択チームに奪われた敵チームの位置の数に基づいて、敵チームの領地データのうちの領地数データおよび占領率データを更新する。ステップＳ１３１を終了し、またはステップＳ１２７で“ＮＯ”であれば、ＣＰＵ３６はこの占領処理を終了する。
【０１２０】
図２８には、図２６のステップＳ１０３の移動中の囲み判定処理の動作の一例が示される。まず、ステップＳ１４１で、ＣＰＵ３６は、ユニットの移動後の位置の１升上方向の囲みが発生しているか否かを判定する。具体的には、ＣＰＵ３６は、図１６に示したように、ユニットの移動後の位置の上方向が選択チームの領地によって囲まれたか否かを判定する。たとえば、ＣＰＵ３６は、移動後の位置の１升上の位置を始点に設定し、当該始点から選択チームの領地に沿って１マスずつ進める調査を行う。その結果、内回りで始点まで戻ってくることが検出された場合には囲みが成立するものと判定する。一方、進行位置がマップの外周に到達したことや、外回りで始点まで戻ってきたことが検出された場合には囲み不成立と判定する。
【０１２１】
そして、ステップＳ１４３で、ＣＰＵ３６は、囲みが成立したか否かを判断し、“ＹＥＳ”であれば、ステップＳ１４５で、囲み内に敵ユニットが存在するか否かを判断する。具体的には、ＣＰＵ３６は、選択チームの領地データのうちの位置データと移動後の位置の１升上の位置データとに基づいて囲み内の位置を特定する。そして、ＣＰＵ３６は、敵チームの制御データに含まれる各ユニットの位置が当該囲み内の位置に含まれるか否かを判定する。
【０１２２】
なお、図２８では、簡略化のために、囲み内の敵ユニットの存在のみを判定しているが、ステップＳ１４５で“ＮＯ”の場合には、さらに敵拠点および中立拠点の存在も判定する。囲み内に敵拠点または中立拠点が存在するときには、ステップＳ１４７およびＳ１４９による囲み内の占領が行われないようにする。これは、他の囲みやリンク内の敵ユニットの存在を判定して、占領またはダメージ付与を行う場合にも同様に適用される。
【０１２３】
ステップＳ１４５で“ＮＯ”であれば、つまり、囲み内の占領が可能である場合には、ＣＰＵ３６は、ステップＳ１４７で、囲み内の全ての位置を占領地データ記憶領域８８に記憶して、占領地として設定する。そして、ステップＳ１４９で、ＣＰＵ３６は、上述の占領処理（図２７）を実行して、囲み内の土地を選択チームに占領させる。
【０１２４】
一方、ステップＳ１４５で“ＹＥＳ”であれば、つまり、囲み内に敵ユニットが存在する場合には、ＣＰＵ３６は、ステップＳ１５１で囲みダメージ処理を実行する。これによって、囲み内に存在する敵ユニットにダメージが与えられる。この囲みダメージ処理の動作の一例は後述する図３０に詳細に示される。
【０１２５】
ステップＳ１４９またはＳ１５１を終了すると、ＣＰＵ３６は処理をステップＳ１５３に進める。また、ステップＳ１４３で“ＮＯ”である場合、つまり、移動途中の位置の上方向に囲みが発生しない場合にも、ＣＰＵ３６は処理をステップＳ１５３に進める。
【０１２６】
ステップＳ１５３では、ＣＰＵ３６は、移動後の位置の１升下方向の囲みが発生しているか否かを判定する。具体的には、ＣＰＵ３６は、図１７（Ａ）に示したように、ユニットの移動後の位置の下方向が選択チームの領地によって囲まれたか否かを判定する。ＣＰＵ３６は、移動後の位置の１升下の位置を始点に設定して、上述のステップＳ１４１と同様の方法で囲み判定を行う。
【０１２７】
そして、ステップＳ１５５で、ＣＰＵ３６は、囲みが成立したか否かを判断し、“ＹＥＳ”であれば、ステップＳ１５７で、囲み内に敵ユニットが存在するか否かを判断する。敵ユニットが存在せず、かつ、囲み内を占領可能である場合には、ＣＰＵ３６は、ステップＳ１５９で囲み内の全ての位置を占領地に設定して、ステップＳ１６１で上述の占領処理（図２７）を実行し、移動途中の位置の下方向の囲み内を選択チームに占領させる。一方、ステップＳ１５７で“ＹＥＳ”であれば、つまり、囲み内に敵ユニットが存在する場合には、ＣＰＵ３６は、ステップＳ１６３で、後述する囲みダメージ処理を実行して、移動途中の位置の下方向に生じた囲み内の敵ユニットにダメージを与える。ステップＳ１６１またはＳ１６３を終了し、または、ステップＳ１５５で“ＮＯ”である場合には、ＣＰＵ３６は処理を次の図２９のステップＳ１６５へ進める。
【０１２８】
図２９のステップＳ１６５では、ＣＰＵ３６は、移動後の位置の１升左方向の囲みが発生しているか否かを判定する。具体的には、ＣＰＵ３６は、図１７（Ｂ）に示したように、ユニットの移動後の位置の左方向が選択チームの領地によって囲まれたか否かを判定する。ＣＰＵ３６は、移動後の位置の１升左の位置を始点に設定して、上述のステップＳ１４１と同様の方法で囲み判定を行う。
【０１２９】
そして、ステップＳ１６７で、ＣＰＵ３６は、囲みが成立したか否かを判断し、“ＹＥＳ”であれば、ステップＳ１６９で、囲み内に敵ユニットが存在するか否かを判断する。敵ユニットが存在せず、かつ、囲み内を占領可能である場合には、ＣＰＵ３６は、ステップＳ１７１で囲み内の全ての位置を占領地に設定して、ステップＳ１７３で上述の占領処理（図２７）を実行し、移動途中の位置の左方向の囲み内を選択チームに占領させる。一方、ステップＳ１６９で“ＹＥＳ”であれば、つまり、囲み内に敵ユニットが存在する場合には、ＣＰＵ３６は、ステップＳ１７５で、後述する囲みダメージ処理を実行して、移動途中の位置の左方向に生じた囲み内の敵ユニットにダメージを与える。ステップＳ１７３またはＳ１７５を終了し、または、ステップＳ１６７で“ＮＯ”である場合には、ＣＰＵ３６は処理をステップＳ１７７に進める。
【０１３０】
ステップＳ１７７では、ＣＰＵ３６は、移動後の位置の１升右方向の囲みが発生しているか否かを判定する。具体的には、ＣＰＵ３６は、図１７（Ｃ）に示したように、ユニットの移動後の位置の左方向が選択チームの領地によって囲まれたか否かを判定する。ＣＰＵ３６は、移動後の位置の１升右の位置を始点に設定して、上述のステップＳ１４１と同様の方法で囲み判定を行う。
【０１３１】
そして、ステップＳ１７９で、ＣＰＵ３６は、囲みが成立したか否かを判断し、“ＹＥＳ”であれば、ステップＳ１８１で、囲み内に敵ユニットが存在するか否かを判断する。敵ユニットが存在せず、かつ、囲み内を占領可能である場合には、ＣＰＵ３６は、ステップＳ１８３で囲み内の全ての位置を占領地に設定して、ステップＳ１８５で上述の占領処理（図２７）を実行し、移動途中の位置の右方向の囲み内を選択チームに占領させる。一方、ステップＳ１８１で“ＹＥＳ”であれば、つまり、囲み内に敵ユニットが存在する場合には、ＣＰＵ３６は、ステップＳ１８７で、後述する囲みダメージ処理を実行して、移動途中の位置の右方向に生じた囲み内の敵ユニットにダメージを与える。ステップＳ１８５またはＳ１８７を終了し、または、ステップＳ１７９で“ＮＯ”である場合には、ＣＰＵ３６はこの移動中の囲み判定処理を終了して、図２６のステップＳ１０５に戻る。
【０１３２】
図３０には、移動中の囲み判定処理（図２８のステップＳ１５１、Ｓ１６３および図２９のステップＳ１７５、Ｓ１８７）における囲みダメージ処理の動作の一例が示される。なお、この囲みダメージ処理は、後述するリンク囲み処理（図３２−図３９）においても実行される。
【０１３３】
囲みダメージ処理を開始すると、ＣＰＵ３６は、まずステップＳ２０１で、囲み内の敵ユニット数を算出する。たとえば、ＣＰＵ３６は、敵チームの制御データに含まれる各ユニットの位置と囲み内の全ての位置とを照合して、囲み内の敵ユニットを特定するとともに囲み内の敵ユニットの数を数える。
【０１３４】
次に、ステップＳ２０３で、ＣＰＵ３６は囲み内の各敵ユニットの最大ＨＰに基づいて、ダメージ値を算出する。具体的には、図１１で示したように、ＣＰＵ３６は、各敵ユニットの最大ＨＰの２５％の平均値を算出し、これを囲みによるダメージ値とする。
【０１３５】
続いて、ステップＳ２０５で、ＣＰＵ３６は、囲み内の各敵ユニットのＨＰからダメージ値を減算して、敵チームの制御データのうち、囲み内に存在する各敵ユニットのＨＰデータを更新する。
【０１３６】
また、ステップＳ２０７で、ＣＰＵ３６は、ＧＰＵ４２を用いて、囲み内の各敵ユニットがダメージを受ける画像を生成してモニタ３４に表示する。これによって、囲み内の敵ユニットがダメージを受けてＨＰが減少する画面が表示される。
【０１３７】
そして、ステップＳ２０９で、ＣＰＵ３６は、ＨＰが０になった敵ユニットが存在するか否かを、囲み内の各敵ユニットのＨＰデータから判定する。ステップＳ２０９で“ＹＥＳ”であれば、つまり、囲みによるダメージを受けて破壊された敵ユニットが存在する場合には、ＣＰＵ３６は、ステップＳ２１１で、ＧＰＵ４２を用いて、該当するユニットの画像をマップ上から消去する。また、ステップＳ２１３で、ＣＰＵ３６は、該当するユニットのデータを敵チームの制御データから消去する。また、敵チームの制御データのうちのユニット数から破壊されたユニット数を減算して、ユニット数データを更新する。ステップＳ２１３を終了し、または、ステップＳ２０９で“ＮＯ”の場合には、ＣＰＵ３６はこの囲みダメージ処理を終了する。
【０１３８】
図３１には、図２４のステップＳ３５の移動終了処理の動作の一例が示される。まずステップＳ２３１で、ＣＰＵ３６は、移動ルートに沿った到達地点が敵チームの拠点または中立拠点であるか否かを判定する。たとえば、ＣＰＵ３６は、マップデータのうちの拠点位置データと移動ルートデータから、目的地が拠点位置か否かを判定し、目的地が拠点位置である場合には、当該拠点の所属が敵または中立であるか否かを拠点所属データ記憶領域７８のデータから判定する。
【０１３９】
ステップＳ２３１で“ＹＥＳ”であれば、ＣＰＵ３６は、ステップＳ２３３で、当該拠点の所属を選択チームに変更するように、拠点所属データ記憶領域７８を更新する。続いて、ステップＳ２３５で、ＣＰＵ３６は、選択チームの新しい味方ユニットを当該拠点から発生させる。具体的には、選択チームの制御データ記憶領域８４または８６のユニット数を増加させるとともに、当該制御データ記憶領域８４または８６に新しいユニットのデータを生成する。新ユニットの位置は当該拠点位置に設定される。そして、ステップＳ２３７で、ＣＰＵ３６は、当該拠点から選択チームの新しい味方ユニットが出現する画像をＧＰＵ４２を用いて生成しモニタ３４に表示する。このように、この実施例では、敵拠点または中立拠点に到達したときには、当該拠点が占領されるとともに、新しい味方ユニットがマップに出現する。したがって、拠点を占領することでゲームを有利に進めることができるようになっている。
【０１４０】
ステップＳ２３７を終了し、またはステップＳ２３１で“ＮＯ”である場合には、ＣＰＵ３６は、ステップＳ２３９で、マップデータのうちの相手チームの基地位置データと移動ルートデータから、到達地点が相手チームの基地であるか否かを判定する。ステップＳ２３９で“ＹＥＳ”であれば、つまり、選択チームのユニットが敵基地に到達した場合には、勝利条件が満足されたので、ＣＰＵ３６は処理をステップＳ２４７に進める。
【０１４１】
一方、ステップＳ２３９で“ＮＯ”であれば、ＣＰＵ３６は、ステップＳ２４１でリンク囲み処理を実行する。このリンク囲み処理では、移動の結果到達した位置と他の味方ユニットまたは味方拠点との関係でリンクまたは囲みが発生するときには、リンクまたは囲みによる占領またはダメージ付与が行われる。このリンク囲み処理の動作の一例が後述する図３２−図３９に詳細に示される。
【０１４２】
ステップＳ２４１を終了すると、ＣＰＵ３６は、ステップＳ２４３でリンクまたは囲みによるダメージを受けて敵ユニットが全滅したか否かを敵チームの制御データのうちのユニット数から判定する。ステップＳ２４３で“ＹＥＳ”であれば、勝利条件が満足されたので、ＣＰＵ３６は、処理をステップＳ２４７に進める。
【０１４３】
一方、ステップＳ２４３で“ＮＯ”であれば、つまり、マップ上に敵チームのユニットが残っている場合には、ＣＰＵ３６は、ステップＳ２４５で、選択チームの領地データのうちの占領率データから、選択チームの占領率が所定の閾値を超えたか否かを判定する。ステップＳ２４５で“ＹＥＳ”であれば、勝利条件が満足されたので、ＣＰＵ３６は、ステップＳ２４７で、たとえば図２６のステップＳ１１１と同様にして、ゲーム終了処理を実行して、たとえば選択チームの勝利を告げる画面を表示する。そして、ＣＰＵ３６はこのゲーム処理を終了する。一方、ステップＳ２４５で“ＮＯ”であれば、ＣＰＵ３６は、この移動終了処理を終了して、図２４のステップＳ３７へ戻る。
【０１４４】
図３２には、図３１のステップＳ２４１のリンク囲み処理の動作の一例が示される。ＣＰＵ３６は、まずステップＳ２６１で、到達位置から上方向へのリンクを調査する。具体的には、図１２（Ａ）に示したように、ＣＰＵ３６は、まず、到達位置から上方向の各位置を、マップ外周まで順次調査して、味方ユニット、味方拠点、敵ユニット、敵拠点または中立拠点の存在を検出する。なお、味方ユニットの位置は選択チームの制御データに記憶され、敵ユニットの位置は敵チームの制御データに記憶され、各拠点位置はマップデータに記憶されている。
【０１４５】
次にステップＳ２６３で、ＣＰＵ３６は、上方向への調査結果から、最初に敵ユニットが存在しているか否かを判断する。ステップＳ２６３で“ＹＥＳ”であれば、ＣＰＵ３６は、ステップＳ２６５で、敵ユニットの次に味方ユニットまたは味方拠点が存在しているか否かを判定する。ステップＳ２６５で“ＹＥＳ”であれば、つまり、１または複数の敵ユニットが選択チームの移動対象ユニットとその味方ユニットまたは味方拠点の間に挟まれている場合には、リンクによるダメージ付与の条件が満足されるので、ＣＰＵ３６は、ステップＳ２６７で、リンクダメージ処理を実行する。このリンクダメージ処理の動作は後述する図４０に詳細に示される。
【０１４６】
なお、ステップＳ２６５で“ＮＯ”であれば、到達位置の上方向にはリンクおよび囲みともに成立しないので、ＣＰＵ３６は、処理を次の図３３のステップＳ２８７に進める。
【０１４７】
一方、ステップＳ２６３で“ＮＯ”であれば、ＣＰＵ３６は、ステップＳ２６９で、最初に味方ユニットまたは味方拠点が存在しているか否かを判断する。ステップＳ２６９で“ＹＥＳ”であれば、つまり、選択チームの移動対象ユニットとその味方ユニットまたは味方拠点との間にリンクが成立し、しかもそのリンク内に他の拠点やユニットが存在していない場合には、リンクによる占領の条件が満足される。したがって、ＣＰＵ３６は、ステップＳ２７１でリンク内の全ての位置を占領地に設定する。具体的には、到達位置と上方向の味方の位置とに基づいて、リンク内の全ての位置を特定し、当該位置を占領地データ記憶領域８８に記憶する。そして、ステップＳ２７３で、ＣＰＵ３６は、上述の占領処理（図２７）を実行して、上方向のリンク内の位置を選択チームに占領させる。
【０１４８】
このように、上方向のリンク占領が成立する場合には、続けて、上方向のリンクを一辺とする四角形の囲みが成立するか否かを判定する。すなわち、ステップＳ２７５で、ＣＰＵ３６は、右、下および左方向へ続くリンクによる四角形の囲み判定を実行する。具体的には、図１２（Ｂ）に示したように、ＣＰＵ３６は、上方向の味方位置（味方ユニットまたは味方拠点の位置）から右、下および左方向へ順次リンク判定を行う。つまり、ＣＰＵ３６は、まず、上方向の味方位置から右方向へのリンク判定を行う。その結果、右方向にも味方位置の存在が最初に検出される場合には、ＣＰＵ３６は当該右方向の味方位置から下方向へのリンク判定を行う。その結果、下方向にも味方位置の存在が最初に検出される場合には、ＣＰＵ３６は当該下方向の味方位置から左方向へのリンク判定を行う。そして、左方向に味方位置の存在が最初の検出される場合には、ＣＰＵ３６は、当該左方向の味方位置が移動対象ユニットの到達位置であるか否かを判断する。味方位置が移動対象ユニットの到達位置である場合には、到達位置の右上に囲みが成立すると判定される。
【０１４９】
そして、ＣＰＵ３６は、ステップＳ２７７で囲みが成立したか否かを判断し、“ＹＥＳ”であれば、ステップＳ２７９で、当該囲みによって囲まれた位置を第１右上囲みデータとしてメインメモリ４０の所定領域に記憶する。具体的には、到達位置ならびにリンク判定で順に検出された上方向の味方位置、右方向の味方位置、および下方向の味方位置に基づいて、囲み内の全ての位置を特定し、当該特定した位置を第１右上囲みデータとして記憶する。
【０１５０】
ステップＳ２７９を終了し、または、ステップＳ２７７で“ＮＯ”であれば、ＣＰＵ３６は、ステップＳ２８１で、左、下および右方向へ続くリンクによる四角形の囲み判定を実行する。具体的には、図１２（Ｂ）に示したように、ＣＰＵ３６は、上述のステップＳ２７５と同様にして、上方向の味方位置から左、下および右方向へ順次リンク判定を行って、到達位置の左上に囲みが成立するか否かを判定する。
【０１５１】
そして、ＣＰＵ３６は、ステップＳ２８３で囲みが成立したか否かを判断し、“ＹＥＳ”であれば、ステップＳ２８５で当該囲みによって囲まれた位置を第１左上囲みデータとしてメインメモリ４０の所定領域に記憶する。ステップＳ２８５を終了し、またはステップＳ２８３で“ＮＯ”であれば、ＣＰＵ３６は、処理を次の図３３のステップＳ２８７へ進める。また、ステップＳ２６９で“ＮＯ”である場合、つまり、上方向のリンクも囲みも成立し得ない場合にも、同様に、ＣＰＵ３６は処理を図３３のステップＳ２８７へ進める。
【０１５２】
図３３のステップＳ２８７で、ＣＰＵ３６は、到達位置から下方向へのリンクを調査する。具体的には、図１３に示したように、ＣＰＵ３６は、到達位置から下方向の各位置をマップ外周まで順次調査する。調査方法は上述の上方向へのリンク判定と同様である。
【０１５３】
続くステップＳ２８９で、ＣＰＵ３６は、下方向への調査結果から、最初に敵ユニットが存在しているか否かを判断する。ステップＳ２８９で“ＹＥＳ”であれば、ＣＰＵ３６は、ステップＳ２９１で、敵ユニットの次に味方ユニットまたは味方拠点が存在しているか否かを判定する。ステップＳ２９１で“ＹＥＳ”であれば、つまり、リンクによるダメージ付与の条件が満足される場合には、ＣＰＵ３６は、ステップＳ２９３で、リンクダメージ処理を実行する。このリンクダメージ処理の動作は後述する図４０に詳細に示される。
【０１５４】
なお、ステップＳ２９１で“ＮＯ”であれば、到達位置の下方向にはリンクおよび囲みともに成立しないので、ＣＰＵ３６は、処理を次の図３４のステップＳ３１３に進める。
【０１５５】
一方、ステップＳ２８９で“ＮＯ”であれば、ＣＰＵ３６は、ステップＳ２９５で、最初に味方ユニットまたは味方拠点が存在しているか否かを判断する。ステップＳ２９５で“ＹＥＳ”であれば、つまり、リンクによる占領の条件が満足される場合には、ＣＰＵ３６は、ステップＳ２９７でリンク内の全ての位置を占領地データに設定する。そして、ステップＳ２９９で、ＣＰＵ３６は、上述の占領処理（図２７）を実行して、下方向のリンク内の位置を選択チームに占領させる。
【０１５６】
下方向のリンク占領が成立する場合には、続けて、下方向のリンクを一辺とする四角形の囲みが成立するか否かを判定する。すなわち、ステップＳ３０１で、ＣＰＵ３６は、右、上および左方向へ続くリンクによる四角形の囲み判定を実行する。具体的には、図１３に示したように、ＣＰＵ３６は、下方向の味方位置から右、上および左方向へ順次リンク判定を行って、到達位置の右下における囲みの発生を判定する。
【０１５７】
続くステップＳ３０３で、ＣＰＵ３６は、囲みが成立したか否かを判断し、“ＹＥＳ”であれば、ステップＳ３０５で、当該囲みによって囲まれた位置を第１右下囲みデータとしてメインメモリ４０の所定領域に記憶する。
【０１５８】
ステップＳ３０５を終了し、または、ステップＳ３０３で“ＮＯ”であれば、ＣＰＵ３６は、ステップＳ３０７で、左、上および右方向へ続くリンクによる四角形の囲み判定を実行する。具体的には、図１３に示したように、ＣＰＵ３６は、下方向の味方位置から左、下および右方向へ順次リンク判定を行って、到達位置の左下に囲みが成立するか否かを判定する。
【０１５９】
そして、ＣＰＵ３６は、ステップＳ３０９で囲みが成立したか否かを判断し、“ＹＥＳ”であれば、ステップＳ３１１で当該囲みによって囲まれた位置を第１左下囲みデータとしてメインメモリ４０の所定領域に記憶する。ステップＳ３１１を終了し、またはステップＳ３０９で“ＮＯ”であれば、ＣＰＵ３６は、処理を次の図３４のステップＳ３１３へ進める。また、ステップＳ２９５で“ＮＯ”である場合、つまり、下方向のリンクも囲みも成立し得ない場合にも、同様に、ＣＰＵ３６は処理を図３４のステップＳ３１３に進める。
【０１６０】
図３４のステップＳ３１３では、ＣＰＵ３６は、到達位置から左方向へのリンクを調査する。具体的には、図１４に示したように、ＣＰＵ３６は、到達位置から左方向の各位置をマップ外周まで順次調査する。調査方法は上述の上方向へのリンク判定と同様である。
【０１６１】
続くステップＳ３１５で、ＣＰＵ３６は、左方向への調査結果から、最初に敵ユニットが存在しているか否かを判断する。ステップＳ３１５で“ＹＥＳ”であれば、ＣＰＵ３６は、ステップＳ３１７で、敵ユニットの次に味方ユニットまたは味方拠点が存在しているか否かを判定する。ステップＳ３１７で“ＹＥＳ”であれば、つまり、リンクによるダメージ付与の条件が満足される場合には、ＣＰＵ３６は、ステップＳ３１９で、リンクダメージ処理を実行する。このリンクダメージ処理の動作は後述する図４０に詳細に示される。
【０１６２】
なお、ステップＳ３１７で“ＮＯ”であれば、到達位置の左方向にはリンクおよび囲みともに成立しないので、ＣＰＵ３６は、処理を次の図３５のステップＳ３３９に進める。
【０１６３】
一方、ステップＳ３１５で“ＮＯ”であれば、ＣＰＵ３６は、ステップＳ３２１で、最初に味方ユニットまたは味方拠点が存在しているか否かを判断する。ステップＳ３２１で“ＹＥＳ”であれば、つまり、リンクによる占領の条件が満足される場合には、ＣＰＵ３６は、ステップＳ３２３でリンク内の全ての位置を占領地データに設定する。そして、ステップＳ３２５で、ＣＰＵ３６は、上述の占領処理（図２７）を実行して、左方向のリンク内の位置を選択チームに占領させる。
【０１６４】
左方向のリンク占領が成立する場合には、続けて、左方向のリンクを一辺とする四角形の囲みが成立するか否かを判定する。すなわち、ステップＳ３２７で、ＣＰＵ３６は、上、右および下方向へ続くリンクによる四角形の囲み判定を実行する。具体的には、図１４に示したように、ＣＰＵ３６は、左方向の味方位置から上、右および下方向へ順次リンク判定を行って、到達位置の左上における囲みの発生を判定する。
【０１６５】
続くステップＳ３２９で、ＣＰＵ３６は、囲みが成立したか否かを判断し、“ＹＥＳ”であれば、ステップＳ３３１で、当該囲みによって囲まれた位置を第２左上囲みデータとしてメインメモリ４０の所定領域に記憶する。
【０１６６】
ステップＳ３３１を終了し、または、ステップＳ３２９で“ＮＯ”であれば、ＣＰＵ３６は、ステップＳ３３３で、下、右および上方向へ続くリンクによる四角形の囲み判定を実行する。具体的には、図１４に示したように、ＣＰＵ３６は、左方向の味方位置から下、右および上方向へ順次リンク判定を行って、到達位置の左下に囲みが成立するか否かを判定する。
【０１６７】
そして、ＣＰＵ３６は、ステップＳ３３５で囲みが成立したか否かを判断し、“ＹＥＳ”であれば、ステップＳ３３７で当該囲みによって囲まれた位置を第２左下囲みデータとしてメインメモリ４０の所定領域に記憶する。ステップＳ３３７を終了し、またはステップＳ３３５で“ＮＯ”であれば、ＣＰＵ３６は、処理を次の図３５のステップＳ３３９へ進める。また、ステップＳ３２１で“ＮＯ”である場合、つまり、左方向のリンクも囲みも成立し得ない場合にも、同様に、ＣＰＵ３６は処理を図３５のステップＳ３３９に進める。
【０１６８】
図３５のステップＳ３３９では、ＣＰＵ３６は、到達位置から右方向へのリンクを調査する。具体的には、図１５に示したように、ＣＰＵ３６は、到達位置から右方向の各位置をマップ外周まで順次調査する。調査方法は上述の上方向へのリンク判定と同様である。
【０１６９】
続くステップＳ３４１で、ＣＰＵ３６は、右方向への調査結果から、最初に敵ユニットが存在しているか否かを判断する。ステップＳ３４１で“ＹＥＳ”であれば、ＣＰＵ３６は、ステップＳ３４３で、敵ユニットの次に味方ユニットまたは味方拠点が存在しているか否かを判定する。ステップＳ３４３で“ＹＥＳ”であれば、つまり、リンクによるダメージ付与の条件が満足される場合には、ＣＰＵ３６は、ステップＳ３４５で、リンクダメージ処理を実行する。このリンクダメージ処理の動作は後述する図４０に詳細に示される。
【０１７０】
なお、ステップＳ３４３で“ＮＯ”であれば、到達位置の右方向にはリンクおよび囲みともに成立しないので、ＣＰＵ３６は、処理を次の図３６のステップＳ３６５に進める。
【０１７１】
一方、ステップＳ３４１で“ＮＯ”であれば、ＣＰＵ３６は、ステップＳ３４７で、最初に味方ユニットまたは味方拠点が存在しているか否かを判断する。ステップＳ３４７で“ＹＥＳ”であれば、つまり、リンクによる占領の条件が満足される場合には、ＣＰＵ３６は、ステップＳ３４９でリンク内の全ての位置を占領地データに設定する。そして、ステップＳ３５１で、ＣＰＵ３６は、上述の占領処理（図２７）を実行して、右方向のリンク内の位置を選択チームに占領させる。
【０１７２】
右方向のリンク占領が成立する場合には、続けて、右方向のリンクを一辺とする四角形の囲みが成立するか否かを判定する。すなわち、ステップＳ３５３で、ＣＰＵ３６は、上、左および下方向へ続くリンクによる四角形の囲み判定を実行する。具体的には、図１５に示したように、ＣＰＵ３６は、右方向の味方位置から上、左および下方向へ順次リンク判定を行って、到達位置の右上における囲みの発生を判定する。
【０１７３】
続くステップＳ３５５で、ＣＰＵ３６は、囲みが成立したか否かを判断し、“ＹＥＳ”であれば、ステップＳ３５７で、当該囲みによって囲まれた位置を第２右上囲みデータとしてメインメモリ４０の所定領域に記憶する。
【０１７４】
ステップＳ３５７を終了し、または、ステップＳ３５５で“ＮＯ”であれば、ＣＰＵ３６は、ステップＳ３５９で、下、左および上方向へ続くリンクによる四角形の囲み判定を実行する。具体的には、図１５に示したように、ＣＰＵ３６は、右方向の味方位置から下、左および上方向へ順次リンク判定を行って、到達位置の右下に囲みが成立するか否かを判定する。
【０１７５】
そして、ＣＰＵ３６は、ステップＳ３６１で囲みが成立したか否かを判断し、“ＹＥＳ”であれば、ステップＳ３６３で当該囲みによって囲まれた位置を第２右下囲みデータとしてメインメモリ４０の所定領域に記憶する。ステップＳ３６３を終了し、またはステップＳ３６１で“ＮＯ”であれば、ＣＰＵ３６は、処理を次の図３６のステップＳ３６５へ進める。また、ステップＳ３４７で“ＮＯ”である場合、つまり、右方向のリンクも囲みも成立し得ない場合にも、同様に、ＣＰＵ３６は処理を図３６のステップＳ３６５に進める。
【０１７６】
続く図３６−図３９では、リンク四角形囲みが成立していた場合における囲みによる占領またはダメージ付与のための処理が実行される。図３６には到達位置の左上の囲みのための処理が示される。図３６の最初のステップＳ３６５では、ＣＰＵ３６は、上方向リンク判定に基づく第１左上囲みが成立したか否かを第１左上囲みデータから判定し、“ＹＥＳ”であれば、ステップＳ３６７で左方向リンク判定に基づく第２左上囲みが成立したか否かを第２左上囲みデータから判定する。ステップＳ３６７で“ＹＥＳ”であれば、つまり、両囲みとも成立している場合には、ＣＰＵ３６は、ステップＳ３６９で第１左上囲みと第２左上囲みとが同一であるか否かを両データから判定する。つまり、ＣＰＵ３６は同一の囲みを上方向リンク判定と左方向リンク判定で検出したのか否かを判断する。
【０１７７】
ステップＳ３６９で“ＹＥＳ”であれば、つまり、両囲みが同一の場合には、第１左上囲みについて処理を行うものとし、ＣＰＵ３６は処理をステップＳ３７１へ進める。
【０１７８】
また、ステップＳ３６７で“ＮＯ”であれば、つまり、第１左上囲みのみが成立する場合には、ＣＰＵ３６はステップＳ３７１で第１左上囲み内に敵ユニットが存在するか否かを、第１左上囲みデータと敵チームの制御データのうちの各ユニットの位置データとに基づいて判定する。
【０１７９】
ステップＳ３７１で“ＹＥＳ”であれば、ＣＰＵ３６は、ステップＳ３７３で、第１左上囲みデータに基づいて、上述の囲みダメージ処理（図３０）を実行し、当該囲み内の敵ユニットにダメージを与える。ステップＳ３７３を終了するとＣＰＵ３６は処理を図３７のステップＳ３９７へ進める。
【０１８０】
一方、ステップＳ３７１で“ＮＯ”であれば、つまり、敵ユニットが存在しない場合には、ＣＰＵ３６は、囲みによる占領を実行する。なお、図３６のステップＳ３７１では省略しているが、囲みによる占領は、当該囲み内に敵ユニットばかりでなく敵拠点および中立拠点も存在していないときに実行可能である。したがって、囲み内に敵拠点または中立拠点が存在する場合には占領は行われない。このことは他の囲みの場合も同様であるが他の囲みの箇所での説明は省略する。
【０１８１】
囲みによる占領が可能な場合には、ＣＰＵ３６は、ステップＳ３７５で第１左上囲みで囲まれた位置を占領地データに設定し、ステップＳ３７７で当該左上囲みについて上述の占領処理（図２７）を実行し、当該囲み内の全位置を選択チームに占領させる。ステップＳ３７７を終了するとＣＰＵ３６は処理をステップＳ３９７に進める。
【０１８２】
一方、ステップＳ３６９で“ＮＯ”であれば、つまり、第１左上囲みと第２左上囲みとが異なる場合には、両囲みによるダメージ付与または占領を実行する。すなわち、ＣＰＵ３６は、ステップＳ３７９で、第１左上囲み内に敵ユニットが存在するか否かを判定し、“ＹＥＳ”であれば、ステップＳ３８１で上述の囲みダメージ処理（図３０）を実行して、第１左上囲み内の敵ユニットにダメージを与える。一方、ステップＳ３７９で“ＮＯ”であれば、つまり、第１左上囲みによって占領可能な場合には、ＣＰＵ３６は、ステップＳ３８３で第１左上囲みに囲まれた位置を占領地データに設定し、ステップＳ３８５で第１左上囲みについて上述の占領処理（図２７）を実行し、当該囲み内の全ての位置を選択チームに占領させる。
【０１８３】
ステップＳ３８１またはステップＳ３８５を終了すると、ＣＰＵ３６は、ステップＳ３８７で、第２左上囲み内に敵ユニットが存在するか否かを、第２左上囲みデータと敵チームの制御データのうちの各ユニットの位置データとに基づいて判定する。ステップＳ３８７で“ＹＥＳ”であれば、ＣＰＵ３６は、ステップＳ３８９で、第２左上囲みデータに基づいて、上述の囲みダメージ処理（図３０）を実行し、敵ユニットにダメージを与える。ステップＳ３８９を終了すると、ＣＰＵ３６は処理をステップＳ３９７に進める。
【０１８４】
一方、ステップＳ３８７で“ＮＯ”であれば、つまり、第２左上囲みによって占領可能である場合には、ＣＰＵ３６は、ステップＳ３９１で、第２左上囲みに囲まれた位置を占領地データに設定し、ステップＳ３９３で第２左上囲みついて上述の占領処理（図２７）を実行し、当該第２左上囲み内の全ての位置を選択チームに占領させる。ステップＳ３９３を終了するとＣＰＵ３６は処理をステップＳ３９７に進める。
【０１８５】
また、ステップＳ３６５で“ＮＯ”であれば、ＣＰＵ３６は、ステップＳ３９５で、第２左上囲みは成立しているか否かを第２左上囲みデータから判定する。ステップＳ３９５で“ＹＥＳ”であれば、つまり、第２左上囲みのみが成立する場合には、ＣＰＵ３６は処理をステップＳ３８７へ進めて、上述したように、第２左上囲みによるダメージ付与または第２左上囲みによる占領を実行する。
【０１８６】
また、ステップＳ３９５で“ＮＯ”であれば、つまり、到達位置の左上に囲みが成立していない場合には、ＣＰＵ３６は処理を図３７のステップＳ３９７へ進める。
【０１８７】
図３７には、到達位置の右上の囲みのための処理が示される。図３７の最初のステップＳ３９７では、ＣＰＵ３６は、上方向リンク判定に基づく第１右上囲みが成立したか否かを第１右上囲みデータから判定し、“ＹＥＳ”であれば、ステップＳ３９９で右方向リンク判定に基づく第２右上囲みが成立したか否かを第２右上囲みデータから判定する。ステップＳ３９９で“ＹＥＳ”であれば、つまり、両囲みとも成立している場合には、ＣＰＵ３６は、ステップＳ４０１で第１右上囲みと第２右上囲みとが同一であるか否かを両データから判定する。つまり、ＣＰＵ３６は同一の囲みを上方向リンク判定と右方向リンク判定で検出したのか否かを判断する。
【０１８８】
ステップＳ４０１で“ＹＥＳ”であれば、つまり、両囲みが同一の場合には、第１右上囲みについて処理を行うものとし、ＣＰＵ３６は処理をステップＳ４０３へ進める。
【０１８９】
また、ステップＳ３９９で“ＮＯ”であれば、つまり、第１右上囲みのみが成立する場合には、ＣＰＵ３６はステップＳ４０３で第１右上囲み内に敵ユニットが存在するか否かを判定する。
【０１９０】
ステップＳ４０３で“ＹＥＳ”であれば、ＣＰＵ３６は、ステップＳ４０５で、第１右上囲みデータに基づいて、上述の囲みダメージ処理（図３０）を実行し、当該囲み内の敵ユニットにダメージを与える。ステップＳ４０５を終了するとＣＰＵ３６は処理を図３８のステップＳ４２９へ進める。
【０１９１】
一方、ステップＳ４０３で“ＮＯ”であれば、つまり、囲みによる占領が可能な場合には、ＣＰＵ３６は、ステップＳ４０７で第１右上囲みで囲まれた位置を占領地データに設定し、ステップＳ４０９で当該右上囲みについて上述の占領処理（図２７）を実行し、当該囲み内の全位置を選択チームに占領させる。ステップＳ４０９を終了するとＣＰＵ３６は処理をステップＳ４２９に進める。
【０１９２】
一方、ステップＳ４０１で“ＮＯ”であれば、つまり、第１右上囲みと第２右上囲みとが異なる場合には、両囲みによるダメージ付与または占領を実行する。すなわち、ＣＰＵ３６は、ステップＳ４１１で、第１右上囲み内に敵ユニットが存在するか否かを判定し、“ＹＥＳ”であれば、ステップＳ４１３で上述の囲みダメージ処理（図３０）を実行して、第１右上囲み内の敵ユニットにダメージを与える。一方、ステップＳ４１１で“ＮＯ”であれば、つまり、第１右上囲みによって占領可能な場合には、ＣＰＵ３６は、ステップＳ４１５で第１右上囲みに囲まれた位置を占領地データに設定し、ステップＳ４１７で第１右上囲みについて上述の占領処理（図２７）を実行し、当該囲み内の全ての位置を選択チームに占領させる。
【０１９３】
ステップＳ４１３またはステップＳ４１７を終了すると、ＣＰＵ３６は、ステップＳ４１９で、第２右上囲み内に敵ユニットが存在するか否かを判定する。ステップＳ４１９で“ＹＥＳ”であれば、ＣＰＵ３６は、ステップＳ４２１で、第２右上囲みデータに基づいて、上述の囲みダメージ処理（図３０）を実行し、敵ユニットにダメージを与える。ステップＳ４２１を終了すると、ＣＰＵ３６は処理をステップＳ４２９に進める。
【０１９４】
一方、ステップＳ４１９で“ＮＯ”であれば、つまり、第２右上囲みによる占領が可能な場合には、ＣＰＵ３６は、ステップＳ４２３で、第２右上囲みに囲まれた位置を占領地データに設定し、ステップＳ４２５で第２右上囲みついて上述の占領処理（図２７）を実行し、当該第２右上囲み内の全ての位置を選択チームに占領させる。ステップＳ４２５を終了するとＣＰＵ３６は処理をステップＳ４２９に進める。
【０１９５】
また、ステップＳ３９７で“ＮＯ”であれば、ＣＰＵ３６は、ステップＳ４２７で、第２右上囲みは成立しているか否かを第２右上囲みデータから判定する。ステップＳ４２７で“ＹＥＳ”であれば、つまり、第２右上囲みのみが成立する場合には、ＣＰＵ３６は処理をステップＳ４１９へ進めて、上述したように、第２右上囲みによるダメージ付与または第２右上囲みによる占領を実行する。
【０１９６】
また、ステップＳ４２７で“ＮＯ”であれば、つまり、到達位置の右上に囲みが成立していない場合には、ＣＰＵ３６は処理を図３８のステップＳ４２９へ進める。
【０１９７】
図３８には、到達位置の左下の囲みのための処理が示される。図３８の最初のステップＳ４２９では、ＣＰＵ３６は、下方向リンク判定に基づく第１左下囲みが成立したか否かを第１左下囲みデータから判定し、“ＹＥＳ”であれば、ステップＳ４３１で左方向リンク判定に基づく第２左下囲みが成立したか否かを第２左下囲みデータから判定する。ステップＳ４３１で“ＹＥＳ”であれば、つまり、両囲みとも成立している場合には、ＣＰＵ３６は、ステップＳ４３３で第１左下囲みと第２左下囲みとが同一であるか否かを両データから判定する。つまり、ＣＰＵ３６は同一の囲みを下方向リンク判定と左方向リンク判定で検出したのか否かを判断する。
【０１９８】
ステップＳ４３３で“ＹＥＳ”であれば、つまり、両囲みが同一の場合には、第１左下囲みについて処理を行うものとし、ＣＰＵ３６は処理をステップＳ４３５へ進める。
【０１９９】
また、ステップＳ４３１で“ＮＯ”であれば、つまり、第１左下囲みのみが成立する場合には、ＣＰＵ３６はステップＳ４３５で第１左下囲み内に敵ユニットが存在するか否かを判定する。
【０２００】
ステップＳ４３５で“ＹＥＳ”であれば、ＣＰＵ３６は、ステップＳ４３７で、第１左下囲みデータに基づいて、上述の囲みダメージ処理（図３０）を実行し、当該囲み内の敵ユニットにダメージを与える。ステップＳ４３７を終了するとＣＰＵ３６は処理を図３９のステップＳ４６１へ進める。
【０２０１】
一方、ステップＳ４３５で“ＮＯ”であれば、つまり、囲みによる占領が可能な場合には、ＣＰＵ３６は、ステップＳ４３９で第１左下囲みで囲まれた位置を占領地データに設定し、ステップＳ４４１で当該左下囲みについて上述の占領処理（図２７）を実行し、当該囲み内の全位置を選択チームに占領させる。ステップＳ４４１を終了するとＣＰＵ３６は処理をステップＳ４６１に進める。
【０２０２】
一方、ステップＳ４３３で“ＮＯ”であれば、つまり、第１左下囲みと第２左下囲みとが異なる場合には、両囲みによるダメージ付与または占領を実行する。すなわち、ＣＰＵ３６は、ステップＳ４４３で、第１左下囲み内に敵ユニットが存在するか否かを判定し、“ＹＥＳ”であれば、ステップＳ４４５で上述の囲みダメージ処理（図３０）を実行して、第１左下囲み内の敵ユニットにダメージを与える。一方、ステップＳ４４３で“ＮＯ”であれば、つまり、第１左下囲みによって占領可能な場合には、ＣＰＵ３６は、ステップＳ４４７で第１左下囲みに囲まれた位置を占領地データに設定し、ステップＳ４４９で第１左下囲みについて上述の占領処理（図２７）を実行し、当該囲み内の全ての位置を選択チームに占領させる。
【０２０３】
ステップＳ４４５またはステップＳ４４９を終了すると、ＣＰＵ３６は、ステップＳ４５１で、第２左下囲み内に敵ユニットが存在するか否かを判定する。ステップＳ４５１で“ＹＥＳ”であれば、ＣＰＵ３６は、ステップＳ４５３で、第２左下囲みデータに基づいて、上述の囲みダメージ処理（図３０）を実行し、敵ユニットにダメージを与える。ステップＳ４５３を終了すると、ＣＰＵ３６は処理をステップＳ４６１に進める。
【０２０４】
一方、ステップＳ４５１で“ＮＯ”であれば、つまり、第２左下囲みによる占領が可能な場合には、ＣＰＵ３６は、ステップＳ４５５で、第２左下囲みに囲まれた位置を占領地データに設定し、ステップＳ４５７で第２左下囲みついて上述の占領処理（図２７）を実行し、当該第２左下囲み内の全ての位置を選択チームに占領させる。ステップＳ４５７を終了するとＣＰＵ３６は処理をステップＳ４６１に進める。
【０２０５】
また、ステップＳ４２９で“ＮＯ”であれば、ＣＰＵ３６は、ステップＳ４５９で、第２左下囲みは成立しているか否かを第２左下囲みデータから判定する。ステップＳ４５９で“ＹＥＳ”であれば、つまり、第２左下囲みのみが成立する場合には、ＣＰＵ３６は処理をステップＳ４５１へ進めて、上述したように、第２左下囲みによるダメージ付与または第２左下囲みによる占領を実行する。
【０２０６】
また、ステップＳ４５９で“ＮＯ”であれば、つまり、到達位置の左下に囲みが成立していない場合には、ＣＰＵ３６は処理を図３９のステップＳ４６１へ進める。
【０２０７】
図３９には、到達位置の右下の囲みのための処理が示される。図３９の最初のステップＳ４６１では、ＣＰＵ３６は、下方向リンク判定に基づく第１右下囲みが成立したか否かを第１右下囲みデータから判定し、“ＹＥＳ”であれば、ステップＳ４６３で右方向リンク判定に基づく第２右下囲みが成立したか否かを第２右下囲みデータから判定する。ステップＳ４６３で“ＹＥＳ”であれば、つまり、両囲みとも成立している場合には、ＣＰＵ３６は、ステップＳ４６５で第１右下囲みと第２右下囲みとが同一であるか否かを両データから判定する。つまり、ＣＰＵ３６は同一の囲みを下方向リンク判定と右方向リンク判定で検出したのか否かを判断する。
【０２０８】
ステップＳ４６５で“ＹＥＳ”であれば、つまり、両囲みが同一の場合には、第１右下囲みについて処理を行うものとし、ＣＰＵ３６は処理をステップＳ４６７へ進める。
【０２０９】
また、ステップＳ４６３で“ＮＯ”であれば、つまり、第１右下囲みのみが成立する場合には、ＣＰＵ３６はステップＳ４６７で第１右下囲み内に敵ユニットが存在するか否かを判定する。
【０２１０】
ステップＳ４６７で“ＹＥＳ”であれば、ＣＰＵ３６は、ステップＳ４６９で、第１右下囲みデータに基づいて、上述の囲みダメージ処理（図３０）を実行し、当該囲み内の敵ユニットにダメージを与える。ステップＳ４６９を終了すると、ＣＰＵ３６はこのリンク囲み処理を終了して、図３１のステップＳ２４３へ戻る。
【０２１１】
一方、ステップＳ４６７で“ＮＯ”であれば、つまり、囲みによる占領が可能な場合には、ＣＰＵ３６は、ステップＳ４７１で第１右下囲みで囲まれた位置を占領地データに設定し、ステップＳ４７３で当該右下囲みについて上述の占領処理（図２７）を実行し、当該囲み内の全位置を選択チームに占領させる。ステップＳ４７３を終了すると、ＣＰＵ３６はこのリンク囲み処理を終了して図３１のステップＳ２４３へ戻る。
【０２１２】
一方、ステップＳ４６５で“ＮＯ”であれば、つまり、第１右下囲みと第２右下囲みとが異なる場合には、両囲みによるダメージ付与または占領を実行する。すなわち、ＣＰＵ３６は、ステップＳ４４７５で、第１右下囲み内に敵ユニットが存在するか否かを判定し、“ＹＥＳ”であれば、ステップＳ４７７で上述の囲みダメージ処理（図３０）を実行して、第１右下囲み内の敵ユニットにダメージを与える。一方、ステップＳ４７５で“ＮＯ”であれば、つまり、第１右下囲みによって占領可能な場合には、ＣＰＵ３６は、ステップＳ４７９で第１右下囲みに囲まれた位置を占領地データに設定し、ステップＳ４８１で第１右下囲みについて上述の占領処理（図２７）を実行し、当該囲み内の全ての位置を選択チームに占領させる。
【０２１３】
ステップＳ４７７またはステップＳ４８１を終了すると、ＣＰＵ３６は、ステップＳ４８３で、第２右下囲み内に敵ユニットが存在するか否かを判定する。ステップＳ４８３で“ＹＥＳ”であれば、ＣＰＵ３６は、ステップＳ４８５で、第２右下囲みデータに基づいて、上述の囲みダメージ処理（図３０）を実行し、敵ユニットにダメージを与える。ステップＳ４８５を終了すると、ＣＰＵ３６はこのリンク囲み処理を終了して、図３１のステップＳ２４３へ戻る。
【０２１４】
一方、ステップＳ４８３で“ＮＯ”であれば、つまり、第２右下囲みによる占領が可能な場合には、ＣＰＵ３６は、ステップＳ４８７で、第２右下囲みに囲まれた位置を占領地データに設定し、ステップＳ４８９で第２右下囲みついて上述の占領処理（図２７）を実行し、当該第２右下囲み内の全ての位置を選択チームに占領させる。ステップＳ４８９を終了すると、ＣＰＵ３６はこのリンク囲み処理を終了して、図３１のステップＳ２４３に戻る。
【０２１５】
また、ステップＳ４６１で“ＮＯ”であれば、ＣＰＵ３６は、ステップＳ４９１で、第２右下囲みは成立しているか否かを第２右下囲みデータから判定する。ステップＳ４９１で“ＹＥＳ”であれば、つまり、第２右下囲みのみが成立する場合には、ＣＰＵ３６は処理をステップＳ４８３へ進めて、上述したように、第２右下囲みによるダメージ付与または第２右下囲みによる占領を実行する。
【０２１６】
また、ステップＳ４９１で“ＮＯ”であれば、つまり、到達位置の右下に囲みが成立していない場合には、ＣＰＵ３６はこのリンク囲み処理を終了して図３１のステップＳ２４３に戻る。
【０２１７】
図４０には、リンク囲み処理（図３２−図３９）におけるリンクダメージ処理の動作の一例が示される。リンクダメージ処理を開始すると、ＣＰＵ３６は、まずステップＳ５０１で、リンク内の敵ユニット数を算出する。たとえば、ＣＰＵ３６は、敵チームの制御データに含まれる各ユニットの位置とリンク内の全ての位置とを照合して、リンク内の敵ユニットを特定するとともにリンク内の敵ユニットの数を数える。
【０２１８】
次に、ステップＳ５０３で、ＣＰＵ３６はリンク内の各敵ユニットの最大ＨＰに基づいて、ダメージ値を算出する。具体的には、図９で示したように、ＣＰＵ３６は、各敵ユニットの最大ＨＰの１２．５％の平均値を算出して、これをリンクによるダメージ値とする。
【０２１９】
続いて、ステップＳ５０５で、ＣＰＵ３６は、リンク内の各敵ユニットのＨＰからダメージ値を減算して、敵チームの制御データのうちリンク内に存在する各敵ユニットのＨＰデータを更新する。
【０２２０】
また、ステップＳ５０７で、ＣＰＵ３６は、ＧＰＵ４２を用いて、リンク内の各敵ユニットがダメージを受ける画像を生成してモニタ３４に表示する。これによって、たとえば図２０に示すように、リンク内の敵ユニット１１２がダメージを受けてＨＰを示すゲージの値が減少する画面が表示される。
【０２２１】
そして、ステップＳ５０９で、ＣＰＵ３６は、ＨＰが０になった敵ユニットが存在するか否かを、リンク内の各敵ユニットのＨＰデータから判定する。ステップＳ５０９で“ＹＥＳ”であれば、つまり、リンクによるダメージを受けて破壊された敵ユニットが存在する場合には、ＣＰＵ３６は、ステップＳ５１１で、ＧＰＵ４２を用いて、該当するユニットの画像をマップ上から消去する。また、ステップＳ５１３で、ＣＰＵ３６は、該当するユニットのデータを敵チームの制御データから消去する。また、敵チームの制御データのうちのユニット数データも更新する。ステップＳ５１３を終了し、または、ステップＳ５０９で“ＮＯ”の場合には、ＣＰＵ３６はこのリンクダメージ処理を終了する。
【０２２２】
図４１−図４３には、図２６の移動処理におけるステップＳ８７の戦闘処理の動作の一例が示される。戦闘処理を開始すると、図４１の最初のステップＳ５２１で、ＣＰＵ３６は、各チームの各ユニットの戦闘操作担当を選択するための画面をモニタ３４に表示する。この画面では、移動操作をプレイヤが担当するチームのユニットの戦闘操作の担当を、当該プレイヤまたはＣＯＭ（コンピュータ）から選択することができる。なお、選択チームのユニットと敵ユニットとが重なった位置に隣接する位置にユニットが存在している場合には、当該ユニットも戦闘に参加する。各チームの戦闘データ記憶領域９４または９６には、戦闘に参加するユニット数に応じて各ユニットのデータが生成される。複数のユニットが戦闘に参加するチームの移動操作をプレイヤが担当している場合、プレイヤは複数のユニットのうち１つのユニットの戦闘操作を担当することができる。あるいは、プレイヤは、全てのユニットの戦闘操作をＣＯＭに任せることができる。なお、コンピュータが移動操作を担当しているチームのユニットの戦闘操作担当は、予めＣＯＭに設定されている。
【０２２３】
ＣＰＵ３６は、ステップＳ５２３で、操作データに基づいて、各ユニットの戦闘操作担当を決定する。たとえば、ＣＰＵ３６は、方向指示スイッチ等の操作に応じて、画面上の各ユニットの操作担当をプレイヤまたはＣＯＭに変更する。また、ＣＰＵ３６は、Ａボタンの操作に応じて、全ユニットの操作担当を決定して、各ユニットの操作担当データにＣＯＭまたは各プレイヤを示す識別情報を記憶する。
【０２２４】
続いて、ＣＰＵ３６は、ステップＳ５２５で、移動操作担当データに基づいてプレイヤが移動操作を担当しているチームを特定し、プレイヤが移動操作を担当するチームのいずれかのユニットの戦闘操作担当データに、プレイヤを示すデータが設定されているか否かを判定する。ステップＳ５２５で“ＮＯ”であれば、つまり、プレイヤが戦闘操作を担当しない場合には、ＣＰＵ３６は、ステップＳ５２７で、プレイヤが移動操作を担当するチームの回復フラグの記憶領域９６または９８に「１」を書き込んで、該当するチーム回復フラグをオンにする。これによって、戦闘操作を担当しないプレイヤによる味方ユニットへの回復操作を受け付けることができる。一方、ステップＳ５２５で“ＮＯ”であれば、つまり、プレイヤが戦闘操作を担当する場合には、ＣＰＵ３６は処理をステップＳ５２９に進める。ステップＳ５２９以降の各ステップは、戦闘モード終了と判定されるまで、たとえば１フレームごとに実行される。
【０２２５】
ステップＳ５２９では、ＣＰＵ３６は、ＧＰＵ４２を用いて戦闘画面を生成してモニタ３４に表示する。初期状態の戦闘画面では、たとえば各チームが画面両端に分かれて各ユニットが所定の位置に配置される。また、たとえば図２１に示したように、画面下端部には、各ユニットの操作担当を示す画像がそれぞれ表示される。戦闘モードが進行するにつれて、各ユニットの移動および動作は操作データまたはプログラムに基づいて制御されるので、この戦闘画面の表示処理では、各ユニットが移動後の位置で動作を行う画像が表示される。
【０２２６】
そして、ステップＳ５３１で、ＣＰＵ３６は、コントローラＩ／Ｆ５６を介してコントローラ２２からの操作データを取得する。以下の処理では、この操作データに基づいて、プレイヤが戦闘操作を担当するユニットの移動および動作が制御されたり、また、回復フラグがオンにされたチームのユニットの回復が制御されたりする。
【０２２７】
ステップＳ５３３では、ＣＰＵ３６は、各チームの回復フラグがオンであるか否かを判定する。ステップＳ５３３で“ＹＥＳ”であれば、つまり、回復操作の受付中である場合には、ＣＰＵコア４２は、ステップＳ５３５で、操作データに基づいて、アナログジョイスティックおよび方向指示スイッチによる４つの方向（上下左右）のいずれかの入力、または、いずれかのボタンスイッチ（スタートボタンを除く）の入力があったか否かを判定する。なお、判定に使用される操作データは、回復フラグがオンであるチームの移動操作を担当しているプレイヤに対応するコントローラ２２からの操作データである。
【０２２８】
ステップＳ５３５で“ＹＥＳ”であれば、つまり、プレイヤによる回復操作が検出された場合には、ＣＰＵ３６は、ステップＳ５３７で、そのプレイヤが移動操作を担当するチームの各ユニットのＨＰの値に所定値（たとえば０．１）を加算して、各ユニットのＨＰデータを更新する。また、ＣＰＵ３６は、ＧＰＵ４２を用いて、たとえば該当するユニットの下方にＨＰを示すゲージを表示し、ＨＰがたとえば１回復するごとにＨＰの値を示す数字を上げるようにしてよい。なお、該当するチームのユニットのうちＨＰが最大ＨＰであるユニットに対しては、ＨＰの加算は行わない。
【０２２９】
また、ステップＳ５３９で、ＣＰＵ３６は、回復フラグがオンにされかつ回復操作が検出されたチームに異常状態のユニットが存在するか否かを、該当するチームの戦闘データのうちの異常状態データに基づいて判定する。ステップＳ５３９で“ＹＥＳ”であれば、ＣＰＵ３６は、ステップＳ５４１で、該当するユニットの残存時間から所定値（たとえば９フレーム）を減算して、その残存時間データを更新する。異常状態は残存時間（初期値はたとえば１２０フレーム）が０になるまで継続されるものであり、このように回復操作に応じて残存時間を減少させるので、異常状態からの早期復帰が可能になる。
【０２３０】
ステップＳ５４１を終了し、またはステップＳ５３９で“ＮＯ”であれば、ＣＰＵ３６は処理を図４２のステップＳ５４３に進める。また、ステップＳ５３５で“ＮＯ”であれば、つまり、回復操作が検出されなかった場合には、ＣＰＵ３６は処理をステップＳ５４３に進める。また、ステップＳ５３３で“ＮＯ”であれば、つまり、回復操作を受付中ではない場合にも、ＣＰＵ３６は処理をステップＳ５４３に進める。
【０２３１】
図４２のステップＳ５４３では、ＣＰＵ３６は、各チームの戦闘データのうち各ユニットの異常状態データに基づいて、異常状態のユニットが存在するか否かを判定する。ステップＳ５４３で“ＹＥＳ”であれば、ＣＰＵ３６は、ステップＳ５４５で、該当するユニットの残存時間を一定値（たとえば１フレーム）減少させて、その残存時間データを更新する。異常状態は所定時間継続されるので、このステップＳ５４５で、ゲームの進行に応じて残存時間を一定値減少させている。
【０２３２】
そして、ステップＳ５４７で、ＣＰＵ３６は、該当するユニットの残存時間が０以下になったか否かを判定する。ステップＳ５４７で“ＹＥＳ”であれば、ＣＰＵ３６は、ステップＳ５４９で、残存時間が０以下になったユニットの異常状態データをクリアして、正常状態に戻す。また、ＣＰＵ３６は、ステップＳ５５１で、ＧＰＵ５２を用いて、該当するユニット上に表示されていた異常状態を示すマーク画像１２６を消去する。
【０２３３】
ステップＳ５５１を終了すると、ＣＰＵ３６は処理をステップＳ５５３に進める。また、ステップＳ５４７で“ＮＯ”の場合、またはステップＳ５４３で“ＮＯ”の場合には、ＣＰＵ３６は処理をステップＳ５５３に進める。
【０２３４】
ステップＳ５５３では、ＣＰＵ３６は、上述の回復処理（ステップＳ５３７またはＳ５４１）が施されていないユニットの移動および動作を制御する。具体的には、ＣＰＵ３６は、プレイヤが戦闘操作を担当するユニットについては、ステップＳ５３１で取得した操作データに基づいて、その移動および動作を制御する。また、ＣＯＭが戦闘操作を担当するユニットについては、所定のプログラムに従って自動でその移動および動作を制御する。ただし、「しびれ」の異常状態のユニットは移動および動作不能にする。また、「スロー」の異常状態のユニットについては、その移動速度を１／３倍に設定し、その攻撃動作を不能にする。各ユニットのＨＰは敵ユニットからの攻撃に応じて減少される。また、攻撃を受けたとき、各ユニットは攻撃の種類に応じて異常状態に変化される。
【０２３５】
そして、ステップＳ５５５で、ＣＰＵ３６は、ステップＳ５５３の処理において異常状態に変化したユニットが存在するか否かを判定する。このステップＳ５５５で“ＹＥＳ”であれば、ＣＰＵ３６は、ステップＳ５５７で、該当するユニットの異常状態データに、「しびれ」または「スロー」等の異常状態を記憶する。また、ステップＳ５５９で、ＣＰＵ３６は、該当するユニットの残存時間データに初期値（たとえば１２０フレーム）を設定する。回復操作が検出されなければ、異常状態はここで設定された時間だけ継続される。また、ステップＳ５６１で、ＣＰＵ３６は、ＧＰＵ４２を用いて、該当するユニットの上に異常状態を示すマーク画像１２６を表示する。これによって、該当ユニットが異常状態になったことをプレイヤに明示できる。ステップＳ５６１を終了し、またはステップＳ５５５で“ＮＯ”であれば、ＣＰＵ３６は処理をステップＳ５６３に進める。
【０２３６】
続いて、ステップＳ５６３で、ＣＰＵ３６は、ステップＳ５５３の処理において各チームのユニットのうちプレイヤによって戦闘操作の担当されるユニットが破壊されたか否かを、各ユニットのＨＰデータに基づいて判定する。ステップＳ５６３で“ＹＥＳ”であれば、つまり、戦闘操作担当がプレイヤであるユニットのＨＰが０になった場合には、ＣＰＵ３６は、ステップＳ５６５で、そのユニットの所属するチームに対応する回復フラグをオンにする。これによって、破壊されたユニットを担当していたプレイヤによる味方ユニットへの回復操作を受け付けることができる。ステップＳ５６５を終了し、またはステップＳ５６３で“ＮＯ”であれば、ＣＰＵ３６は処理を図４３のステップＳ５６７に進める。
【０２３７】
図４３のステップＳ５６７では、ＣＰＵ３６は、各チームの回復フラグがオンであるか否かを判定する。ステップＳ５６７で“ＹＥＳ”であれば、つまり、回復操作を受付中であるチームが存在する場合には、当該チームの味方ユニットに対する回復操作を受付中であることを示すマーク画像１２４の表示が制御される。すなわち、ステップＳ５６９で、ＣＰＵ３６は、該当するチームに最大ＨＰではないユニットが存在するか否かを、そのチームの制御データの各ユニットのＨＰデータおよびＨＰ最大値データに基づいて判定する。ステップＳ５６９で“ＹＥＳ”であれば、つまり、ダメージを受けてＨＰが減少しているユニットが存在する場合には、ＣＰＵ３６は、ステップＳ５７１で、ＧＰＵ４２を用いて、該当するユニットのアイコン上に回復操作受付中であることを示すマーク画像１２４を表示する。これによって、たとえば図２１に示したように、ＨＰが最大ではない味方ユニットに対応するアイコン上にマーク画像１２４が表示される。したがって、当該チームの移動操作を担当するプレイヤに対して回復操作を促すことができる。
【０２３８】
ステップＳ５７１を終了し、またはステップＳ５６９で“ＮＯ”であれば、ＣＰＵ３６は、ステップＳ５７３で、該当するチームに最大ＨＰに回復したユニットが存在するか否かを判定する。ステップＳ５７３で“ＹＥＳ”であれば、つまり、ステップＳ５３７の処理によって最大ＨＰになったユニットが該当するチームに存在する場合には、ＣＰＵ３６は、ステップＳ５７５で、ＧＰＵ４２を用いて、該当するユニットに対応するアイコン上に表示されている回復操作受付中であることを示すマーク画像１２４を消去する。
【０２３９】
ステップＳ５７５を終了し、または、ステップＳ５７３で“ＮＯ”であれば、ＣＰＵ３６は、ステップＳ５７７で、該当するチームに異常状態のユニットが存在するか否かを、そのチームの戦闘データの各ユニットの異常状態データに基づいて判定する。ステップＳ５７７で“ＹＥＳ”であれば、ＣＰＵ３６は、ステップＳ５７９で、該当するユニットに対応するアイコン上に回復操作受付中であることを示すマーク画像１２４を表示する。これによって、たとえば図２２に示したように、異常状態の味方ユニットに対応するアイコン上にマーク画像１２４が表示される。したがって、当該チームの移動操作を担当するプレイヤに対して回復操作を促すことができる。
【０２４０】
ステップＳ５７９を終了したとき、ステップＳ５７７で“ＮＯ”である場合、または、ステップＳ５６７で“ＮＯ”である場合には、ＣＰＵ３６は、ステップＳ５８１で、戦闘終了であるか否かを判定する。つまり、ＣＰＵ３６は、いずれかのチームについて戦闘に参加していた全ユニットのＨＰデータが０になったか否かを判定する。ステップＳ５８１で“ＮＯ”であれば、つまり、両チームともユニットが残っている場合には、ＣＰＵ３６は図４１のステップＳ５２９に戻って、戦闘のための処理を繰返す。一方、ステップＳ５８１で“ＹＥＳ”であれば、つまり、いずれかのチームのユニットが戦闘で全滅した場合には、ＣＰＵ３６は、この戦闘処理を終了して、図２６のステップＳ８９に戻る。
【０２４１】
この実施例によれば、味方ユニットや味方拠点を使ったリンクや囲みによって、土地の獲得や敵へのダメージ付与を行えるようにした。具体的には、味方の位置によって規定される範囲としてのリンクや囲みによって挟んだり囲んだりした土地を占領できるようにし、また、リンクや囲みによって敵ユニットを挟んだり囲んだりした場合には、当該敵ユニットにダメージを与えることができるようにした。したがって、１回の移動によって、移動ルート上の土地ばかりでなく、より多くの土地を占領できる。また、戦わずして、つまり、ダメージを受けるリスクを負うことなく、敵ユニットのＨＰを減少させることができる。たとえば強力な敵ユニットであっても戦闘前にダメージを与えておくことも可能になる。したがって、単に敵ユニット位置や適本拠に向けて移動させるというプレイの仕方ではなく、他の味方ユニットの位置や味方拠点の配置とともに敵ユニットの位置や強さを考慮しながら、戦略的にユニットを移動させることによって、より有利に、より効果的にゲームをプレイすることができる。たとえば、プレイヤは、マップの状況、敵の位置および強さなどに応じて、直接的に敵を破壊する戦闘と間接的なダメージ付与とを組み合わせたり単独で使用したりして上手く使い分けながら、自分に有利になるようにゲームを進めていくことができる。このように、戦略性および興趣性の高いウォー・シミュレーションゲームを提供することができる。
【０２４２】
また、戦闘モードにおいては、プレイヤによって担当されたユニットが倒された場合やプレイヤが戦闘に参加しない場合には、簡単な操作によって、味方ユニットに加勢してこれを回復させることができる。したがって、戦闘ゲームにおいて、コンピュータによって自動制御される味方キャラクタを有利にすることができる。また、戦闘ゲームや、戦闘モードにおけるアクション操作の苦手なプレイヤにとっては、味方キャラクタの攻撃や防御などの戦闘時の主たる操作をコンピュータに任せて、回復のための操作だけを行うことによって、戦闘を有利に進めることができるので、戦闘ゲームの苦手なプレイヤであっても、簡単かつ気軽に楽しむことができる。
【０２４３】
なお、上述の実施例では、図１２から図１５で示したように、３点の味方ユニットまたは味方拠点によって２つの直交するリンクが発生している場合において、移動対象ユニットが到達したときに、２つのリンクの先端の味方位置と到達位置との間にそれぞれリンクが発生すれば、リンクによる四角形の囲みが成立するものと定義していた。しかし、他の実施例では、図４４に示すように、初期の２点の味方ユニットまたは味方拠点と、移動対象ユニットによっても、リンクによる四角形の囲みが成立するものと定義してもよい。具体的には、図４４に示すように、２点の味方ユニットまたは味方拠点がリンクしない状態で、かつ、味方の領地で繋がっている場合において、移動対象ユニットが到達したときに、２つの味方位置と到達位置との間にそれぞれリンクが発生すれば、囲みが成立するものとしてよい。このように、上述の４点の囲みに加えて３点の囲みも定義する場合には、マップ上の拠点数や味方ユニット数が少なくても、簡単に囲みを発生させることができるので、ゲームの戦略性および興趣性をより高めることができる。また、リンクや囲みを成立させることによって、一度に多くの土地を占領できるので、その後、到達位置の囲みだけでなく、移動途中の囲み（図１６および図１７）も成立させ易くなる。
【０２４４】
また、上述の各実施例では、リンクや囲みによるダメージは、リンクや囲みの規模にかかわらず、最大ＨＰの所定％だけ与えられるようにしていた。しかし、他の実施例では、リンクや囲みの規模に応じてダメージ値を変化させるようにしてもよい。たとえば、リンクや囲み内の土地数に比例してダメージ値が大きくなるようにしてよい。このようにすれば、発生させるリンクや囲みの規模によって敵ユニットに付与できるダメージ値が増減するので、ゲームの戦略性や興趣性を向上することができる。
【０２４５】
また、上述の各実施例では、リンクや囲みによるダメージは、ユニットの破壊に直結するＨＰに対して付与された。しかし、他の実施例では、敵ユニットの他のパラメータにダメージを付与するようにしてもよい。ただし、パラメータは、ユニット同士の戦闘に有利な影響を与えることの可能なパラメータであることが望ましく、たとえば攻撃力、守備力、攻撃可能回数、回復可能回数といった戦闘における能力に関するパラメータであってよい。
【０２４６】
また、上述の各実施例では、マップを構成する各土地の形状が四角形であり、隣接する四角形で辺が一致または共有するように各土地が並べられたので、リンクは、土地の中心から各辺への方向または各辺に平行な方向、すなわち、上下方向と左右方向の２方向だけで成立すると定義していた。しかし、他の実施例では、斜め方向にもリンクが成立するように定義してもよい。また、囲みについても、斜め方向のリンクを組み合わせて、たとえば三角形の囲みまたは四角形の囲みが成立するように定義してもよい。
【０２４７】
また、上述の各実施例では、マップを構成する各土地の形状が四角形であったが、他の実施例では、各土地は三角形や六角形などの他の形状であってもよい。たとえば、三角形の場合には、隣接する三角形で辺が一致するように各土地を並べてマップを構成し、リンクについては３方向（各辺に平行な方向）に成立するものと定義してよく、また、囲みについては三角形、四角形または六角形等が成立するものと定義してよい。また、六角形の場合には、隣接する六角形で辺が一致するように各土地を並べてマップを構成し、リンクについては３方向（土地の中心から各辺への方向）に成立するものと定義してよく、囲みについては、三角形、四角形または六角形等が成立するものと定義してもよい。
【図面の簡単な説明】
【０２４８】
【図１】この発明の一実施例のゲームシステムの一例を示す外観図である。
【図２】図１実施例の電気的構成を示すブロック図である。
【図３】メインメモリのメモリマップの一例の一部を示す図解図である。
【図４】メインメモリのメモリマップの一例の他の一部を示す図解図である。
【図５】マップにおける位置を示す図解図である。
【図６】マップにおける基地および拠点の配置の一例を示す図解図である。
【図７】ユニットの移動による占領を説明するための図解図であり、（Ａ）は移動ルートの設定を示し、（Ｂ）は移動ルートに沿った移動後の土地の占領を示す。
【図８】リンクによる占領を説明するための図解図であり、（Ａ）は移動前の状態を示し、（Ｂ）は移動後の状態を示す。
【図９】リンクによるユニットへのダメージ付与を説明するための図解図であり、（Ａ）は移動前の状態を示し、（Ｂ）は移動後のダメージ付与を示す。
【図１０】囲みによる占領を説明するための図解図であり、（Ａ）は移動前の状態を示し、（Ｂ）は移動後の状態を示す。
【図１１】囲みによるユニットへのダメージ付与を説明するための図解図であり、（Ａ）は移動前の状態を示し、（Ｂ）は移動後のダメージ付与を示す。
【図１２】到達位置から上方向へのリンク囲み判定を説明するための図解図であり、（Ａ）は上方向へのリンク判定の方法を示し、（Ｂ）は上方向へのリンク成立の場合の上方向位置から左右方向へのリンク囲み判定の方法を示す。
【図１３】到達位置から下方向へのリンク囲み判定を説明するための図解図である。
【図１４】到達位置から左方向へのリンク囲み判定を説明するための図解図である。
【図１５】到達位置から右方向へのリンク囲み判定を説明するための図解図である。
【図１６】移動途中における上方向の囲み判定を説明するための図解図であり、（Ａ）は囲み成立の場合の状態を示し、（Ｂ）は囲み不成立の場合の状態を示す。
【図１７】移動途中における周囲の囲み判定を説明するための図解図であり、（Ａ）は下方向の囲み判定を示し、（Ｂ）は左方向の囲み判定を示し、（Ｃ）は右方向の囲み判定を示す。
【図１８】ユニット移動前の状況を示すゲーム画面の一例を示す図解図である。
【図１９】ユニットの移動ルートを設定する際のゲーム画面の一例を示す図解図である。
【図２０】リンクによるダメージが敵ユニットに付与される状況を示すゲーム画面の一例を示す図解図である。
【図２１】戦闘モードでＨＰ回復操作を受け付けている場合のゲーム画面の一例を示す図解図である。
【図２２】戦闘モードで異常状態回復操作を受け付けている場合のゲーム画面の一例を示す図解図である。
【図２３】図１実施例のゲーム動作の一例を示すフロー図である。
【図２４】図２３のターン処理の動作の一例を示すフロー図である。
【図２５】図２４の移動ルート設定処理の動作の一例を示すフロー図である。
【図２６】図２４の移動処理の動作の一例を示すフロー図である。
【図２７】図２６の占領処理の動作の一例を示すフロー図である。
【図２８】図２６の移動中の囲み判定処理の動作の一例の一部を示すフロー図である。
【図２９】図２８の続きを示すフロー図である。
【図３０】図２８の囲みダメージ処理の動作の一例を示すフロー図である。
【図３１】図２４の移動終了処理の動作の一例を示すフロー図である。
【図３２】図３１のリンク囲み処理の動作の一例の一部を示すフロー図である。
【図３３】図３２の続きの一部を示すフロー図である。
【図３４】図３３の続きの一部を示すフロー図である。
【図３５】図３４の続きの一部を示すフロー図である。
【図３６】図３５の続きの一部を示すフロー図である。
【図３７】図３６の続きの一部を示すフロー図である。
【図３８】図３７の続きの一部を示すフロー図である。
【図３９】図３８の続きを示すフロー図である。
【図４０】図３２のリンクダメージ処理の動作の一例を示すフロー図である。
【図４１】図２６の戦闘処理の動作の一例の一部を示すフロー図である。
【図４２】図４１の続きの一部を示すフロー図である。
【図４３】図４２の続きを示すフロー図である。
【図４４】リンク囲み成立条件の変形例を説明するための図解図である。
【符号の説明】
【０２４９】
１０  …ゲームシステム
１２  …ゲーム装置
１８  …光ディスク
２２  …コントローラ
２６  …操作部
３４  …モニタ
３６  …ＣＰＵ
４０  …メインメモリ
４２  …ＧＰＵ
【図１】
2007075431.tif 000003
【図２】
2007075431.tif 000004
【図３】
2007075431.tif 000005
【図４】
2007075431.tif 000006
【図５】
2007075431.tif 000007
【図６】
2007075431.tif 000008
【図７】
2007075431.tif 000009
【図８】
2007075431.tif 000010
【図９】
2007075431.tif 000011
【図１０】
2007075431.tif 000012
【図１１】
2007075431.tif 000013
【図１２】
2007075431.tif 000014
【図１３】
2007075431.tif 000015
【図１４】
2007075431.tif 000016
【図１５】
2007075431.tif 000017
【図１６】
2007075431.tif 000018
【図１７】
2007075431.tif 000019
【図１８】
2007075431.tif 000020
【図１９】
2007075431.tif 000021
【図２０】
2007075431.tif 000022
【図２１】
2007075431.tif 000023
【図２２】
2007075431.tif 000024
【図２３】
2007075431.tif 000025
【図２４】
2007075431.tif 000026
【図２５】
2007075431.tif 000027
【図２６】
2007075431.tif 000028
【図２７】
2007075431.tif 000029
【図２８】
2007075431.tif 000030
【図２９】
2007075431.tif 000031
【図３０】
2007075431.tif 000032
【図３１】
2007075431.tif 000033
【図３２】
2007075431.tif 000034
【図３３】
2007075431.tif 000035
【図３４】
2007075431.tif 000036
【図３５】
2007075431.tif 000037
【図３６】
2007075431.tif 000038
【図３７】
2007075431.tif 000039
【図３８】
2007075431.tif 000040
【図３９】
2007075431.tif 000041
【図４０】
2007075431.tif 000042
【図４１】
2007075431.tif 000043
【図４２】
2007075431.tif 000044
【図４３】
2007075431.tif 000045
【図４４】
2007075431.tif 000046