Re: こんなの作りたい!! [ No.14 ]
メンテ
 2008/07/31 11:32
 ななめ
>>10と>>13
なるべく必要最低限にまとめたんですが、長くなりました。

相手の行動に関しては、サンプルコモンの「AI計算」を読んでいると、基本的な組み方はわかります。バージョンによってはたまに判定ミスもあったりしますが、大まかな方針はわかるかなぁと。
逆に言うと、あれ見てわからなかったらもう少し慣れてから挑戦した方がよいかと。

自分側の操作が完成してるってことはランダムでカードを引く処理とか、カードを配置できる条件とかの指定ができてるってことだと思うので、AIで新しく作る必要があるのは
・場に出す最大枚数の判定
・攻撃が通るかどうかを判断する処理
・相手の場のカードを見て、手札にその特殊効果などを潰せるカードがあるかどうかを判定する処理
と、余裕があれば
・コンボを考えて出す処理
・敵キャラごとに(というか敵キャラ変数ごとに)優先する戦法の順番変更をする処理(複数の連続した変数に戦法に振った変数を代入し、ループと条件分岐で発動可能な行動に当たるまで判定し続ける。もちろん全部不可ならカードをドローしたまま待機)
くらいを作れば良いだけです。
それらを自分側の操作と組み合わせれば、基本的なカードバトルの体裁は取れます。一般的なRPGよりは少ない行数で書けそうですね。
チェスやオセロだって最初の頃のAIはとても弱かったわけですし、人間の相手にならない程度のものでも、とりあえず動くAIが作れたら、まずは十分ですよ。カードバトルなら、敵にこちらより強いカードを与えることでゲームバランスは取れます。

攻撃力・防御力、というかカードの能力設定は、可変DBでカードの種類と各数値を必要な数だけ設定します。
バトル自体は単なる引き算の繰り返し(攻撃力から防御力を引いた値を、防御側の体力から引く)なので、相手の行動指定さえ組めればわりと簡単ですよ。手間と時間はかかりますけど。
まっ、最初は行動計算と攻撃力と防御力判定、ダメージ計算だけで組んでみて、その雛型に後から特殊効果の判定を追加していくのが良いです。

ただし、実際に使うAIやバトルコモンが完成する前にデータベースの方を作ると、後で不都合が起きる場合が多く、そのゲームの開発がストップする確率を上げてしまうので、まずは一番面倒なAI作りから始めてみるか、カードバトルの作成自体を後回しにして、別のゲームを作るかしてみると良いと思います。
がんばってくださいー。