|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjrobots.simulation.simulationObjects.Pilot
jrobots.simulation.simulationObjects.JRobot2012
public abstract class JRobot2012
The jRobot designed for use as base class for deriving contest bots.
Compared to JRobot2011
, it has these functional modifications:
Nested Class Summary |
---|
Nested classes/interfaces inherited from class jrobots.simulation.simulationObjects.Pilot |
---|
Pilot.DropperCommand, Pilot.LauncherAmmunition |
Field Summary | |
---|---|
protected static java.lang.String |
constants
Dieser String hält die Werte für die Konstanten. |
Fields inherited from class jrobots.simulation.simulationObjects.Pilot |
---|
DOWN, LEFT, memoryConsumption, RIGHT, UP |
Constructor Summary | |
---|---|
JRobot2012()
|
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(Vector p1,
Vector p2)
Mit Hilfe dieser Funktion kann ein Bot eine Linie auf's Spielfeld zeichnen. |
protected Vector[] |
getDirectablePositions()
Liefert die aktuelle Position aller verfügbaren Lenkraketen. |
protected static double |
getEnergyConsumptionBooster()
|
protected static double |
getEnergyConsumptionEngine()
|
protected static double |
getEnergyConsumptionRocket()
|
protected static double |
getEnergyConsumptionRocketRedirection()
|
protected static double |
getEnergyConsumptionScanner()
|
protected static double |
getEnergyProduction()
|
protected static int |
getFramesPerSecond()
|
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()
|
protected static double |
getMaxForwardVelocity()
|
protected static double |
getMaxForwardVelocityWithBooster()
|
protected static Angle |
getMaxScanAperture()
Liefert den größtmöglichen öffnungswinkel des Scanners. |
protected static double |
getMaxVelocityRocket()
Liefert die maximale Geschwindigkeit der Lenkrakete, die der Panzer verschiessen kann. |
protected Angle |
getOrientation()
Liefert die aktuelle Ausrichtung des Panzerkörpers. |
protected Vector |
getPosition()
Liefert die aktuelle Position des Panzers im Spielfeld relativ zur oberen linken Ecke. |
protected Vector |
getProximityScanLaunchable()
Liefert die Position des nächsten gegnerischen Geschosses, oder null, falls sich kein gegnerisches Geschoss in Reichweite des Näherungsradars befindet (siehe Constants.PANZER_PROXIMITY_SCANNER_LAUNCHABLE_RANGE). |
protected static double |
getProximityScannerProjectileRange()
|
protected static double |
getRocketDamageFront()
|
protected static double |
getRocketDamageRear()
|
protected static double |
getRocketDamageSide()
|
protected Angle |
getRocketTargetBearing(int idx)
|
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. |
protected void |
setBodyColor(java.awt.Color newColor)
Hiermit kann eine Farbe eingestellt werden, mit der das Bild des Panzerkörpers gefiltert wird. |
protected void |
setBoost()
Executes a mighty boost for the immediate feeling of innate freedom. |
protected void |
setLaunchRocket(Angle command)
Setzt die gewünschte Schussrichtung des Bots. |
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 |
setRocketHeading(int directableNumber,
Angle targetBearing)
Mit dieser Routine k�nnen eigene Lenkraketen während des Fluges umprogrammiert werden. |
protected void |
setScanAperture(Angle aperture)
Hiermit sagt man dem Scanner, mit welchem ?? |
protected void |
setScanDirection(Angle scanDirection)
Setzt die Richtung, in die der nächste "Scanblitz" gehen soll. |
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, getBodyColor, getEnergy, getHealth, getNameColor, getSafeShootDistance, getTime, getTurretColor, init |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected static final java.lang.String constants
Constructor Detail |
---|
public JRobot2012()
Method Detail |
---|
protected final void addDebugArrow(Vector start, Vector end)
Pilot
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.
protected final void addDebugCrosshair(Vector position)
Pilot
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.
position
- die Position des Kreuzesprotected final void addDebugLine(Vector p1, Vector p2)
Pilot
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.
p1
- Startpunkt der Liniep2
- Endpunkt der Linieprotected final Vector[] getDirectablePositions()
Pilot
Die Position im Rückgabearray beschreibt auch die Nummer, mit der die Lenkrakete angesteuert werden kann (beginnend mit 0).
Pilot#setRocketHeading(int, Angle)}
,
Pilot#setMissileTarget(int, Vector)}
protected static final double getEnergyConsumptionBooster()
Hinweis: Der Booster braucht mehr Energie als der Kettenantrieb
protected static final double getEnergyConsumptionEngine()
protected static final double getEnergyConsumptionRocket()
protected static final double getEnergyConsumptionRocketRedirection()
protected static final double getEnergyConsumptionScanner()
protected static final double getEnergyProduction()
Hinweis: Nicht alles davon kann auch gespeichert werden.
protected static final int getFramesPerSecond()
protected final Scan getLastScan()
Pilot
protected static final double getMaxArenaDiameter()
protected static final double getMaxBackwardVelocity()
protected static final double getMaxForwardVelocity()
protected static final double getMaxForwardVelocityWithBooster()
Das ist mit Sicherheit die wichtigste Konstante im Spiel - zeigt sie doch, dass der Panzer die Rakete überholen könnte, wenn ihm nicht die Energie ausginge.
protected static final Angle getMaxScanAperture()
protected static final double getMaxVelocityRocket()
JRobot2012#setLaunchRocket(Angle)}
protected final Angle getOrientation()
Pilot
protected final Vector getPosition()
Pilot
protected final Vector getProximityScanLaunchable()
Pilot
Constants.PANZER_PROXIMITY_SCANNER_LAUNCHABLE_RANGE
protected static final double getProximityScannerProjectileRange()
JRobot2012#getProximityScanLaunchable()}
protected static final double getRocketDamageFront()
protected static final double getRocketDamageRear()
protected static final double getRocketDamageSide()
protected final Angle getRocketTargetBearing(int idx)
idx
- - Raketenindex (Position in getDirectablePositions)
getDirectablePositions()
protected final Vector getVelocity()
Pilot
protected final boolean isScanFromNow()
protected final void setAutopilot(Angle direction, double speed)
Pilot
direction
- gewünschte Fahrtrichtungspeed
- gewünschte Geschwindigkeit im Intervall [-1...+1]protected final void setBodyColor(java.awt.Color newColor)
Pilot
protected final void setBoost()
Pilot
Naturally, boosting draws more energy than going there by (foot) your tractors, but you can exceed your maximum velocity, which we limited too much (as you might say).
The booster burns a number of frames before it ceases fire.
protected final void setLaunchRocket(Angle command)
command
- Zielpunkt in Polarkoordinatenform relativ zum PanzerJRobot2012#setRocketHeading(int, Angle)}
,
JRobot2012#getMaxVelocityRocket()}
,
JRobot2012#getDirectablePositions()}
,
JRobot2012#getRocketBearingTarget(int)}
protected final void setNameColor(java.awt.Color newNameColor)
Pilot
protected final void setRocketHeading(int directableNumber, Angle targetBearing)
Pilot
Eine solche Rakete kann beliebig oft umprogrammiert werden, bis sie zerst�rt ist.
Das Setzen einer neuen Richtung kostet Energie.
Ist nicht genug Energie vorhanden, hat der Befehl keinen Effekt. Falls
keine Lenkrakete mit dem Panzer verbunden ist, hat der Befehl keinen
Effekt.
Hinweis: Initial fliegt die Lenkrakete ungesteuert in die Richtung, in die sie abgeschossen wurde. Erst, wenn ihr mit dieser Routine ein Lenkbefehl übergeben wird, ver�ndert sie ihren Lauf.
directableNumber
- - Nummer der Rakete, f�r die der Befehl gelten soll (beginnend
mit 0 - der ältesten Rakete)targetBearing
- - Richtung, in die die Rakete fliegen soll.Pilot#getEnergyConsumptionRocketRedirection()}
,
Pilot#getDirectablePositions()}
protected final void setScanAperture(Angle aperture)
Pilot
aperture
- ??ffnungswinkelprotected final void setScanDirection(Angle scanDirection)
Pilot
setScanDirection(new RadAngle(Math.PI));
scanDirection
- gewünschte Scanrichtungprotected final void setTurretColor(java.awt.Color newColor)
Pilot
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |