User talk:Realmoonstruck
Competitive JuniorRobot
I have been trying to make competitive Junior Robots. This the best 1 vs 1 bot I could make till now...
package ne0n;
import robocode.*;
public class JuniorLinear extends JuniorRobot {
int moveAmount;
public void run() {
setColors(black, white, red, orange, purple);
moveAmount = Math.max(fieldWidth, fieldHeight);
turnTo(0);
while (true) {
bearGunTo(90);
ahead(moveAmount);
}
}
public void onHitWall() {
bearGunTo(90);
turnRight(90);
}
public void onHitByBullet() {
turnGunTo(hitByBulletAngle);
}
public void onHitRobot() {
if (scannedBearing > -90 && scannedBearing < 90)
back(100);
else
ahead(100);
}
public void onScannedRobot() {
double firepower = 3d-2d*((double)scannedDistance/(double)moveAmount);
double bulletVelocity = 20-3*firepower;
double offset = Math.toDegrees(Math.asin(scannedVelocity*Math.sin(Math.toRadians(scannedHeading-scannedAngle))/bulletVelocity));
turnGunTo((int)(scannedAngle + offset));
fire(firepower);
}
}
As the name suggests this uses simple trigonometric linear targeting. This has been able to beat all the Sample bots on 1 vs 1. But in melee Walls and SpinBot are beating me each time. I tried to implement some better movement and targeting strategies but couldn't get anything to work till now. Any help will be appreciated... cant figure out how to get