バトルシティーシリーズ7 - スキャンポリシーおよびモバイル戦略の戦略的分析

 

序文

この部分は、彼らの動きや攻撃を変更することで、より良いスキャン結果に順番にスキャンする敵をRobocodeの方法について説明します。

スキャン戦略

レーダーロック - スキャン戦略の主な目的は、つまり、他の側をロックビジョン範囲の私達のフィールド内の敵をさせ、またはそれ以上の専門的な用語を使用しやすくなります。

ターゲットをロックするために、我々は反対方向にレーダースキャンを置くことができます。レーダー回転はすぐに、タンクのレーダーや方向が互いの方向にオフセットされていないので、ロボットは一定の大きさです。だから、走査線がレーダーロックを達成するために、ターゲット上を前後に掃引します。

次のようにコード例は以下のとおりです。

1.  ダブルRadarOffset =敵絶対角度-レーダー方向

2. setTurnRadarRightRadians(RadarOffset * 1.2);

モバイル戦略

:移動する多くの方法がありますが、次のような相手に応じて、独自の動きを、設定することができます

1.明らかに定期的な運動:

壁の周りの動き

2.非常にランダムな動き:

タンクの公式の狂った場合。

3.妨害を目的とした活発な動きがあります。

まず明らかに定期的な運動などで、私は運動の種類の後に敵と間違えました、すぐに運動の別の法則に変更、運動の法則があることを実現するために敵の後、私は混乱して、オリジナルの種類を変更します敵。

受動運動によって撮影された他のラウンドまたは動きに基づいて、4

このような状況は、攻撃を避けるために、どのようにロボットにつながることができ、および(次のいずれかが説明します)を目的とした、独自の戦略を設定する方法。

攻撃を避けるために:

タンク周囲の環境の非常に限られた理解を。しかし、それは弾丸を見ることができません。しかし、他の当事者による弾丸は、そのエネルギーが互いのエネルギーレベルの変化を測定することによって削減される、または他の側は弾丸を発射されているかどうかを知ることができる解雇しました。(典型的には、選抜モード)

例:

1.  公共  ボイドonScannedRobot(ScannedRobotEvent電子)

2. {// previousEnergy前回記録エネルギー

3.  二重changeInEnergy = previousEnergy - e.getEnergy()。

4.  IF(changeInEnergy> 0 && changeInEnergy <= 3){//他のエネルギー変化

5. //脱出!

6. turnLeft(90 - e.getBearing()); //弾丸の方向に操舵方向側

7. setAhead((e.getDistance()/ 4 + 25)); //事前に弾丸を避けるために

8}

9. previousEnergy = e.getEnergy()。

10.}

 

さて、ここで自分自身でこの問題は、私はゲームをプレイするが、現在はJAVAを学ぶために一緒に、ゲーム陳を記述する必要はありません!

 

おすすめ

転載: www.cnblogs.com/qfchen/p/11245938.html