Informatikunterricht

am Gymnasium Kirchenfeld

Benutzer-Werkzeuge

Webseiten-Werkzeuge


robocode:tracking

Dies ist eine alte Version des Dokuments!


Tracking der gegnerischen Roboter

Für viele Techniken ist es wichtig, Informationen über die gegnerischen Roboter zu haben. Dazu werden die Informationen, welche beim Scannen der Roboter mittels <javadoc robocode>robocode.Robot#onScannedRobot(robocode.ScannedRobotEvent)|onScannedRobot()</javadoc> anfallen, in geeigneter Weise zwischengespeichert.

Die Klasse EnemyRobot speichert die Information (Position) eines Roboters:

public class EnemyRobot
{
    private Robot ownRobot;
    private String name;
    private double x;
    private double y;
 
    public EnemyRobot(Robot ownRobot, String name) {
        this.ownRobot = ownRobot;
        this.name = name;
    }
 
    public void update(ScannedRobotEvent e) {
        double headingToRobot = ownRobot.getHeading() + e.getBearing();
        x = ownRobot.getX() + e.getDistance() * Math.sin(Math.toRadians(headingToRobot));
        y = ownRobot.getY() + e.getDistance() * Math.cos(Math.toRadians(headingToRobot));
    }
 
    public String getName() {
        return name;
    }
 
    public double getX() {
        return x;
    }
 
    public double getY() {
        return y;
    }
}
robocode/tracking.1427718248.txt.gz · Zuletzt geändert: 2020/10/13 14:25 (Externe Bearbeitung)