Diese Klasse ist fuer das Torwartverhalten zustaendig
Mögliche Gründe die einen Abbruch des laufenden Planes
Ausgabe auf dem Terminal
Objekte anlegen und zerstören
Diese Klasse ist fuer das Torwartverhalten zustaendig.Zunaechst wird immer der Ball beobachtet. Beim Eintritt in die eigene Haelfte wird die Moeglichkeit eines Torschusses geprueft. Besteht die Gefahr, daß der Gegner als naechstes den Ball bekommt, wird ein idealer Punkt innerhalb eines 7 m Radius' um den Tormittelpunkt berechnet und dorthin gegangen. Unterschreitet der Gegner 25m Distanz und kann kein eigener Spieler mit grosser Wahrscheinlichkeit noch zwischen Tor und Gegner kommen, l"auft der Torwart bis 2m vor die Strafraumgrenze dem Ball entgegen. Kann doch noch ein eigener Verteidiger dazwischen kommen, dann wird nur 2m entgegengelaufen. Wird der Ball im Strafraum sein, versucht der Torwart ihn mit den F"ussen zu erreichen, geht das nicht, versucht er ihn zu catchen. Unterschreitet ein Gegner die Distanz von 19 m (entspricht einem Ballweg von 9 Takten bei einem Schuss mit 2.7) wird der Blickwinkel auf 45° verringet.
Quelltext
[Header | [Implementierung]
CVS Informationen zum Interface
************************************************** * * Aktueller Stand * * $RCSfile: GoalieOption.h,v $ * $Revision: 1.8 $ * $Date: 1998/08/14 13:20:41 $ * $Author: myritz $ * **************************************************
Plan generatePlan()
virtual String toString()
virtual StorableObject* copy()
double goalieDistFromGoal
int isBetterAsGoalie
mutable bool theGoalieIntercept
mutable bool theGoToGoalieHomePosition
mutable bool theCatchAtOnce
mutable bool thePositionPlay
mutable bool theNormalView
static int theFreeKickSimStep
void setGoalieIntercept( bool on )
void setGoToGoalieHomePosition( bool on )
void setCatchAtOnce( bool on )
void setPositionPlay( bool on )
void setNormalView( bool on )
void setFreeKickSimStep( int newSimStep )
bool isCatchAtOnce()
bool isDangerousPos( const Vector& aPos)
bool isBallInPenaltyArea(const Vector& aVector)
bool isBackwardsRunUseful()
bool isTeamMateInBallZone()
int baseUtility()
int constraintCost( const Constraint *constraint )
bool forceContinuation()
bool ourPlayerDefense(const Situation& situation, ModelledBall& ball, int nearestPlayerSteps)
void computeHomePosition()
void setAllFlags()
bool GoalieOption::isCatchPossible()
int GoalieOption::computeGoalieIntercept()
void computePositionPlay()
void positionPlay(double addition = 0)
Plan movementTo( const Vector& target, const double targetRadius = TRIANGULATION_ACCURACY, const double staminaLimit = 0, const int specialBehaviors = Skills::AVOID_OBSTACLES )
targetRadius - Zielradius für gotoRegion. Kann gebeamt werden, wird
genau auf die gewünschte Position gebeamt.
staminaLimit - fuer gotoRegion.
beamToPosition
Einleitung | Architektur | Dynamische Zusammenhänge | Referenzhandbuch | FAQ | Anhang A | Anhang B
generated by doc++