Handlungsausfuehrende Komponente
Handlungsausfuehrende Komponente. Die Basisaktionen, die der Server zur Verfuegung stellt, sind hier gekapselt. Effectors uebernimmt ausserdem das Queueing der Kommandos und das Benachrichtigen des Weltmodells ueber tatsaechlich abgeschickte Aktionen.Alle Aktionen, zu denen es Action-Objekte gibt, koennen mit queueAction ausgefuehrt werden. Ausserdem koennen Plaene, also Abfolgen von Aktionen mit queuePlan in die Warteschlange gehaengt werden.
Die Aktionen enterField, reEnterField und leaveField muessen direkt ueber den Aufruf der gleichnamigen Methode ausgeloest werden.
Von der Klasse wird nur ein Objekt erzeugt. Die Klasse ist nicht zur Vererbung geeignet.
Quelltext
[Header | [Implementierung]
CVS Informationen zum Interface
************************************************** * * Aktueller Stand * * $RCSfile: Effectors.h,v $ * $Revision: 1.22 $ * $Date: 1998/08/14 13:20:27 $ * $Author: myritz $ * **************************************************
class NothingToSendException: public Exception
Effectors( Communicator* aCommunicator )
void enterField( const String& aTeamName, bool goalie = NO )
Das Weltmodell muss also vor Aufruf dieser Methode bereits initialisiert
sein.
void reEnterField( const String& aTeamName, int aPlayerNumber )
Das Weltmodell muss also vor Aufruf dieser Methode bereits initialisiert
sein.
void leaveField()
void queueAction( const Action& anAction )
void queuePlan( const Plan& aPlan )
void clearQueue()
void setPlan( const Plan& aPlan )
void performAction( const Action& anAction )
void performMainAction( const BodyInfos& aBodyInfo )
void performSubAction()
bool isActionLeft()
String toString()
Communicator* theCommunicator
bool hasEnteredField
Array <Action> theQueue
int indexOfCurrentAction
Einleitung | Architektur | Dynamische Zusammenhänge | Referenzhandbuch | FAQ | Anhang A | Anhang B
generated by doc++