Head-Fake Targeting

From Robowiki
Jump to navigation Jump to search

This targeting method is intended for use against opponents that try to head-fake you by heading one way, then reversing direction once they detect that you have taken a shot.

The fast way to code it

Take any targeting method you already have (other than Head-On Targeting) and find the predicted difference in angle from dead-on, then shoot at the opposite angle. For example, if the opponent is at 15 degrees and your circular targeting says to aim +20 degrees, you would normally fire at 15 + 20 = 35 degrees. With Head-Fake Targeting, you fire at 15 - 20 = -5 = 355 degrees.

The proper way to code it

Create a new targeting method based on any targeting method you already have (other than Head-On Targeting). Assume your opponent will accelerate at top speed in the opposite direction. Extrapolate his position using your targeting algorithm until you have an acceptable firing solution.