【作品紹介】
このゲームは「敵のKING」か「敵のKING以外を全て」取ると勝ちとなるボードゲームです。
ゲーム開始時は敵の駒の配置はわかりません。
各駒には動き方や駒同士の相性が決められておりそれを元に敵の駒が何の駒か予想しながら戦います。
DirectXToolKitを初めて用い、趣味であるボードゲームを制作してみたいという思いから制作しました。
【敵の思考パターンの紹介】
敵の駒予測の仕方の紹介(敵視点での紹介です)
ゲーム開始時に敵の駒全てに全ての駒の可能性を設定。(候補を6種類設定)
そしてプレイ中に
・敵駒が動く→動いた駒の動きから候補を除外
・こちらの駒を取られた→相性から攻めてきた駒の候補を除外
・相手の駒を取った→敵の残存駒から取れた駒を候補から除外
・敵の盾が発動→盾を装備していた駒から盾を持てない候補を除外
・駒を特定した(候補が1つになった)→敵の残存駒から特定した駒の候補を除外
・盾を貫通して攻撃してきた→攻撃してきた駒がキングで確定
この上記6つのパターンで各駒の候補を特定してきます。
敵の移動駒と移動先の選出の仕方の紹介(敵視点での紹介です)
1.現状の有利不利の確認
お互いの駒の残数と駒の進出具合から計算。
2.移動可能な駒の選出
移動先の全てが枠外や自駒と被る場合は移動不可となる。
3.移動先に確実に取れる駒がある
移動先に敵駒があり確実に相性不利な駒でないと判明している場合。
3-1.同じ条件の駒が複数ある場合
移動優先度は盾持ち駒→通常駒→ジョーカー→キングとなっている。
通常駒で同条件になった時はランダムで選ばれる。
4.移動先に不確定で取れる駒がある
相性有利・相性不利がどちらとも判明していない時は戦況が同等以上なら仕掛ける。
戦況不利なら他駒を近づけるか後退させる。
5.移動先に相性不利な駒がある
確実に取れないと判明している場合は後退か敵の移動不可の箇所に逃げる。
どちらも無理なら他駒を近づける。
6.移動先に敵駒が無い
単独先行中の駒があれば他駒を近づけるか後退させる。
単独先行中の駒が無ければ移動優先度に従って移動させる。
7.敵のキングが判明した
キングを発見したら優先的に狙っていく。
戦況不利だとしても戦況有利のように動くようになる。
ざっくりまとめると上記7点を基準に駒を移動させます。
ただし同じ状況であっても敵駒の判明具合、お互いに盾が残っているかどうかなど様々なな要素から違った行動をすることも大いにあります。