ドラクエ4の戦闘のAIが知りたい
どのジャンルで質問するのがベストなのか迷いましたが
C言語をやっている方なら詳しいんじゃないかと思いました。宜しくお願いします。
条件として
・敵が4人、プレーヤー4人(例えばわかりやすく、戦士、戦士、戦士、賢者とします)
・AIとして、ドラクエ4では「ガンガンいこう」や「呪文を使うな」などありますが、
今回は「みんながんばれ」で(要は、回復呪文、攻撃呪文、攻撃を均等に行う)
・賢者の呪文は「ヒャド(攻撃系)、ホイミ(回復系)、スカラ(守備系)、ルカニ(攻撃補助系)」が使えるとします
実際にプログラムを組んでいて分からないところは、呪文を使う時で、
その時、その時で何の呪文を使えば良いのか決める基準が分からないのです。
例えば、味方1人(戦士)のHPが70の時(MAXは100)、
1、その時点で回復した方がベストなのか?
2、敵にダメージを与えた方がベストなのか?
3、スカラを唱えて味方の守備を上げてこれから続く戦いに備えた方がベストなのか?
など、何がベスト(ベストじゃなくても限りなくそうなるように)なのかが分かりません・・・
例えば3だったら敵全員のHPや見方の攻撃力などを調べて、普通に攻撃してたら
あと何ターンで倒せるのかを計算しなくてはなりません(たぶん)
いやそれ以上に調べる個所があるかも・・・
そういうの(攻撃系、回復系、守備系、攻撃補助系)を全部ひっくるめて評価関数
みたいなのにかけれないでしょうか?攻撃した場合の評価(ヒャドなどの攻撃、ルカニなどの間接攻撃)
と守備に徹した時の評価(ホイミなどの回復、スカラなどの防御力UP)を分けるんじゃなくて、
全部一緒に評価して、その返ってきた1番大きい値のものを実行するみたいな。。
自分で言っててなんですが、その評価関数自体の内容もあまりイメージできていませんけど・・・
お礼
早急に回答頂いたのにお礼が遅くなり申し訳ありません。 そういう事だったのですね。安心しました。 回答ありがとうございます!参考になりました。