traP Works

AI Rogue

ツイート このエントリーをはてなブックマークに追加

screenshot-from-2016-11-01-00-35-27

[Play!] Coming soon…

AI RogueとはローグライクのAIを作成してできるだけ深くまで潜ることを目指すゲームです(もちろん手動でも操作できます)。敵を倒しつつなるべく下の階数を目指します(階数がスコアとなります)。

AIはJavaScriptで書くことができます。以下はデフォルトのAIです。

const item = env.nearestItem();
if (env.distance(env.nearestEnemy()) < 3) { const e = env.nearestEnemy(); const d = env.distance(e); const dist = env.accDirection(e); if (d % 2 === 0) { return env.wait(); } else if (d > 1) {
    return env.move(dist);
  } else {
    return env.attack(dist);
  }
} else if (!env.fullItem() && env.sameRoom(item)) {
  return env.move(env.accDirection(item));
} else if (env.hp() / env.maxHP() < 0.4 && env.hasItem('やくそう')) {
  return env.useItem('やくそう');
} else if (env.hunger() < 10 && env.hasItem('にく')) {
  return env.useItem('にく');
} else if (env.hp() < env.maxHP() && env.hunger() > 50) {
  return env.wait();
} else if (env.sameRoom(env.goal())) {
  return env.move(env.accDirection(env.goal()));
} else {
  return env.moveToRoom(env.unexploredRooms()[0]);
}

このAIがすることを簡単に説明すると、

です。割と直感的に書くことができると思います。

操作方法(手動での操作)

アイテム

ミニマップの見方

minimap

Tips

Credits

ツイート このエントリーをはてなブックマークに追加

コメントを残す

メールアドレスが公開されることはありません。