(57)【要約】【課題】より臨場感を味わうことができる対戦ゲームを実現すること。【解決手段】本発明のゲーム制御装置は、それぞれパラメータが関連付けられている複数のオブジェクトからなるオブジェクト群を、ユーザに対応付ける対応付け手段と、第１ユーザと第２ユーザの間の対戦において、いずれかのユーザのオブジェクトに基づいて、当該ユーザの対戦相手のオブジェクト群のうち少なくともいずれかのオブジェクトに関連付けられたパラメータを変更する変更手段と、オブジェクトに関連付けられたパラメータが所定の消失条件を満足した場合に、当該オブジェクトをフィールドから消失させる消失手段と、対戦においてオブジェクト群に含まれるオブジェクト同士が隣接するように、各オブジェクトをフィールド内で移動させる移動手段と、を備える。【選択図】図１４
2014136122.tif 000002
【特許請求の範囲】
【請求項１】
ゲーム空間内の所定のフィールドにおいて、オブジェクトを用いたユーザ間での対戦の実行を制御するゲーム制御装置であって、
それぞれパラメータが関連付けられている複数のオブジェクトからなるオブジェクト群を、ユーザに対応付ける対応付け手段と、
第１ユーザと第２ユーザの間の対戦において、いずれかのユーザのオブジェクトに基づいて、当該ユーザの対戦相手のオブジェクト群のうち少なくともいずれかのオブジェクトに関連付けられたパラメータを変更する変更手段と、
オブジェクトに関連付けられたパラメータが所定の消失条件を満足した場合に、当該オブジェクトを前記フィールドから消失させる消失手段と、
前記対戦において、オブジェクト群に含まれるオブジェクト同士が隣接するように、各オブジェクトを前記フィールド内で移動させる移動手段と、
を備えたゲーム制御装置。
【請求項２】
前記フィールドは所定の基本領域のマトリクスによって構成され、
前記移動手段は、前記フィールド内において各オブジェクトを前記基本領域の単位で移動させることを特徴とする、
請求項１に記載されたゲーム制御装置。
【請求項３】
前記移動手段は、第１ユーザに対応付けられた第１オブジェクト群の各オブジェクトが第１基準行を越えない範囲で、かつ第２ユーザに対応付けられた第２オブジェクト群の各オブジェクトが第２基準行を超えない範囲で、オブジェクトを移動させることを特徴とする、
請求項２に記載されたゲーム制御装置。
【請求項４】
前記移動手段は、前記第１基準行と前記第２基準行を前記マトリクス上で隣接した行とすることを特徴とする、
請求項３に記載されたゲーム制御装置。
【請求項５】
前記変更手段は、前記対戦中にいずれかのユーザのオブジェクトに基づいて、当該ユーザの対戦相手のオブジェクト群のうち、少なくとも前記オブジェクトと重複する列に対向して配置されているオブジェクトに関連付けられたパラメータを変更し、
前記移動手段は、各オブジェクト群について、対応する基準行上のオブジェクトが消失させられた場合には、当該オブジェクトと同一の列に配置されている他のオブジェクトを基準行まで移動させることを特徴とする、
請求項３又は４に記載されたゲーム制御装置。
【請求項６】
前記移動手段は、前記第１オブジェクト群の行方向の中央位置である第１中央位置と、前記第２オブジェクト群の行方向の中央位置である第２中央位置とを近付けるようにして、各オブジェクトを行方向に移動させることを特徴とする、
請求項３〜５のいずれかに記載されたゲーム制御装置。
【請求項７】
前記移動手段は、
前記フィールド内のオブジェクトの行方向の中央位置と、前記第１中央位置、又は前記第２中央位置とを近付けるように、前記第１オブジェクト群及び前記第２オブジェクト群のうちいずれか一方のオブジェクト群に含まれる各オブジェクトを行方向に移動させる第１の移動処理と、
前記第１中央位置と前記第２中央位置とを近付けるように、前記第１オブジェクト群及び前記第２オブジェクト群のうち他方のオブジェクト群に含まれる各オブジェクトを行方向に移動させる第２の移動処理と、
を繰り返し実行することを特徴とする、
請求項６に記載されたゲーム制御装置。
【請求項８】
前記移動手段は、前記第１ユーザと前記第２ユーザの間の対戦の開始から、前記第１基準行と前記第２基準行を時間の経過とともに近付けていくことを特徴とする、
請求項３〜７のいずれかに記載されたゲーム制御装置。
【請求項９】
ゲーム空間内の所定のフィールドにおいて、オブジェクトを用いたユーザ間での対戦の実行を制御するゲーム制御方法であって、
それぞれパラメータが関連付けられている複数のオブジェクトからなるオブジェクト群を、ユーザに対応付けるステップと、
第１ユーザと第２ユーザの間の対戦において、いずれかのユーザのオブジェクトに基づいて、当該ユーザの対戦相手のオブジェクト群のうち少なくともいずれかのオブジェクトに関連付けられたパラメータを変更するステップと、
オブジェクトに関連付けられたパラメータが所定の消失条件を満足した場合に、当該オブジェクトを前記フィールドから消失させるステップと、
前記対戦において、オブジェクト群に含まれるオブジェクト同士が隣接するように、各オブジェクトを前記フィールド内で移動させるステップと、
を備えたゲーム制御方法。
【請求項１０】
ゲーム空間内の所定のフィールドにおいて、オブジェクトを用いたユーザ間での対戦の実行を制御するために、コンピュータに、
それぞれパラメータが関連付けられている複数のオブジェクトからなるオブジェクト群を、ユーザに対応付ける機能、
第１ユーザと第２ユーザの間の対戦において、いずれかのユーザのオブジェクトに基づいて、当該ユーザの対戦相手のオブジェクト群のうち少なくともいずれかのオブジェクトに関連付けられたパラメータを変更する機能、
オブジェクトに関連付けられたパラメータが所定の消失条件を満足した場合に、当該オブジェクトを前記フィールドから消失させる機能、及び、
前記対戦において、オブジェクト群に含まれるオブジェクト同士が隣接するように、各オブジェクトを前記フィールド内で移動させる機能、
を実現させるためのプログラム。
【請求項１１】
通信端末と、当該通信端末からアクセスされるサーバと、を含み、ゲーム空間内の所定のフィールドにおいて、オブジェクトを用いたユーザ間での対戦の実行を制御するゲームシステムであって、
それぞれパラメータが関連付けられている複数のオブジェクトからなるオブジェクト群を、ユーザに対応付ける対応付け手段、
第１ユーザと第２ユーザの間の対戦において、いずれかのユーザのオブジェクトに基づいて、当該ユーザの対戦相手のオブジェクト群のうち少なくともいずれかのオブジェクトに関連付けられたパラメータを変更する変更手段、
オブジェクトに関連付けられたパラメータが所定の消失条件を満足した場合に、当該オブジェクトを前記フィールドから消失させる消失手段、及び、
前記対戦において、オブジェクト群に含まれるオブジェクト同士が隣接するように、各オブジェクトを前記フィールド内で移動させる移動手段、
の各手段を、前記通信端末又は前記サーバのいずれか一方が備えた、
を備えたゲームシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のユーザの各々の操作に応じて、各ユーザによるゲームの進行を制御する技術に関する。
【背景技術】
【０００２】
近年、特定のサービス提供者によるソーシャルネットワーキングサービス（ＳＮＳ）においてウェブブラウザ上で動作するＡＰＩ(Application Programming Interface)などの動作環境を基に作成されるゲーム用アプリケーションによって実行される、いわゆるソーシャルゲーム（Social Game）が普及している。ソーシャルゲームは、不特定多数のユーザ間でコミュニケーションをとりながらプレイするオンラインゲームの一種であると言える。ユーザは、インターネットに接続可能であって、かつウェブブラウザが搭載された通信端末を備えていれば、時間と場所を問わずソーシャルゲームを楽しむことができる。
【０００３】
上述したソーシャルゲームでは、従来のオンラインゲームよりも、ユーザ間の交流を図るためのコミュニケーション機能が充実している点が特徴の１つとなっている。ソーシャルゲームでは、例えば、他のユーザ（仲間）との協力プレイのほか、仲間との挨拶や連絡など仲間とコミュニケーションを取ることによる情報交換、仲間との間のゲーム上のアイテムのプレゼントあるいはアイテムの交換が行なわれている。このようなソーシャルゲームの一例として、下記の非特許文献１に記載されたデジタルカードゲーム（ドラゴンコレクション（登録商標））が知られている。
【０００４】
極めて多数のユーザがソーシャルゲームにユーザ登録を行っており、各ユーザは自らの都合の良い時間でゲームをプレイする。そのため、ソーシャルゲームにおけるユーザ間の対戦（バトル）は非同期で行われる。例えば、ゲームにアクセスしているユーザが他のユーザ（対戦相手）と対戦を行う場合には、対戦相手のパラメータ、あるいは対戦相手に対応付けられたキャラクタのパラメータを使用して行われるが、対戦相手はその対戦に実時間で関与しない。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】アプリＳＴＹＬＥ  Vol.5（株式会社イースト・プレス、平成23年11月1日発行）、7-8頁
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来のソーシャルゲームにおけるユーザ間の対戦は、ユーザとその対戦相手（他のユーザ、又はゲームキャラクタ）との間で交互に攻撃が行われる、いわゆるターン制の対戦であった。このターン性の対戦は攻撃の順序が固定的であり、ゲームが単調にならざるを得ない。また、キャラクタの動きも単調であった。つまり、従来のソーシャルゲームにおけるユーザ間の対戦は、臨場感に乏しいものであった。
【０００７】
本発明は上述した観点に鑑みてなされたもので、ユーザ間でキャラクタ等のオブジェクトを複数使用して対戦を行う場合に、より臨場感を味わうことができる対戦ゲームを実現できるようにしたゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第１の観点は、ゲーム空間内の所定のフィールドにおいて、オブジェクトを用いたユーザ間での対戦の実行を制御するゲーム制御装置である。
このゲーム制御装置は、
それぞれパラメータが関連付けられている複数のオブジェクトからなるオブジェクト群を、ユーザに対応付ける対応付け手段（５１）と、
第１ユーザと第２ユーザの間の対戦において、いずれかのユーザのオブジェクトに基づいて、当該ユーザの対戦相手のオブジェクト群のうち少なくともいずれかのオブジェクトに関連付けられたパラメータを変更する変更手段（５３）と、
オブジェクトに関連付けられたパラメータが所定の消失条件を満足した場合に、当該オブジェクトを前記フィールドから消失させる消失手段（５４）と、
前記対戦において、オブジェクト群に含まれるオブジェクト同士が隣接するように、各オブジェクトを前記フィールド内で移動させる移動手段（５５）と、
を備える。
【０００９】
本発明に係るゲーム制御装置は、ユーザが単独で使用するスタンドアローンのゲーム機であってもよいし、ユーザの通信端末上でゲームを表示するために当該通信端末との間で無線又は有線による通信を確立できるサーバ等の情報処理装置であってもよい。
本発明において「オブジェクト」とは、例えば、ゲーム上のキャラクタやアイテム等を含む。キャラクタは、例えばゲーム上の仮想的な人物や生物、若しくはモンスター等であり、それらがカードに表示されているものをも含む。
【００１０】
このゲーム制御装置によって実現されるユーザ間の対戦ゲームでは、ユーザ同士のオブジェクトの攻防によってオブジェクトが消失する場合に、フィールドに残留する各ユーザのオブジェクト群が隣接するようにしてフィールド内を移動する。つまり、各ユーザのオブジェクト群が対戦の開始から終了まで統率のとれた動きを見せるため、ユーザは対戦ゲームにおいて、より臨場感を味わうことができる。
【００１１】
上記ゲーム制御装置において、前記フィールドは所定の基本領域のマトリクスによって構成され、前記移動手段（５５）は、前記フィールド内において各オブジェクトを前記基本領域の単位で移動させてもよい。
この構成では、オブジェクトのフィールド内における前後又は左右の動きの量が一定となるため、ユーザ間の対戦ゲームにおいて、各ユーザのオブジェクト群の移動が統一感のとれたものとすることができる。この構成は、オブジェクトがマトリクスの基本領域の大きさに合致した形態である場合（例えば、オブジェクトが、キャラクタを表示した矩形のカードである場合）に好適である。
【００１２】
上記ゲーム制御装置において、前記移動手段（５５）は、第１ユーザに対応付けられた第１オブジェクト群の各オブジェクトが第１基準行を越えない範囲で、かつ第２ユーザに対応付けられた第２オブジェクト群の各オブジェクトが第２基準行を超えない範囲で、オブジェクトを移動させてもよい。
この構成において「基準行」は、フィールドを構成するマトリクス上で任意の行に適宜設定することができる。基準行は対戦の開始から終了まで固定の行であってもよいし、基準行となる行が対戦中に変化してもよい。
この構成では、第１ユーザ及び第２ユーザに対してそれぞれ設けられた第１基準行及び第２基準行が各ユーザのオブジェクト群の先頭の行になり、各ユーザのオブジェクト群が第１基準行及び第２基準行を挟んで対峙して配置される。そのため、各ユーザのオブジェクト群が対戦中に移動する領域がユーザ同士で重なることがなく、ユーザは自身に対応付けられた各オブジェクトの動きを認識しやすくなる。
【００１３】
上記ゲーム制御装置において、前記移動手段（５５）は、前記第１基準行と前記第２基準行を前記マトリクス上で隣接した行としてもよい。
この構成では、各ユーザのオブジェクト群の先頭の行が隣接することになるため、各ユーザのオブジェクト群同士での接近戦を模擬することができる。
【００１４】
上記ゲーム制御装置において、前記変更手段（５３）は、前記対戦中にいずれかのユーザのオブジェクトに基づいて、当該ユーザの対戦相手のオブジェクト群のうち、少なくとも前記オブジェクトと重複する列に対向して配置されているオブジェクトに関連付けられたパラメータを変更し、
前記移動手段（５５）は、各オブジェクト群について、対応する基準行上のオブジェクトが消失させられた場合には、当該オブジェクトと同一の列に配置されている他のオブジェクトを基準行まで移動させてもよい。
この構成では、例えば、一方のユーザのオブジェクトによる攻撃が、当該オブジェクトと同一の列の他方のユーザのオブジェクトに対して行われる。また、基準行上の（つまり、先頭の行に配置されている）オブジェクトが相手の攻撃によって消失した場合、基準行からみて後方のオブジェクトが基準行まで前方移動する。そのため、対戦では、お互いに基準行を挟んでオブジェクト群同士の攻防が行われることになり、対戦自体がわかりやすく表示されるとともに、対戦の臨場感も増す。
【００１５】
上記ゲーム制御装置において、前記移動手段（５５）は、前記第１オブジェクト群の行方向の中央位置である第１中央位置と、前記第２オブジェクト群の行方向の中央位置である第２中央位置とを近付けるようにして、各オブジェクトを行方向に移動させてもよい。
この構成では、各ユーザのオブジェクト群は、対戦の途中でオブジェクトが消失していった場合に、各ユーザのオブジェクト群同士が対峙して配置されるように順次各オブジェクトが移動するように制御されるため、各ユーザのオブジェクト群の攻防が見やすくなる。特に、一方のユーザのオブジェクトによる攻撃が、当該オブジェクトと同一の列の他方のユーザのオブジェクトに対して行われる場合には、短時間で対戦の決着がつき、ユーザは早期に対戦結果を知ることができる。
【００１６】
上記ゲーム制御装置において、前記移動手段（５５）は、前記フィールド内のオブジェクトの行方向の中央位置と、前記第１中央位置、又は前記第２中央位置とを近付けるように、前記第１オブジェクト群及び前記第２オブジェクト群のうちいずれか一方のオブジェクト群に含まれる各オブジェクトを行方向に移動させる第１の移動処理と、
前記第１中央位置と前記第２中央位置とを近付けるように、前記第１オブジェクト群及び前記第２オブジェクト群のうち他方のオブジェクト群に含まれる各オブジェクトを行方向に移動させる第２の移動処理と、を繰り返し実行してもよい。
第１の移動処理と第２の移動処理を繰り返し実行することで、前記第１の中央位置及び前記第２の中央位置を近づけるようなオブジェクトの移動制御が実現される。
【００１７】
上記ゲーム制御装置において、前記移動手段（５５）は、前記第１ユーザと前記第２ユーザの間の対戦の開始から、前記第１基準行と前記第２基準行を時間の経過とともに近付けていくようにしてもよい。
この構成では、対戦するオブジェクト群同士が徐々に近付いていくため、ユーザが対戦の緊張感をより感じることができるようになる。また、対戦するオブジェクト群の距離が時間の経過とともに変化するため、例えばオブジェクトによる攻撃の射程距離等を設定することで、対戦ゲームの設定の自由度を増すことができる。
【００１８】
本発明の第２の観点は、ゲーム空間内の所定のフィールドにおいて、オブジェクトを用いたユーザ間での対戦の実行を制御するゲーム制御方法である。
このゲーム制御方法は、
それぞれパラメータが関連付けられている複数のオブジェクトからなるオブジェクト群を、ユーザに対応付けるステップと、
第１ユーザと第２ユーザの間の対戦において、いずれかのユーザのオブジェクトに基づいて、当該ユーザの対戦相手のオブジェクト群のうち少なくともいずれかのオブジェクトに関連付けられたパラメータを変更するステップと、
オブジェクトに関連付けられたパラメータが所定の消失条件を満足した場合に、当該オブジェクトを前記フィールドから消失させるステップと、
前記対戦において、オブジェクト群に含まれるオブジェクト同士が隣接するように、各オブジェクトを前記フィールド内で移動させるステップと、
を備える。
【００１９】
本発明の第３の観点は、ゲーム空間内の所定のフィールドにおいて、オブジェクトを用いたユーザ間での対戦の実行を制御するために、コンピュータに、
それぞれパラメータが関連付けられている複数のオブジェクトからなるオブジェクト群を、ユーザに対応付ける機能、
第１ユーザと第２ユーザの間の対戦において、いずれかのユーザのオブジェクトに基づいて、当該ユーザの対戦相手のオブジェクト群のうち少なくともいずれかのオブジェクトに関連付けられたパラメータを変更する機能、
オブジェクトに関連付けられたパラメータが所定の消失条件を満足した場合に、当該オブジェクトを前記フィールドから消失させる機能、及び、
前記対戦において、オブジェクト群に含まれるオブジェクト同士が隣接するように、各オブジェクトを前記フィールド内で移動させる機能、
を実現させるためのプログラムである。
【００２０】
コンピュータは、例えばネットワークサーバ、大型計算機等であってよい。また、このプログラムは、ＤＶＤ−ＲＯＭやＣＤ−ＲＯＭ等のコンピュータが読み取り可能な情報記憶媒体に格納されてもよい。
【００２１】
本発明の第４の観点は、通信端末（１０）と、当該通信端末（１０）からアクセスされるサーバ（２０）と、を含み、ゲーム空間内の所定のフィールドにおいて、オブジェクトを用いたユーザ間での対戦の実行を制御するゲームシステムである。
このゲームシステムは、
それぞれパラメータが関連付けられている複数のオブジェクトからなるオブジェクト群を、ユーザに対応付ける対応付け手段（５１）、
第１ユーザと第２ユーザの間の対戦において、いずれかのユーザのオブジェクトに基づいて、当該ユーザの対戦相手のオブジェクト群のうち少なくともいずれかのオブジェクトに関連付けられたパラメータを変更する変更手段（５３）、
オブジェクトに関連付けられたパラメータが所定の消失条件を満足した場合に、当該オブジェクトを前記フィールドから消失させる消失手段（５４）、及び、
前記対戦において、オブジェクト群に含まれるオブジェクト同士が隣接するように、各オブジェクトを前記フィールド内で移動させる移動手段（５５）、
の各手段を、前記通信端末（１０）又は前記サーバ（２０）のいずれか一方が備える。
【００２２】
通信端末（１０）は、例えば携帯端末、スマートフォン、ＰＤＡ(Personal Digital Assistant)、パーソナルコンピュータ、双方向の通信機能を備えたテレビジョン受像機、通信機能付きゲーム装置等であってよい。
【００２３】
なお、上記では、本発明の理解を容易にするため、適宜図面に記載された符号を括弧書きで記載しているが、これにより本発明に係るゲーム制御装置等が図示の態様に限定されるものではない。
【発明の効果】
【００２４】
本発明のゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステムによれば、ユーザ間でキャラクタ等のオブジェクトを複数使用して対戦を行う場合に、より臨場感を味わうことができる。
【図面の簡単な説明】
【００２５】
【図１】実施形態のゲームシステムの基本構成を示す図。
【図２Ａ】実施形態の通信端末の外観の例を示す図。
【図２Ｂ】実施形態の通信端末の外観の例を示す図。
【図３】実施形態の通信端末の構成を示すブロック図。
【図４】実施形態のゲームサーバの構成を示すブロック図。
【図５】実施形態のデータベースサーバの構成を示すブロック図。
【図６】ユーザデータベースの構成例を示す図。
【図７】カードデータベースの構成例を示す図。
【図８】実施形態のゲームのバトルフィールドについて説明するための図。
【図９】実施形態のゲームのバトルフィールド内のカードの配置の一例を示す図。
【図１０Ａ】実施形態のゲームにおいてユーザ間のバトルが行われるときに通信端末に表示される一連のウェブページの例を示す図。
【図１０Ｂ】実施形態のゲームにおいてユーザ間のバトルが行われるときに通信端末に表示される一連のウェブページの例を示す図。
【図１０Ｃ】実施形態のゲームにおいてユーザ間のバトルが行われるときに通信端末に表示される一連のウェブページの例を示す図。
【図１０Ｄ】実施形態のゲームにおいてユーザ間のバトルが行われるときに通信端末に表示される一連のウェブページの例を示す図。
【図１１】バトルにおけるカードの前方移動について説明するための図。
【図１２】バトルにおけるカードの横移動について説明するための図。
【図１３Ａ】バトルの開始から終了までの各カードの移動態様の一例を順に示す図。
【図１３Ｂ】バトルの開始から終了までの各カードの移動態様の一例を順に示す図。
【図１３Ｃ】バトルの開始から終了までの各カードの移動態様の一例を順に示す図。
【図１４】実施形態のゲーム制御装置の機能ブロック図。
【図１５】バトル使用カードデータのデータ構成の一例を示す図。
【図１６】実施形態のバトルゲームの全体処理の一例を示すフローチャート。
【図１７】カード配置処理の一例を示すフローチャート。
【図１８】攻撃処理の一例を示すフローチャート。
【図１９】カードの前方移動処理の一例を示すフローチャート。
【図２０】バトル相手のカードの横移動処理の一例を示すフローチャート。
【図２１】ユーザのカードの横移動処理の一例を示すフローチャート。
【図２２】バトル中の各カードの移動態様の変形例を示す図。
【図２３】第２の実施形態の横移動方法について説明するための図。
【図２４Ａ】第２の実施形態においてバトルの開始から終了までの各カードの移動態様の一例を順に示す図。
【図２４Ｂ】第２の実施形態においてバトルの開始から終了までの各カードの移動態様の一例を順に示す図。
【図２４Ｃ】第２の実施形態においてバトルの開始から終了までの各カードの移動態様の一例を順に示す図。
【図２４Ｄ】第２の実施形態においてバトルの開始から終了までの各カードの移動態様の一例を順に示す図。
【図２５】第２の実施形態において、バトル相手のカードの横移動処理の変形例を示すフローチャート。
【図２６】第２の実施形態において、ユーザのカードの横移動処理の変形例を示すフローチャート。
【図２７Ａ】実施形態のゲーム制御装置の各機能について、通信端末と、ゲームサーバ及びデータベースサーバとの間の分担例を示す図。
【図２７Ｂ】実施形態のゲーム制御装置の各機能について、通信端末と、ゲームサーバ及びデータベースサーバとの間の分担例を示す図。
【発明を実施するための形態】
【００２６】
＜第１の実施形態＞
以下、本発明のゲームシステムの一実施形態について説明する。
（１）ゲームシステムの構成
図１は、実施形態のゲームシステムのシステム構成例を示している。図１に示すように、このゲームシステムは、例えばインターネットなどの通信網ＮＷ（ネットワーク）に接続可能な通信端末１０ａ，１０ｂ，１０ｃ，…と、通信網ＮＷに接続されているゲームサーバ２０と、データベースサーバ３０とによって構成されている。各通信端末１０ａ，１０ｂ，１０ｃ，…はそれぞれ、個々のユーザによって操作される端末であり、例えば、携帯端末、スマートフォン、ＰＤＡ(Personal Digital Assistant)、パーソナルコンピュータ、双方向の通信機能を備えたテレビジョン受像機（いわゆる多機能型のスマートテレビも含む。）などの通信端末である。なお、以下の説明において、各通信端末１０ａ，１０ｂ，１０ｃ，…に共通して言及するときには、通信端末１０と表記する。
このゲームシステムにおいて、ゲームサーバ２０は、クライアントである通信端末１０と通信可能に構成されており、通信端末１０に対してゲーミングサービスを提供する。ゲームサーバ２０には、ゲーム用アプリケーションとしてウェブブラウザ上で動作可能なアプリケーションが実装されている。データベースサーバ３０は、ゲームを実行する上での後述する様々な情報を格納しており、それらの情報の読み書きのためにゲームサーバ２０と例えば有線で接続される。
通信端末１０は、ゲームサーバ２０によって提供されるウェブページを表示可能なウェブブラウザを備えており、ユーザは、通信端末１０をウェブページ上で操作してゲームを実行する。
【００２７】
また、図１には図示していないが、ゲームサーバ２０とは別に各通信端末１０のユーザを認証するための認証サーバを設けてもよい。また、多くの通信端末１０からのアクセスを受け入れるために複数のゲームサーバ２０を設ける場合は、その複数のゲームサーバ２０間の負荷を調整するためのロードバランサを設けてもよい。また、ゲームサーバ２０は単一のサーバ装置として構成してもよいが、機能を分散させた複数のサーバ装置として構成してもよい。
【００２８】
（２）通信端末の構成
図２Ａ，図２Ｂ及び図３を参照して通信端末１０について説明する。
図２Ａ及び図２Ｂはそれぞれ、通信端末１０の外観の例を示す図である。図２Ａは、例えば折り畳み式の携帯端末（携帯電話機）などの釦入力方式の通信端末を例示したものである。図２Ｂは、例えばスマートフォンなどのタッチパネル入力方式の通信端末を例示したものである。図３は、通信端末１０の内部構成を示すブロック図である。
図３に示すように、通信端末１０は、ＣＰＵ（Central Processing Unit）１１、ＲＯＭ(Read Only Memory)１２、ＲＡＭ(Random Access Memory)１３、画像処理部１４、指示入力部１５、表示部１６、及び、信号送受信部としての通信インタフェース部１７を備えており、各部間の制御信号あるいはデータ信号を伝送するためのバス１８が設けられている。
【００２９】
ＣＰＵ１１は、ＲＯＭ１２内のウェブブラウザをＲＡＭ１３にロードして実行する。そして、ＣＰＵ１１は、指示入力部１５等によってユーザに入力されるＵＲＬ(Uniform Resource Locator)の適切な指定に基づき、通信インタフェース部１７を介して、ゲームサーバ２０からウェブページを表示するためのデータ、すなわち、ＨＴＭＬ(HyperText Markup Language)文書や当該文書と関連付けられた画像などのオブジェクトのデータ（以下、総称して適宜「ＨＴＭＬデータ」と表記する。）を、通信インタフェース部１７を介して取得し、ウェブブラウザを実行してＨＴＭＬデータを解釈する。なお、通信端末１０には、ウェブブラウザのブラウザ機能を拡張するための様々なプラグインが実装されていてよい。そのようなプラグインの一例は、アドビシステムズ社（米国）によるフラッシュプレイヤであり、ＳＷＦ形式のファイルを再生する。あるいは、本実施形態でのＨＴＭＬデータを、動画及び音声の再生機能を備えたＨＴＭＬ５形式としてもよい。
【００３０】
ウェブブラウザは、ゲームサーバ２０とＨＴＴＰ(HyperText Transfer Protocol)に従った通信を行う。ウェブブラウザは、ユーザによる指示入力部１５の操作によってウェブページ上のＵＲＬ(Uniform Resource Locator)またはメニューが選択されると、ウェブページの更新のために、その選択結果を含むＨＴＴＰリクエストをゲームサーバ２０に送信する。ウェブブラウザは、ＨＴＴＰレスポンスとしてゲームサーバ２０からＨＴＭＬデータを取得し、解釈して、画像処理部１４を介してウェブページを表示部１６に表示する。
【００３１】
画像処理部１４は、ＨＴＭＬデータの解析結果としてＣＰＵ１１から与えられる表示用画像データに基づいて、表示部１６にウェブページを表示する。表示部１６は、例えば、マトリクス状に画素単位で配置された薄膜トランジスタを含むＬＣＤ(Liquid Cristal Display)モニタであり、表示用画像データに基づいて薄膜トランジスタを駆動することでウェブページの画像を表示画面１６ａに表示する。
【００３２】
通信端末１０が釦入力方式の通信端末（図２Ａ）である場合、指示入力部１５は、ユーザの操作入力を受け入れるための方向指示釦と決定釦などの複数の指示入力釦を含む釦群１５ａ、及び、テンキーなどの複数の指示入力釦を含む釦群１５ｂを備え、各釦の押下（操作）入力を認識してＣＰＵ１１へ出力するためのインタフェース回路を含む。例えば、方向指示釦は、表示部１６に表示されているウェブページをスクロールして表示することをＣＰＵ１１へ指示するために設けられる。また、決定釦は、例えばウェブページ上で複数のＵＲＬまたはメニューが表示されるときに、アクティブ表示（例えば強調表示）されているＵＲＬまたはメニューをユーザが選択することをＣＰＵ１１へ指示するために設けられる。なお、通信端末１０を小型の携帯端末によって構成する場合には、これらの釦は、ユーザが通信端末１０を片手で保持したままその親指で操作（クリック）しやすいように、通信端末１０の前面に配置されていることが好ましい。図２Ａに示す例では、釦群１５ｂは、釦群１５ａの下方に配置され、「０」〜「９」、「＊」、「＃」（テンキー）が表記された複数の指示入力釦を含む。
【００３３】
通信端末１０がタッチパネル入力方式の通信端末（図２Ｂ）である場合、指示入力部１５は、主として表示画面１６ａに指先あるいはペンで触れることによるタッチパネル方式の入力を受け付ける。タッチパネル入力方式は、静電容量方式などの公知の方式でよい。なお、図２Ｂに示すように、通信端末１０がタッチパネル入力方式の場合であっても釦群１５ａが設けられる場合もある。
【００３４】
通信端末１０に表示されるウェブページ上のメニューの選択操作は、例えば通信端末１０が携帯端末である場合には、方向指示釦の押下操作によってメニューを選択し、決定釦の押下操作によって、選択したメニューを確定することによって行われる。また、選択操作は、例えば通信端末１０がタッチパネル入力方式の場合には、ウェブページが表示されている表示画面１６ａ上のメニューの位置を指あるいはペンで指示（タッチ操作）することによって行われる。
【００３５】
（３）ゲームサーバの構成
図４を参照してゲームサーバ２０の構成について説明する。
ゲームサーバ２０は、例えば階層構造の複数のウェブページからなるゲームのウェブサイトを管理しており、通信端末１０に対してゲームのウェブサービスを提供する。図４に示すように、ゲームサーバ２０は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、データベース（ＤＢ）アクセス部２４、及び、通信インタフェース部２５を備えており、各部間の制御信号あるいはデータ信号を伝送するためのバス２６が設けられている。なお、ゲームサーバ２０は、ハードウエアに関しては汎用のウェブサーバと同一の構成をとることができる。
【００３６】
ＲＯＭ２２には、クライアントである通信端末１０のウェブブラウザに対してＨＴＭＬ文書や画像などのオブジェクトの表示（ウェブページの表示）のサービスを提供するアプリケーションプログラムが格納されている。ＲＯＭ２２には、アプリケーションプログラム以外にもＣＰＵ２１によって参照される各種データが格納されている。
ＣＰＵ２１は、ＲＯＭ２２内のゲームプログラムをＲＡＭ２３にロードして実行し、通信インタフェース部２５を介して、各種の処理を行う。
【００３７】
例えば、ＣＰＵ２１は、通信インタフェース部２５を介して、ゲームサーバ２０のウェブブラウザとの間でＨＴＴＰに従った通信を行う。例えば、ＣＰＵ２１は、通信インタフェース部２５を介して、通信端末１０から受信したＨＴＴＰリクエスト（例えば、前述したように、ウェブページ上でのユーザのＵＲＬまたはメニューの選択結果を含む。）に基づいて所定のデータ処理や、演算処理を行い、その処理結果を含むＨＴＴＰレスポンスをゲームサーバ２０のウェブブラウザに返す。ＨＴＴＰレスポンスには、ウェブページを更新するためのＨＴＭＬデータが含まれる。また、ゲームサーバ２０が通信端末１０のユーザの認証処理を行う場合には、ＣＰＵ２１はその認証処理を行う。
データベースアクセス部２４は、ＣＰＵ２１がデータベースサーバ３０に対してデータの読み書きを行うときのインタフェースである。
【００３８】
（４）データベースサーバの構成
データベースサーバ３０（記憶装置）は、大容量のハードディスク装置やＲＡＩＤ（Redundant Arrays of Inexpensive Disks）等の形態の装置等、汎用ストレージで実現できる。データベースサーバ３０内の各データベースは、ゲームサーバ２０のデータベースアクセス部２４を介してＣＰＵ２１からのデータの読み書きが可能となるように構成されている。
図５に、データベースサーバ３０の構成の一例を示す。図５に示すように、データベースサーバ３０は、ユーザデータベース３１と、ゲームデータベース３２とを備える。
【００３９】
本実施形態のゲームサーバ２０によって実現されるゲームの一例として、ユーザの通信端末１０に対する操作に応じて、ユーザ同士で、あるいはユーザ対ＣＰＵでの、ゲーム上で仮想的に保有するモンスターカード（以下、適宜単に「カード」という。）を使用したバトルを行うバトルゲームを採り上げる。このバトルゲームを、以下では適宜、単に「ゲーム」あるいは「本実施形態のゲーム」という。
【００４０】
図６に、本実施形態のゲームにおいて適用されるユーザデータベース３１の一例を示す。この例では、ユーザデータベース３１は、ユーザＩＤ（ユーザ識別情報）ごとに、ユーザ名、ユーザ画像、ゲームレベル、使用可能コスト、及び保有カードの各項目についての情報を含む。ユーザデータベース３１に含まれる情報は、ゲームサーバ２０によって逐次更新されうる。
【００４１】
以下の説明では、ユーザデータベース３１に含まれるユーザＩＤ、あるいはユーザを特定するユーザ名（後述する）ごとのデータを総称してユーザデータという。ユーザデータを構成する各項目のデータは、以下のとおりである。
・ユーザ名
ユーザ名は、ゲームの実行時に通信端末１０のユーザを特定するために表示されるユーザ名である。ユーザ名は、例えばユーザによって予め指定される所定長以下のテキストである。ユーザ名は、ゲームサーバ２０によって提供されるネットワーク環境（あるいはゲームコミュニティ）上でユーザを特定する名称である。
・ユーザ画像
ユーザ画像は、ゲームの実行時に通信端末１０のユーザを特定するために表示される画像であり、例えばユーザによって予め選択されるアバタ画像であってもよい。
・ゲームレベル
ユーザのゲームにおける進行度合いを示すデータであり、ユーザによるゲームの進行に伴って増加する値である。例えば、ゲームレベルは、例えばＬｖ１（レベル１）からＬｖ１００（レベル１００）までの範囲のレベル値である。ゲームレベルは、本実施形態のゲームにおいて予め規定された規則に従って増加する。ゲームレベルは例えば、バトルでユーザが勝利した数、又はバトルでの勝率が増加するにつれて増加してもよい。
・使用可能コスト
後述するように、本実施形態のゲームでは、各カードに対してコストが対応付けられている。使用可能コストは、ユーザが１回のバトルで使用可能なカードのコストの総和の上限値である。つまり、ユーザは、１回のバトルでは、各カードのコストの総和が使用可能コスト以下となるように、バトルで使用するカードを選択することがもとめられるようにしてもよい。使用可能コストは、例えば、ゲームレベルが大きくなるにつれて大きい値に設定されてもよい。
なお、使用可能コストを設定すること、すなわちユーザが１回のバトルで使用可能なカードのコストの総和の上限値を設定することは必須ではない。
・保有カード
保有カードは、ユーザがゲーム上で保有しているカードである。保有カードについての情報は、保有カードを特定する情報であるカードＩＤ（Ｃ０８４等）と、各カードの個数（保有数）とを含む。
【００４２】
図５に戻り、ゲームデータベース３２は、ゲームサーバ２０からのアクセスに基づき、ゲームサーバ２０によって実行されたゲームの進行に関する情報を記憶、更新する。ゲームの進行に関する情報は、ゲームの性質によって多様な情報を含みうる。本実施形態のゲームの場合を例に挙げれば、ゲームの進行に関する情報は、異なるユーザ同士のバトルの結果などを含む。ゲームデータベース３２はさらに、カードデータベースを記憶する。
図７にカードデータベースの構成例を示す。図７に示すように、カードデータベースには、カードＩＤ毎に、キャラクタ、ＨＰ(Hit Point)、攻撃力、防御力、攻撃範囲、攻撃頻度、サイズ、コスト、キャラクタの画像についての情報を含む。各情報の内容は以下のとおりである。
【００４３】
・キャラクタ
カードに対応するキャラクタは、カードに表示されるモンスターキャラクタの名称（Ｍ３，Ｍ８等）についての情報である。
・ＨＰ
カードのＨＰは、バトルにおけるカードの初期の体力を示すパラメータである。バトル中に敵のカードから攻撃を受けることでカードのＨＰがゼロになると、そのカードはバトルにおいて消失することになる。
・攻撃力
カードの攻撃力は、バトルにおいてカードの攻撃力を示すパラメータである。カードの攻撃力の値が大きいほど、バトルでは、攻撃対象の敵のカードのＨＰをより多く低下させることができる。
・防御力
カードの防御力は、バトルにおいて敵のカードの攻撃に対する防御力を示すパラメータである。カードの防御力が大きいほど、バトルでは、敵の攻撃に対する自身のＨＰが低下し難くなる。
・攻撃範囲
カードの攻撃範囲は、カードの攻撃の射程距離を示すパラメータである。攻撃範囲の値が大きいほど、バトルにおいてより遠くの敵のカードに対して攻撃を加えることができる。
・攻撃頻度
カードの攻撃頻度は、カードが攻撃を加える頻度（つまり、一定時間毎の攻撃の回数）を示すパラメータである。攻撃頻度の値が大きいほど、より頻繁に攻撃を行うことを意味する。
・サイズ
カードのサイズは、後述するバトルフィールドにカードが配置されたときにカードが占めるセルの大きさを示す値である。図８を参照して後述するように、バトルにおいてカードは、セルによるマトリクスが形成されたバトルフィールドに配置されるが、カードのサイズのＸ，Ｙの値は、それぞれ行方向、列方向においてカードが占めるセルの数を示す。
・コスト
カードのコストは、そのカードをユーザが、バトルに使用するカード（以下、適宜「バトル使用カード」ともいう。）とするか否かについて検討するときに参照されるパラメータである。本実施形態のゲームでは、バトル使用カードのコストの総和が使用可能コスト以下に制限されるようにしてもよい。なお、攻撃力が大きいほどカードのコストを大きく設定してもよいが、それに限られない。
・画像
カードの画像は、ゲーム画像においてカード上に表示されるキャラクタの画像である。ＪＰＧ形式はカードの画像ファイル形式の一例に過ぎず、他の画像ファイル形式が用いられてもよい。
【００４４】
（５）本実施形態のゲーム
以下、本実施形態のゲームについて、図８〜９，図１０Ａ〜１０Ｄ，図１１〜１２，及び図１３Ａ〜１３Ｃを参照しながら説明する。
【００４５】
（５−１）バトルフィールドとカードの配置
本実施形態のゲームでは、ゲーム空間内にバトルフィールドが設けられ、バトルフィールド上に、バトルを行う各ユーザのカード群が配置される。カード群によるバトルはバトルフィールド内で行われる。
本実施形態のゲームにおいてユーザ間のバトルは非同期で行われる。すなわち、ゲームにアクセスしているユーザが他のユーザとバトルを実行する場合には、バトル相手（他のユーザ）に対応付けられたカードのパラメータを使用して行われ、バトル相手はそのバトルに実時間で関与しない。以下の説明において、ユーザ間のバトルでは、ゲームにアクセスしてバトルの実行を開始したユーザを「実行ユーザ」という。一方、実行ユーザのバトル相手となるユーザを「敵ユーザ」という。
なお、敵ユーザは実際のユーザでなくてもよく、例えば仮想的な敵ユーザ（つまり、コンピュータ）であってもよい。
【００４６】
先ず図８を参照してバトルフィールドについて説明する。図８は、本実施形態のゲームのバトルフィールドＢＦの一例について説明するための図である。図８に示すように、バトルフィールドＢＦは、実行ユーザのカード群を配置するためのユーザ領域ＵＡａと、敵ユーザのカード群を配置するためのユーザ領域ＵＡｂとを含む。図８の例では、ユーザ領域ＵＡａは、３×６のセルＣａ（ｍ，ｎ）（ｍ：１〜３の整数，ｎ：１〜６の整数）によるマトリクスで形成されている。ユーザ領域ＵＡｂは、３×６のセルＣｂ（ｍ，ｎ）（ｍ：１〜３の整数，ｎ：１〜６の整数）によるマトリクスで形成されている。ユーザ領域ＵＡａとユーザ領域ＵＡｂの各カード群は、基準線Ｌ０を挟んで互いに対向するようにして配置される。なお、図８に示すように、上記ｍは基準線Ｌ０を基準としたときの行に相当し、上記ｎは、左端を基準としたときの列に相当する。実行ユーザのユーザ領域ＵＡａと敵ユーザのユーザ領域ＵＡｂの第１行はそれぞれ、第１基準行と第２基準行の一例である。バトル中において、実行ユーザの各カードはユーザ領域ＵＡａ内を移動し、敵ユーザの各カードはユーザ領域ＵＡｂ内を移動するが、互いに基準線Ｌ０を越えて移動することはない。
【００４７】
なお、図８において、各ユーザ領域ＵＡａ，ＢＦｂが３×６のセルのマトリクスで構成しているのは一例に過ぎず、任意の大きさのマトリクスで各領域を形成してよい。
ユーザ領域の大きさは、ユーザのゲームレベルに応じて変更してもよい。例えば、ゲームレベルの上昇とともにユーザ領域を広く設定してもよい。これにより、ユーザは、ゲームレベルが上昇するにつれてより多くのカードを自身のユーザ領域に配置できるようになるため、バトルに有利となる。
ユーザ間のバトルにおいて、両者のゲームレベルに基づいてバトルフィールド内のユーザ領域の大きさを調整してもよい。例えば、ゲームレベルが相対的に高いユーザが、ゲームレベルが相対的に低いユーザとバトルを行うときには、ユーザ領域をより小さくする。例えば図８において、実行ユーザのゲームレベルが敵ユーザのそれよりも大きいときには、基準線Ｌ０を紙面の下方向に移動させてもよい。これによって、ゲームレベルが相対的に高いユーザのカード群は、より少ない枚数のカードで敵ユーザのカード群と対向することになり、ゲームレベルが相対的に高いユーザが不利となる。つまり、ゲームレベルが高いユーザはより少ない枚数のカードしか配置できなくなる。そのため、ゲームレベルが異なるユーザ間のバトルにおいても、拮抗したバトルが期待できる。
【００４８】
図８は、一例としてバトルフィールドＢＦに配置されている各カードのサイズがすべて１×１である場合を示したが、この場合に限られない。例えば図９に示すように、異なるサイズのカードをバトルフィールドＢＦ内に配置させることが可能である。図９は、本実施形態のゲームのバトルフィールド内のカードの配置の別の例を示す図である。図９では、１×１のサイズのカードに加えて、実行ユーザのユーザ領域ＵＡａ内に２×２のサイズのカードが２枚配置され、敵ユーザのユーザ領域ＵＡｂ内に１×３のサイズのカードが２枚配置されている例が示されている。
【００４９】
（５−２）バトルの進行
図１０Ａ〜１０Ｄは、本実施形態のゲームにおいてユーザ間のバトルが行われるときに通信端末１０上に表示される一連のウェブページの例を示す図である。
以下では、実行ユーザが、ユーザ名が「ＫＮＭ」であるユーザ（以下、ユーザＫＮＭ）である場合を例として説明する。
なお、以下の説明において、通信端末１０に表示されるウェブページ上で表示されるメニュー、マーク等はウェブページ上で所望の位置に配置されるものであって、通信端末１０で視認されるメニュー、マーク等の表示画面上の位置は、ユーザの方向指示釦あるいはタッチパネル操作によるウェブページのスクロール操作によって変化しうる。
【００５０】
図１０ＡのウェブページＰ０は、本実施形態のゲームのトップページの一例であり、個々のユーザＩＤに応じて構成される。図１０Ａの例では、ユーザ画像表示領域１０１、ユーザデータ表示領域１０２、及びメニュー表示領域１０３を含む。
ユーザ画像表示領域１０１は、実行ユーザＫＮＭのユーザデータに含まれるユーザ画像が表示される領域である。
ユーザデータ表示領域１０２は、実行ユーザＫＮＭの「ゲームレベル」（図では単に「レベル」）及び「カード数」のデータが表示される領域である。なお、「カード数」は、ユーザの保有カードの総数である。図１０Ａに例示するように、「カード数」が「４０／６０」と表記されている場合、ユーザが保有するカードが４０枚であり、最大で保有可能なカードの枚数が６０枚であることを示す。最大で保有可能なカードの枚数は、ユーザのゲームレベルに応じて設定されてもよいし、特に設定されなくてもよい。
メニュー表示領域１０３は、本実施形態のゲームに設けられる基本メニューが表示される領域であり、図１０ＡのウェブページＰ０ではメニューｍ１（「バトル」）が設けられている例を示している。図示しないが、バトル以外のゲームを実行するための他のメニューが設けられてもよい。
【００５１】
ウェブページＰ０上でメニューｍ１に対する操作入力があった場合、Ｐ１に示すようにウェブページが更新される。ウェブページＰ１には、実行ユーザがバトルフィールド内のユーザ領域ＵＡａにバトルで使用するカード（以下、「バトル使用カード」という。）を配置するためのメニューとして、メニューｍ２（「自動で配置する」）及びメニューｍ３（「自分で配置する」）を含む。メニューｍ２（「自動で配置する」）は、ユーザの保有カードの中から自動的にバトル使用カードを選択して配置を行うためのメニューである。メニューｍ３（「自分で配置する」）は、ユーザ操作によってユーザの保有カードの中からバトル使用カードをユーザ自らが選択して配置を行うためのメニューである。
【００５２】
ウェブページＰ１においてメニューｍ３（「自分で配置する」）に対する操作入力があった場合、Ｐ２に示すようにウェブページが更新される。ウェブページＰ２には、ゲーム空間内のユーザ領域ＵＡａ内の各セルに対応する複数のセルからなるマトリクス２０１が表示される。マトリクス２０１内のいずれかのセルが選択操作することによって、ユーザＫＮＭは、カードを配置したいユーザ領域ＵＡａ内のセルを指定することができる。つまり、マトリクス２０１に対するカード配置がゲーム空間上のユーザ領域ＵＡａにおけるカード配置に反映される。ここでは、例えばマトリクス２０１内のセル２０１ａが選択操作された場合が想定される。この場合、Ｐ３に示すようにウェブページが更新される。ウェブページＰ３は、ユーザＫＮＭの保有カードの一覧を表示し、この一覧の中から、配置対象のいずれかのカードを選択できるように構成されている。ウェブページＰ３において例えばモンスターＭ３に対応するカードが選択された場合、Ｐ４に示すようにウェブページが更新される。ウェブページＰ４において、マトリクス２０１は、ウェブページＰ３上で選択されたカードがセル２０１ａ上に配置された状態で表示される。
このとき、ウェブページＰ４に示すように、配置済みのカードのコストの総和（「総コスト」という。）を表示するようにしてもよい。実行ユーザがユーザ領域ＵＡａに配置させるカードの総コストが所定値以下に制限されている場合には、ユーザは、表示される総コストの値に注意を払いつつカードの配置処理を行うことができる。
【００５３】
図１０Ａに示すように、ウェブページＰ４には、メニューｍ４（「もっと配置する」），メニューｍ５（「配置済カードを変更する」），メニューｍ６（「配置済カードの取消」），及びメニューｍ７（「現在の配置でバトル」）が設けられてもよい。
メニューｍ４（「もっと配置する」）は、マトリクス２０１上の未配置のセルにカードを追加で配置するためのメニューである。メニューｍ５（「配置済カードを変更する」）は、既にマトリクス２０１上に配置済みのカードを別のカードに変更するためのメニューである。メニューｍ６（「配置済カードの取消」）は、既にマトリクス２０１上に配置済みのカードの配置を取り消すためのメニューである。メニューｍ７（「現在の配置でバトル」）は、カードの配置処理を完了させて次のステップに進むためのメニュー（つまり、配置終了指示を行うためのメニュー）である。
【００５４】
ウェブページＰ４において、メニューｍ４（「もっと配置する」）に対する操作入力があった場合、Ｐ２と同様にウェブページが更新される。この例では、既にセル２０１ａにカードが配置済みであるため、セル２０１ａ以外のセルが選択可能な状態となる。Ｐ２→Ｐ３→Ｐ４→Ｐ２→…のウェブページの更新を繰り返すことによって、ユーザはマトリクス２０１内にカードを順次配置させていくことができる。
ウェブページＰ４において、マトリクス２０１に配置済みのいずれかのカードを選択した状態でメニューｍ５（「配置済カードを変更する」）に対する操作入力があった場合、Ｐ３と同様にウェブページが更新される。これによって、選択された配置済みのカードと取り替える別のカードを選択することができる。
ウェブページＰ４において、マトリクス２０１に配置済みのいずれかのカードを選択した状態でメニューｍ６（「配置済カードの取消」）に対する操作入力があった場合、選択されたカードがマトリクス２０１から削除される。
ウェブページＰ４において、メニューｍ７（「現在の配置でバトル」）に対する操作入力があった場合、カード配置処理が終了し、図１０ＢのＰ５に示すようにウェブページが更新される。
【００５５】
図１０ＢのウェブページＰ５では、バトル相手となる他のユーザの一覧が表示される。この一覧の中からいずれかのユーザがバトル相手（つまり、敵ユーザ）として選択されると、Ｐ６に示すようにウェブページが更新される。この例では、ユーザＫＮＭとユーザＡＢＣの間でバトルが行われる例が示されている。ウェブページＰ６において、メニューｍ１０（「バトル開始」）に対する操作入力があった場合、ユーザＫＮＭとユーザＡＢＣの間でバトルが開始される。
【００５６】
図１０Ｃ及び図１０Ｄは、バトルの開始時点の表示状態を例示するＰ７、バトル中の表示状態を例示するＰ８及びＰ９、バトルの終了時点の表示状態を例示するＰ１０のウェブページを示す。バトルの開始から終了までのウェブページは、アニメーションによって再生されるものであってもよい。ウェブページＰ７に示すように、例えば、バトルが実行されるときには、ゲーム空間においてバトルフィールドＢＦを斜め上方の視点から見た画像が表示される。ウェブページＰ７に示す画像では、図８に示したように各セルに１×１のサイズのカードが配置された場合の例が示される。この画像の例では、バトルフィールドＢＦ内の各セルに配置されたカードがセル上に直立して表示され、ユーザに各カードのキャラクタが認識しやすいようになっている。なお、図１０Ｃ及び図１０Ｄでは、各カード上に表示されるキャラクタの記載を省略している。
【００５７】
ウェブページＰ８に示すように、バトル中には、実行ユーザ及び敵ユーザの各カードによる攻撃が行われていることが実行ユーザに認識できるように、攻撃を行うカードから攻撃対象のカードに向けて、例えばビームが照射される、あるいは飛来物が放出される等の攻撃態様が表示されることが好ましい。バトル中に攻撃を受けたカードのＨＰがゼロになると、そのカードはバトルフィールドから消失する。ウェブページＰ９は、ウェブページＰ８が表示された時点よりもさらに時間が経過した状態を示しており、ウェブページＰ８よりもバトルフィールド上のカード数が少なくなっている。
ウェブページＰ１０に示すように、例えば、実行ユーザ又は敵ユーザのいずれか一方のすべてのカードが消失した場合にバトルが終了する。ウェブページＰ１０の例では、実行ユーザの２枚のカードが残留し、敵ユーザのすべてのカードが消失したため、実行ユーザの勝利となる。なお、必ずしも一方のユーザのすべてのカードが消失したことをもって勝敗を決する場合に限られず、所定のバトル時間の後にバトルフィールド内に残留しているカードの枚数が多いユーザの勝利としてもよい。
【００５８】
（５−３）バトル中のカードの移動方法
前述したようにバトル中において各カードはバトルフィールド内を移動するが、このカードの移動は所定の規則に従った移動方法を基に行われる。以下では、カードの移動方法について、図１１及び図１２を参照し、前方移動と横移動に分けて説明する。図１１は、バトルにおけるカードの前方移動について説明するための図である。図１２は、バトルにおけるカードの横移動について説明するための図である。図１１及び図１２はそれぞれ、バトル中のカードの移動態様を説明するために、ゲーム空間を平面視で見たときのバトルフィールドの各セル上のカード配置を示す図である。
なお、バトル中のカードの移動については、前方移動が横移動に優先して行われる。
【００５９】
・カードの前方移動
本実施形態のバトルでは、実行ユーザのユーザ領域ＵＡａと敵ユーザのユーザ領域ＵＡｂの第１行に配置されているカードが相手のカードに最も近いために攻撃を受けやすく、ＨＰがより早く低下して消失しやすい。そこで、本実施形態のバトルでは、第１行にあるカードが消失した場合、そのカードと同一の列にある後方のカードを前方移動させる。これによって、バトル中では、各カードが前方へ順次前方移動する動作を行う。
カードの前方移動の具体例について、図１１を参照して説明する。ここでは、ステップＳ１に示すカードの配置状態を想定する。この配置状態で、実行ユーザのユーザ領域ＵＡａ内のセルＣａ（１，３）上のカードが攻撃を受けて消失した場合には（ステップＳ２）、そのカードの後方のセルＣａ（２，３）上のカードが第１行へ前方移動する（ステップＳ３）。なお、図示していないが、ステップＳ１の時点でセルＣａ（３，３）上にカードが存在した場合には、そのカードは同様にして前方のセルＣａ（２，３）へ移動することになる。
【００６０】
・カードの横移動
以下の説明において、フィールド全体のカード群の中央位置を示すマトリクス上の列を「全カード中央位置(CL_all)」といい、敵ユーザのカード群の中央位置を示すマトリクス上の列を「敵カード中央位置(CL_opp)」という。
全カード中央位置は、バトルフィールドにおいて、カードが配置されている最も左のセルの列と、カードが配置されている最も右のセルの列との間の中央位置の列を意味する。列間の中央位置がセル間の中央になる場合には、その中央位置の右側の列を全カード中央位置とする。なお、列間の中央位置がセル間の中央になる場合には、その中央位置の左側の列を全カード中央位置としてもよい。
敵カード中央位置は、敵ユーザのユーザ領域ＵＡｂにおいて、カードが配置されている最も左のセルの列と、カードが配置されている最も右のセルの列との間の中央位置の列を意味する。列間の中央位置がセル間の中央になる場合には、その中央位置の左側の列を敵カード中央位置とする。なお、列間の中央位置がセル間の中央になる場合には、その中央位置の右側の列を敵カード中央位置としてもよい。
【００６１】
[横移動ステップＭ１]
本実施形態のバトルの一例において、カードの横移動を行うときには先ず、敵ユーザのカード群から行われる。敵ユーザのカード群のうち全カード中央位置上の第１行のカード、及び全カード中央位置よりも右側にある第１行のカードをすべて、左側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第１行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第１行のカードと連動して横移動させる。
[横移動ステップＭ２]
次に、敵ユーザのカードのうち全カード中央位置よりも左側にある第１行のカードをすべて、右側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第１行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第１行のカードと連動して横移動させる。
[横移動ステップＭ３]
敵ユーザのカードの横移動が完了すると次に、実行ユーザのカード群の横移動が行われる。実行ユーザのカード群のうち敵カード中央位置上の第１行のカード、及び敵カード中央位置よりも左側にある第１行のカードをすべて、右側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第１行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第１行のカードと連動して横移動させる。
[横移動ステップＭ４]
次に、実行ユーザのカードのうち敵カード中央位置よりも右側にある第１行のカードを、左側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第１行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第１行のカードと連動して横移動させる。
【００６２】
本実施形態のゲームでは、実行ユーザのカード群による攻撃と、敵ユーザのカード群による攻撃が交互に行われ、攻撃が行われる度に、以上のステップＭ１〜Ｍ４のカードの横移動処理が逐次行われる。バトル中にカードが攻撃を受けて順次消失していくため、全カード中央位置及び敵カード中央位置は、その都度変化していくことになる。
なお、上述したように、カードが配置されている最も左のセルの列と、カードが配置されている最も右のセルの列との間の中央位置がセル間の中央になる場合に、その中央位置を基準としたときの全カード中央位置及び敵カード中央位置の決定方法を互いに逆にする（つまり、中央位置を挟んで一方を左側の列、他方を右側の列にする）ことで、全カード中央位置上の敵ユーザのカードと敵ユーザ中央位置上の実行ユーザのカードとが互いに逆方向に交差するように移動する。そのため、上述した横移動において実行ユーザと敵ユーザのカード群がバトル中に対向しやすくなる。
【００６３】
次いで、カードの横移動の具体例について、図１２を参照して説明する。ここでは、ステップＳ４に示すカードの配置状態を想定する。この配置状態の例では、全カード中央位置CL_allは第４列である。そこで、上記ステップＭ１で述べたように、第４〜６列にある敵ユーザの第１行のカードをすべて、当該カードの後方にあるカードと共に、左側のセルへ横移動させる（ステップＳ５）。図１２のステップＳ５では、３枚のカードの移動方向を矢印によって示してある。全カード中央位置CL_allよりも左側にあるセルＣｂ（１，３）上のカードは右側に移動させることができないため、この例では上記ステップＭ２は実質的に行われない。ステップＳ５の配置状態（３枚のカードの移動後の状態）では、敵カード中央位置CL_oppは第４列である。そこで次に、上記ステップＭ３で述べたように、第１〜４列にある実行ユーザの第１行のカードをすべて、当該カードの後方にあるカードと共に、右側のセルへ横移動させる（ステップＳ６）。図１２のステップＳ５では、３枚のカードの移動方向を矢印によって示してある。敵カード中央位置CL_oppよりも右側にある実行ユーザのカードは存在しないため、この例では上記ステップＭ４は実質的に行われない。
【００６４】
上述したように、実行ユーザ及び敵ユーザの各カード群では、第１行のカードが消失する度に順次後方のカードが前方移動し、それによって同一の列のカードが隙間を空けずに前方へシフトしていく。また、実行ユーザ及び敵ユーザの各カード群では、いずれかの列のすべてのカードが消失すると、その列の隙間を埋めるようにしてその列に隣接する列に配置されているカードが横方向に移動する。このような前方移動及び横移動によって、バトル中において実行ユーザ及び敵ユーザの各カード群は、カード同士が隣接するようにして、バトルフィールド内を移動することになる。つまり、各ユーザのカード群がバトル中に一体的な移動動作を行うため、実行ユーザがバトルの臨場感を感じることができる。
【００６５】
（５−４）バトルのカードの移動例
次に、本実施形態のゲームにおいて、バトルの開始からバトルの終了までの実行ユーザ及び敵ユーザの各カードの移動態様の具体例について、図１３Ａ〜１３Ｃを参照して説明する。図１３Ａ〜１３Ｃは、バトルの開始から終了までのカードの移動態様を説明するために、ゲーム空間を平面視で見たときのバトルフィールドの各セル上のカード配置を示す図である。各図では、カードの移動が矢印によって示される。
本実施形態のバトルは、例えば、上述したように実行ユーザ及び敵ユーザのカード群の攻撃が順番で行われる。各ユーザの攻撃が行われた後に逐次、カードの前方移動、及びカードの横移動が順に行われる。
【００６６】
図１３Ａ〜１３Ｃに示すバトルでは、図１３ＡのステップＳ１０に示すように、実行ユーザのユーザ領域ＵＡａと敵ユーザのユーザ領域ＵＡｂはそれぞれ、２×６のセルによって構成され、各カードのサイズがすべて１×１である例（つまり、各ユーザのバトル使用カードが１２枚である例）が示されている。
本実施形態のバトルでは、各ユーザの攻撃が交互に行われて各攻撃の後に、前方移動、及び横移動の各処理が行われる。バトルの初期では、バトルの開始時点で第１行に配置されている各ユーザのカードが攻撃を受けて消失していくため、例えばステップＳ１１に示すように、カードの前方移動が主体的に行われる。ステップＳ１１では、５枚のカードが第２行から第１行のセルへ移動した場合が示されている。
【００６７】
バトルが進行し、ステップＳ１２に示すように各ユーザの領域のいずれかの列にカードが存在しない場合が発生すると、横移動が行われる。ステップＳ１２では、実行ユーザのユーザ領域ＵＡａの第５列と、敵ユーザのユーザ領域ＵＡｂの第２列とにカードが存在しない。ステップＳ１２の例では、全カード中央位置CL_allは第４列であるため、第１〜３列にある敵ユーザの２枚のカード（セルＣｂ（１，１），Ｃｂ（１，２）上のカード）を右側のセルに移動させる。なお、ステップＳ１２では、第４〜６列にある敵ユーザのカードを左側に移動させることはできない。
敵ユーザの２枚のカードが右側のセルに移動した後の敵カード中央位置CL_oppは、ステップＳ１３に示すように第４列である。そこでステップＳ１３では、第５〜６列にある実行ユーザの２枚のカード（セルＣａ（１，６），Ｃａ（２，６）上のカード）を左側のセルに移動させる。なお、ステップＳ１３では、第１〜４列にある実行ユーザのカードを右側に移動させることはできない。
【００６８】
ステップＳ１３からバトルが進行した結果、第１行のカードが消失してカードの前方移動が行われ、ステップＳ１４のカードの配置状態になった場合を想定する。ステップＳ１４の例では、全カード中央位置CL_allは第４列である。そのため、ステップＳ１５では、第４〜６列にある敵ユーザの１枚のカード（セルＣｂ（１，６）上のカード）を左側のセルに移動させる。なお、ステップＳ１５では、第２〜３列にある敵ユーザのカードを右側に移動させることはできない。
敵ユーザの１枚のカードが左側のセルに移動した後の敵カード中央位置CL_oppは、ステップＳ１５に示すように第３列となる。そこでステップＳ１５では、ステップＳ１４において第１〜３列にあった実行ユーザの３枚のカード（セルＣａ（１，１），Ｃａ（１，２），Ｃａ（２，２）上のカード）を右側のセルに移動させる。なお、その後に第４〜５列にある実行ユーザのカードを左側に移動させることはできない。
【００６９】
ステップＳ１５からバトルが進行した結果、第１行のカードが消失してカードの前方移動が行われ、ステップＳ１６のカードの配置状態になった場合を想定する。ステップＳ１６の例では、全カード中央位置CL_allは第４列である。そのため、ステップＳ１７では、ステップＳ１６において第４〜６列にあった敵ユーザの１枚のカード（セルＣｂ（１，５）上のカード）を左側のセルに移動させる。なお、その後に第２〜３列にある敵ユーザのカードを右側に移動させることはできない。
敵ユーザの１枚のカードが左側のセルに移動した後の敵カード中央位置CL_oppは、ステップＳ１７に示すように第３列となる。この場合、実行ユーザのいずれのカードも移動させることができない。
【００７０】
ステップＳ１７からバトルが進行した結果、実行ユーザのセルＣａ（１，４）上のカードと敵ユーザのセルＣｂ（１，３）上のカードが消失して、ステップＳ１８のカードの配置状態になった場合を想定する。ステップＳ１８の例では、全カード中央位置CL_allは第４列である。そのため、ステップＳ１９では、ステップＳ１８において第４列にあった敵ユーザの１枚のカード（セルＣｂ（１，４）上のカード）を左側のセルに移動させる。なお、ステップＳ１９では、その後に第２列にある敵ユーザのカードを右側に移動させることはできない。
敵ユーザの１枚のカードが左側のセルに移動した後の敵カード中央位置CL_oppは、ステップＳ１９に示すように第２列となる。この場合、ステップＳ１９では、ステップＳ１８において第２〜６列にあった実行ユーザの２枚のカード（セルＣａ（１，３），Ｃａ（１，５）上のカード）を左側のセルに移動させる。
【００７１】
ステップＳ１９における３枚のカードの移動後の攻撃でいずれのカードも消失されなかった場合を想定する。その場合、全カード中央位置CL_allは第３列である。このとき、ステップＳ２０に示すように、第３列にある敵ユーザのカードは左側へ移動させることができず、第２列にある敵ユーザのカードは右側へ移動させることができない。一方、敵カード中央位置CL_oppは第２列であるため、ステップＳ２０に示すように、ステップＳ１９において第４列にあった実行ユーザの１枚のカード（セルＣａ（１，４）上のカード）を左側のセルに移動させる。
ステップＳ２１では、ステップＳ２０において敵ユーザの領域の第１行にあった２枚のカードが消失した場合が想定される。この場合、敵ユーザのカードがすべて消失したことになるため、実行ユーザの勝利となる。
【００７２】
図１３Ａ〜１３Ｃのバトルの例で示したように、本実施形態のバトルでは、バトル中の実行ユーザ及び敵ユーザの各カード群を、カード同士が隣接するようにしてバトルフィールド内を移動させる。また、実行ユーザ及び敵ユーザの各カード群の横移動では、先ず敵ユーザのカード群を全カード中央位置に向けて横移動させ、その後に実行ユーザのカード群を敵カード中央位置に向けて横移動させる。そのため、各ユーザの攻撃ターンごとに、実行ユーザ及び敵ユーザのカード群同士が対向するようにしてカード位置が調整されるようになる。そのため、バトル開始からバトル終了まで常に各ユーザのカード群が対峙する形となり、実行ユーザから見てバトルの臨場感がより感じられるとともに、各カードによる攻撃の方向が主としてそのカードの前方に設定されている場合には、そのカードに対向して配置されている相手のカードに効果的に攻撃を加えられるため、バトルの勝敗が迅速に決するようになるという利点もある。
【００７３】
（６）ゲーム制御装置が備える機能の概要
次に、上述した本実施形態のゲームを実現するためゲーム制御装置が備える機能について説明する。
本実施形態では、ゲームサーバ２０及びデータベースサーバ３０によってゲーム制御装置が構成されている。以下では、上述した実施形態のゲームが適用される場合を例として、本実施形態のゲーム制御装置で実現される機能について、図１４を参照して説明する。図１４は、本実施形態のゲーム制御装置で主要な役割を果たす機能を説明するための機能ブロック図である。
【００７４】
対応付け手段５１は、それぞれパラメータが関連付けられている複数のカード（オブジェクト）からなるカード群（オブジェクト群）を、バトル使用カードとしてユーザに対応付ける機能を備える。本実施形態では、対応付け手段５１はさらに、ユーザのバトル使用カードの各々をバトルフィールド上のユーザ領域に配置する機能をも備える。
【００７５】
対応付け手段５１の機能は、図１５を参照すると、例えば以下のようにして実現できる。図１５は、バトル使用カードデータのデータ構成の一例を示す図である。バトル使用カードデータは、各バトル使用カードに対応付けて、そのバトルフィールド上の初期位置、バトル中の現在位置、及び残ＨＰ（「ＨＰの残量」を示す。）の各データを含み、いずれかのバトル使用カードの現在位置が変化するか、又はいずれかのバトル使用カードが消失する度に作成される。なお、バトル中に各カードの残ＨＰを表示させる場合には、残ＨＰが変化する度にバトル使用カードデータを作成してもよい。
バトル使用カードデータの中の各カードの初期位置のデータは、いったん決定された後はバトル中において変更されない。特定のバトルに対して作成される一連のバトル使用カードは、そのバトルの開始から終了までの再生ファイルを作成するための基礎データとなる。作成されたバトル使用カードデータは、ゲームサーバ２０のＲＡＭ２３に記憶される。
ゲームサーバ２０のＣＰＵ２１は、実行ユーザの操作入力を含むＨＴＴＰリクエストを通信インタフェース部２５を介して取得すると、その操作入力に応じた処理を行い、処理結果を含むＨＴＭＬデータを生成してユーザの通信端末１０へ送信する。それによって、ユーザの通信端末１０にウェブページが表示され、あるいは通信端末１０に表示されているウェブページが更新される。
【００７６】
(I-1) カードの新規配置
ＣＰＵ２１は、実行ユーザの入力情報がカードの新規配置についての情報である場合、入力情報に基づいてバトル使用カードデータの中の初期配置の欄にデータを書き込む。この入力情報には、実行ユーザの保有カードのうち新たにバトル使用カードとするカード、及びそのカードを配置するセルの選択結果が含まれる。ＣＰＵ２１は、入力情報を取得するとバトル使用カードデータを参照して、実行ユーザに選択されたカードが、選択されたセルに配置可能か否か判断する。ＣＰＵ２１は、選択されたセルにカードを配置可能である場合、そのカードのカードＩＤと初期位置の欄にデータを書き込む。
カードの新規配置に関する実行ユーザの入力は、例えば、ウェブページＰ１のメニューｍ３（「自分で配置する」）に対する操作入力、又はウェブページＰ４のメニューｍ４（「もっと配置する」）に対する操作入力に相当する。
【００７７】
(I-2) カード配置の変更
ＣＰＵ２１は、実行ユーザの入力情報がカード配置の変更についての情報である場合、入力情報に基づいてバトル使用カードデータを更新する。この入力情報には、実行ユーザの配置済みのバトル使用カード、及びそのカードに代わる新たな保有カードの選択結果が含まれる。ＣＰＵ２１は、入力情報を取得するとバトル使用カードデータを参照して、実行ユーザに新たに選択されたカードが、配置済みのバトル使用カードに代えて配置可能か否か判断する。ＣＰＵ２１は、配置可能である場合、既に配置済みのカードのカードＩＤに代えて、新たに選択された実行ユーザの保有カードのカードＩＤを書き込む。
カード配置の変更に関する実行ユーザの入力は、例えば、ウェブページＰ４において、マトリクス２０１に配置済みのいずれかのカードを選択した状態でのメニューｍ５（「配置済カードを変更する」）に対する操作入力に相当する。
【００７８】
(I-3) カード配置の取消
ＣＰＵ２１は、実行ユーザの入力情報がカード配置の取消についての情報である場合、入力情報に基づいてバトル使用カードデータを更新する。この入力情報には、配置の取消対象となる実行ユーザのバトル使用カードの情報が含まれる。ＣＰＵ２１は、配置の取消対象となる実行ユーザのバトル使用カードを取得すると、そのバトル使用カードをバトル使用カードデータから消去する。
カード配置の取消に関する実行ユーザの入力は、例えば、ウェブページＰ４上でマトリクス２０１に配置済みのいずれかのカードに対する選択入力とメニューｍ６（「配置済カードの取消」）に対する操作入力に相当する。
【００７９】
(I-4) カードの自動配置
ＣＰＵ２１は、ウェブページＰ１のメニューｍ２（「自動で配置する」）に対する操作入力を取得すると、実行ユーザの保有カードの中からバトル使用カードを選択してバトル使用カードデータに書き込む。バトル使用カードの選択方法、及びバトル使用カードの配置方法として、例えば以下の方法を採ることができる。ＣＰＵ２１は、カードデータベースを参照して、実行ユーザの保有カードの中から攻撃力と防御力の和が大きい順、及びマトリクス内のセルの所定の配置順で、カードを順次配置していくようにする（つまり、バトル使用カードデータのカードＩＤと初期位置の欄にデータを書き込む）。あるいはＣＰＵ２１は、カードデータベースを参照して、１×１の小サイズのカードのうち攻撃力と防御力の和が大きい順にマトリクスの第１行に配置し、比較的大きいサイズ（例えば、２×２等）のカードのうち攻撃力と防御力の和が大きい順に第２行以降のセルに配置する、というようにしてもよい。
【００８０】
バトル進行手段５２は、実行ユーザと敵ユーザの間のバトルを進行させる機能を備える。
本実施形態のバトル進行方法の例では、実行ユーザと敵ユーザとの間で交互に攻撃が行われる。各ユーザの攻撃ターンでは、各バトル使用カードは、カードデータベース（図７）の攻撃頻度の値に基づくタイミングで、相手のユーザのカードに対して攻撃を行う。そのため、１回の攻撃ターンにおいて、各ユーザのカード群のうち攻撃を行うカードと攻撃を行わないカードがある。カードが攻撃を行う場合にその攻撃対象となる相手のカードは、カードデータベースの射程距離の値に基づいて決定される。カードの攻撃方向は任意に設定することができるが、好ましくはそのカードが攻撃時点で配置されているセルを基準として前方、又は前方に近い方向に設定される。例えば、カードの攻撃は、そのカードが配置されているセルと同一の列にあるバトル相手のカード、又は当該列に隣接する列にあるバトル相手のカードを対象として行われる。
なお、図７では、カード毎に攻撃頻度が設定されている例を示したが、攻撃頻度は全カードで同じ値としてもよい。例えば、各ユーザの攻撃ターンですべてのカードが攻撃を行うように設定してもよい。
カードの攻撃方向について上述したが、攻撃を行うカードから攻撃対象のカードまでの距離は、次の観点から設定してもよい。すなわち、一方のユーザのカードが攻撃を行う場合に、相手のカードのうち、カードデータベースの射程距離の範囲内であって、より前方にあるカード（例えば第１行のカード等の、攻撃するカードにより近いカード）を優先的に攻撃対象としてもよい。この場合、その攻撃対象のカードが消失した場合に、そのカードより後方にあるカードの前方移動を促すことになるため、カード全体を前方に進める動きが促進され、バトルがよりダイナミックになる。
また、カードの攻撃方向や攻撃対象のカードの行の優先度を、実行ユーザが指定できるようにしてもよい。
【００８１】
本実施形態のバトル進行手段５２の機能の実現例では、実行ユーザと敵ユーザの間のバトルの開始の指示がなされた後は、実行ユーザによる操作は必要なく、ゲームサーバ２０のＣＰＵ２１によって作成された再生ファイルが実行ユーザの通信端末１０で再生される。再生ファイルのファイル形式は問わないが、例えばＳＷＦ形式である。
ＣＰＵ２１は、実行ユーザによるバトル開始の指示を受けると（例えば、図１０Ｂのメニューｍ１０の選択結果を含むＨＴＴＰリクエストを取得すると）、実行ユーザ及び敵ユーザの各バトル使用カードの攻撃処理、ＨＰ更新処理、及び移動処理等を実行することで、前述したように、バトルの開始から終了までの再生ファイルの基礎となる一連のバトル使用カードデータを作成する。ＣＰＵ２１は、作成した一連のバトル使用カードデータを基に再生ファイルを作成すると、その再生ファイルを含むＨＴＭＬデータを生成して実行ユーザの通信端末１０へ送信する。
通信端末１０のＣＰＵ１１は、ゲームサーバ２０からＨＴＭＬデータを取得すると、ウェブブラウザによって上記再生用ファイルを実行し、バトルを表示部１６に表示させる。
【００８２】
ゲームサーバ２０のＣＰＵ２１は、実行ユーザのカード配置が完了すると、実行ユーザと敵ユーザの各バトル使用カードのカードデータベース上のデータをＲＡＭ２３にロードした後に、実行ユーザの攻撃ターン、及び敵ユーザの攻撃ターンにおける攻撃処理を、以下のようにして行う。
ＣＰＵ２１は、実行ユーザの攻撃ターンにおいて、実行ユーザの攻撃処理を実行する。実行ユーザの攻撃処理では、実行ユーザの各カードについて、攻撃タイミングに達したか否かが判断される。カードの攻撃タイミングに達していないと判断した場合には、ＣＰＵ２１はそのカードによる攻撃処理を行わない。カードの攻撃タイミングに達したと判断した場合には、ＣＰＵ２１はそのカードによる攻撃処理を行う。
カードによる攻撃処理では、ＣＰＵ２１は、そのカードの攻撃対象となる敵ユーザのカードを決定する。攻撃対象となる敵ユーザのカードは、攻撃を行うカードが配置されているセルを基準として、そのカードの射程距離の範囲内にあるすべてのカードとしてもよい。その場合、ＣＰＵ２１は、敵ユーザのバトル使用カードデータを参照して、基準としたセルからみて射程距離の範囲内の現在位置の敵ユーザのカードを特定する。ＣＰＵ２１は、特定した敵ユーザのカードのすべてを攻撃対象としてもよいし、特定した敵ユーザのカードの中から所定の条件に沿って、または、無作為に一部のカードを選択し、選択したカードを攻撃対象として決定してもよい。好ましくは、ＣＰＵ２１は、攻撃を行うカードが配置されているセルの列と、当該列に隣接する列とに配置されている敵ユーザのカードのうち、基準としたセルからみて射程距離の範囲内の現在位置の敵ユーザのカードを特定する。
【００８３】
敵ユーザの攻撃ターンにおける敵ユーザの攻撃処理は、上述した実行ユーザの攻撃処理と同様であるため、重複説明を省略する。
【００８４】
変更手段５３は、実行ユーザ（第１ユーザ）と敵ユーザ（第２ユーザ）の間のバトルにおいて、いずれかのユーザのバトル使用カード（オブジェクト）に基づいて、敵ユーザのカード群のうち少なくともいずれかのカードのＨＰを変更する機能を備える。本実施形態において、カードのＨＰはオブジェクトに関連付けられたパラメータの一例である。
変更手段５３の機能は、以下のようにして実現することができる。ゲームサーバ２０のＣＰＵ２１は、実行ユーザの攻撃ターンにおいて、実行ユーザの各カードの攻撃対象となる敵ユーザのカードを特定すると、特定したカードのＨＰを低下させる処理を行う。攻撃を受けた敵ユーザのカードのＨＰの低下量ΔＨＰは、そのカードの防御力と攻撃を行ったカードの攻撃力とに基づいて、例えば以下のようにして決定される。
ΔＨＰ＝Ｐａ×ｋ
Ｐａ：攻撃を行ったカードの攻撃力
ｋ：攻撃を受けた敵ユーザのカードの防御力に応じて決定される係数
なお、敵ユーザのカードの防御力の値が大きい程、係数ｋが小さい値に設定される。係数ｋは、例えば０．６〜１．０の範囲の値である。
ＣＰＵ２１は、バトル使用カードデータを作成する時点で各カードの残ＨＰを算出する。
【００８５】
なお、上述したＨＰの低下量の算出方法は一例に過ぎず、攻撃を行ったカードの攻撃力と攻撃を受けたカードの防御力とに基づいて如何なる方法を採ってもよい。例えば、上記ΔＨＰは、攻撃を行ったカードの攻撃力と防御力の和としてもよい。
実行ユーザの攻撃ターンの場合について説明したが、敵ユーザの攻撃ターンの場合も同様にして攻撃処理を実行することができる。
【００８６】
消失手段５４は、カードの残ＨＰが所定の消失条件を満足した場合に、当該カードをバトルフィールドから消失させる機能を備える。本実施形態では、「所定の消失条件」は、カードの残ＨＰがゼロになることである。
消失手段５４の機能は、以下のようにして実現することができる。ゲームサーバ２０のＣＰＵ２１は、実行ユーザの通信端末１０から取得したＨＴＴＰリクエストに基づいてバトルの開始から終了までの間の一連のバトル使用カードデータを作成すると、作成した一連のバトル使用カードデータに基づいて再生ファイルを作成する。このときＣＰＵ２１は、カードの残ＨＰがゼロになると（つまり、消失条件を満足した場合）、カードの現在位置のデータが無効化するようにしてバトル使用カードデータを作成する。これにより、カードの残ＨＰがゼロになった時点から再生ファイルで再生したときにそのカードが消失するようになる。ＣＰＵ２１は、作成した再生ファイルを含むＨＴＭＬデータを実行ユーザの通信端末１０へ送信する。
【００８７】
移動手段５５は、実行ユーザと敵ユーザとのバトルにおいて、各ユーザに含まれるカード同士が隣接するように、各ユーザのカード群をバトルフィールド内で移動させる機能を備える。
本実施形態では、移動手段５５によるカードの移動では、消失手段５４によってバトル中にカードが消失した場合に、消失していない実行ユーザ及び敵ユーザの各々のカード群が、カード同士が隣接するようにしてバトルフィールド内を移動する。その移動態様は限定されるものではないが、本実施形態では一例として、カード同士が隣接するようにしてカード群が移動するようにして、前方移動及び横移動が行われる。このとき、好ましくは、前方移動が横移動に優先して行われる。
以下、(II-1) 前方移動処理、及び、(II-2) 横移動処理について順に説明する。
【００８８】
(II-1) 前方移動処理
ＣＰＵ２１は、実行ユーザ及び敵ユーザのカード群の中で第１行にあるカードが消失したと判断した場合には、そのカードと同一の列にある後方のカードを前方移動させるように、バトル使用カードデータを作成する。つまりＣＰＵ２１は、前方移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。
【００８９】
(II-2) 横移動処理
［敵ユーザのカードの横移動処理］
ＣＰＵ２１は、フィールド全体のカード群の中央位置を示すマトリクス上の列である全カード中央位置(CL_all)を決定する。ここで、全カード中央位置は、バトルフィールドにおいて、カードが配置されている最も左のセルの列と、カードが配置されている最も右のセルの列との間の中央位置の列である。列間の中央位置がセル間の中央になる場合には、その中央位置の右側の列が全カード中央位置となる。
ＣＰＵ２１は、全カード中央位置を決定すると、敵ユーザのカード群の各カードの処理順序を決定する。この処理順序は以下の(a-1)〜(a-4)の優先順となる。
【００９０】
(a-1) 第１行において、全カード中央位置を基準に左から右に配置されているカードの順
(a-2) 第１行以外の各行において、全カード中央位置を基準に左から右に配置されているカードの順
(a-3) 第１行において、全カード中央位置よりも左側にあるカードについて、右から左に配置されているカードの順
(a-4) 第１行以外の各行において、全カード中央位置よりも左側にあるカードについて、右から左に配置されているカードの順
【００９１】
ＣＰＵ２１は、(a-1)に示したカードの順で左側のセルに横移動させるようにしてバトル使用カードデータを作成する。つまりＣＰＵ２１は、横移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。このとき、移動先のセルに他のカードが存在する場合には移動させない。
ＣＰＵ２１は、(a-2)に示したカードの順で各カードの横移動処理を実行するに当たっては、同一の列にある(a-1)に示したカードの順での各カードの移動結果と連動させて移動させるようにしてバトル使用カードデータを作成する。つまりＣＰＵ２１は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。
ＣＰＵ２１は、(a-3)に示したカードの順で、右側のセルに横移動させるようにしてバトル使用カードデータを作成する。つまりＣＰＵ２１は、横移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。このとき、移動先のセルに他のカードが存在する場合には移動させない。
ＣＰＵ２１は、(a-4)に示したカードの順で各カードの横移動処理を実行するに当たっては、同一の列にある(a-3)に示したカードの順での各カードの移動結果と連動させて移動させるようにしてバトル使用カードデータを作成する。つまりＣＰＵ２１は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。
【００９２】
［実行ユーザのカードの横移動処理］
敵ユーザのカードの横移動処理が完了すると、ＣＰＵ２１は次に、実行ユーザのカード群の横移動処理を実行する。
ＣＰＵ２１は、敵ユーザのカード群の中央位置を示すマトリクス上の列である敵カード中央位置(CL_opp)を決定する。ここで、敵カード中央位置は、敵ユーザのユーザ領域において、カードが配置されている最も左のセルの列と、カードが配置されている最も右のセルの列との間の中央位置の列である。列間の中央位置がセル間の中央になる場合には、その中央位置の左側の列が敵カード中央位置となる。
ＣＰＵ２１は、敵カード中央位置を決定すると、実行ユーザのカード群の各カードの処理順序を決定する。この処理順序は以下の(b-1)〜(b-4)の優先順となる。
【００９３】
(b-1) 第１行において、敵カード中央位置を基準に右から左に配置されているカードの順
(b-2) 第１行以外の各行において、敵カード中央位置を基準に右から左に配置されているカードの順
(b-3) 第１行において、敵カード中央位置よりも右側にあるカードについて、左から右に配置されているカードの順
(b-4) 第１行以外の各行において、敵カード中央位置よりも右側にあるカードについて、左から右に配置されているカードの順
【００９４】
ＣＰＵ２１は、(b-1)に示したカードの順で、右側のセルに横移動させるようにしてバトル使用カードデータを作成する。つまりＣＰＵ２１は、横移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。このとき、移動先のセルに他のカードが存在する場合には移動させない。
ＣＰＵ２１は、(b-2)に示したカードの順で各カードの横移動処理を実行するに当たっては、同一の列にある(b-1)に示したカードの順での各カードの移動結果と連動させて移動させるようにしてバトル使用カードデータを作成する。つまりＣＰＵ２１は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。
ＣＰＵ２１は、(b-3)に示したカードの順で、左側のセルに横移動させるようにしてバトル使用カードデータを作成する。つまりＣＰＵ２１は、横移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。このとき、移動先のセルに他のカードが存在する場合には移動させない。
ＣＰＵ２１は、(b-4)に示したカードの順で各カードの横移動処理を実行するに当たっては、同一の列にある(b-3)に示したカードの順での各カードの移動結果と連動させて移動させるようにしてバトル使用カードデータを作成する。つまりＣＰＵ２１は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。
【００９５】
（７）本実施形態のバトル処理のフロー
次に、本実施形態のバトル処理のフローの一例について、図１６〜２１のフローチャートを参照して説明する。図１６は、本実施形態のバトルゲームの全体処理の一例を示すフローチャートである。図１７は、カード配置処理の一例を示すフローチャートである。図１８は、攻撃処理の一例を示すフローチャートである。図１９は、カードの前方移動処理の一例を示すフローチャートである。図２０は、敵ユーザのカードの横移動処理の一例を示すフローチャートである。図２１は、実行ユーザのカードの横移動処理の一例を示すフローチャートである。
【００９６】
（７−１）バトルゲームの全体処理（図１６）
図１６において、ゲームサーバ２０のＣＰＵ２１は、実行ユーザによるバトル開始の指示を受けた場合（ステップＳ３０：ＹＥＳ）、ステップＳ３２以降の処理を行い、バトル開始の指示を受けていない場合には（ステップＳ３０：ＮＯ）、終了する。なお、ＣＰＵ２１は、バトル開始の指示を、例えば図１０Ｂのメニューｍ１０の選択結果を含むＨＴＴＰリクエストを取得したことにより認識する。
【００９７】
ＣＰＵ２１は、実行ユーザ及び敵ユーザのカード配置処理（ステップＳ３２；図１７）を実行した後、ステップＳ３４へ進む。本実施形態のバトルゲームでは、実行ユーザと敵ユーザのカードによる攻撃が交互に行うことによる攻撃処理が実行される。そこでＣＰＵ２１は、実行ユーザの攻撃ターンであると判断した場合には（ステップＳ３４：ＹＥＳ）、実行ユーザの攻撃処理を行う（ステップＳ３６；図１８）。ＣＰＵ２１は、敵ユーザの攻撃ターンであると判断した場合には（ステップＳ３４：ＮＯ）、敵ユーザの攻撃処理を行う（ステップＳ３８；図１８）。
ＣＰＵ２１は、実行ユーザ又は敵ユーザのいずれかの攻撃処理を行った後に、敵ユーザと実行ユーザのカードの移動処理を行う。つまりＣＰＵ２１は、敵ユーザのカードの前方移動処理（ステップＳ４０；図１９）、実行ユーザのカードの前方移動処理（ステップＳ４２；図１９）、敵ユーザのカードの横移動処理（ステップＳ４４；図２０）、実行ユーザのカードの横移動処理（ステップＳ４６；図２１）を順次実行する。これらの処理については、図１９〜２１を参照して後述する。
【００９８】
ＣＰＵ２１は、ステップＳ４０〜Ｓ４６の処理の後、実行ユーザ又は敵ユーザのカードがすべて消失した（つまり、すべてのカードの残ＨＰの値がゼロになった）と判断した場合（ステップＳ４８：ＹＥＳ）、バトル終了処理（ステップＳ５０）を行った後に終了する。バトル終了処理には、ＣＰＵ２１が作成した一連のバトル使用カードデータに基づく再生ファイルの作成、その再生ファイルを含むＨＴＭＬデータの作成、及び、実行ユーザの通信端末１０へのＨＴＭＬデータの送信等を含む。
ＣＰＵ２１は、ステップＳ４０〜Ｓ４６の処理の後、実行ユーザ又は敵ユーザのカードがすべて消失していないと判断した場合（ステップＳ４８：ＮＯ）、ステップＳ３４に戻ってバトルの処理を継続する。
【００９９】
なお、図１６のフローチャートでは、実行ユーザの攻撃処理（ステップＳ３６）と敵ユーザの攻撃処理（ステップＳ３８）が交互に行われ、各攻撃処理の後にカードの移動処理が行われる場合について例示しているが、この場合に限られない。ステップＳ３６とステップＳ３８を続けて実行し、その後にカードの移動処理を実行するようにしてもよい。
また、図１６のフローチャートでは、実行ユーザによるバトル開始の指示を受けた後に（ステップＳ３０：ＹＥＳ）、カード配置処理を実行する場合を例示しているが、この場合に限られない。カード配置処理はバトルの処理とは無関係に実行できるようにしてもよい。例えば、図１０ＡのウェブページＰ０のメニュー表示領域１０３内にユーザがバトル使用カードを予め編集して登録するためのメニューを設け、バトル開始の指示を認識した時点で、登録されたバトル使用カードデータを読み出すことによって、バトルを実行するようにしてもよい。
【０１００】
（７−２）カード配置処理（図１７）
カード配置処理では先ず、実行ユーザによって選択されたメニューが判定される（ステップＳ１００）。ゲームサーバ２０のＣＰＵ２１は、例えば図１０ＡのウェブページＰ４のメニューの選択結果を含むＨＴＴＰリクエストを取得すると、その選択結果に基づいて処理を実行する。
ＣＰＵ２１は、ウェブページＰ１（図１０参照）のメニューｍ３（「自分で配置する」）の選択結果、又はウェブページＰ４のメニューｍ４（「もっと配置する」）の選択結果を含むＨＴＴＰリクエストを取得すると（ステップＳ１００：ｍ３，ｍ４）、ウェブページＰ２向けのＨＴＭＬデータをユーザの通信端末１０へ送信する。ウェブページＰ２のマトリクス２０１上でいずれかの未配置セルの選択結果を含むＨＴＴＰリクエストを取得すると（ステップＳ１０２：ＹＥＳ）、ＣＰＵ２１は、ユーザの保有カードの一覧をユーザに提示する（ステップＳ１０４）。つまりＣＰＵ２１は、保有カードの一覧を含むＨＴＭＬデータをユーザの通信端末１０へ送信する。これによってユーザの通信端末１０には、例えばウェブページＰ３が表示される。
【０１０１】
なお、図１７のステップＳ１００には、メニューｍ２（「自動で配置する」）の選択肢を図示していないが、メニューｍ２が選択された場合には、ＣＰＵ２１は、所定の基準を基にユーザの保有カードからマトリクス２０１にカードを配置するとともに、カードのカードＩＤと初期位置の欄にデータを書き込むことで、バトル使用カードデータを更新する（ステップＳ１１２）。
【０１０２】
ウェブページＰ３においていずれかの保有カードの選択結果を含むＨＴＴＰリクエストを取得すると（ステップＳ１０６：ＹＥＳ）、ＣＰＵ２１は、選択されたカードがマトリクス２０１に配置可能であるか否かを判断する（ステップＳ１０８）。
【０１０３】
ステップＳ１０８の判断は、以下に述べるように様々な観点から行われてもよい。
ステップＳ１０８では、選択されたセルにカードが配置されておらず、かつステップＳ１０６で選択されたカードをマトリクス２０１上に配置できる領域が存在しない（つまり、十分な空き領域がない）場合には、ＣＰＵ２１はそのカードを配置できないと判断する。例えば、選択されたセルを基準としたマトリクス上の空き領域として１×２の領域が存在するに過ぎない場合に、選択されたカードのサイズが当該空き領域より大きい領域を必要とするサイズ２×２である場合には、そのカードを配置できないと判断される。
ステップＳ１０８において、ＣＰＵ２１は、選択されたセルが配置されたときのカードのコストの総和（総コスト）が所定値以下であるか否かに基づいて、選択されたカードが配置可能であるか否かを判断してもよい。その場合、総コストが所定値以下である場合には選択されたカードが配置可能であると判断され、総コストが所定値より大きい場合には選択されたカードが配置できないと判断される。
【０１０４】
選択されたカードを配置できないと判断した場合には（ステップＳ１０８：ＮＯ）、ＣＰＵ２１は、ステップＳ１０６で選択されたカードの配置を許可せず、選択されたカードが配置できないことを示すテキストを含むＨＴＭＬデータをユーザの通信端末１０へ送信する。つまり、選択されたカードが配置できないことが通知されて（ステップＳ１１０）、再度のカード選択処理（つまり、ステップＳ１０６）へ戻る。一方、選択されたカードを配置できると判断した場合には（ステップＳ１０８：ＹＥＳ）、ＣＰＵ２１は、ステップＳ１０６で選択されたカードのカードＩＤと初期位置の欄にデータを書き込むことで、バトル使用カードデータを更新する（ステップＳ１１２）。
【０１０５】
次いでＣＰＵ２１は、カードの配置終了指示がなされたか否か、つまりメニューｍ７（「現在の配置でバトル」）の選択結果を含むＨＴＴＰリクエストを取得したか否かを判定する（ステップＳ１１４）。カードの配置終了指示がなされた場合には（ステップＳ１１４：ＹＥＳ）、図１６のフローに戻る。カードの配置終了指示がなされない場合には（ステップＳ１１４：ＮＯ）、つまり例えばウェブページＰ４（図１０Ａ）でメニューｍ４〜ｍ６のいずれかのメニューの選択結果を含むＨＴＴＰリクエストを取得した場合には、ＣＰＵ２１は、ステップＳ１００に戻って選択されたメニューの処理を実行する。
なお、ユーザのカードの総コストを制限するためのステップＳ１０８の処理は必須ではない。つまり、ステップＳ１０６でカードの選択がなされた場合には、その選択されたカードを基にステップＳ１１２のバトル使用カードデータの更新処理を実行してもよい。
【０１０６】
ＣＰＵ２１は、ウェブページＰ４においてメニューｍ５（「配置済カードを変更する」;図１０Ａ参照）の選択結果を含むＨＴＴＰリクエストを取得すると（ステップＳ１００：ｍ５）、マトリクス２０１上にカードが配置済みのいずれかのセルが選択されている場合には（ステップＳ１１６：ＹＥＳ）、ステップＳ１０４へ進む。ステップＳ１０４以降の処理は、既に説明したとおりである。
【０１０７】
ＣＰＵ２１は、ウェブページＰ４においてメニューｍ６（「配置済カードの取消」）の選択結果を含むＨＴＴＰリクエストを取得すると（ステップＳ１００：ｍ６）、取消対象となる、カードが配置済みのいずれかのセルが選択されている場合には（ステップＳ１１８：ＹＥＳ）、選択されたセルに配置されているカードをバトル使用カードデータから消去するようにしてバトル使用カードデータを更新する（ステップＳ１１２）。その後、既に説明したようにステップＳ１１４の判定処理を行う。
なお、図１７のフローチャートでは、選択されたセルにカードを配置可能か否かについてステップＳ１０８にて判断されるが、ステップＳ１０４にて判断されるようにしてもよい。その場合、ステップＳ１０４でユーザに提示されるカード一覧では、十分な空き領域がなく配置できないカードを非表示とするか、配置可能なカードとは異なる態様で（例えば、暗くさせて）表示させるか、あるいは選択できないようにして表示させてもよい。
【０１０８】
（７−３）攻撃処理（図１８）
以下では、実行ユーザの攻撃ターン（図１６のステップＳ３６）について説明するが、敵ユーザの攻撃ターン（図１６のステップＳ３８）についても同様である。
実行ユーザの攻撃ターンにおいて、ゲームサーバ２０のＣＰＵ２１は、実行ユーザのバトル使用カードの各々について処理対象のカードを順に特定し、ステップＳ１２０〜Ｓ１２６の処理を実行する。ＣＰＵ２１は先ず、処理対象のカードについて攻撃タイミングに達したか否かを判断する（ステップＳ１２０）。カードの攻撃タイミングに達していないと判断した場合には（ステップＳ１２０：ＮＯ）、ＣＰＵ２１はそのカードによる攻撃処理を行わずに、ステップＳ１２９へ進む。実行ユーザのすべてのカードについて処理が終了していない場合には（ステップＳ１２９：ＮＯ）、次のカードの処理のためにステップＳ１２０へ戻る。
【０１０９】
カードの攻撃タイミングに達したと判断した場合には（ステップＳ１２０：ＹＥＳ）、ＣＰＵ２１はステップＳ１２２以降の処理を行う。なお、ＣＰＵ２１は、ステップＳ１２０の判断を行うに当たって、カードデータベース（図７）の攻撃頻度のデータを参照する。攻撃頻度の値が大きいほど、攻撃を行う頻度が多いと判断される。例えば、攻撃頻度の値が「２」であるカードについては、実行ユーザの攻撃ターンにおいて常に攻撃を実行し、攻撃頻度の値が「１」であるカードについては、連続する２回の実行ユーザの攻撃ターンのいずれかにおいて攻撃を実行する、といった具合である。
【０１１０】
次いでＣＰＵ２１は、処理対象のカードの射程距離に敵ユーザのカードがあるか否か判定する（ステップＳ１２２）。つまりＣＰＵ２１は、は、処理対象のカードが配置されているセルを基準として、そのカードの射程距離の範囲内のセルに配置されている敵ユーザのカードがあるか否か判定する。処理対象のカードの射程距離に敵ユーザのカードがある場合には（ステップＳ１２２：ＹＥＳ）、ＣＰＵ２１は攻撃対象のカードを決定する（ステップＳ１２４）。処理対象のカードの射程距離に敵ユーザのカードがない場合には（ステップＳ１２２：ＮＯ）、ステップＳ１２９へ進む。実行ユーザのすべてのカードについて処理が終了していない場合には（ステップＳ１２９：ＮＯ）、ステップＳ１２０へ戻る。
ステップＳ１２４では、処理対象のカードの射程距離の範囲内にある敵ユーザのカードのすべてを攻撃対象のカードとして決定してもよいし、射程距離の範囲内にある敵ユーザのカードの中から所定の条件に沿って、又は、無作為に一部のカードを選択し、選択したカードを攻撃対象のカードとして決定してもよい。好ましくは、ＣＰＵ２１は、射程距離の範囲内にある敵ユーザのカードの中から、処理対象のカードが配置されているセルの列と、当該列に隣接する列とに配置されている敵ユーザのカードを攻撃対象のカードとして決定してもよい。
【０１１１】
次にＣＰＵ２１は、攻撃対象のカードのＨＰを低下させる処理を行う。前述したように、ＣＰＵ２１は、攻撃対象のカードのＨＰの低下量を、例えば、処理対象のカードの攻撃力と攻撃対象のカードの防御力とに基づいて算出する。ＣＰＵ２１は、算出されたＨＰの低下量を基に、攻撃対象のカードのＨＰを更新する（ステップＳ１２６）。ＣＰＵ２１は、攻撃対象のカードの残ＨＰがゼロになったと判断した場合には（ステップＳ１２７：ＹＥＳ）、攻撃対象のカードの現在位置のデータが無効化されるようにしてバトル使用カードデータを作成する（ステップＳ１２８）。ＣＰＵ２１は、攻撃対象のカードの残ＨＰがゼロより大きいと判断した場合には（ステップＳ１２７：ＮＯ）、ステップＳ１２９へ進む。
実行ユーザのすべてのカードについて処理が終了した場合には（ステップＳ１２９：ＹＥＳ）、実行ユーザの攻撃ターンが終了する。
【０１１２】
（７−４）カードの前方移動処理（図１９）
以下では、実行ユーザのカードの前方移動処理について説明するが、敵ユーザのカードの前方移動処理についても同様である。
ゲームサーバ２０のＣＰＵ２１は、実行ユーザの各カードについて図１９に示す処理を実行する。ＣＰＵ２１は先ず、処理対象のカードが第１行にあるか否か判定する（ステップＳ１３０）。処理対象のカードが第１行にある場合には（ステップＳ１３０：ＹＥＳ）、前方移動ができないためステップＳ１３６へ進む。実行ユーザのすべてのカードについて処理が終了していない場合には（ステップＳ１３６：ＮＯ）、次のカードの処理のためにステップＳ１３０へ戻る。
【０１１３】
処理対象のカードが第１行にいない場合には（ステップＳ１３０：ＮＯ）、ステップＳ１３２へ進む。ＣＰＵ２１は、処理対象のカードが配置されているセルの１つの前のセルに実行ユーザの他のカードがいない場合には（ステップＳ１３２：ＮＯ）、処理対象のカードを前進させることを決定する（ステップＳ１３４）。このとき、ＣＰＵ２１は、前進させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。ＣＰＵ２１は、処理対象のカードが配置されているセルの１つの前のセルに実行ユーザの他のカードがある場合には（ステップＳ１３２：ＹＥＳ）、処理対象のカードを前進させることができないためステップＳ１３４の処理を行わない。
実行ユーザのすべてのカードについて処理が終了した場合には（ステップＳ１３６：ＹＥＳ）、実行ユーザのカードの前方移動処理が終了する。
【０１１４】
（７−５）敵ユーザのカードの横移動処理（図２０）
ゲームサーバ２０のＣＰＵ２１は、フィールド全体のカード群の中央位置を示すマトリクス上の列である全カード中央位置(CL_all)を決定する（ステップＳ１４０）。前述したように、全カード中央位置は、バトルフィールドにおいて、カードが配置されている最も左のセルの列と、カードが配置されている最も右のセルの列との間の中央位置の列である。列間の中央位置がセル間の中央になる場合には、その中央位置の右側の列が全カード中央位置となる。
ＣＰＵ２１は、全カード中央位置を決定すると、敵ユーザのカード群の各カードの処理順序を決定する（ステップＳ１４２）。この処理順序は、前述したように、以下の(a-1)〜(a-4)に示す優先順である。各カードの処理順序が決定されると、その処理順序に従って各カードについてステップＳ１４４〜Ｓ１５４の処理が行われる。
【０１１５】
(a-1) 第１行において、全カード中央位置を基準に左から右に配置されているカードの順
(a-2) 第１行以外の各行において、全カード中央位置を基準に左から右に配置されているカードの順
(a-3) 第１行において、全カード中央位置よりも左側にあるカードについて、右から左に配置されているカードの順
(a-4) 第１行以外の各行において、全カード中央位置よりも左側にあるカードについて、右から左に配置されているカードの順
【０１１６】
処理対象のカードが上記(a-1)を満たすカードである間、処理対象のカードが第１行にあり（ステップＳ１４４：ＹＥＳ）、かつ全カード中央位置CL_allにあるか、又は全カード中央位置CL_allより右側にあるため（ステップＳ１４６：ＹＥＳ）、ＣＰＵ２１は、処理対象のカードを左のセルへ移動させる処理を行う（ステップＳ１４８）。なお、移動先のセルに他のカードが存在する場合には移動させない。ステップＳ１４８においてＣＰＵ２１は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。ステップＳ１４８の処理が完了すると、敵ユーザのすべてのカードについて処理が終了していない場合には（ステップＳ１５４：ＮＯ）、次のカードの処理のためにステップＳ１４４へ戻る。
【０１１７】
処理対象のカードが上記(a-2)を満たすカードである間、処理対象のカードが第１行にないため（ステップＳ１４４：ＮＯ）、図２０の処理の開始時にバトルフィールド上で１つの前のセルにあったカードと同じように（つまり、連動して）、処理対象のカードを移動させる処理を行う（ステップＳ１５２）。すなわち、処理対象のカードが２行目以降のセルにあるカードである場合ついては、上記(a-1)を満たすカードに対して既に行われた移動態様と同じようにして移動が行われる。ステップＳ１５２においてＣＰＵ２１は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。ステップＳ１５２の処理が完了すると、敵ユーザのすべてのカードについて処理が終了していない場合には（ステップＳ１５４：ＮＯ）、次のカードの処理のためにステップＳ１４４へ戻る。
【０１１８】
処理対象のカードが上記(a-3)を満たすカードである間、処理対象のカードが第１行にあり（ステップＳ１４４：ＹＥＳ）、かつ全カード中央位置CL_allより左側にあるため（ステップＳ１４６：ＮＯ）、ＣＰＵ２１は、処理対象のカードを右のセルへ移動させる処理を行う（ステップＳ１５０）。なお、移動先のセルに他のカードが存在する場合には移動させない。ステップＳ１５０においてＣＰＵ２１は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。ステップＳ１５０の処理が完了すると、敵ユーザのすべてのカードについて処理が終了していない場合には（ステップＳ１５４：ＮＯ）、次のカードの処理のためにステップＳ１４４へ戻る。
【０１１９】
処理対象のカードが上記(a-4)を満たすカードである間、処理対象のカードが第１行にないため（ステップＳ１４４：ＮＯ）、図２０の処理の開始時にバトルフィールド上で１つの前のセルにあったカードと同じように（つまり、連動して）、処理対象のカードを移動させる処理を行う（ステップＳ１５２）。すなわち、処理対象のカードが２行目以降のセルにあるカードである場合ついては、上記(a-3)を満たすカードに対して既に行われた移動態様と同じようにして移動が行われる。ステップＳ１５２においてＣＰＵ２１は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。ステップＳ１５２の処理が完了すると、敵ユーザのすべてのカードについて処理が終了していない場合には（ステップＳ１５４：ＮＯ）、次のカードの処理のためにステップＳ１４４へ戻る。
上記(a-4)を満たす処理対象のカードのうち最後のカードについての処理が完了すると、すべての敵ユーザのカードについての横移動処理が終了したことになる（ステップＳ１５４：ＹＥＳ）。
【０１２０】
（７−６）実行ユーザのカードの横移動処理（図２１）
ゲームサーバ２０のＣＰＵ２１は、敵ユーザのカード群の中央位置を示すマトリクス上の列である敵カード中央位置(CL_opp)を決定する（ステップＳ１６０）。前述したように、敵カード中央位置は、敵ユーザのユーザ領域において、カードが配置されている最も左のセルの列と、カードが配置されている最も右のセルの列との間の中央位置の列である。列間の中央位置がセル間の中央になる場合には、その中央位置の左側の列が敵カード中央位置となる。
ＣＰＵ２１は、敵カード中央位置を決定すると、実行ユーザのカード群の各カードの処理順序を決定する（ステップＳ１６２）。この処理順序は、前述したように、以下の(b-1)〜(b-4)に示す優先順となる。各カードの処理順序が決定されると、その処理順序に従って各カードについてステップＳ１６４〜Ｓ１７４の処理が行われる。
【０１２１】
(b-1) 第１行において、敵カード中央位置を基準に右から左に配置されているカードの順
(b-2) 第１行以外の各行において、敵カード中央位置を基準に右から左に配置されているカードの順
(b-3) 第１行において、敵カード中央位置よりも右側にあるカードについて、左から右に配置されているカードの順
(b-4) 第１行以外の各行において、敵カード中央位置よりも右側にあるカードについて、左から右に配置されているカードの順
【０１２２】
処理対象のカードが上記(b-1)を満たすカードである間、処理対象のカードが第１行にあり（ステップＳ１６４：ＹＥＳ）、かつ敵カード中央位置CL_oppにあるか、又は敵カード中央位置CL_oppより左側にあるため（ステップＳ１６６：ＹＥＳ）、ＣＰＵ２１は、処理対象のカードを右のセルへ移動させる処理を行う（ステップＳ１６８）。なお、移動先のセルに他のカードが存在する場合には移動させない。ステップＳ１６８においてＣＰＵ２１は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。ステップＳ１６８の処理が完了すると、実行ユーザのすべてのカードについて処理が終了していない場合には（ステップＳ１７４：ＮＯ）、次のカードの処理のためにステップＳ１６４へ戻る。
【０１２３】
処理対象のカードが上記(b-2)を満たすカードである間、処理対象のカードが第１行にないため（ステップＳ１６４：ＮＯ）、図２１の処理の開始時にバトルフィールド上で１つの前のセルにあったカードと同じように（つまり、連動して）、処理対象のカードを移動させる処理を行う（ステップＳ１７２）。すなわち、処理対象のカードが２行目以降のセルにあるカードである場合ついては、上記(b-1)を満たすカードに対して既に行われた移動態様と同じようにして移動が行われる。ステップＳ１７２においてＣＰＵ２１は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。ステップＳ１７２の処理が完了すると、実行ユーザのすべてのカードについて処理が終了していない場合には（ステップＳ１７４：ＮＯ）、次のカードの処理のためにステップＳ１６４へ戻る。
【０１２４】
処理対象のカードが上記(b-3)を満たすカードである間、処理対象のカードが第１行にあり（ステップＳ１６４：ＹＥＳ）、かつ敵カード中央位置より右側にあるため（ステップＳ１６６：ＮＯ）、ＣＰＵ２１は、処理対象のカードを左のセルへ移動させる処理を行う（ステップＳ１７０）。なお、移動先のセルに他のカードが存在する場合には移動させない。ステップＳ１７０においてＣＰＵ２１は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。ステップＳ１７０の処理が完了すると、実行ユーザのすべてのカードについて処理が終了していない場合には（ステップＳ１７４：ＮＯ）、次のカードの処理のためにステップＳ１６４へ戻る。
【０１２５】
処理対象のカードが上記(b-4)を満たすカードである間、処理対象のカードが第１行にないため（ステップＳ１６４：ＮＯ）、図２１の処理の開始時にバトルフィールド上で１つの前のセルにあったカードと同じように（つまり、連動して）、処理対象のカードを移動させる処理を行う（ステップＳ１７２）。すなわち、処理対象のカードが２行目以降のセルにあるカードである場合ついては、上記(b-3)を満たすカードに対して既に行われた移動態様と同じようにして移動が行われる。ステップＳ１７２においてＣＰＵ２１は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。ステップＳ１７２の処理が完了すると、実行ユーザのすべてのカードについて処理が終了していない場合には（ステップＳ１７４：ＮＯ）、次のカードの処理のためにステップＳ１６４へ戻る。
上記(b-4)を満たす処理対象のカードのうち最後のカードについての処理が完了すると、すべての実行ユーザのカードについての横移動処理が終了したことになる（ステップＳ１７４：ＹＥＳ）。
【０１２６】
以上詳細に説明したように、本実施形態のゲーム制御装置によって実現されるユーザ間のバトルゲームでは、ユーザ同士のカード群の攻防によってカードが消失する場合に、バトルフィールドに残留する各ユーザのカード群が隣接するようにしてバトルフィールド内を移動する。つまり、各ユーザのカード群がバトルの開始から終了まで統率のとれた動きを見せるため、ユーザはバトルゲームにおいて、より臨場感を味わうことができる。
本実施形態のバトルゲームに関するＣＰＵ２１の攻撃処理では実行ユーザと敵ユーザのカード群の攻撃が交互に実行されるが、ユーザの通信端末１０へ送信される再生ファイルを再生した場合には、両者の攻撃が高速に再現される。このとき、攻防の局面の切り替わりで何らかのユーザ操作を要さず、従来のターン制のバトルよりもバトルの表示が興趣性に富んだものとなる。
【０１２７】
上述した実施形態では、バトルフィールドがセル（所定の基本領域）のマトリクスによって構成され、移動手段５５が、バトルフィールド内において各カード（オブジェクト）をセル単位で移動させる場合について説明した。この場合、カードのバトルフィールド内における前後又は左右の動きの量が一定となるため、ユーザ間のバトルにおいて、各ユーザのカード群の移動が統一感のとれたものとすることができる。また、カードがマトリクスを構成する矩形のセルの大きさに合致した形態であり、カード群の移動の統一性の点から好適である。
なお、上記場合に限られず、マトリクスを構成する基本領域は、バトルフィールドに配置されるオブジェクトの形態に合わせて適宜設定することができる。例えば、矩形のカードに代えて六角形のオブジェクトがバトルに使用される場合、矩形のセルのマトリクスに代えて六角形のセルのマトリクスを設定してもよい。
【０１２８】
上述した実施形態では、移動手段５５が、実行ユーザ（第１ユーザ）に対応付けられたカード群（第１オブジェクト群）の各カードが実行ユーザのユーザ領域の第１行（第１基準行）を越えない範囲で、かつ敵ユーザ（第２ユーザ）に対応付けられたカード群（第２オブジェクト群）の各カードが敵ユーザのユーザ領域の第１行（第２基準行）を超えない範囲で、カードを移動させる場合について説明した。この場合には、実行ユーザ及び敵ユーザに対してそれぞれ設けられた各ユーザ領域の第１行が各ユーザのカード群の先頭の行になり、各ユーザのカード群が各々のユーザ領域の第１行を挟んで対峙して配置される。そのため、各ユーザのカード群が対戦中に移動する領域がユーザ同士で重なることがなく、ユーザは自身の各カードの動きを認識しやすくなる。
なお、上記場合に限られず、実行ユーザと敵ユーザの各カード群に対して基準行を設定しなくてもよい。また、基準行を単一の行のみから設定する必要はない。つまり、各ユーザの先頭の行は、列ごとに異なる位置に設定してもよい。
【０１２９】
上述した実施形態では、移動手段５５が、実行ユーザのユーザ領域の第１行（第１基準行）と敵ユーザのユーザ領域の第１行（第２基準行）をマトリクス上で隣接した行とした場合について説明した。この場合、各ユーザのカード群の先頭の行が隣接することになるため、各ユーザのカード群同士での接近戦を模擬することができる。
なお、上記場合に限られず、各ユーザの基準行は離間していてもよい。つまり、バトルフィールド内で各ユーザのユーザ領域の間に緩衝領域（例えば、２〜３行分の領域）を設け、その緩衝領域を挟んで各ユーザのカード群が対峙する配置としてもよい。
【０１３０】
上述した実施形態では、以下の場合について説明した。すなわち、変更手段５３が、バトル中において実行ユーザ又は敵ユーザのいずれかのユーザのカードの攻撃により（つまり、当該カードに基づいて）、当該ユーザのバトル相手のカード群のうち、少なくとも攻撃を行ったカードと重複する列に対向して配置されているバトル相手のカードのＨＰ（カードに関連付けられたパラメータ）を変更するようにした。また、移動手段５５が、実行ユーザ及び敵ユーザの各カード群について、第１行（基準行）上のカードが消失させられた場合には、そのカードと同一の列に配置されている他のカードを第１行まで移動させるようにした。この場合には、実行ユーザ又は敵ユーザのいずれか一方のユーザのカードによる攻撃が、当該カードと同一の列の他方のユーザのカードに対して行われる。また、第１行上のカードが相手の攻撃によって消失した場合、第１行からみて後方のカードが第１行まで前方移動する。そのため、ユーザ間のバトルでは、お互いの基準行を挟んでカード群同士の攻防が行われることになり、バトル自体がわかりやすく表示されるとともに、バトルの臨場感も増す。
【０１３１】
なお、上記場合に限られず、バトル中の各カードの攻撃方向は任意に設定してもよい。例えば、実行ユーザの攻撃ターンにおいて各カードが攻撃を行う場合には、カードの射程距離にある敵ユーザのカードの中から攻撃対象となるカードを無作為に選択するようにしてもよい。
カードの攻撃方向について上述したが、攻撃を行うカードから攻撃対象のカードまでの距離は、次の観点から設定してもよい。すなわち、一方のユーザのカードが攻撃を行う場合に、相手のカードのうち、カードデータベースの射程距離の範囲内であって、より前方にあるカード（例えば第１行のカード等の、攻撃するカードにより近いカード）を優先的に攻撃対象としてもよい。この場合、その攻撃対象のカードが消失した場合に、そのカードより後方にあるカードの前方移動を促すことになるため、カード全体を前方に進める動きが促進され、バトルがよりダイナミックに再生される。
また、カードの攻撃方向や攻撃対象のカードの行の優先度を、実行ユーザが指定できるようにしてもよい。
【０１３２】
上述した実施形態では、移動手段５５が、実行ユーザのバトルフィールド内のカードの行方向の中央位置（以下、「実行カード中央位置」という；第１中央位置）と、敵カード中央位置（第２オブジェクト群の行方向の中央位置）とを近付けるようにして、各カードを行方向に移動させる場合について説明した。この場合、各ユーザのカード群は、バトルの途中でカードが消失していった場合に、各ユーザのカード群同士が対峙して配置されるように順次各カードが移動するように制御されるため、各ユーザのカード群の攻防が見やすくなる。特に、一方のユーザのカードによる攻撃が、当該カードと同一の列の他方のユーザのカードに対して行われる場合には、短時間でバトルの決着がつき、ユーザは早期に対戦結果を知ることができる。
【０１３３】
具体的には、上述した実施形態では、上記横移動ステップＭ１〜Ｍ４によって示したように、実行ユーザ及び敵ユーザのカード群のバトル中の横移動では、全カード中央位置（バトルフィールド内のカードの行方向の中央位置）を基準に敵ユーザのカード群を横移動させ、それによって全カード中央位置と敵カード中央位置（第２中央位置）とを近付けるようにする移動処理（横移動ステップＭ１，Ｍ２に相当する処理）と、敵カード中央位置を基準に実行ユーザのカード群を横移動させ、それによって実行カード中央位置（第１中央位置）と、敵カード中央位置（第２中央位置）とを近付けるようにする移動処理（横移動ステップＭ３，Ｍ４に相当する処理）とが繰り返し行われるようにしたが、このような移動処理に限られない。
このような移動処理に代えて、全カード中央位置を基準に実行ユーザのカード群を横移動させ、それによって全カード中央位置と実行カード中央位置（第１中央位置）とを近付けるようにする移動処理と、実行カード中央位置を基準に敵ユーザのカード群を横移動させ、それによって敵カード中央位置（第２中央位置）と、実行カード中央位置（第１中央位置）とを近付けるようにする移動処理とが繰り返し行われるようにしてもよい。
【０１３４】
（８）変形例
以下、上述した実施形態の変形例についてさらに説明する。
【０１３５】
（８−１）変形例１
上述した実施形態のカード（オブジェクト）の横移動方法は、移動手段５５が、実行カード中央位置と敵カード中央位置とを近付けるようにして、各カードを行方向に移動させる一例であるが、他の横移動方法を採ってもよい。例えば、以下のステップＭ１’〜Ｍ４’の手順で横移動を行う。
【０１３６】
[横移動ステップＭ１’]
本変形例においてカードの横移動を行うときには、例えば、先ず敵ユーザのカード群から行われる。敵ユーザのカード群のうち全カード中央位置上の第１行のカード、及び全カード中央位置よりも右側にある第１行のカードをすべて、左側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第１行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第１行のカードと連動して横移動させる。
[横移動ステップＭ２’]
次に、敵ユーザのカードのうち全カード中央位置よりも左側にある第１行のカードをすべて、右側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第１行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第１行のカードと連動して横移動させる。
[横移動ステップＭ３’]
敵ユーザのカードの横移動が完了すると次に、実行ユーザのカード群の横移動が行われる。実行ユーザのカード群のうち全カード中央位置上の第１行のカード、及び全カード中央位置よりも右側にある第１行のカードをすべて、左側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第１行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第１行のカードと連動して横移動させる。
[横移動ステップＭ４’]
次に、実行ユーザのカードのうち全カード中央位置よりも左側にある第１行のカードをすべて、右側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第１行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第１行のカードと連動して横移動させる。
【０１３７】
ステップＭ１’〜 Ｍ４’の手順では、実行カード中央位置と敵カード中央位置をそれぞれ全カード中央位置に近付けるように移動させる方法である。なお、上記ステップＭ１’〜 Ｍ４’では、敵ユーザのカード、実行ユーザのカードの順でカードを横移動させる例であるが、実行ユーザのカード、敵ユーザのカードの順でカードを横移動させてもよい。
本変形例を実現するためにゲームサーバ２０のＣＰＵ２１は、図２０及び図２１に示したフローチャートと同様にして横移動処理を実行する。そのとき、カードの移動の基準となる中央位置が図２０及び図２１に示したフローチャートとは異なる。
【０１３８】
なお、カードの横移動方法の他の変形例として、実行ユーザと敵ユーザのカード群を、敵ユーザ中央位置又は実行ユーザ中央位置に向けて移動させるようにしてもよい。例えば、敵ユーザ中央位置に向けてすべてのカードを移動させるには以下の横移動ステップＭ１”〜Ｍ４”が繰り返し行われる。実行ユーザ中央位置を基準とする場合には、先ず実行ユーザ中央位置を決定して同様の処理を行えばよい。
【０１３９】
[横移動ステップＭ１”]
先ず敵ユーザ中央位置を決定し、敵ユーザのカード群の横移動が行われる。敵ユーザのカード群のうち敵カード中央位置上の第１行のカード、及び敵カード中央位置よりも左側にある第１行のカードをすべて、右側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第１行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第１行のカードと連動して横移動させる。
[横移動ステップＭ２”]
次に、敵ユーザのカードのうち敵カード中央位置よりも右側にある第１行のカードを、左側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第１行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第１行のカードと連動して横移動させる。
[横移動ステップＭ３”]
敵ユーザのカードの横移動が完了すると次に、実行ユーザのカード群の横移動が行われる。実行ユーザのカード群のうち敵ユーザ中央位置上の第１行のカード、及び敵ユーザ中央位置よりも右側にある第１行のカードをすべて、左側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第１行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第１行のカードと連動して横移動させる。
[横移動ステップＭ４”]
次に、実行ユーザのカードのうち敵ユーザ中央位置よりも左側にある第１行のカードをすべて、右側のセルに横移動させる。移動先のセルに他のカードが存在する場合には移動させない。第１行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第１行のカードと連動して横移動させる。
【０１４０】
上述した実施形態及び変形例１のカードの横移動方法のさらに他の変形例として、全カード中央位置をマトリクスの列方向の所定の位置（例えば、中央位置）に固定させてもよい。この場合、バトルの開始から終了までのカードの横方向の移動距離が長くなりバトル時間が長くなる場合も生ずるが、バトル中にカードが移動する度に全カード中央位置を算出しなくても済むため、ＣＰＵ２１の処理負荷が軽減する。また、全カード中央位置をマトリクスの中央位置に設定した場合、常にマトリクスの中央付近でバトルが進行するようになるため、ユーザがバトルを見やすくなるという利点がある。
【０１４１】
本変形例１で述べた横移動方法でも、実施形態の場合と同様に、各ユーザのカード群は、バトルの途中でカードが消失していった場合に、各ユーザのカード群同士が対峙して配置されるように順次各カードが移動するように制御されるため、各ユーザのカード群の攻防が見やすくなる。特に、一方のユーザのカードによる攻撃が、当該カードと同一の列の他方のユーザのカードに対して行われる場合には、短時間でバトルの決着がつき、ユーザは早期に対戦結果を知ることができる。
【０１４２】
（８−２）変形例２
本変形例では、移動手段５５は、実行ユーザ（第１ユーザ）と敵ユーザ（第２ユーザ）の間のバトルの開始から、実行ユーザ及び敵ユーザの各ユーザ領域の第１行（第１基準行及び第２基準行）を時間の経過とともに近付けていくようにする。
この構成では、バトル中の各ユーザのカード群同士が徐々に近付いていくため、実行ユーザがバトルの緊張感をより感じることができるようになる。また、バトル中の各ユーザのカード群の距離が時間の経過とともに変化するため、上記実施形態で説明したように各カードに射程距離が設定されている場合には、より興趣性の高いバトルゲームが実現できる。
【０１４３】
図２２に、本変形例によって実行ユーザの通信端末１０に表示される一連のウェブページの例を示す。図２２のウェブページＰ７−１に示すように、この例では、バトルの開始時点では、実行ユーザ及び敵ユーザの各ユーザ領域ＵＡａ，ＵＡｂの基準行の間が３行分離間している。そしてバトルが開始すると、ウェブページＰ７−２に示すように、各ユーザ領域の基準行が近付いていきながらバトルが行われる。各ユーザの基準行が隣接した後は、図１０Ｃ及び図１０ＤのウェブページＰ８〜Ｐ１０と同様のバトル進行となる。なお、実行ユーザ及び敵ユーザのユーザ領域の基準行の双方を移動させてもよいし、いずれか一方のみを移動させてもよい。
本変形例を実現するために、ゲームサーバ２０のＣＰＵ２１は、バトルの開始時刻からタイマを作動させ、例えば所定時間が経過する度に、実行ユーザ及び／又は敵ユーザのユーザ領域の基準行（第１行）を変動させる。ＣＰＵ２１は、図１８〜２１に示したカードの移動に関するフローチャートの処理を、実行時点での基準行（第１行）に基づいて行う。
【０１４４】
＜第２の実施形態＞
以下、本発明のゲームシステムの第２の実施形態について説明する。本実施形態は、第１の実施形態と比較して、バトル中のカードの横移動方法が異なる。
【０１４５】
（１）実行カード中央位置、敵カード中央位置、及び移動カード中央位置の決定方法
本実施形態のカードの横移動では、実行カード中央位置と敵カード中央位置が互いに近付くようにして、実行ユーザと敵ユーザのカード群を横移動させる。本実施形態では、第１の実施形態で言及した実行カード中央位置と敵カード中央位置の決定方法が異なる。また、移動対象のカードの中央位置を示す移動カード中央位置が定義される。以下、本実施形態の実行カード中央位置と敵カード中央位置、及び移動カード中央位置の決定方法について、図２３を参照して説明する。
図２３は、第２の実施形態において、敵ユーザのカード群の中央位置を示す敵カード中央位置(CL_opp)、実行ユーザのカード群の中央位置を示す実行カード中央位置(CL_exe)、及び移動処理対象のカードの中央位置を示す移動カード中央位置(CL_mov)を説明するための図である。図２３には、実行ユーザのユーザ領域のマトリクスの一部が示されており、マトリクスの列に沿って、マトリクスの列方向の位置を示す値として０．０，０．５，１．０，…が定義される。例えば、第１列のセルの両端の位置が０．０，１．０であり、第１列のセルの中央位置が０．５である。他の列についても同様である。図２３の例では、マトリクスが６列で構成されているため、列方向の位置を示す値として０．０〜６．０の範囲の値が定義される。
【０１４６】
第２の実施形態において、実行カード中央位置(CL_exe)を決定するに当たって先ず、実行カードの第１行においてカードが配置されているセルのうち最も左側のセルの左端の位置（「基準位置」という。）を特定する。次いで、実行ユーザのユーザ領域の第１行にカードが配置されているセルの数の１／２の値を求める。実行カード中央位置(CL_exe)は、基準位置を右側に、求めた値だけカードが配置されているセルに沿って移動させた位置である。図２３は、セルＣａ（１，２）にカードＣ１０１、セルＣａ（１，４）にカードＣ１０２、セルＣａ（１，５）及びセルＣａ（１，６）に１×２のサイズのカードＣ１０３、が配置されている例であるが、この例での実行カード中央位置(CL_exe)は、以下の通りである。図２３の例では、最も左側にカードが配置されているセルはＣａ（１，２）であるため、基準位置＝１．０となる。次いで、第１行にカードが配置されているセルの数は４個である。よって、実行カード中央位置(CL_exe)は、基準位置（１．０）を右側に、カードが配置されているセルに沿って２（＝４×１／２）だけ移動させた位置を示す値である４．０となる。
敵カード中央位置(CL_opp)については図示しないが、実行カード中央位置(CL_exe)の場合と同様に、敵ユーザのユーザ領域の第１行に配置されているカードに基づいて決定される。
また、図２３に示す例では、セルＣａ（１，２）に配置されているカードＣ１０１の移動カード中央位置(CL_mov)は１．５であり、セルＣａ（１，４）に配置されているカードＣ１０２の移動カード中央位置(CL_mov)は３．５である。セルＣａ（１，５）及びセルＣａ（１，６）に配置されている１×２のサイズのカードＣ１０３の移動カード中央位置(CL_mov)は５．０である。
【０１４７】
（２）カードの横移動方法
次に、第２の実施形態のカードの横移動方法について説明する。本実施形態のカードの横移動は、以下の各ステップに従って行われる。なお以下では、先に敵ユーザのカードを移動し、次いで実行ユーザのカードを移動させる場合について説明するが、逆に、先に実行ユーザのカードを移動し、次いで敵ユーザのカードを移動させてもよい。
【０１４８】
[横移動ステップＭ１１]
敵ユーザのカードについて横移動を行うに当たって、敵カード中央位置と実行カード中央位置を決定する。次いで、敵カード中央位置と実行カード中央位置の比較結果に基づいて、敵ユーザのカードの移動対象となるカードの順序（つまり、移動順序）を決定し、敵ユーザのカードの横移動が行われる。具体的には、以下の通りである。
（a） 実行カード中央位置が敵カード中央位置よりも左側にある場合（つまり、CL_exe＜CL_oppである場合)には、先ず、実行カード中央位置よりも右側にある敵ユーザのカード（つまり、CL_mov＞CL_exeとなるカード）を、左にあるカードから順に左のセルへ横移動させる。次いで、実行カード中央位置よりも左側にある敵ユーザのカード（つまり、CL_mov＜CL_exeとなるカード）を、右にあるカードから順に右のセルへ横移動させる。
（b） 実行カード中央位置(CL_exe)が敵カード中央位置よりも右側にある場合（つまり、CL_exe＞CL_oppである場合)には、先ず、実行カード中央位置よりも左側にある敵ユーザのカード（つまり、CL_mov＜CL_exeとなるカード）を、右にあるカードから順に右のセルへ横移動させる。次いで、実行カード中央位置よりも右側にある敵ユーザのカード（つまり、CL_mov＞CL_exeとなるカード）を、左にあるカードから順に左のセルへ横移動させる。
なお、実行カード中央位置と敵カード中央位置が同一である場合には、上記(a), (b)のいずれの処理を行ってもよい。
実行カード中央位置と同一の移動カード中央位置にある敵ユーザのカード（つまり、CL_mov＝CL_exeとなるカード）は移動させない。移動先のセルに他のカードが存在する場合には移動させない。第１行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第１行のカードと連動して横移動させる。
【０１４９】
[横移動ステップＭ１２]
実行ユーザのカードについて横移動を行うに当たって、敵カード中央位置と実行カード中央位置を決定する。敵カード中央位置と実行カード中央位置の比較結果に基づいて、実行ユーザのカードの移動対象となるカードの順序（つまり、移動順序）を決定し、実行ユーザのカードの横移動が行われる。具体的には、以下の通りである。
(c) 敵カード中央位置が実行カード中央位置よりも左側にある場合（つまり、CL_exe＞CL_oppである場合)には、先ず、敵カード中央位置よりも右側にある実行ユーザのカード（つまり、CL_mov＞CL_oppとなるカード）を、左にあるカードから順に左のセルへ横移動させる。次いで、敵カード中央位置(CL_opp)よりも左側にある実行ユーザのカード（つまり、CL_mov＜CL_oppとなるカード）を、右にあるカードから順に右のセルへ横移動させる。
(d) 敵カード中央位置が実行カード中央位置よりも右側にある場合（つまり、CL_exe＜CL_oppである場合)には、先ず、敵カード中央位置よりも左側にある実行ユーザのカード（つまり、CL_mov＜CL_oppとなるカード）を、右にあるカードから順に右のセルへ横移動させる。次いで、敵カード中央位置よりも右側にある実行ユーザのカード（つまり、CL_mov＞CL_oppとなるカード）を、左にあるカードから順に左のセルへ横移動させる。
なお、実行カード中央位置と敵カード中央位置が同一である場合には、上記(c), (d)のいずれの処理を行ってもよい。
敵カード中央位置と同一の移動カード中央位置にある実行ユーザのカード（つまり、CL_mov＝CL_oppとなるカード）は移動させない。移動先のセルに他のカードが存在する場合には移動させない。第１行のカードを横移動させる場合には、そのカードと同一の列で後方にある他のカードも第１行のカードと連動して横移動させる。
【０１５０】
[横移動処理の例外]
横移動ステップＭ１１において、実行カード中央位置と敵カード中央位置の差が０．５以下であり、かつ移動カード中央位置と実行カード中央位置の差が０．５以下であるという条件を満たす場合には、移動対象となるカードが実行カード中央位置を挟んで左右に往復してしまうことが生じうる。そこで、上記条件を満たす場合には、移動対象となる敵ユーザのカードの横移動を禁止する。
横移動ステップＭ１２においても同様に、実行カード中央位置と敵カード中央位置の差が０．５以下であり、かつ移動カード中央位置と敵カード中央位置の差が０．５以下であるという条件を満たす場合には、移動対象となるカードが敵カード中央位置を挟んで左右に往復してしまうことが生じうる。そこで、上記条件を満たす場合には、移動対象となる実行ユーザのカードの横移動を禁止する。
なお、この例外の処理は、移動対象となるカードが左右に１セル分往復してしまう状況を回避することが目的であるため、上記差についての閾値（０．５）は移動単位（１セル）より小さい任意の値でよい。例えば、上記差が０．５以下という条件に限られず、上記差が１未満という条件であってもよい。
【０１５１】
本実施形態のゲームでは、実行ユーザのカード群による攻撃と、敵ユーザのカード群による攻撃が交互に行われ、攻撃が行われる度に、以上のステップＭ１１，Ｍ１２のカードの横移動処理が逐次行われる。バトル中にカードが攻撃を受けて順次消失していくため、実行カード中央位置及び敵カード中央位置は、その都度変化していくことになる。このとき、例えば、実行ユーザのカードを横移動させる場合に、実行カード中央位置と敵カード中央位置の比較結果に基づいて、敵カード中央位置を基準として左右いずかの側のカードを先に移動させるかについて決定するため、実行カード中央位置と敵カード中央位置の差が早期に小さくなるようにカードの移動が行われるようになる。
【０１５２】
（３）バトルのカードの移動例
次に、第２の実施形態において、バトルの開始からバトルの終了までの実行ユーザ及び敵ユーザの各カードの移動態様の具体例について、図２４Ａ〜２４Ｄを参照して説明する。図２４Ａ〜２４Ｄは、バトルの開始から終了までのカードの移動態様を説明するために、ゲーム空間を平面視で見たときのバトルフィールドの各セル上のカード配置を示す図である。各図では、カードの移動が矢印によって示される。
本実施形態のバトルは、例えば、上述したように実行ユーザ及び敵ユーザ のカード群の攻撃が順番で行われる。各ユーザの攻撃が行われた後に逐次、カードの前方移動、及びカードの横移動が順に行われる。
【０１５３】
図２４Ａ〜２４Ｄに示すバトルでは、図２４ＡのステップＳ２１０に示すように、実行ユーザのユーザ領域ＵＡａと敵ユーザのユーザ領域ＵＡｂはそれぞれ、２×６のセルによって構成され、各カードのサイズがすべて１×１である例（つまり、各ユーザのバトル使用カードが１２枚である例）が示されている。
第２の実施形態においても第１の実施形態と同様に、各ユーザの攻撃が交互に行われて各攻撃の後に、前方移動、及び横移動の各処理が行われる。バトルの初期では、バトルの開始時点で第１行に配置されている各ユーザのカードが攻撃を受けて消失していくため、例えばステップＳ２１１に示すように、カードの前方移動が主体的に行われる。ステップＳ２１１では、６枚のカードが第２行から第１行のセルへ移動した場合が示されている。
【０１５４】
バトルが進行し、ステップＳ２１２に示すように各ユーザの領域のいずれかの列にカードが存在しない場合が発生すると、横移動が行われる。ステップＳ２１２では、実行ユーザのユーザ領域ＵＡａの第５列と、敵ユーザのユーザ領域ＵＡｂの第２列及び第３列とにカードが存在しない。ステップＳ２１２の例では、実行カード中央位置CL_exe＝２．５であり、敵カード中央位置CL_opp＝４．０である。そのため、敵ユーザのカードを横移動するに当たって先ず、実行カード中央位置CL_exeよりも右側にある敵ユーザのカード（つまり、CL_mov＞CL_exeとなるカード）を、左にあるカードから順に左のセルへ横移動させる。つまり、第４〜６列にあるカード群を第４列にあるカードから順に左のセルへ移動させる。次いで、実行カード中央位置CL_exeよりも左側にある敵ユーザのカード（つまり、CL_mov＜CL_exeとなるカード）を、右にあるカードから順に右のセルへ横移動させる。つまり、第１列にあるカード群を右のセルへ移動させる。敵ユーザのカードの横移動の様子をステップＳ２１３において矢印で示してある。
【０１５５】
ステップＳ２１３の例では、実行カード中央位置CL_exe＝２．５であり、敵カード中央位置CL_opp＝３．０である。そのため、実行ユーザのカードを横移動するに当たって先ず、敵カード中央位置CL_oppよりも左側にある実行ユーザのカードを、右にあるカード（つまり、CL_mov＜CL_oppとなるカード）から順に右のセルへ横移動させる。しかしステップＳ２１３の例では、敵カード中央位置CL_oppよりも左側にある実行ユーザのカードを移動させることができない。
次いで、敵カード中央位置よりも右側にある実行ユーザのカード（つまり、CL_mov＞CL_oppとなるカード）を、左にあるカードから順に左のセルへ横移動させる。ステップＳ２１３の例では、第６列にあるカード群を左のセルへ移動させる。実行ユーザのカードの横移動の様子をステップＳ２１４において矢印で示してある。
【０１５６】
ステップＳ２１４からバトルが進行した結果、第１行のカードが消失してカードの前方移動が行われ、ステップＳ２１５のカードの配置状態になった場合を想定する。ステップＳ２１５の例では、実行カード中央位置CL_exe＝２．０であり、敵カード中央位置CL_opp＝２．５である。そのため、敵ユーザのカードを横移動するに当たって先ず、実行カード中央位置よりも右側にある敵ユーザのカード（つまり、CL_mov＞CL_exeとなるカード）を、左にあるカードから順に左のセルへ横移動させる。つまり、ステップＳ２１６に示すように、第５列にある１枚のカード（セルＣｂ（１，５）上のカード）を左のセルへ横移動させる。ステップＳ２１６の例では、実行カード中央位置よりも左側にある敵ユーザのカード（つまり、CL_mov＜CL_exeとなるカード）を、右にあるカードへ横移動させることはできない。
【０１５７】
ステップＳ２１６の例では、実行カード中央位置CL_exe＝２．０であり、敵カード中央位置CL_opp＝２．５である。そのため、実行ユーザのカードを横移動するに当たって先ず、敵カード中央位置よりも左側にある実行ユーザのカードを、右にあるカード（つまり、CL_mov＜CL_oppとなるカード）から順に右のセルへ横移動させる。しかしステップＳ２１６の例では、敵カード中央位置よりも左側にある実行ユーザのカードを移動させることはできない。次いで、敵カード中央位置よりも右側にある実行ユーザのカード（つまり、CL_mov＞CL_oppとなるカード）を、左にあるカードから順に左のセルへ横移動させる。つまり、ステップＳ２１７に示すように、第５列にある１枚のカード（セルＣａ（１，５）上のカード）を左のセルへ横移動させる。
【０１５８】
ステップＳ２１７からバトルが進行した結果、第１行のカードが消失してカードの前方移動が行われ、ステップＳ２１８のカードの配置状態になった場合を想定する。ステップＳ２１８の例では、実行カード中央位置CL_exe＝２．０であり、敵カード中央位置CL_opp＝２．５である。この場合、敵ユーザのカードは、セルＣｂ（１，３）に配置されているカードのみであるが、このカードは上述した横移動処理の例外規定によって移動させない。つまり、このカードについて移動カード中央位置CL_mov＝２．５であるが、実行カード中央位置CL_exeと敵カード中央位置CL_oppの差が０．５以下であり、かつ移動カード中央位置CL_movと実行カード中央位置CL_exeの差が０．５以下であるという条件を満たすため、セルＣｂ（１，３）のカードは移動させない。
なお、ステップＳ２１８の例では、実行ユーザのカード群が互いに隣接しており、敵カード中央位置CL_oppとの位置関係から、実行ユーザのカードのいずれのカードも移動させることはできない。
【０１５９】
ステップＳ２１８からバトルが進行した結果、第１行のカードが消失してカードの前方移動が行われ、ステップＳ２１９のカードの配置状態になった場合を想定する。ステップＳ２１９の例では、実行カード中央位置CL_exe＝１．０であり、敵カード中央位置CL_opp＝２．５である。そのため、敵ユーザのカードを横移動するに当たって、実行カード中央位置CL_exeよりも右側にある１枚の敵ユーザのカード（つまり、CL_mov＞CL_exeとなるカード）を左のセルへ横移動させる。つまり、ステップＳ２２０に示すように、セルＣｂ（１，３）に配置されているカードを左のセルへ移動させる。
【０１６０】
ステップＳ２２０の例では、実行カード中央位置CL_exe＝１．０であり、敵カード中央位置CL_opp＝１．５である。そのため、実行ユーザのカードを横移動するに当たって先ず、敵カード中央位置よりも左側にある実行ユーザのカードを、右にあるカード（つまり、CL_mov＜CL_oppとなるカード）から順に右のセルへ横移動させる。つまり、セルＣａ（１，１）にある実行ユーザのカードを右のセルへ移動させる。次いで、敵カード中央位置よりも右側にある実行ユーザのカード（つまり、CL_mov＞CL_oppとなるカード）を、左にあるカードから順に左のセルへ横移動させる。つまり、セルＣａ（１，４）上のカードを左のセルへ横移動させる。この実行ユーザのカードの横移動の様子をステップＳ２２１において矢印で示してある。
【０１６１】
ステップＳ２２２では、ステップＳ２２１において敵ユーザの領域の第１行にあった１枚のカードが消失した場合が想定される。この場合、敵ユーザのカードがすべて消失したことになるため、実行ユーザの勝利となる。
【０１６２】
図２４Ａ〜２４Ｄのバトルの例で示したように、第２の実施形態のカードの横移動方法においても、第１の実施形態の横移動方法と同様に、各ユーザの攻撃ターンごとに、実行ユーザ及び敵ユーザのカード群同士が対向するようにしてカード位置が調整されるようになる。そのため、バトル開始からバトル終了まで常に各ユーザのカード群が対峙する形となり、実行ユーザから見てバトルの臨場感がより感じられるとともに、各カードによる攻撃の方向が主としてそのカードの前方に設定されている場合には、そのカードに対向して配置されている相手のカードに効果的に攻撃を加えられるため、バトルの勝敗が迅速に決するようになるという利点もある。
また、本実施形態では、例えば敵ユーザのカードを移動させるに当たって、実行カード中央位置を基準として左及び右にあるカードのうち先に移動させるカードを、実行カード中央位置と敵カード中央位置の比較結果に基づいて切り替えるようにしているため、実行カード中央位置と敵カード中央位置の差を少なくするようなカードが優先的に移動するようになる。実行ユーザのカードを移動させる場合も同様である。
【０１６３】
（４）カードの横移動処理のフロー
次に、本実施形態の横移動処理のフローの一例について、図２５及び図２６のフローチャートを参照して説明する。図２５は、敵ユーザのカードの横移動処理の一例を示すフローチャートである。図２６は、実行ユーザのカードの横移動処理の一例を示すフローチャートである。
なお、本実施形態の全体フローは、第１の実施形態と同様に図１６に示したものでよい。本実施形態では、図１６の全体フローの中のステップＳ４４及びＳ４４において、図２０及び図２１に代えて、それぞれ図２５及び図２６のフローチャートが実行される。
【０１６４】
・敵ユーザのカードの横移動処理（図２５）
ゲームサーバ２０のＣＰＵ２１は先ず、バトル使用カードデータを参照して、実行ユーザのカード群の中心位置を示す実行カード中央位置CL_exeと、敵ユーザのカード群の中心位置を示す敵カード中央位置CL_oppとを決定する（ステップＳ２４０）。ＣＰＵ２１は、実行カード中央位置CL_exeと敵カード中央位置CL_oppを決定すると、両者の比較結果に基づいて敵ユーザのカード群の各カードの処理順序を決定する（ステップＳ２４２）。
【０１６５】
前述したように、カードの処理順序は、実行カード中央位置CL_exeと敵カード中央位置CL_oppの比較結果次第で異なり、例えば以下の通りとなる。
(a) 実行カード中央位置が敵カード中央位置と同位置であるか、またはそれよりも左側にある場合（つまり、CL_exe≦CL_oppである場合)には、以下の(a-1)〜(a-6)に示す優先順である。
(a-1) 第１行において、実行カード中央位置よりも右側にある敵ユーザのカード（つまり、CL_mov＞CL_exeとなるカード）のうち、左から右に配置されているカードの順
(a-2) 第１行以外の各行において、実行カード中央位置よりも右側にある敵ユーザのカード（つまり、CL_mov＞CL_exeとなるカード）のうち、左から右に配置されているカードの順
(a-3) 第１行において、実行カード中央位置よりも左側にある敵ユーザのカード（つまり、CL_mov＜CL_exeとなるカード）のうち、右から左に配置されているカードの順
(a-4) 第１行以外の各行において、実行カード中央位置よりも左側にある敵ユーザのカード（つまり、CL_mov＜CL_exeとなるカード）のうち、右から左に配置されているカードの順
(a-5) 第１行において、実行カード中央位置と同一の列にある敵ユーザのカード（つまり、CL_mov＝CL_exeとなるカード）
(a-6) 第１行以外の各行において、実行カード中央位置と同一の列にある敵ユーザのカード（つまり、CL_mov＝CL_exeとなるカード）
【０１６６】
(b) 実行カード中央位置が敵カード中央位置よりも右側にある場合（つまり、CL_exe＞CL_oppである場合)には、以下の(b-1)〜(b-6)に示す優先順である。
(b-1) 第１行において、実行カード中央位置よりも左側にある敵ユーザのカード（つまり、CL_mov＜CL_exeとなるカード）のうち、右から左に配置されているカードの順
(b-2) 第１行以外の各行において、実行カード中央位置よりも左側にある敵ユーザのカード（つまり、CL_mov＜CL_exeとなるカード）のうち、右から左に配置されているカードの順
(b-3) 第１行において、実行カード中央位置よりも右側にある敵ユーザのカード（つまり、CL_mov＞CL_exeとなるカード）のうち、左から右に配置されているカードの順
(b-4) 第１行以外の各行において、実行カード中央位置よりも右側にある敵ユーザのカード（つまり、CL_mov＞CL_exeとなるカード）のうち、左から右に配置されているカードの順
(b-5) 第１行において、実行カード中央位置と同一の列にある敵ユーザのカード（つまり、CL_mov＝CL_exeとなるカード）
(b-6) 第１行以外の各行において、実行カード中央位置と同一の列にある敵ユーザのカード（つまり、CL_mov＝CL_exeとなるカード）
【０１６７】
各カードの処理順序が決定されると、その処理順序に従って各カードについてステップＳ２４４〜Ｓ２５８の処理が行われる。
先ずＣＰＵ２１は、処理対象のカードが第１行に配置されているカードであるか否かについて判定する（ステップＳ２４４）。処理対象のカードが第１行に配置されているカードである場合には（ステップＳ２４４：ＹＥＳ）、ステップＳ２４６へ進み、処理対象のカードが第１行に配置されているカードでない場合には（ステップＳ２４４：ＮＯ）、ステップＳ２５６へ進む。
【０１６８】
実行カード中央位置CL_exeと敵カード中央位置CL_oppの差の絶対値（|CL_opp−CL_exe|）が０．５以下であり（ステップＳ２４６：ＮＯ）、かつ処理対象のカードの移動カード中央位置CL_mov
と実行カード中央位置CL_exeの差の絶対値（|CL_mov−CL_exe|）が０．５以下である場合には（ステップＳ２５４：ＹＥＳ）、処理対象のカードについて横移動処理を行わずにステップＳ２５８へ進む（上記[横移動処理の例外]を参照）。
【０１６９】
実行カード中央位置CL_exeと敵カード中央位置CL_oppの差の絶対値（|CL_opp−CL_exe|）が０．５より大きいか（ステップＳ２４６：ＹＥＳ）、又は処理対象のカードの移動カード中央位置CL_movと実行カード中央位置CL_exeの差の絶対値（|CL_mov−CL_exe|）が０．５より大きい場合には（ステップＳ２５４：ＮＯ）、ステップＳ２４８へ進む。ステップＳ２４８では、移動カード中央位置CL_movを実行カード中央位置CL_exeと比較し、その比較結果に基づいて処理が異なる。
【０１７０】
処理対象のカードが上記(a-1),(b-3)のいずれかを満たすカードである場合、処理対象のカードの移動カード中央位置が実行カード中央位置よりも右側にあるため（ステップＳ２４８：CL_mov＞CL_exe）、ＣＰＵ２１は、処理対象のカードを左のセルへ移動させる処理を行う（ステップＳ２５０）。なお、移動先のセルに他のカードが存在する場合には移動させない。ステップＳ２５０においてＣＰＵ２１は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。ステップＳ２５０の処理が完了すると、敵ユーザのすべてのカードについて処理が終了していない場合には（ステップＳ２５８：ＮＯ）、次のカードの処理のためにステップＳ２４４へ戻る。
【０１７１】
処理対象のカードが上記(a-3),(b-1)のいずれかを満たすカードである場合、その移動カード中央位置が実行カード中央位置よりも左側にあるため（ステップＳ２４８：CL_mov＜CL_exe）、ＣＰＵ２１は、処理対象のカードを右のセルへ移動させる処理を行う（ステップＳ２５２）。なお、移動先のセルに他のカードが存在する場合には移動させない。ステップＳ２５２においてＣＰＵ２１は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。ステップＳ２５２の処理が完了すると、敵ユーザのすべてのカードについて処理が終了していない場合には（ステップＳ２５８：ＮＯ）、次のカードの処理のためにステップＳ２４４へ戻る。
【０１７２】
処理対象のカードが上記(a-5),(b-5)のいずれかを満たすカードである場合、その移動カード中央位置が実行カード中央位置と同一あるため（ステップＳ２４８：CL_mov＝CL_exe）、ＣＰＵ２１は、処理対象のカードを移動させる処理を行わずにステップＳ２５８へ進む。ここで、敵ユーザのすべてのカードについて処理が終了していない場合には（ステップＳ２５８：ＮＯ）、次のカードの処理のためにステップＳ２４４へ戻る。
【０１７３】
なお、処理対象のカードが上記(a-2),(a-4),(a-6),(b-2),(b-4),(b-6)のいずれかを満たすカードである場合には、そのカードは第１行にないため（ステップＳ２４４：ＮＯ）、図２５の処理の開始時にバトルフィールド上で１つの前のセルにあったカードと同じように（つまり、連動して）、処理対象のカードを移動させる処理を行う（ステップＳ２５６）。すなわち、処理対象のカードが２行目以降のセルにあるカードである場合ついては、上記(a-1),(a-3),(a-5),(b-1),(b-3),(b-5)のいずれかを満たすカードに対して既に行われた移動態様と同じようにして移動が行われる。ステップＳ２５６においてＣＰＵ２１は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。ステップＳ２５６の処理が完了すると、敵ユーザのすべてのカードについて処理が終了していない場合には（ステップＳ２５８：ＮＯ）、次のカードの処理のためにステップＳ２４４へ戻る。
【０１７４】
・実行ユーザのカードの横移動処理（図２６）
ゲームサーバ２０のＣＰＵ２１は先ず、バトル使用カードデータを参照して、実行ユーザのカード群の中心位置を示す実行カード中央位置CL_exeと、敵ユーザのカード群の中心位置を示す敵カード中央位置CL_oppとを決定する（ステップＳ２６０）。ＣＰＵ２１は、実行カード中央位置CL_exeと敵カード中央位置CL_oppを決定すると、両者の比較結果に基づいて敵ユーザのカード群の各カードの処理順序を決定する（ステップＳ２６２）。
【０１７５】
前述したように、カードの処理順序は、実行カード中央位置CL_exeと敵カード中央位置CL_oppの比較結果次第で異なり、例えば以下の通りとなる。
(c) 敵カード中央位置が実行カード中央位置よりも左側にある場合（つまり、CL_exe＞CL_oppである場合)には、以下の(c-1)〜(c-6)に示す優先順である。
(c-1) 第１行において、敵カード中央位置よりも右側にある実行ユーザのカード（つまり、CL_mov＞CL_oppとなるカード）のうち、左から右に配置されているカードの順
(c-2) 第１行以外の各行において、敵カード中央位置よりも右側にある実行ユーザのカード（つまり、CL_mov＞CL_oppとなるカード）のうち、左から右に配置されているカードの順
(c-3) 第１行において、敵カード中央位置(CL_opp)よりも左側にある実行ユーザのカード（つまり、CL_mov＜CL_oppとなるカード）のうち、右から左に配置されているカードの順
(c-4) 第１行以外の各行において、敵カード中央位置(CL_opp)よりも左側にある実行ユーザのカード（つまり、CL_mov＜CL_oppとなるカード）のうち、右から左に配置されているカードの順
(c-5) 第１行において、敵カード中央位置(CL_opp)と同一の列にある実行ユーザのカード（つまり、CL_mov＝CL_oppとなるカード）
(c-6) 第１行以外の各行において、敵カード中央位置(CL_opp)と同一の列にある実行ユーザのカード（つまり、CL_mov＝CL_oppとなるカード）
【０１７６】
(d) 敵カード中央位置が実行カード中央位置と同位置であるか、それよりも右側にある場合（つまり、CL_exe≦CL_oppである場合)には、以下の(b-1)〜(b-6)に示す優先順である。
(d-1) 第１行において、敵カード中央位置よりも左側にある実行ユーザのカード（つまり、CL_mov＜CL_oppとなるカード）のうち、右から左に配置されているカードの順
(d-2) 第１行以外の各行において、敵カード中央位置よりも左側にある実行ユーザのカード（つまり、CL_mov＜CL_oppとなるカード）のうち、右から左に配置されているカードの順
(d-3) 第１行において、敵カード中央位置よりも右側にある実行ユーザのカード（つまり、CL_mov＞CL_oppとなるカード）のうち、左から右に配置されているカードの順
(d-4) 第１行以外の各行において、敵カード中央位置よりも右側にある実行ユーザのカード（つまり、CL_mov＞CL_oppとなるカード）のうち、左から右に配置されているカードの順
(d-5) 第１行において、敵カード中央位置と同一の列にある実行ユーザのカード（つまり、CL_mov＝CL_oppとなるカード）
(d-6) 第１行以外の各行において、敵カード中央位置と同一の列にある実行ユーザのカード（つまり、CL_mov＝CL_oppとなるカード）
【０１７７】
各カードの処理順序が決定されると、その処理順序に従って各カードについてステップＳ２６４〜Ｓ２７８の処理が行われる。
先ずＣＰＵ２１は、処理対象のカードが第１行に配置されているカードであるか否かについて判定する（ステップＳ２６４）。処理対象のカードが第１行に配置されているカードである場合には（ステップＳ２６４：ＹＥＳ）、ステップＳ２６６へ進み、処理対象のカードが第１行に配置されているカードでない場合には（ステップＳ２６４：ＮＯ）、ステップＳ２７６へ進む。
【０１７８】
実行カード中央位置CL_exeと敵カード中央位置CL_oppの差の絶対値（|CL_opp−CL_exe|）が０．５以下であり（ステップＳ２６６：ＮＯ）、かつ処理対象のカードの移動カード中央位置CL_movと敵カード中央位置CL_oppの差の絶対値（|CL_mov−CL_opp|）が０．５以下である場合には（ステップＳ２７４：ＹＥＳ）、処理対象のカードについて横移動処理を行わずにステップＳ２７８へ進む（上記[横移動処理の例外]を参照）。
【０１７９】
実行カード中央位置CL_exeと敵カード中央位置CL_oppの差の絶対値（|CL_opp−CL_exe|）が０．５より大きいか（ステップＳ２６６：ＹＥＳ）、又は処理対象のカードの移動カード中央位置CL_movと敵カード中央位置CL_oppの差の絶対値（|CL_mov−CL_opp|）が０．５より大きい場合には（ステップＳ２７４：ＮＯ）、ステップＳ２６８へ進む。ステップＳ２６８では、移動カード中央位置CL_movを敵カード中央位置CL_oppと比較し、その比較結果に基づいて処理が異なる。
【０１８０】
処理対象のカードが上記(c-1),(d-3)のいずれかを満たすカードである場合、処理対象のカードの移動カード中央位置が敵カード中央位置よりも右側にあるため（ステップＳ２６８：CL_mov＞CL_opp）、ＣＰＵ２１は、処理対象のカードを左のセルへ移動させる処理を行う（ステップＳ２７０）。なお、移動先のセルに他のカードが存在する場合には移動させない。ステップＳ２７０においてＣＰＵ２１は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。ステップＳ２７０の処理が完了すると、実行ユーザのすべてのカードについて処理が終了していない場合には（ステップＳ２７８：ＮＯ）、次のカードの処理のためにステップＳ２６４へ戻る。
【０１８１】
処理対象のカードが上記(c-3),(d-1)のいずれかを満たすカードである場合、その移動カード中央位置が敵カード中央位置よりも左側にあるため（ステップＳ２６８：CL_mov＜CL_opp）、ＣＰＵ２１は、処理対象のカードを右のセルへ移動させる処理を行う（ステップＳ２７２）。なお、移動先のセルに他のカードが存在する場合には移動させない。ステップＳ２７２においてＣＰＵ２１は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。ステップＳ２７２の処理が完了すると、実行ユーザのすべてのカードについて処理が終了していない場合には（ステップＳ２７８：ＮＯ）、次のカードの処理のためにステップＳ２６４へ戻る。
【０１８２】
処理対象のカードが上記(c-5),(d-5)のいずれかを満たすカードである場合、その移動カード中央位置が敵カード中央位置と同一あるため（ステップＳ２６８：CL_mov＝CL_opp）、ＣＰＵ２１は、処理対象のカードを移動させる処理を行わずにステップＳ２７８へ進む。ここで、実行ユーザのすべてのカードについて処理が終了していない場合には（ステップＳ２７８：ＮＯ）、次のカードの処理のためにステップＳ２６４へ戻る。
【０１８３】
なお、処理対象のカードが上記(c-2),(c-4),(c-6),(d-2),(d-4),(d-6)のいずれかを満たすカードである場合には、そのカードは第１行にないため（ステップＳ２６４：ＮＯ）、図２６の処理の開始時にバトルフィールド上で１つの前のセルにあったカードと同じように（つまり、連動して）、処理対象のカードを移動させる処理を行う（ステップＳ２７６）。すなわち、処理対象のカードが２行目以降のセルにあるカードである場合ついては、上記(c-1),(c-3),(c-5),(d-1),(d-3),(d-5)のいずれかを満たすカードに対して既に行われた移動態様と同じようにして移動が行われる。ステップＳ２７６においてＣＰＵ２１は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。ステップＳ２７６の処理が完了すると、実行ユーザのすべてのカードについて処理が終了していない場合には（ステップＳ２７８：ＮＯ）、次のカードの処理のためにステップＳ２６４へ戻る。
【０１８４】
以上、本発明の実施形態について詳細に説明したが、本発明は上記実施形態に限定されない。また、各実施形態は、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのは勿論である。上記実施形態及び各変形例に記載された技術的事項は適宜組合せて適用してもよい。
【０１８５】
上述した実施形態及び変形例では、カードの前方方向をマトリクスの行の方向と一致させ、カードの横移動方向をマトリクスの列の方向と一致させる場合について説明したが、この場合に限られない。カードの前方方向をマトリクスの列の方向と一致させ、カードの横移動方向をマトリクスの行の方向と一致させてもよい。その場合には、ウェブページ上で左右に（つまり、横方向に）ユーザのカード同士が対峙してバトルが行われることになる。
上述した実施形態及び変形例では、カードの移動方向を前方又は横方向のいずれかの場合について説明したが、その場合に限られない。例えば、斜め前方（斜め右前、又は斜め左前）に移動するカードを設定してもよい。
上述した実施形態及び変形例において、バトルフィールドが矩形のマトリクスである場合について説明したが、この場合に限られない。実行ユーザ及び敵ユーザのカード群がそれぞれ、カード同士が隣接して移動可能であれば他の形態でもよい。例えば、三角形や六角形（ハニカム形態）などの多角形であってもよい。
上述した実施形態及び変形例において、カード群を横移動させるときのカードの処理順序は、一例に過ぎない。中央位置（全カード中央位置、敵カード中央位置、又は実行カード中央位置）を基準として、左側にあるカードを先に移動させ、次に右側にあるカードを移動させてもよいし、右側にあるカードを先に移動させ、次に左側にあるカードを移動させてもよい。
【０１８６】
上述した各実施形態では、オブジェクトの一例としてモンスターカードを挙げたが、これに限られない。オブジェクトであれば如何なるものでもよい。例えば、オブジェクトは、ゲーム上のキャラクタやアイテム等を含むものでよく、例えばゲーム上の仮想的な人物や生物、若しくはモンスター等であり、本実施形態で示したように、それらがカードに表示されているものをも含む。
【０１８７】
上述した実施形態では、ユーザによる通信端末に対する所定の操作入力は、ユーザの通信端末に対する所定の操作釦の押下操作の入力や、タッチパネル機能を備えた通信端末に対する表示画面上のタッチ操作の入力であるとしたが、操作入力はこれに限られない。操作入力は、加速度センサを備えた通信端末を振ることによる操作入力、あるいはジェスチャによる操作入力（ジェスチャ入力）であってもよい。ジェスチャ入力では、撮像機能を備えた通信端末に対する所定のジェスチャを行うことで通信端末がそのジェスチャを画像認識し、予めジェスチャに対応付けられた操作入力を認識する。また、音声認識プログラムを実行可能な通信端末の場合には、操作入力は、音声を入力することにより行われてもよい。
【０１８８】
上述した実施形態では、ネットワーク上のゲームサーバ２０及びデータベースサーバ３０によって、図１４に示した各手段が備える機能を実現する構成としたが、この構成に限られない。図１４に示した手段のすべて、あるいは少なくとも一部の手段を通信端末１０によって実現する構成としてもよい。通信端末１０とゲームサーバ２０とでは実質的に同一のハードウエア構成を採るため、上記実施形態に記載したようにして通信端末１０によっても各機能を実現できる。図２７Ａ，図２７Ｂにはそれぞれ、本実施形態のゲーム制御装置の各機能（図１４に示す各機能）について、通信端末１０と、ゲームサーバ２０及びデータベースサーバ３０との間の機能を分担した場合の例を示す。
【０１８９】
上述した実施形態では、ゲームサーバ２０がバトルの開始から終了までの一連のバトル使用カードを基に再生ファイルを作成して通信端末１０へ送信し、通信端末１０が再生ファイルを再生することによってバトルが動画再生される場合について説明したが、この場合に限られない。例えば、通信端末１０が実行ユーザのバトル使用カードデータを記憶しておき、敵ユーザのバトル使用カードデータをバトル開始時点で取得し、通信端末１０が再生ファイルを作成するようにしてもよい。この場合、移動手段や変更手段等を実現するためのプログラムは通信端末１０のＣＰＵ１１により実行される。
【０１９０】
上述した実施形態では、ソーシャルゲームに適用される場合を例として説明したが、これに限られない。例えば、スタンドアローンのゲーム機によっても実現でき、ネットワーク上に置かれたサーバ装置と家庭用オンラインゲーム機とを接続した、いわゆるオンラインゲームシステムにおいても実現できる。
【符号の説明】
【０１９１】
１０…通信端末
１１…ＣＰＵ
１２…ＲＯＭ
１３…ＲＡＭ
１４…画像処理部
１５…指示入力部
１６…表示部
１７…通信インタフェース部
１８…バス
２０…ゲームサーバ
２１…ＣＰＵ
２２…ＲＯＭ
２３…ＲＡＭ
２４…データベースアクセス部
２５…通信インタフェース部
２６…バス
３０…データベースサーバ
３１…ユーザデータベース
３２…ゲームデータベース
５１…対応付け手段
５２…バトル進行手段
５３…変更手段
５４…消失手段
５５…移動手段
【図１】
2014136122.tif 000003
【図２Ａ】
2014136122.tif 000004
【図２Ｂ】
2014136122.tif 000005
【図３】
2014136122.tif 000006
【図４】
2014136122.tif 000007
【図５】
2014136122.tif 000008
【図６】
2014136122.tif 000009
【図７】
2014136122.tif 000010
【図８】
2014136122.tif 000011
【図９】
2014136122.tif 000012
【図１０Ａ】
2014136122.tif 000013
【図１０Ｂ】
2014136122.tif 000014
【図１０Ｃ】
2014136122.tif 000015
【図１０Ｄ】
2014136122.tif 000016
【図１１】
2014136122.tif 000017
【図１２】
2014136122.tif 000018
【図１３Ａ】
2014136122.tif 000019
【図１３Ｂ】
2014136122.tif 000020
【図１３Ｃ】
2014136122.tif 000021
【図１４】
2014136122.tif 000022
【図１５】
2014136122.tif 000023
【図１６】
2014136122.tif 000024
【図１７】
2014136122.tif 000025
【図１８】
2014136122.tif 000026
【図１９】
2014136122.tif 000027
【図２０】
2014136122.tif 000028
【図２１】
2014136122.tif 000029
【図２２】
2014136122.tif 000030
【図２３】
2014136122.tif 000031
【図２４Ａ】
2014136122.tif 000032
【図２４Ｂ】
2014136122.tif 000033
【図２４Ｃ】
2014136122.tif 000034
【図２４Ｄ】
2014136122.tif 000035
【図２５】
2014136122.tif 000036
【図２６】
2014136122.tif 000037
【図２７Ａ】
2014136122.tif 000038
【図２７Ｂ】
2014136122.tif 000039