(57)【要約】      （修正有）【課題】ユーザ間での対戦を行うときに、ユーザに対応付けられているオブジェクトを対戦において有効に活用することができる仕組みを実現するゲーム制御装置を提供する。【解決手段】ゲーム空間内の所定のフィールドにユーザが対戦に使用するオブジェクトを配置する配置手段５２と、ユーザの入力情報に基づいて、フィールドに配置されているオブジェクトのうちいずれかの第１オブジェクト上に、ユーザのオブジェクトのうちフィールド内に配置されていない第２オブジェクトを重ねて配置する重畳手段５３と、ユーザ間の対戦において、一方のユーザのオブジェクトに基づいて、ユーザの対戦相手が使用するいずれかのオブジェクトに関連付けられた第１パラメータを変更する変更手段５５と、オブジェクトに関連付けられたパラメータが所定の消失条件を満足した場合に、オブジェクトをフィールドから消失させる消失手段５６と、を備える。【選択図】図１４
2014136123.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) カードの自動配置
ＣＰＵ２１は、ウェブページＰ１のメニューｍ２（「自動で配置する」）に対する操作入力を取得すると、実行ユーザの保有カードの中からバトル使用カードを選択してバトル使用カードデータに書き込む。バトル使用カードの選択方法、及びバトル使用カードの配置方法として、例えば以下の方法を採ることができる。ＣＰＵ２１は、カードデータベースを参照して、実行ユーザの保有カードの中から攻撃力と防御力の和が大きい順、及びマトリクス内のセルの所定の配置順で、カードを順次配置していくようにする（つまり、バトル使用カードデータのカードＩＤと初期位置の欄にデータを書き込む）。あるいはＣＰＵ２１は、カードデータベースを参照して、１×１の小サイズのカードのうち攻撃力と防御力の和が大きい順にマトリクスの第１行に配置し、比較的大きいサイズ（例えば、２×２等）のカードのうち攻撃力と防御力の和が大きい順に第２行以降のセルに配置する、というようにしてもよい。
【００８７】
重畳手段５３は、ユーザの入力情報に基づいて、バトルフィールドのユーザ領域に配置されているカードのうちいずれかのカード（第１オブジェクト）上に、ユーザに対応付けられ、かつバトルフィールドに配置されていない他のカード（第２オブジェクト）を重ねて配置する（つまり、スタックする）機能を備える。
なお、本実施形態では、ユーザに対応付けられたカードのうち配置手段５２によってユーザ領域に配置可能なカードが存在しない場合に、カードをスタック可能とする。また、本実施形態では、同一のモンスターキャラクタのカード（つまり、同一の属性に関する情報が関連付けられているカード）同士をスタック可能とする場合について説明する。
【００８８】
重畳手段５３の機能は、配置手段５２と同様にして実現できる。すなわち、ゲームサーバ２０のＣＰＵ２１は、実行ユーザの入力情報がカードの新規配置についての情報である場合、入力情報に基づいてバトル使用カードデータの中の初期配置の欄に書き込む。カードの新規配置に関する実行ユーザの入力は、例えば、ウェブページＰ４のメニューｍ４（「もっと配置する」）に対する操作入力に相当する。この入力情報には、実行ユーザの保有カードのうち新たにバトル使用カードとするカード、及びそのカードを配置するセルの選択結果が含まれる。
【００８９】
ＣＰＵ２１は、入力情報を取得するとバトル使用カードデータを参照して、実行ユーザに選択されたカードが、選択されたセルにおいて他のカードと重ねて配置可能か否か（つまり、スタック可能か否か）判断する。本実施形態では、ユーザ領域に配置可能なカードが存在しない場合にカードをスタック可能である。そこで、ユーザ領域に配置可能なカードが存在しないか否か、及び、選択されたセルに既に配置されているカードと選択されたカードとが同一のモンスターキャラクタのカードであるか否かについて判断される。「ユーザ領域に配置可能なカード」とは、バトルフィールドのユーザ領域上でカードが配置されていない１又は複数のセルが占める領域に配置可能なサイズを備えたカードを意味する。
【００９０】
ＣＰＵ２１は、選択されたセルにカードを重ねて配置可能である場合、そのカードのカードＩＤと初期位置の欄にデータを書き込む。図１５に示したバトル使用カードデータでは、セルＣａ（１，１）には、カードＣ００２のカードがバトルフィールド上に配置され、このカードの上に順にカードＣ１２０，Ｃ１３５の２枚のカードがスタックされた例を示している。
このスタックの例でのＣＰＵ２１の処理について、以下説明する。ＣＰＵ２１は、ユーザの通信端末１０から取得した入力情報に、新たに配置するカードとしてカードＣ１２０の選択結果、及び、そのカードの配置するセルとしてセルＣａ（１，１）の選択結果が含まれている場合、選択されたカードをセルＣａ（１，１）に配置可能か否かについて判断する。ここでＣＰＵ２１は先ず、バトル使用カードデータを参照して、(i)初期配置の項目においてすべてのセルにカードのデータが書き込まれているか、あるいはカードのデータが書き込まれていない１又は複数のセルに配置可能な保有カードが存在しないか否かについて判定する。次いでＣＰＵ２１は、カードデータベースを参照して、(ii)選択されたカードＣ１２０が既に配置されているカードＣ００２と同一のモンスターキャラクタのカードであるか否かについて判定する。(i)及び(ii)の条件を共に満たす場合に、ＣＰＵ２１は、選択されたカードＣ１２０がセルＣａ（１，１）に配置可能（つまり、スタック可能）であると判断する。
スタック可能であると判断すると、ＣＰＵ２１は、バトル使用カードデータにおいて、カードＩＤ：Ｃ００２の行の下に新たカードＩＤ：Ｃ１２０の行を設ける。ＣＰＵ２１は、カードＩＤ：Ｃ１２０の行の初期位置及び現在位置として（１，１）を書き込み、残ＨＰとしてカードＣ１２０のカードのＨＰを書き込む。
カードＣ１３５のカードをカード１２０の上にスタックさせる場合の処理も同様に、バトル使用カードデータにおいて、カードＩＤ：Ｃ１２０の行の下に新たカードＩＤ：Ｃ１３５の行が設けられる。
【００９１】
バトル進行手段５４は、実行ユーザと敵ユーザの間のバトルを進行させる機能を備える。
本実施形態のバトル進行方法の例では、実行ユーザと敵ユーザとの間で交互に攻撃が行われる。各ユーザの攻撃ターンでは、各バトル使用カードは、カードデータベース（図７）の攻撃頻度の値に基づくタイミングで、相手のユーザのカードに対して攻撃を行う。そのため、１回の攻撃ターンにおいて、各ユーザのカード群のうち攻撃を行うカードと攻撃を行わないカードがある。カードが攻撃を行う場合にその攻撃対象となる相手のカードは、カードデータベースの射程距離の値に基づいて決定される。カードの攻撃方向は任意に設定することができるが、好ましくはそのカードが攻撃時点で配置されているセルを基準として前方、又は前方に近い方向に設定される。例えば、カードの攻撃は、そのカードが配置されているセルと同一の列にあるバトル相手のカード、又は当該列に隣接する列にあるバトル相手のカードを対象として行われる。
なお、図７では、カード毎に攻撃頻度が設定されている例を示したが、攻撃頻度は全カードで同じ値としてもよい。例えば、各ユーザの攻撃ターンですべてのカードが攻撃を行うように設定してもよい。
カードの攻撃方向について上述したが、攻撃を行うカードから攻撃対象のカードまでの距離は、次の観点から設定してもよい。すなわち、一方のユーザのカードが攻撃を行う場合に、相手のカードのうち、カードデータベースの射程距離の範囲内であって、より前方にあるカード（例えば第１列のカード等の、攻撃するカードにより近いカード）を優先的に攻撃対象としてもよい。この場合、その攻撃対象のカードが消失した場合に、そのカードより後方にあるカードの前方移動を促すことになるため、カード全体を前方に進める動きが促進され、バトルがよりダイナミックになる。
また、カードの攻撃方向や攻撃対象のカードの行の優先度を、実行ユーザが指定できるようにしてもよい。
【００９２】
本実施形態のバトル進行手段５４の機能の実現例では、実行ユーザと敵ユーザの間のバトルの開始の指示がなされた後は、実行ユーザによる操作は必要なく、ゲームサーバ２０のＣＰＵ２１によって作成された再生ファイルが実行ユーザの通信端末１０で再生される。再生ファイルのファイル形式は問わないが、例えばＳＷＦ形式である。
ＣＰＵ２１は、実行ユーザによるバトル開始の指示を受けると（例えば、図１０Ｄのメニューｍ１０の選択結果を含むＨＴＴＰリクエストを取得すると）、実行ユーザ及び敵ユーザの各バトル使用カードの攻撃処理、ＨＰ更新処理、及び移動処理等を実行することで、前述したように、バトルの開始から終了までの再生ファイルの基礎となる一連のバトル使用カードデータを作成する。ＣＰＵ２１は、作成した一連のバトル使用カードデータを基に再生ファイルを作成すると、その再生ファイルを含むＨＴＭＬデータを生成して実行ユーザの通信端末１０へ送信する。
通信端末１０のＣＰＵ１１は、ゲームサーバ２０からＨＴＭＬデータを取得すると、ウェブブラウザによって上記再生用ファイルを実行し、バトルを表示部１６に表示させる。
【００９３】
ゲームサーバ２０のＣＰＵ２１は、実行ユーザのカード配置が完了すると、実行ユーザと敵ユーザの各バトル使用カードのカードデータベース上のデータをＲＡＭ２３にロードした後に、実行ユーザの攻撃ターン、及び敵ユーザの攻撃ターンにおける攻撃処理を、以下のようにして行う。
ＣＰＵ２１は、実行ユーザの攻撃ターンにおいて、実行ユーザの攻撃処理を実行する。実行ユーザの攻撃処理では、実行ユーザの各カードについて、攻撃タイミングに達したか否かが判断される。カードの攻撃タイミングに達していないと判断した場合には、ＣＰＵ２１はそのカードによる攻撃処理を行わない。カードの攻撃タイミングに達したと判断した場合には、ＣＰＵ２１はそのカードによる攻撃処理を行う。
カードによる攻撃処理では、ＣＰＵ２１は、そのカードの攻撃対象となる敵ユーザのカードを決定する。攻撃対象となる敵ユーザのカードは、攻撃を行うカードが配置されているセルを基準として、そのカードの射程距離の範囲内にあるすべてのカードとしてもよい。その場合、ＣＰＵ２１は、敵ユーザのバトル使用カードデータを参照して、基準としたセルからみて射程距離の範囲内の現在位置の敵ユーザのカードを特定する。ＣＰＵ２１は、特定した敵ユーザのカードのすべてを攻撃対象としてもよいし、特定した敵ユーザのカードの中から所定の条件に沿って、または、無作為に一部のカードを選択し、選択したカードを攻撃対象として決定してもよい。好ましくは、ＣＰＵ２１は、攻撃を行うカードが配置されているセルの列と、当該列に隣接する列とに配置されている敵ユーザのカードのうち、基準としたセルからみて射程距離の範囲内の現在位置の敵ユーザのカードを特定する。
【００９４】
なお、本実施形態では、スタックされた複数のカードが射程距離の範囲内に存在する場合には、その複数のカードのうち最も上に配置されているカードから順に攻撃対象とする。例えば、カードＣ００１，Ｃ００２，Ｃ００３がこの順にバトル開始時点でスタックされている場合、最も上に配置されているカードＣ００３が最初に攻撃対象のカードとなり、カードＣ００３が消失した場合にはカードＣ００２が次の攻撃対象のカードとなる。
【００９５】
敵ユーザの攻撃ターンにおける敵ユーザの攻撃処理は、上述した実行ユーザの攻撃処理と同様であるため、重複説明を省略する。
【００９６】
変更手段５５は、実行ユーザ（第１ユーザ）と敵ユーザ（第２ユーザ）の間のバトルにおいて、いずれかのユーザのバトル使用カード（オブジェクト）に基づいて、敵ユーザのカード群のうち少なくともいずれかのカードのＨＰを変更する機能を備える。本実施形態において、カードのＨＰはオブジェクトに関連付けられたパラメータの一例である。
変更手段５５の機能は、以下のようにして実現することができる。ゲームサーバ２０のＣＰＵ２１は、実行ユーザの攻撃ターンにおいて、実行ユーザの各カードの攻撃対象となる敵ユーザのカードを特定すると、特定したカードのＨＰを低下させる処理を行う。攻撃を受けた敵ユーザのカードのＨＰの低下量ΔＨＰは、そのカードの防御力と攻撃を行ったカードの攻撃力とに基づいて、例えば以下のようにして決定される。
ΔＨＰ＝Ｐａ×ｋ
Ｐａ：攻撃を行ったカードの攻撃力
ｋ：攻撃を受けた敵ユーザのカードの防御力に応じて決定される係数
なお、敵ユーザのカードの防御力の値が大きい程、係数ｋが小さい値に設定される。係数ｋは、例えば０．６〜１．０の範囲の値である。
ＣＰＵ２１は、バトル使用カードデータを作成する時点で各カードの残ＨＰを算出する。
【００９７】
なお、上述したＨＰの低下量の算出方法は一例に過ぎず、攻撃を行ったカードの攻撃力と攻撃を受けたカードの防御力とに基づいて如何なる方法を採ってもよい。例えば、上記ΔＨＰは、攻撃を行ったカードの攻撃力と防御力の和としてもよい。
実行ユーザの攻撃ターンの場合について説明したが、敵ユーザの攻撃ターンの場合も同様にして攻撃処理を実行することができる。
【００９８】
本実施形態の攻撃処理において、スタックされた複数のカードが射程距離の範囲内に存在するときに、ＣＰＵ２１がバトル使用カードデータを参照して、その複数のカードのうち最も上に配置されているカードから順に攻撃対象のカードを特定する場合について説明したが、攻撃を行ったカードの攻撃力に基づくＨＰの低下量ΔＨＰが、最も上に配置されているカードの残ＨＰ以上である場合には、以下の(i)〜(iii)のいずれかの処理を行うことができる。いずれかの処理を採用することでバトルゲームの進行、あるいはバトル時間を調整することができ、ゲーム設定の自由度が増す。
【００９９】
(i) １度の攻撃力に応じてスタックされている複数のカードに影響が及ぶようにする処理
攻撃を行ったカードの攻撃力が大きい場合には、その攻撃力によって算出されるΔＨＰの値に応じて、スタックされた複数のカードが上から順に残ＨＰをゼロにするように処理を行ってもよい。例えば、ΔＨＰが7000であり、スタックされた複数のカードが上から順に残ＨＰが4000, 2000, 2000である場合には、ＣＰＵ２１は、上の２枚のカードの残ＨＰをゼロにし、上から３枚目のカードの残ＨＰを1000にする処理を行う。この処理では、１回の攻撃によって複数のカードが影響を受けるため、バトル開始から終了までの時間を短くすることができる。
(ii) １度の攻撃力によって１枚のカードにのみ影響が及ぶようにする処理
攻撃を行ったカードの攻撃力が大きい場合に、その攻撃力によって影響を受けるカードを、例えば最も上に配置されているカードに限定してもよい。例えば、ΔＨＰが7000であり、スタックされた複数のカードが上から順に残ＨＰが4000, 2000, 2000である場合には、ＣＰＵ２１は、最も上のカードの残ＨＰをゼロにする処理を行い、上から２枚目及び３枚目のカードの残ＨＰを変更しない。この処理では、１回の攻撃によって１枚のカードのみが影響を受けるため、バトル開始から終了までの時間が長くなるが、スタックされている複数のカードの各カードのキャラクタが表示されつつ消失していくことになるため、攻撃を受けている対象がユーザに認識しやすいという利点がある。
(iii) １度の攻撃力に応じてスタックされている複数のカードのうち影響が及ぶカード数を限定する処理
例えば攻撃による影響が及ぶカード数の上限を２枚に限定したときに、ΔＨＰが10000であり、スタックされた複数のカードの残ＨＰが上のカードから順に4000, 2000, 2000である場合には、ＣＰＵ２１は、上の２枚のカードの残ＨＰをゼロにし、上から３枚目のカードの残ＨＰを変更しないようにしてもよい。
【０１００】
なお、複数のカードがスタックされているときのバトル中の攻撃力及び防御力は、各カードの攻撃力及び防御力の総和としてもよい。この場合、バトル中において、カードの消失によってスタックされているカードの枚数が減少していく度に、スタックされている複数のカードの攻撃力及び防御力が変動（減少）する。これに対して、スタックされている複数のカードのバトル開始時点での攻撃力及び防御力の総和と同程度の攻撃力及び防御力を備えた１枚のカードは、バトル開始からバトル終了まで攻撃力及び防御力が変動することがないため、スタックされている複数のカードよりもバトルにおいて有利である。
【０１０１】
消失手段５６は、カードのＨＰが所定の消失条件を満足した場合に、当該カードをバトルフィールドから消失させる機能を備える。
消失手段５６の機能は、以下のようにして実現することができる。ゲームサーバ２０のＣＰＵ２１は、実行ユーザの通信端末１０から取得したＨＴＴＰリクエストに基づいてバトルの開始から終了までの間の一連のバトル使用カードデータを作成すると、作成した一連のバトル使用カードデータに基づいて再生ファイルを作成する。このときＣＰＵ２１は、カードの残ＨＰがゼロになると（つまり、消失条件を満足した場合）、カードの現在位置のデータが無効化するようにしてバトル使用カードデータを作成する。これにより、カードの残ＨＰがゼロになった時点から再生ファイルで再生したときにそのカードが消失するようになる。ＣＰＵ２１は、作成した再生ファイルを含むＨＴＭＬデータを実行ユーザの通信端末１０へ送信する。
【０１０２】
移動手段５７は、実行ユーザと敵ユーザとのバトルにおいて、各ユーザに含まれるカード同士が隣接するように、各ユーザのカード群をバトルフィールド内で移動させる機能を備える。
本実施形態では、移動手段５７によるカードの移動では、消失手段５６によってバトル中にカードが消失した場合に、消失していない実行ユーザ及び敵ユーザの各々のカード群が、カード同士が隣接するようにしてバトルフィールド内を移動する。その移動態様は限定されるものではないが、本実施形態では一例として、カード同士が隣接するようにしてカード群が移動するようにして、前方移動及び横移動が行われる。このとき、好ましくは、前方移動が横移動に優先して行われる。
以下では、各セルに１枚のカードが配置されている場合の、(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)に示したカードの順での各カードの移動結果と連動させて移動させるようにしてバトル使用カードデータを作成する。つまりＣＰＵ２１は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。
【０１１０】
（７）本実施形態のバトル処理のフロー
次に、本実施形態のバトル処理のフローの一例について、図１６〜２１のフローチャートを参照して説明する。図１６は、本実施形態のバトルゲームの全体処理の一例を示すフローチャートである。図１７は、カード配置処理の一例を示すフローチャートである。図１８は、攻撃処理の一例を示すフローチャートである。図１９は、カードの前方移動処理の一例を示すフローチャートである。図２０は、敵ユーザのカードの横移動処理の一例を示すフローチャートである。図２１は、実行ユーザのカードの横移動処理の一例を示すフローチャートである。
【０１１１】
（７−１）バトルゲームの全体処理（図１６）
図１６において、ゲームサーバ２０のＣＰＵ２１は、実行ユーザによるバトル開始の指示を受けた場合（ステップＳ３０：ＹＥＳ）、ステップＳ３２以降の処理を行い、バトル開始の指示を受けていない場合には（ステップＳ３２：ＮＯ）、終了する。なお、ＣＰＵ２１は、バトル開始の指示を、例えば図１０Ｄのメニューｍ１０の選択結果を含むＨＴＴＰリクエストを取得したことにより認識する。
【０１１２】
ＣＰＵ２１は、実行ユーザ及び敵ユーザのカード配置処理（ステップＳ３２；図１７）を実行した後、ステップＳ３４へ進む。本実施形態のバトルゲームでは、実行ユーザと敵ユーザのカードによる攻撃が交互に行うことによる攻撃処理が実行される。そこでＣＰＵ２１は、実行ユーザの攻撃ターンであると判断した場合には（ステップＳ３４：ＹＥＳ）、実行ユーザの攻撃処理を行う（ステップＳ３６；図１８）。ＣＰＵ２１は、敵ユーザの攻撃ターンであると判断した場合には（ステップＳ３４：ＮＯ）、敵ユーザの攻撃処理を行う（ステップＳ３８；図１８）。
ＣＰＵ２１は、実行ユーザ又は敵ユーザのいずれかの攻撃処理を行った後に、敵ユーザと実行ユーザのカードの移動処理を行う。つまりＣＰＵ２１は、敵ユーザのカードの前方移動処理（ステップＳ４０；図１９）、実行ユーザのカードの前方移動処理（ステップＳ４２；図１９）、敵ユーザのカードの横移動処理（ステップＳ４４；図２０）、実行ユーザのカードの横移動処理（ステップＳ４６；図２１）を順次実行する。これらの処理については、図１９〜２１を参照して後述する。
【０１１３】
ＣＰＵ２１は、ステップＳ４０〜Ｓ４６の処理の後、実行ユーザ又は敵ユーザのカードがすべて消失した（つまり、すべてのカードの残ＨＰの値がゼロになった）と判断した場合（ステップＳ４８：ＹＥＳ）、バトル終了処理（ステップＳ５０）を行った後に終了する。バトル終了処理には、ＣＰＵ２１が作成した一連のバトル使用カードデータに基づく再生ファイルの作成、その再生ファイルを含むＨＴＭＬデータの作成、及び、実行ユーザの通信端末１０へのＨＴＭＬデータの送信等を含む。
ＣＰＵ２１は、ステップＳ４０〜Ｓ４６の処理の後、実行ユーザ又は敵ユーザのカードがすべて消失していないと判断した場合（ステップＳ４８：ＮＯ）、ステップＳ３４に戻ってバトルの処理を継続する。
【０１１４】
なお、図１６のフローチャートでは、実行ユーザの攻撃処理（ステップＳ３６）と敵ユーザの攻撃処理（ステップＳ３８）が交互に行われ、各攻撃処理の後にカードの移動処理が行われる場合について例示しているが、この場合に限られない。ステップＳ３６とステップＳ３８を続けて実行し、その後にカードの移動処理を実行するようにしてもよい。
また、図１６のフローチャートでは、実行ユーザによるバトル開始の指示を受けた後に（ステップＳ３０：ＹＥＳ）、カード配置処理を実行する場合を例示しているが、この場合に限られない。カード配置処理はバトルの処理とは無関係に実行できるようにしてもよい。例えば、図１０ＡのウェブページＰ０のメニュー表示領域１０３内にユーザがバトル使用カードを予め編集して登録するためのメニューを設け、バトル開始の指示を認識した時点で、登録されたバトル使用カードデータを読み出すことによって、バトルを実行するようにしてもよい。
【０１１５】
（７−２）カード配置処理（図１７）
カード配置処理では先ず、実行ユーザによって選択されたメニューが判定される（ステップＳ１００）。ゲームサーバ２０のＣＰＵ２１は、例えば図１０ＡのウェブページＰ４のメニューの選択結果を含むＨＴＴＰリクエストを取得すると、その選択結果に基づいて処理を実行する。
ＣＰＵ２１は、ウェブページＰ１（図１０参照）のメニューｍ３（「自分で配置する」）の選択結果、又はウェブページＰ４のメニューｍ４（「もっと配置する」）の選択結果を含むＨＴＴＰリクエストを取得すると（ステップＳ１００：ｍ３，ｍ４）、ウェブページＰ２向けのＨＴＭＬデータをユーザの通信端末１０へ送信する。ウェブページＰ２のマトリクス２０１上でいずれかの未配置セルの選択結果を含むＨＴＴＰリクエストを取得すると（ステップＳ１０２：ＹＥＳ）、ＣＰＵ２１は、ユーザの保有カードの一覧をユーザに提示する（ステップＳ１０４）。つまりＣＰＵ２１は、保有カードの一覧を含むＨＴＭＬデータをユーザの通信端末１０へ送信する。これによってユーザの通信端末１０には、例えばウェブページＰ３が表示される。
【０１１６】
なお、図１７のステップＳ１００には、メニューｍ２（「自動で配置する」）の選択肢を図示していないが、メニューｍ２が選択された場合には、ＣＰＵ２１は、所定の基準を基にユーザの保有カードからマトリクス２０１にカードを配置するとともに、カードのカードＩＤと初期位置の欄にデータを書き込むことで、バトル使用カードデータを更新する（ステップＳ１１２）。
【０１１７】
ウェブページＰ３においていずれかの保有カードの選択結果を含むＨＴＴＰリクエストを取得すると（ステップＳ１０６：ＹＥＳ）、ＣＰＵ２１は、選択されたカードがマトリクス２０１に配置可能であるか否かを判断する（ステップＳ１０８）。
【０１１８】
ステップＳ１０８の判断は、以下に述べるように様々な観点から行われてもよい。
ステップＳ１０８では、選択されたセルにカードが配置されておらず、かつステップＳ１０６で選択されたカードをマトリクス２０１上に配置できる領域が存在しない（つまり、十分な空き領域がない）場合には、ＣＰＵ２１はそのカードを配置できないと判断する。例えば、選択されたセルを基準としたマトリクス上の空き領域として１×２の領域が存在するに過ぎない場合に、選択されたカードのサイズが当該空き領域より大きい領域を必要とするサイズ２×２である場合には、そのカードを配置できないと判断される。
ステップＳ１０８では、選択されたセルに既にカードが配置されている場合、ステップＳ１０６で選択されたカードが既に配置されているカードに対してスタック可能であるか否かについて判断される。本実施形態では、(i)マトリクス２０１上でカードが配置されていない領域に配置可能なカードが存在しないという条件、及び、(ii)選択されたセルに既に配置されているカードと選択されたカードとが同一のモンスターキャラクタのカードであるという条件を共に満たす場合には選択されたカードが配置可能であると判断され、(i)又は(ii)のいずれかの条件を満たさない場合には選択されたカードが配置できないと判断される。
【０１１９】
選択されたカードを配置できないと判断した場合には（ステップＳ１０８：ＮＯ）、ＣＰＵ２１は、ステップＳ１０６で選択されたカードの配置を許可せず、選択されたカードが配置できないことを示すテキストを含むＨＴＭＬデータをユーザの通信端末１０へ送信する。つまり、選択されたカードが配置できないことが通知されて（ステップＳ１１０）、再度のカード選択処理（つまり、ステップＳ１０６）へ戻る。一方、選択されたカードを配置できると判断した場合には（ステップＳ１０８：ＹＥＳ）、ＣＰＵ２１は、ステップＳ１０６で選択されたカードのカードＩＤと初期位置の欄にデータを書き込むことで、バトル使用カードデータを更新する（ステップＳ１１２）。
【０１２０】
次いでＣＰＵ２１は、カードの配置終了指示がなされたか否か、つまりメニューｍ７（「現在の配置でバトル」）の選択結果を含むＨＴＴＰリクエストを取得したか否かを判定する（ステップＳ１１４）。カードの配置終了指示がなされた場合には（ステップＳ１１４：ＹＥＳ）、図１６のフローに戻る。カードの配置終了指示がなされない場合には（ステップＳ１１４：ＮＯ）、つまり例えばウェブページＰ４（図１０Ａ）でメニューｍ４〜ｍ６のいずれかのメニューの選択結果を含むＨＴＴＰリクエストを取得した場合には、ＣＰＵ２１は、ステップＳ１００に戻って選択されたメニューの処理を実行する。
なお、ユーザのカードの総コストを制限するためのステップＳ１０８の処理は必須ではない。つまり、ステップＳ１０６でカードの選択がなされた場合には、その選択されたカードを基にステップＳ１１２のバトル使用カードデータの更新処理を実行してもよい。
【０１２１】
ＣＰＵ２１は、ウェブページＰ４においてメニューｍ５（「配置済カードを変更する」;図１０Ａ参照）の選択結果を含むＨＴＴＰリクエストを取得すると（ステップＳ１００：ｍ５）、マトリクス２０１上にカードが配置済みのいずれかのセルが選択されている場合には（ステップＳ１１６：ＹＥＳ）、ステップＳ１０４へ進む。ステップＳ１０４以降の処理は、既に説明したとおりである。なお、複数のカードをスタックされているセルが選択された場合には、その複数のカードのすべてを変更対象としてもよいし、スタックされた複数のカードの中から変更の対象となるカードをユーザが選択できるように構成してもよい。
【０１２２】
ＣＰＵ２１は、ウェブページＰ４においてメニューｍ６（「配置済カードの取消」）の選択結果を含むＨＴＴＰリクエストを取得すると（ステップＳ１００：ｍ６）、取消対象となる、カードが配置済みのいずれかのセルが選択されている場合には（ステップＳ１１８：ＹＥＳ）、選択されたセルに配置されているカードをバトル使用カードデータから消去するようにしてバトル使用カードデータを更新する（ステップＳ１１２）。その後、既に説明したようにステップＳ１１４の判定処理を行う。なお、複数のカードをスタックされているセルが選択された場合には、その複数のカードのすべてを取消対象としてもよいし、スタックされた複数のカードの中から取消の対象となるカードをユーザが選択できるように構成してもよい。
【０１２３】
図１７のフローチャートでは、選択されたセルにカードを配置可能か否かについてステップＳ１０８にて判断されるが、ステップＳ１０４にて判断されるようにしてもよい。その場合、ステップＳ１０４でユーザに提示されるカード一覧では、十分な空き領域がなく配置できないカードを非表示とするか、配置可能なカードとは異なる態様で（例えば、暗くさせて）表示させるか、あるいは選択できないようにして表示させてもよい。
【０１２４】
（７−３）攻撃処理（図１８）
以下では、実行ユーザの攻撃ターン（図１６のステップＳ３６）について説明するが、敵ユーザの攻撃ターン（図１６のステップＳ３８）についても同様である。
実行ユーザの攻撃ターンにおいて、ゲームサーバ２０のＣＰＵ２１は、実行ユーザのバトル使用カードの各々について処理対象のカードを順に特定し、ステップＳ１２０〜Ｓ１２６の処理を実行する。ＣＰＵ２１は先ず、処理対象のカードについて攻撃タイミングに達したか否かを判断する（ステップＳ１２０）。カードの攻撃タイミングに達していないと判断した場合には（ステップＳ１２０：ＮＯ）、ＣＰＵ２１はそのカードによる攻撃処理を行わずに、ステップＳ１２９へ進む。実行ユーザのすべてのカードについて処理が終了していない場合には（ステップＳ１２９：ＮＯ）、次のカードの処理のためにステップＳ１２０へ戻る。
【０１２５】
カードの攻撃タイミングに達したと判断した場合には（ステップＳ１２０：ＹＥＳ）、ＣＰＵ２１はステップＳ１２２以降の処理を行う。なお、ＣＰＵ２１は、ステップＳ１２０の判断を行うに当たって、カードデータベース（図７）の攻撃頻度のデータを参照する。攻撃頻度の値が大きいほど、攻撃を行う頻度が多いと判断される。例えば、攻撃頻度の値が「２」であるカードについては、実行ユーザの攻撃ターンにおいて常に攻撃を実行し、攻撃頻度の値が「１」であるカードについては、連続する２回の実行ユーザの攻撃ターンのいずれかにおいて攻撃を実行する、といった具合である。
【０１２６】
次いでＣＰＵ２１は、処理対象のカードの射程距離に敵ユーザのカードがあるか否か判定する（ステップＳ１２２）。つまりＣＰＵ２１は、は、処理対象のカードが配置されているセルを基準として、そのカードの射程距離の範囲内のセルに配置されている敵ユーザのカードがあるか否か判定する。処理対象のカードの射程距離に敵ユーザのカードがある場合には（ステップＳ１２０：ＹＥＳ）、ＣＰＵ２１は攻撃対象のカードを決定する（ステップＳ１２４）。処理対象のカードの射程距離に敵ユーザのカードがない場合には（ステップＳ１２２：ＮＯ）、ステップＳ１２９へ進む。実行ユーザのすべてのカードについて処理が終了していない場合には（ステップＳ１２９：ＮＯ）、ステップＳ１２０へ戻る。
なお、ステップＳ１２４においてＣＰＵ２１は、スタックされた複数のカードが射程距離の範囲内に存在する場合には、バトル使用カードデータを参照して、その複数のカードのうち最も上に配置されているカードから順に攻撃対象のカードを特定する。
【０１２７】
ステップＳ１２４では、処理対象のカードの射程距離の範囲内にある敵ユーザのカードのすべてを攻撃対象のカードとして決定してもよいし、射程距離の範囲内にある敵ユーザのカードの中から所定の条件に沿って、又は、無作為に一部のカードを選択し、選択したカードを攻撃対象のカードとして決定してもよい。好ましくは、ＣＰＵ２１は、射程距離の範囲内にある敵ユーザのカードの中から、処理対象のカードが配置されているセルの列と、当該列に隣接する列とに配置されている敵ユーザのカードを攻撃対象のカードとして決定してもよい。
【０１２８】
次にＣＰＵ２１は、攻撃対象のカードのＨＰを低下させる処理を行う。前述したように、ＣＰＵ２１は、攻撃対象のカードのＨＰの低下量を、例えば、処理対象のカードの攻撃力と攻撃対象のカードの防御力とに基づいて算出する。なお、複数のカードがスタックされているときのバトル中の攻撃力及び防御力は、各カードの攻撃力及び防御力の総和としてもよい。つまり、バトル中において、カードの消失によってスタックされているカードの枚数が減少していく度に、スタックされている複数のカードの攻撃力及び防御力が減少するようにしてもよい。
ＣＰＵ２１は、算出されたＨＰの低下量を基に、攻撃対象のカードのＨＰを更新する（ステップＳ１２６）。ＣＰＵ２１は、攻撃対象のカードの残ＨＰがゼロになったと判断した場合には（ステップＳ１２７：ＹＥＳ）、攻撃対象のカードの現在位置のデータが無効化されるようにしてバトル使用カードデータを作成する（ステップＳ１２８）。ＣＰＵ２１は、攻撃対象のカードの残ＨＰがゼロより大きいと判断した場合には（ステップＳ１２７：ＮＯ）、ステップＳ１２９へ進む。
実行ユーザのすべてのカードについて処理が終了した場合には（ステップＳ１２９：ＹＥＳ）、実行ユーザの攻撃ターンが終了する。
【０１２９】
（７−４）カードの前方移動処理（図１９）
以下では、実行ユーザのカードの前方移動処理について説明するが、敵ユーザのカードの前方移動処理についても同様である。以下では、各セルに１枚のカードが配置されている場合の前方移動処理について説明するが、セル上に複数枚のカードがスタックされている場合の前方移動処理は１枚のカードの場合と同じである。つまり、セルに複数枚のカードがスタックされている場合、その複数枚のすべてのカードの現在位置のデータが連動して更新される。
ゲームサーバ２０のＣＰＵ２１は、実行ユーザの各カードについて図１９に示す処理を実行する。ＣＰＵ２１は先ず、処理対象のカードが第１行にあるか否か判定する（ステップＳ１３０）。処理対象のカードが第１行にある場合には（ステップＳ１３０：ＹＥＳ）、前方移動ができないためステップＳ１３６へ進む。実行ユーザのすべてのカードについて処理が終了していない場合には（ステップＳ１３６：ＮＯ）、次のカードの処理のためにステップＳ１３０へ戻る。
【０１３０】
処理対象のカードが第１行にいない場合には（ステップＳ１３０：ＮＯ）、ステップＳ１３２へ進む。ＣＰＵ２１は、処理対象のカードが配置されているセルの１つの前のセルに実行ユーザの他のカードがいない場合には（ステップＳ１３２：ＮＯ）、処理対象のカードを前進させることを決定する（ステップＳ１３４）。このとき、ＣＰＵ２１は、前進させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。ＣＰＵ２１は、処理対象のカードが配置されているセルの１つの前のセルに実行ユーザの他のカードがある場合には（ステップＳ１３２：ＹＥＳ）、処理対象のカードを前進させることができないためステップＳ１３４の処理を行わない。
実行ユーザのすべてのカードについて処理が終了した場合には（ステップＳ１３６：ＹＥＳ）、実行ユーザのカードの前方移動処理が終了する。
【０１３１】
（７−５）敵ユーザのカードの横移動処理（図２０）
以下では、各セルに１枚のカードが配置されている場合の敵ユーザのカードの横移動処理について説明するが、セル上に複数枚のカードがスタックされている場合の横移動処理は１枚のカードの場合と同じである。つまり、セルに複数枚のカードがスタックされている場合、その複数枚のすべてのカードの現在位置のデータが連動して更新される。
ゲームサーバ２０のＣＰＵ２１は、フィールド全体のカード群の中央位置を示すマトリクス上の列である全カード中央位置(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)のいずれかを満たすカードに対して既に行われた移動態様と同じようにして移動が行われる。ステップＳ２７６においてＣＰＵ２１は、移動させるカードの現在位置のデータが更新されるようにしてバトル使用カードデータを作成する。ステップＳ２７６の処理が完了すると、実行ユーザのすべてのカードについて処理が終了していない場合には（ステップＳ２７８：ＮＯ）、次のカードの処理のためにステップＳ２６４へ戻る。
【０１９４】
以上、本発明の実施形態について詳細に説明したが、本発明は上記実施形態に限定されない。また、各実施形態は、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのは勿論である。上記実施形態及び各変形例に記載された技術的事項は適宜組合せて適用してもよい。
【０１９５】
上述した実施形態及び変形例では、カードの前方方向をマトリクスの行の方向と一致させ、カードの横移動方向をマトリクスの列の方向と一致させる場合について説明したが、この場合に限られない。カードの前方方向をマトリクスの列の方向と一致させ、カードの横移動方向をマトリクスの行の方向と一致させてもよい。その場合には、ウェブページ上で左右に（つまり、横方向に）ユーザのカード同士が対峙してバトルが行われることになる。
上述した実施形態及び変形例では、カードの移動方向を前方又は横方向のいずれかの場合について説明したが、その場合に限られない。例えば、斜め前方（斜め右前、又は斜め左前）に移動するカードを設定してもよい。
上述した実施形態及び変形例において、バトルフィールドが矩形のマトリクスである場合について説明したが、この場合に限られない。実行ユーザ及び敵ユーザのカード群がそれぞれ、カード同士が隣接して移動可能であれば他の形態でもよい。例えば、三角形や六角形（ハニカム形態）などの多角形であってもよい。
上述した実施形態及び変形例において、カード群を横移動させるときのカードの処理順序は、一例に過ぎない。中央位置（全カード中央位置、敵カード中央位置、又は実行カード中央位置）を基準として、左側にあるカードを先に移動させ、次に右側にあるカードを移動させてもよいし、右側にあるカードを先に移動させ、次に左側にあるカードを移動させてもよい。
【０１９６】
上述した各実施形態では、オブジェクトの一例としてモンスターカードを挙げたが、これに限られない。オブジェクトであれば如何なるものでもよい。例えば、オブジェクトは、ゲーム上のキャラクタやアイテム等を含むものでよく、例えばゲーム上の仮想的な人物や生物、若しくはモンスター等であり、本実施形態で示したように、それらがカードに表示されているものをも含む。
【０１９７】
上述した実施形態では、ユーザによる通信端末に対する所定の操作入力は、ユーザの通信端末に対する所定の操作釦の押下操作の入力や、タッチパネル機能を備えた通信端末に対する表示画面上のタッチ操作の入力であるとしたが、操作入力はこれに限られない。操作入力は、加速度センサを備えた通信端末を振ることによる操作入力、あるいはジェスチャによる操作入力（ジェスチャ入力）であってもよい。ジェスチャ入力では、撮像機能を備えた通信端末に対する所定のジェスチャを行うことで通信端末がそのジェスチャを画像認識し、予めジェスチャに対応付けられた操作入力を認識する。また、音声認識プログラムを実行可能な通信端末の場合には、操作入力は、音声を入力することにより行われてもよい。
【０１９８】
上述した実施形態では、ネットワーク上のゲームサーバ２０及びデータベースサーバ３０によって、図１４に示した各手段が備える機能を実現する構成としたが、この構成に限られない。図１４に示した手段のすべて、あるいは少なくとも一部の手段を通信端末１０によって実現する構成としてもよい。通信端末１０とゲームサーバ２０とでは実質的に同一のハードウエア構成を採るため、上記実施形態に記載したようにして通信端末１０によっても各機能を実現できる。図２８Ａ，図２８Ｂにはそれぞれ、本実施形態のゲーム制御装置の各機能（図１４に示す各機能）について、通信端末１０と、ゲームサーバ２０及びデータベースサーバ３０との間の機能を分担した場合の例を示す。
【０１９９】
上述した実施形態では、ゲームサーバ２０がバトルの開始から終了までの一連のバトル使用カードを基に再生ファイルを作成して通信端末１０へ送信し、通信端末１０が再生ファイルを再生することによってバトルが動画再生される場合について説明したが、この場合に限られない。例えば、通信端末１０が実行ユーザのバトル使用カードデータを記憶しておき、敵ユーザのバトル使用カードデータをバトル開始時点で取得し、通信端末１０が再生ファイルを作成するようにしてもよい。この場合、移動手段や変更手段等を実現するためのプログラムは通信端末１０のＣＰＵ１１により実行される。
【０２００】
上述した実施形態では、ソーシャルゲームに適用される場合を例として説明したが、これに限られない。例えば、スタンドアローンのゲーム機によっても実現でき、ネットワーク上に置かれたサーバ装置と家庭用オンラインゲーム機とを接続した、いわゆるオンラインゲームシステムにおいても実現できる。
【符号の説明】
【０２０１】
１０…通信端末
１１…ＣＰＵ
１２…ＲＯＭ
１３…ＲＡＭ
１４…画像処理部
１５…指示入力部
１６…表示部
１７…通信インタフェース部
１８…バス
２０…ゲームサーバ
２１…ＣＰＵ
２２…ＲＯＭ
２３…ＲＡＭ
２４…データベースアクセス部
２５…通信インタフェース部
２６…バス
３０…データベースサーバ
３１…ユーザデータベース
３２…ゲームデータベース
５１…対応付け手段
５２…配置手段
５３…重畳手段
５４…バトル進行手段
５５…変更手段
５６…消失手段
５７…移動手段
【図１】
2014136123.tif 000003
【図２Ａ】
2014136123.tif 000004
【図２Ｂ】
2014136123.tif 000005
【図３】
2014136123.tif 000006
【図４】
2014136123.tif 000007
【図５】
2014136123.tif 000008
【図６】
2014136123.tif 000009
【図７】
2014136123.tif 000010
【図８】
2014136123.tif 000011
【図９】
2014136123.tif 000012
【図１０Ａ】
2014136123.tif 000013
【図１０Ｂ】
2014136123.tif 000014
【図１０Ｃ】
2014136123.tif 000015
【図１０Ｄ】
2014136123.tif 000016
【図１０Ｅ】
2014136123.tif 000017
【図１０Ｆ】
2014136123.tif 000018
【図１１】
2014136123.tif 000019
【図１２】
2014136123.tif 000020
【図１３Ａ】
2014136123.tif 000021
【図１３Ｂ】
2014136123.tif 000022
【図１３Ｃ】
2014136123.tif 000023
【図１４】
2014136123.tif 000024
【図１５】
2014136123.tif 000025
【図１６】
2014136123.tif 000026
【図１７】
2014136123.tif 000027
【図１８】
2014136123.tif 000028
【図１９】
2014136123.tif 000029
【図２０】
2014136123.tif 000030
【図２１】
2014136123.tif 000031
【図２２Ａ】
2014136123.tif 000032
【図２２Ｂ】
2014136123.tif 000033
【図２３】
2014136123.tif 000034
【図２４】
2014136123.tif 000035
【図２５Ａ】
2014136123.tif 000036
【図２５Ｂ】
2014136123.tif 000037
【図２５Ｃ】
2014136123.tif 000038
【図２５Ｄ】
2014136123.tif 000039
【図２６】
2014136123.tif 000040
【図２７】
2014136123.tif 000041
【図２８Ａ】
2014136123.tif 000042
【図２８Ｂ】
2014136123.tif 000043