Difference between revisions of "Blue Shift"
Jump to navigation
Jump to search
m (format the code using <pre> tag) |
RednaxelaBot (talk | contribs) m (Using <syntaxhighlight>.) |
||
Line 16: | Line 16: | ||
---- | ---- | ||
− | < | + | <syntaxhighlight> |
package wiki; | package wiki; | ||
import robocode.*; | import robocode.*; | ||
Line 46: | Line 46: | ||
} | } | ||
} | } | ||
− | </ | + | </syntaxhighlight> |
Revision as of 09:22, 1 July 2010
Named after the Doppler Effect
It is the same as BulletDoubling (Old Wiki)
The picture to the right shows a group of waves clustered together.
How it Works
Fire a group of bullets that reach your target at the same time, either by moving the robot, changing bullet power, or a combination of both.
Concept
Use only on stationary targets (shows concept when farther away).
package wiki;
import robocode.*;
public class BlueShift extends AdvancedRobot
{
double turns;
double time;
public void run()
{
setTurnRadarRightRadians(Double.POSITIVE_INFINITY);
}
public void onScannedRobot(ScannedRobotEvent e)
{
double absoluteBearing = e.getBearingRadians() + getHeadingRadians();
double distance = e.getDistance();
setTurnRightRadians(robocode.util.Utils.normalRelativeAngle(absoluteBearing - getGunHeadingRadians()));
turns -= getTime() - time;
time = getTime();
if (turns <= 0) {
time = getTime();
turns = distance / 11;
setFire(3);
} else {
setFire((distance / turns - 20) / -3);
}
}
}