Module/Targeting/MouseTargeting
Jump to navigation
Jump to search
package jab.targeting;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.event.InputEvent;
import java.awt.event.MouseEvent;
import robocode.util.Utils;
import jab.Module;
import jab.Targeting;
/**
* Credits
* Interactive - a sample robot by Flemming N. Larsen.
*/
public class MouseTargeting extends Targeting {
public MouseTargeting(Module bot) {
super(bot);
}
int aimX, aimY;
public void target() {
double angle = Utils.normalAbsoluteAngle(Math.atan2(aimX - bot.getX(), aimY - bot.getY()));
bot.setTurnGunRightRadians(Utils.normalRelativeAngle(angle - bot.getGunHeadingRadians()));
}
public void listenInput(InputEvent e){
if (e instanceof MouseEvent){
aimX = ((MouseEvent)e).getX();
aimY = ((MouseEvent)e).getY();
}
}
public void onPaint(Graphics2D g) {
g.setColor(Color.RED);
g.drawOval(aimX - 15, aimY - 15, 30, 30);
g.drawLine(aimX, aimY - 4, aimX, aimY + 4);
g.drawLine(aimX - 4, aimY, aimX + 4, aimY);
}
}