すずしんろぐ

人生大逆転を目指す、鈴木俊吾の成長日記

Robocode Head-On Targetingの概要とサンプルプログラム

time 2017/01/10

Tag:

プログラミング

こんにちは、すずしんです。

今回の記事では、Robocode戦術に関する記事を書いてみようと思います。
今回扱うのはターゲッティングアルゴリズムの内、最も基本となるHead-On Targetingです。
Head-On Targetingの概要サンプルプログラムを紹介します。

Head-On Targetingの概要

Head-On Targetingは、Robocodeにおけるターゲッティングアルゴリズムの中で最も基本となります。
Head-On Targetingでは、最後に敵を見つけた場所に向かって弾を発射します。
おそらく、Robocodeを始めたばかりの方はこの方法を最初に実装するのではないでしょうか?

アルゴリズムの考え方や実装がシンプルで使いやすい上、意外と多くのロボットに有効な戦術となります。
その場にじっとしているロボットはもちろん、主に振動移動(Oscillator Movement)しているロボットや一部のランダム移動しているロボットに効果があります。
また、Meleeでも効果的な戦術となっています。

Head-On Targetingのサンプルプログラム

onScannedRobotメソッドの中で以下のようなコードを追加すれば良いです。

このサンプルプログラムでは、敵のいる方向に砲塔を回転させ、パワー3で弾を発射させています。
Utils.normalRelativeAngleメソッドを使うと、回転時の無駄が無くなりますので良いですよ。

ひとこと

Head-On Targetingは、敵ロボットを攻撃するための戦術としては最も基本となります。
基本でありながらも、攻撃手段として有効なロボットが多いというのがまた面白いですね。
とりあえず、迷ったらこのターゲッティングアルゴリズムを採用してみるのもありかもしれません。

関連記事

Robocode アーカイブ
Targeting アーカイブ

follow us in feedly

down

コメントする




ファッション

プロフィール

鈴木俊吾(すずしん)

鈴木俊吾(すずしん)

大学卒業後、公務員を目指して試験に合格するも何故か辞退。その後は無職のまま特に何もない無駄な日々を過ごす。その内に精神状態がおかしくなり統合失調症を発症。今までに4度の入院を経験。ただいま絶賛人生のどん底を経験中。そんな私ですが、現在はフリーランスのプログラマーを目指して勉強を進めています。これまでにいくつかのアプリを公開しています。このブログは、人生大逆転を目指して奮闘する私の成長日記(?)です。どうか温かく見守って頂けるとありがたいです。 [詳細]

アクセスカウンター

since: 2016/11/15

人気記事

アーカイブ



ブログ村ランキング