Nächste Seite: Weitere öffentliche Schnittstellen
Aufwärts: Verwendung des Comm-Moduls
Vorherige Seite: Öffentliche Schnittstellen für den
  Inhalt
Allgemeine öffentliche Schnittstellen zu internen Zuständen
-
- int getServerTime()
- liefert die Zeit der aktuellsten bisher empfangenen
Information von Server (SenseBody, See, oder Hear
vom Referee). Wird beim parsen, also direkt nach Empfang aktualisiert, ohne
daß das Worldmodel sie ausgewertet haben muß. Bei aktivierter losingPackets-Option
(siehe Abschnitt
) kann die Serverzeit über der Zeit der letzten
empfangenen Information liegen, wenn dsie Signalkomponente den Übergang in einen
neuen Zyklus forciert hat.
- int getMissedCycles()
- liefert die Anzahl der Simulationsschritte,
seit denen vom Agenten kein Kommando mehr vorbereitet wurde. die Eigenschaft
missedCycles wird in sendAction() bei jedem Finden von EMPTY
im actionBuffer um eins erhöht. Ist der actionBuffer nicht EMPTY,
wird sie auf 0 gesetzt.
- bool isActionNeeded()
- liefert true, wenn der actionBuffer
leer (EMPTY) ist. Dies bedeutet, daß das Comm-Modul beim nächsten sendAction()
kein Kommando zum Versenden hätte und davon ausgehen müßte, daß der Agent nicht
dazu kam, den actionBuffer zu füllen - also ernste Timing-Probleme
hat und zu langsam läuft. Liefert false, sobald (actionBuffer.command
!= EMPTY).
- void getLastAction(CycleAction &action)
- liefert das letzte versendete
zyklenbasierte Serverkommando zurück. Genauere Infos zum CycleAction
und CycleCommand-Typ siehe comm.h. Mit dem letzten Kommando
ist auch die Serverzeit vermerkt, zu deren Beginn des Kommando versendet wurde
(siehe Abschnitt
).Da beim Beschreiben des Puffers
immer getServerTime()+1 in actionBuffer.sendTime eingetragen
wurde, und lastAction erst nach Empfang einer neueren Serverinformation
auf actionBuffer gesetzt wird, sollte es beim Auslesen immer getServerTime()
enthalten. Wenn der Agent kein Kommando absenden wollte, wird lastAction.command
NO_COMMAND mit dem entsprechenden Zeitstempel enthalten. Wenn der Agent kein
Kommando absenden konnte, enthält lastAction.command EMPTY mit dem
entsprechenden Zeitstempel in lastAction.sendTime.
- double getHeadAngle()
- wurde entfernt.
- int getMyNumber()
- liefert die Spielernummer des Agenten zurück
- playing_side getMySide()
- liefert die aktuelle Seite des Agenten zurück
(SIDE_LEFT, SIDE_RIGHT). Diese Seite wird beim ersten Anmelden vom
Server geliefert und ändert sich zur Halbzeit nur dann, wenn der Agent sich
vom Server abgemeldet hatte. Genaueres zur Seitenänderung hat Christian vom
Weltmodell untersucht !
- bool isServerAlive()
- liefert true, wenn der Agent sich korrekt
anmelden konnte (richtige Nummer, kein Netzwerkfehler) und er regelmäßig Informationen
von Server empfängt. Wenn die Anmeldung fehlschlug oder der Server länger als
10 Zyklen keine Informationen mehr sendete (siehe Eigenschaften serverOk
und deadCycles) wird false geliefert.
- play_mode getPlayMode()
- liefert den aktuellen PlayMode, wird aktualisiert
beim Parsen von Nachrichten
- bool inSecondHalf()
- liefert true, sobald der Agent von Referee
einmal die Nachricht SECOND_HALF erhielt, sonst false.
- bool inExtendedTime()
- liefert true, sobald der Agent von
Referee einmal die Nachricht TIME_EXTENDED erhielt, sonst false.
- bool amIGoalie()
- liefert true, wenn der Agent als Goalie
initialisiert wurde.
Nächste Seite: Weitere öffentliche Schnittstellen
Aufwärts: Verwendung des Comm-Moduls
Vorherige Seite: Öffentliche Schnittstellen für den
  Inhalt
Debian User
2001-05-17