jrobots.simulation.simulationObjects
Class JRobot2010

java.lang.Object
  extended by jrobots.simulation.simulationObjects.Pilot
      extended by jrobots.simulation.simulationObjects.JRobot2010
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
ColonelDuck, DumBot, EmptyBot, OnsetBot2010, PrivateDuck, Smith

public abstract class JRobot2010
extends jrobots.simulation.simulationObjects.Pilot

The jRobot designed for use as base class for deriving contest bots.

It originates from JRobot2008 and adds these functional enhancements:

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class jrobots.simulation.simulationObjects.Pilot
jrobots.simulation.simulationObjects.Pilot.DropperCommand, jrobots.simulation.simulationObjects.Pilot.LauncherAmmunition
 
Field Summary
 
Fields inherited from class jrobots.simulation.simulationObjects.Pilot
DOWN, LEFT, memoryConsumption, RIGHT, UP
 
Constructor Summary
JRobot2010()
           
 
Method Summary
protected  void addDebugArrow(Vector start, Vector end)
          Mit Hilfe dieser Funktion kann ein Bot einen Pfeil auf's Spielfeld zeichnen.
protected  void addDebugCrosshair(Vector position)
          Mit Hilfe dieser Funktion kann ein Bot ein Kreuz auf's Spielfeld zeichnen.
protected  void addDebugLine(float x1, float y1, float x2, float y2)
           
protected  void addDebugLine(Vector p1, Vector p2)
          Mit Hilfe dieser Funktion kann ein Bot eine Linie auf's Spielfeld zeichnen.
protected static double getBulletReloadTime()
          Liefert die Zeit in Sekunden, die nach dem Abfeuern eines Schusses mit dem Maschinengewehr vergehen muss, bis der Werfer wieder bereit ist.
protected static double getBulletSpeed()
          Liefert die Geschwindigkeit (in Meter pro Sekunde), mit der ein Maschinengewehrprojektil, das der Panzer verschiessen kann, fliegt.
 double getHealth()
          Der Zustand eines Panzers reicht von 0.0 (nächster Treffer verschrottet Panzer) bis 1.0 (voll intakt).
protected  Scan getLastScan()
          Liefert das Ergebnis des letzten "Scanblitzes".
protected static double getMaxArenaDiameter()
          Zwei Panzer können sich nicht weiter als den zurückgegebenen Wert voneinander entfernen.
protected static double getMaxBackwardVelocity()
          Retrieves the maximum backward velocity of the Panzer.
protected static double getMaxForwardVelocity()
          Retrieves the maximum forward velocity of the Panzer.
protected static Angle getMaxScanAperture()
          Liefert den größtmöglichen öffnungswinkel des Scanners.
protected static double getMineReloadTime()
          Liefert die Zeit in Sekunden, die nach dem Legen einer Mine vergehen muss, bis die Minenlegevorrichtung wieder bereit ist.
protected static double getMissileReloadTime()
          Liefert die Zeit in Sekunden, die nach dem Abfeuern eines normalen Geschosses vergehen muss, bis der Werfer wieder bereit ist.
protected static double getMissileSpeedMax()
          Liefert die maximale Geschwindigkeit (in Meter pro Sekunde), mit der die Lenkrakete, die der Panzer verschiessen kann, fliegt.
protected  Angle getOrientation()
          Liefert die aktuelle Ausrichtung des Panzerkörpers.
Dieser Wert stimmt nicht immer genau mit dem Winkel des Geschwindigkeitsvektors überein, da der Bot auch seitlich rutschen kann (z.B.
protected  Vector getPosition()
          Liefert die aktuelle Position des Panzers im Spielfeld relativ zur oberen linken Ecke.
protected static double getProjectileReloadTime()
          Liefert die Zeit in Sekunden, die nach dem Abfeuern der Kanone vergehen muss, bis der Werfer wieder bereit ist.
protected static double getProjectileSpeed()
          Liefert die Geschwindigkeit (in Meter pro Sekunde), mit der das Kanonenprojektil, das der Panzer verschiessen kann, fliegt.
protected static double getScanInterval()
          Liefert die Zeit in Sekunden, die der Scanner zum "Nachladen" benötigt.
protected static double getTankTrapReloadTime()
          Liefert die Zeit in Sekunden, die nach dem Legen einer Mine vergehen muss, bis die Minenlegevorrichtung wieder bereit ist.
protected  double getTimeOfDropperReloaded()
          Liefert den Zeitpunkt, zu dem die Legevorrichtung wieder nachgeladen ist.
protected  double getTimeOfLauncherReloaded()
          Liefert den Zeitpunkt, zu dem die Abschussvorrichtung wieder nachgeladen ist.
protected  Vector getVelocity()
          Liefert den aktuellen Geschwindigkeitsvektor des Panzers.
protected  boolean isScanFromNow()
          Liefert true, wenn der aktuelle Scanwert im Scanner von diesem Frame stammt, also wenn gilt: getTime() == getLastScan().timeOfScan
Der Scanner hat also in diesem Frame einen Scan durchgeführt.
protected  void setAutopilot(Angle direction, double speed)
          Diese Funktion aktiviert den Autopilot, welcher selbständig die Geschwindigkeiten der beiden Panzerketten regelt.
Der Autopilot führt so lange mit der angegebenen Geschwindigkeit in die angegebene Richtung, bis diese Funktion mit neuen Daten nochmals aufgerufen wird.
protected  void setBodyColor(java.awt.Color newColor)
          Hiermit kann eine Farbe eingestellt werden, mit der das Bild des Panzerkörpers gefiltert wird.
protected  void setDebugLines(Vector[] points)
          Mit Hilfe dieser Funktion kann ein Bot mehrere Linien auf's Spielfeld zeichnen.
protected  void setDebugText(java.lang.String text)
          übergibt dem Framework einen Text, den es direk unterhalb des umherfahrenden Bots anzeigt.
protected  void setDropMineCommand(boolean isToBeLayed)
          Setzt einen Befehl an die Abwurfvorrichtung ab.
protected  void setDropTankTrapCommand(boolean isToBeLayed)
          Setzt einen Befehl an die Abwurfvorrichtung ab.
protected  void setLaunchBulletCommand(Angle command)
          Setzt einen Feuerbefehl an die Abschussvorrichtung ab.
protected  void setLaunchMissileCommand(Angle command)
          Setzt einen Feuerbefehl an die Abschussvorrichtung ab.
protected  void setLaunchProjectileCommand(Angle command)
          Setzt einen Feuerbefehl an die Abschussvorrichtung ab.
protected  void setMissileTarget(Vector targetPosition)
          Mit dieser Routine kann die zuletzt abgeschossene Lenkrakete während des Fluges umprogrammiert werden.
protected  void setNameColor(java.awt.Color newNameColor)
          Hiermit kann die Farbe des Schriftzuges verändert werden, der in der Arena über dem Bot angezeigt wird.
protected  void setScanAperture(Angle aperture)
          Hiermit sagt man dem Scanner, mit welchem öffnungswinkel der nächste "Scanblitz" erfolgen soll.
protected  void setScanDirection(Angle scanDirection)
          Setzt die Richtung, in die der nächste "Scanblitz" gehen soll.
Z.B.
protected  void setTurretColor(java.awt.Color newColor)
          Hiermit kann eine Farbe eingestellt werden, mit der das Bild des Panzerturms gefiltert wird.
 
Methods inherited from class jrobots.simulation.simulationObjects.Pilot
actions, clone, getBodyColor, getNameColor, getSafeShootDistance, getTime, getTurretColor, init
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JRobot2010

public JRobot2010()
Method Detail

getLastScan

protected final Scan getLastScan()
Liefert das Ergebnis des letzten "Scanblitzes". Das zurückgelieferte Objekt enthält alle Informationen, die es zu einem einzelnen "Scanblitz" zu wissen gibt.

Note: The returned might be an unsuccessful scan. Check with isTargetLocated.

Overrides:
getLastScan in class jrobots.simulation.simulationObjects.Pilot
Returns:
das Ergebnis des letzten Scans, mit distanceToTarget == 0, falls kein Objekt gescannt werden konnte.

getTimeOfLauncherReloaded

protected final double getTimeOfLauncherReloaded()
Liefert den Zeitpunkt, zu dem die Abschussvorrichtung wieder nachgeladen ist.

Ist der Zeitpunkt kleiner oder gleich der momentanen Zeit, kann sofort eine beliebige Waffe abgeschossen werden.

Overrides:
getTimeOfLauncherReloaded in class jrobots.simulation.simulationObjects.Pilot
Returns:
Zeitpunkt (in Sekunden seit Matchbeginn)

getTimeOfDropperReloaded

protected final double getTimeOfDropperReloaded()
Liefert den Zeitpunkt, zu dem die Legevorrichtung wieder nachgeladen ist.

Ist der Zeitpunkt kleiner oder gleich der momentanen Zeit, kann sofort eine beliebiger Gegenstand gelegt werden.

Overrides:
getTimeOfDropperReloaded in class jrobots.simulation.simulationObjects.Pilot
Returns:
Zeitpunkt (in Sekunden seit Matchbeginn)

getMaxArenaDiameter

protected static final double getMaxArenaDiameter()
Zwei Panzer können sich nicht weiter als den zurückgegebenen Wert voneinander entfernen. Falls sie es dennoch versuchen, stoßen sie an die "unsichtbare Arenawand" an, die jedoch ansonsten harmlos ist.

Returns:
Maximum distance between two Panzers in [m]

getMaxScanAperture

protected static final Angle getMaxScanAperture()
Liefert den größtmöglichen öffnungswinkel des Scanners. Stellt man größere Winkel ein, wird trotzdem nur mit diesem Winkel gescannt.

Returns:
maximaler öffnungswinkel des Scanners

getScanInterval

protected static final double getScanInterval()
Liefert die Zeit in Sekunden, die der Scanner zum "Nachladen" benötigt.

Returns:
Nachladezeit des Scanners in Sekunden

getMineReloadTime

protected static final double getMineReloadTime()
Liefert die Zeit in Sekunden, die nach dem Legen einer Mine vergehen muss, bis die Minenlegevorrichtung wieder bereit ist.

Returns:
Nachladezeit in Sekunden

getTankTrapReloadTime

protected static final double getTankTrapReloadTime()
Liefert die Zeit in Sekunden, die nach dem Legen einer Mine vergehen muss, bis die Minenlegevorrichtung wieder bereit ist.

Returns:
Nachladezeit in Sekunden

getProjectileReloadTime

protected static final double getProjectileReloadTime()
Liefert die Zeit in Sekunden, die nach dem Abfeuern der Kanone vergehen muss, bis der Werfer wieder bereit ist.

Returns:
Nachladezeit in Sekunden

getBulletReloadTime

protected static final double getBulletReloadTime()
Liefert die Zeit in Sekunden, die nach dem Abfeuern eines Schusses mit dem Maschinengewehr vergehen muss, bis der Werfer wieder bereit ist.

Returns:
Nachladezeit in Sekunden

getMissileReloadTime

protected static final double getMissileReloadTime()
Liefert die Zeit in Sekunden, die nach dem Abfeuern eines normalen Geschosses vergehen muss, bis der Werfer wieder bereit ist.

Returns:
Nachladezeit in Sekunden

getProjectileSpeed

protected static final double getProjectileSpeed()
Liefert die Geschwindigkeit (in Meter pro Sekunde), mit der das Kanonenprojektil, das der Panzer verschiessen kann, fliegt.

Returns:
Projektilgeschwindigkeit

getBulletSpeed

protected static final double getBulletSpeed()
Liefert die Geschwindigkeit (in Meter pro Sekunde), mit der ein Maschinengewehrprojektil, das der Panzer verschiessen kann, fliegt.

Returns:
Projektilgeschwindigkeit

getMissileSpeedMax

protected static final double getMissileSpeedMax()
Liefert die maximale Geschwindigkeit (in Meter pro Sekunde), mit der die Lenkrakete, die der Panzer verschiessen kann, fliegt.

Returns:
Lenkraketengeschwindigkeit

isScanFromNow

protected final boolean isScanFromNow()
Liefert true, wenn der aktuelle Scanwert im Scanner von diesem Frame stammt, also wenn gilt: getTime() == getLastScan().timeOfScan
Der Scanner hat also in diesem Frame einen Scan durchgeführt.

Returns:
(getTime() == getLastScan().timeOfScan)

getPosition

protected final Vector getPosition()
Liefert die aktuelle Position des Panzers im Spielfeld relativ zur oberen linken Ecke.

Overrides:
getPosition in class jrobots.simulation.simulationObjects.Pilot
Returns:
Position des Panzers - wie alles gemessen in Metern

getOrientation

protected final Angle getOrientation()
Liefert die aktuelle Ausrichtung des Panzerkörpers.
Dieser Wert stimmt nicht immer genau mit dem Winkel des Geschwindigkeitsvektors überein, da der Bot auch seitlich rutschen kann (z.B. in Kurven).

Overrides:
getOrientation in class jrobots.simulation.simulationObjects.Pilot
Returns:
aktuelle Ausrichtung im Bogenmaß

getVelocity

protected final Vector getVelocity()
Liefert den aktuellen Geschwindigkeitsvektor des Panzers. Dieser ist nicht notwendigerweise exakt gleich der Ausrichtung. Der Panzer kann ein bißchen rutschen.

Overrides:
getVelocity in class jrobots.simulation.simulationObjects.Pilot
Returns:
aktuelle Bewegungsrichtung als Geschwindigkeitsvektor [m/s]

getMaxForwardVelocity

protected static final double getMaxForwardVelocity()
Retrieves the maximum forward velocity of the Panzer.
Both tractors have to be set to full forward speed to achieve this velocity.

Returns:
maximum forward velocity in meters per second

getMaxBackwardVelocity

protected static final double getMaxBackwardVelocity()
Retrieves the maximum backward velocity of the Panzer.
Both tractors have to be set to full backward speed to achieve this velocity.

Returns:
maximum backward velocity in meters per second

getHealth

public final double getHealth()
Der Zustand eines Panzers reicht von 0.0 (nächster Treffer verschrottet Panzer) bis 1.0 (voll intakt). Sinkt der Zustand unter einen Wert von 0.0, so ist der Kampf für diesen Panzer zu Ende.

Overrides:
getHealth in class jrobots.simulation.simulationObjects.Pilot
Returns:
momentanen Panzerzustand element [0.0, 1.0]

setScanAperture

protected final void setScanAperture(Angle aperture)
Hiermit sagt man dem Scanner, mit welchem öffnungswinkel der nächste "Scanblitz" erfolgen soll. Der Scanner scannt dann - ausgehend von der gesetzten Scanrichtung - um aperture/2 nach links und um aperture/2 nach rechts.

Overrides:
setScanAperture in class jrobots.simulation.simulationObjects.Pilot
Parameters:
aperture - öffnungswinkel

setScanDirection

protected final void setScanDirection(Angle scanDirection)
Setzt die Richtung, in die der nächste "Scanblitz" gehen soll.
Z.B. Scannen nach links: setScanDirection(new RadAngle(Math.PI));

Overrides:
setScanDirection in class jrobots.simulation.simulationObjects.Pilot
Parameters:
scanDirection - gewünschte Scanrichtung
Throws:
java.lang.NullPointerException - wenn der Parameter null ist

setAutopilot

protected final void setAutopilot(Angle direction,
                                  double speed)
Diese Funktion aktiviert den Autopilot, welcher selbständig die Geschwindigkeiten der beiden Panzerketten regelt.
Der Autopilot führt so lange mit der angegebenen Geschwindigkeit in die angegebene Richtung, bis diese Funktion mit neuen Daten nochmals aufgerufen wird.

Overrides:
setAutopilot in class jrobots.simulation.simulationObjects.Pilot
Parameters:
direction - gewünschte Fahrtrichtung
speed - gewünschte Geschwindigkeit im Intervall [-1...+1]

setLaunchProjectileCommand

protected final void setLaunchProjectileCommand(Angle command)
Setzt einen Feuerbefehl an die Abschussvorrichtung ab.

Ist schon ein -noch nicht ausgeführter- Feuerbefehl vorhanden, dann wird dieser überschrieben.
Dies hat keinen Einfluss auf den Nachladevorgang der Kanone. Sobald sie nachgeladen ist * Setzt einen Feuerbefehl an die Abschussvorrichtung ab.

Ist schon ein -noch nicht ausgeführter- Feuerbefehl vorhanden, dann wird dieser überschrieben.
Dies hat keinen Einfluss auf den Nachladevorgang der Kanone. Sobald sie nachgeladen ist, wird der zuletzt eingestellte Befehl ausgefürt.

Folgende Befehle gibt es für die Abschussvorrichtung:

Overrides:
setLaunchProjectileCommand in class jrobots.simulation.simulationObjects.Pilot
Parameters:
command - - Richtung, in die geschossen werden soll (absolut)

setLaunchBulletCommand

protected final void setLaunchBulletCommand(Angle command)
Setzt einen Feuerbefehl an die Abschussvorrichtung ab.

Ist schon ein -noch nicht ausgeführter- Feuerbefehl vorhanden, dann wird dieser überschrieben.
Dies hat keinen Einfluss auf den Nachladevorgang der Kanone. Sobald sie nachgeladen ist, wird der zuletzt eingestellte Befehl ausgefürt.

Folgende Befehle gibt es für die Abschussvorrichtung:

Parameters:
command - - Richtung, in die geschossen werden soll (absolut)

setLaunchMissileCommand

protected final void setLaunchMissileCommand(Angle command)
Setzt einen Feuerbefehl an die Abschussvorrichtung ab.

Ist schon ein -noch nicht ausgeführter- Feuerbefehl vorhanden, dann wird dieser überschrieben.
Dies hat keinen Einfluss auf den Nachladevorgang der Kanone. Sobald sie nachgeladen ist, wird der zuletzt eingestellte Befehl ausgefürt.

Folgende Befehle gibt es für die Abschussvorrichtung:

Parameters:
command - - Richtung, in die geschossen werden soll (absolut)

setDropMineCommand

protected final void setDropMineCommand(boolean isToBeLayed)
Setzt einen Befehl an die Abwurfvorrichtung ab.

Ist schon ein -noch nicht ausgeführter- Abwurfbefehl vorhanden, dann wird dieser überschrieben.
Dies hat keinen Einfluss auf den Nachladevorgang der Abwurfvorrichtung. Sobald sie nachgeladen ist, wird der zuletzt eingestellte Befehl ausgefürt.

Folgende Befehle gibt es für die Abwurfvorrichtung:

Parameters:
isToBeLayed -
  • true - Mine soll gelegt werden
  • false - Mine soll noch nicht gelegt werden

setDropTankTrapCommand

protected final void setDropTankTrapCommand(boolean isToBeLayed)
Setzt einen Befehl an die Abwurfvorrichtung ab.

Ist schon ein -noch nicht ausgeführter- Abwurfbefehl vorhanden, dann wird dieser überschrieben.
Dies hat keinen Einfluss auf den Nachladevorgang der Abwurfvorrichtung. Sobald sie nachgeladen ist, wird der zuletzt eingestellte Befehl ausgefürt.

Folgende Befehle gibt es für die Abwurfvorrichtung:

Parameters:
isToBeLayed -
  • true - Sperre soll gelegt werden
  • false - Sperre soll noch nicht gelegt werden

setMissileTarget

protected final void setMissileTarget(Vector targetPosition)
Description copied from class: jrobots.simulation.simulationObjects.Pilot
Mit dieser Routine kann die zuletzt abgeschossene Lenkrakete während des Fluges umprogrammiert werden. Das hat natürlich nur eine Auswirkung, wenn kürzlich eine gestartet wurde und diese sich noch im Anflug befindet.

Hinweis: Initial hat eine Lenkrakete kein Ziel (wird also nirgends einschlagen). Erst, wenn ihr mit dieser Routine ein Ziel übergeben wird, ist sie "scharf" (das kann unmittelbar im selben Befehlszyklus sein).

Eine solche Rakete kann beliebig oft umprogrammiert werden, bis sie nahe des Ziels einschlägt oder ihr Treibstoffvorrat erschöpft ist und sie wirkungslos vom Himmel fällt.

Overrides:
setMissileTarget in class jrobots.simulation.simulationObjects.Pilot
Parameters:
targetPosition - - zweidimensionaler Positionsvektor des Ziels

setDebugText

protected final void setDebugText(java.lang.String text)
übergibt dem Framework einen Text, den es direk unterhalb des umherfahrenden Bots anzeigt. Brauchbar für's Debugging. Tipp: durch das Einfügen von "\n" in den String erhält man einen Zeilenumbruch.

Overrides:
setDebugText in class jrobots.simulation.simulationObjects.Pilot
Parameters:
text - anzuzeigender Text

setDebugLines

protected final void setDebugLines(Vector[] points)
Mit Hilfe dieser Funktion kann ein Bot mehrere Linien auf's Spielfeld zeichnen. Die Linien werden in der Farbe des Botnamens gemalt. Die Anzahl der Linien ist beliebig. Die Methode nimmt ein Array mit den Start- und Endpunkten der Linien entgegen. Die Linien müssen nicht zusammenhängend sein. Das übergebene Array wird während des Methodenaufrufs kopiert, es ist also nicht nötig, es danach unberührt zu lassen. Jeweils zwei aufeinanderfolgende Punkte werden als eine Linie interpretiert. Das Array muss also immer eine gerade Zahl von Elementen haben.

Alle Debug-Linien sind jeweils nur in dem Frame sichtbar, in dem sie hinzugefügt wurden. Für eine längere Anzeige müssen die Linien also in jedem Frame neu deklariert werden.

Overrides:
setDebugLines in class jrobots.simulation.simulationObjects.Pilot
Parameters:
points - Start- und Endpunkte der Linien

addDebugLine

protected final void addDebugLine(Vector p1,
                                  Vector p2)
Mit Hilfe dieser Funktion kann ein Bot eine Linie auf's Spielfeld zeichnen. Die Linie wird in der Farbe des Botnamens gemalt.

Alle Debug-Linien sind jeweils nur in dem Frame sichtbar, in dem sie hinzugefügt wurden. Für eine längere Anzeige müssen die Linien also in jedem Frame neu deklariert werden.

Overrides:
addDebugLine in class jrobots.simulation.simulationObjects.Pilot
Parameters:
p1 - Startpunkt der Linie
p2 - Endpunkt der Linie

addDebugCrosshair

protected final void addDebugCrosshair(Vector position)
Mit Hilfe dieser Funktion kann ein Bot ein Kreuz auf's Spielfeld zeichnen. Das Kreuz wird in der Farbe des Botnamens gemalt.

Alle Debug-Linien sind jeweils nur in dem Frame sichtbar, in dem sie hinzugefügt wurden. Für eine längere Anzeige müssen die Linien also in jedem Frame neu deklariert werden.

Overrides:
addDebugCrosshair in class jrobots.simulation.simulationObjects.Pilot
Parameters:
position - die Position des Kreuzes

addDebugArrow

protected final void addDebugArrow(Vector start,
                                   Vector end)
Mit Hilfe dieser Funktion kann ein Bot einen Pfeil auf's Spielfeld zeichnen. Der Pfeil wird in der Farbe des Botnamens gemalt.

Alle Debug-Linien sind jeweils nur in dem Frame sichtbar, in dem sie hinzugefügt wurden. Für eine längere Anzeige müssen die Linien also in jedem Frame neu deklariert werden.

Overrides:
addDebugArrow in class jrobots.simulation.simulationObjects.Pilot
Parameters:
start - Startpunkt des Pfeils
end - Endpunkt des Pfeils (hier ist der Pfeilkopf)

addDebugLine

protected final void addDebugLine(float x1,
                                  float y1,
                                  float x2,
                                  float y2)
Overrides:
addDebugLine in class jrobots.simulation.simulationObjects.Pilot

setNameColor

protected final void setNameColor(java.awt.Color newNameColor)
Hiermit kann die Farbe des Schriftzuges verändert werden, der in der Arena über dem Bot angezeigt wird.

Overrides:
setNameColor in class jrobots.simulation.simulationObjects.Pilot
Parameters:
newNameColor -

setTurretColor

protected final void setTurretColor(java.awt.Color newColor)
Hiermit kann eine Farbe eingestellt werden, mit der das Bild des Panzerturms gefiltert wird. Voreinstellung: Weiß (für keinen Filter). Der Alpha-Wert der gewünschten Farbe wird ignoriert.

Overrides:
setTurretColor in class jrobots.simulation.simulationObjects.Pilot
Parameters:
newColor -

setBodyColor

protected final void setBodyColor(java.awt.Color newColor)
Hiermit kann eine Farbe eingestellt werden, mit der das Bild des Panzerkörpers gefiltert wird. Voreinstellung: Weiß (für keinen Filter). Der Alpha-Wert der gewünschten Farbe wird ignoriert.

Overrides:
setBodyColor in class jrobots.simulation.simulationObjects.Pilot
Parameters:
newColor -