Class WorldModel

java.lang.Object
  |
  +--WorldModel

public class WorldModel
extends java.lang.Object

Programmname: RoboCup-Kamikaze-Client Klasse: BodyEvent


Diese Klasse generiert und verwaltet das Weltmodell des Spielers

Funktionsweise:

Version:
1.0
Author:
Michael Wagner/Kamil
See Also:
PlayerPerception, BallPerception, GoalPerception

Constructor Summary
WorldModel(java.lang.String teamName, java.lang.String initMessage1, java.lang.String initMessage2)
           
 
Method Summary
 boolean ballInSight()
          sieht der Spieler den Ball?
 boolean ballInVisibleDistance()
          ist Ball innerhalb der "visible_distance"?
 int getBallDirection()
          die absolute Richtung des Balls
 double getBallDistance()
          Entfernung zum Ball
 double getBallSpeed()
          Geschwindigkeit des Balls
 double getBallX()
          die X-Koordinate des Balls
 double getBallY()
          die Y-Koordinate des Balls
 int getBodyDirection()
          der absolute Winkel des Körpers
 PlayerPerception getClosestOpponent()
          der gegnerische Spieler, der am nächsten zum Spieler steht
 PlayerPerception getClosestTeammateToOpGoal()
          der Spieler des eigenen Teams, der am nächsten zum gegnerischen Tor steht
 int getHeadAngle()
          der Winkel des Kopfes relativ zum Körper
 int getLastBallUpdate()
          wieviel Zeit vergangen ist, seit der Spieler den Ball zuletzt gesehen hat
 double getOffsideX()
          die Abseitslinie (X-Koordinate des gegnerischen Spielers, der am nächsten zum Tor steht
 int getOpGoalDirection()
          Richtung des eigenen Tors; Dieser Wert ist - unabhängig, davon, ob der Spieler das Tor sieht - immer aktuell
 double getOpGoalDist()
          Entfernung zum gegnerischen Tor; Dieser Wert ist - unabhängig, davon, ob der Spieler das Tor sieht - immer aktuell
 int getOwnGoalDirection()
          Richtung des eigenen Tors; Dieser Wert ist - unabhängig, davon, ob der Spieler das Tor sieht - immer aktuell
 double getOwnGoalDist()
          Entfernung zum eigenen Tor; Dieser Wert ist - unabhängig, davon, ob der Spieler das Tor sieht - immer aktuell
 PlayerPerception getPassTeammate()
          ein möglicher Pass-Partner (= Spieler des eigenen Teams, der am nächsten zum Spieler steht
 double[] getPlayerPos()
          absolute Position des Spielers
 java.lang.String getPlayMode()
          aktueller Spielmodus
 double[] getPredictedBallPos(int cycles)
          die zukünftige Position des Balls
 int getRelBallDirection()
          die relative Ballrichtung
 int getRelOpGoalDirection()
          die relative Richtung des gegnerischen Tors
 int getRelOwnGoalDirection()
          die relative Richtung des eigenen Tors
 int[] getScore()
          Spielstand
 java.util.Enumeration getSeenPlayerList()
          die Liste der Spieler, die gesehen werden
 java.lang.String getSide()
          die eigene Hälfte
 double getStamina()
          Stamina (Ausdauer)
 double getStartX()
          die Anfangs-X-Position des Spielers
 double getStartY()
          die Anfangs-Y-Position des Spielers
 java.lang.String getTeamName()
          Teamname
 int getTime()
          Spielzeit
 int getUnum()
          die Trikotnummer
 double getVelocity()
          Geschwindigkeit des Spielers
 int getViewDirection()
          die absolute Blickrichtung (Richtung des Kopfes)
 java.lang.String getViewQuality()
          Qualität der aktuellen "change_view"-Einstellung
 java.lang.String getViewWidth()
          Breite des Blickwinkels
 boolean isClosestPlayerToBall()
          ist Spieler der nächste Spieler des eigenen Teams zum Ball?
 boolean isClosestPlayerToOpGoal()
          ist Spieler der nächste Spieler des eigenen Teams zum gegnerischen Tor?
 boolean isClosestPlayerToPredBall(int cycles)
          ist der Spieler der nächste Spieler zur zukünftigen Position des Balls?
 boolean opGoalInSight()
          sieht der Spieler das gegnerische Tor?
 boolean ownGoalInSight()
          sieht der Spieler das eigene Tor?
 void ProcessAuralEvent(AuralEvent event)
          verarbeitet eine "hear"-Nachricht des Servers
 void ProcessBodyEvent(BodyEvent event)
          verarbeitet eine "sense_body"-Nachricht des Servers
 void ProcessVisualEvent(VisualEvent event)
          verarbeitet eine "see"-Nachricht
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WorldModel

public WorldModel(java.lang.String teamName,
                  java.lang.String initMessage1,
                  java.lang.String initMessage2)
Parameters:
teamname - der Teamname des Spielers (Typ:String)
initMessage1 - die erste Nachricht des Servers nach der Anmeldung (Typ:String)
initMessage2 - die zweite Nachricht des Servers nach der Anmeldung (Typ:String)
Method Detail

ProcessVisualEvent

public void ProcessVisualEvent(VisualEvent event)
verarbeitet eine "see"-Nachricht

Parameters:
VisualEvent - die von der Klasse VisualEvent verarbeitete Nachricht
See Also:
VisualEvent

ProcessBodyEvent

public void ProcessBodyEvent(BodyEvent event)
verarbeitet eine "sense_body"-Nachricht des Servers

Parameters:
BodyEvent - die von der Klasse BodyEvent verarbeitete Nachricht
See Also:
BodyEvent

ProcessAuralEvent

public void ProcessAuralEvent(AuralEvent event)
verarbeitet eine "hear"-Nachricht des Servers

Parameters:
AuralEvent - die von der Klasse AuralEvent verarbeitete Nachricht
See Also:
AuralEvent

ballInSight

public boolean ballInSight()
sieht der Spieler den Ball?

Returns:
ein boolean-Wert

ballInVisibleDistance

public boolean ballInVisibleDistance()
ist Ball innerhalb der "visible_distance"?

Returns:
ein boolean

getBallDirection

public int getBallDirection()
die absolute Richtung des Balls

Returns:
ein int Wert zwischen -180 und 180

getBallDistance

public double getBallDistance()
Entfernung zum Ball

Returns:
ein int-Wert zwischen 0 und 2.7

getBallSpeed

public double getBallSpeed()
Geschwindigkeit des Balls

Returns:
ein int-Wert

getBallX

public double getBallX()
die X-Koordinate des Balls

Returns:
ein double-Wert zwischen -52.5 und 52.5

getBallY

public double getBallY()
die Y-Koordinate des Balls

Returns:
ein double-Wert zwischen -34 und 34

getBodyDirection

public int getBodyDirection()
der absolute Winkel des Körpers

Returns:
ein int-Wert zwischen -180 und 180

getClosestOpponent

public PlayerPerception getClosestOpponent()
der gegnerische Spieler, der am nächsten zum Spieler steht

Returns:
ein Objekt vom Typ PlayerPerception
See Also:
PlayerPerception

getHeadAngle

public int getHeadAngle()
der Winkel des Kopfes relativ zum Körper

Returns:
ein int-Wert zwischen -90 und 90

getOffsideX

public double getOffsideX()
die Abseitslinie (X-Koordinate des gegnerischen Spielers, der am nächsten zum Tor steht

Returns:
ein double-Wert

getOpGoalDist

public double getOpGoalDist()
Entfernung zum gegnerischen Tor; Dieser Wert ist - unabhängig, davon, ob der Spieler das Tor sieht - immer aktuell

Returns:
ein double-Wert

getOwnGoalDirection

public int getOwnGoalDirection()
Richtung des eigenen Tors; Dieser Wert ist - unabhängig, davon, ob der Spieler das Tor sieht - immer aktuell

Returns:
ein int-Wert

getOpGoalDirection

public int getOpGoalDirection()
Richtung des eigenen Tors; Dieser Wert ist - unabhängig, davon, ob der Spieler das Tor sieht - immer aktuell

Returns:
ein int-Wert

getOwnGoalDist

public double getOwnGoalDist()
Entfernung zum eigenen Tor; Dieser Wert ist - unabhängig, davon, ob der Spieler das Tor sieht - immer aktuell

Returns:
ein double-Wert

getPlayerPos

public double[] getPlayerPos()
absolute Position des Spielers

Returns:
ein double[]-Wert im Format [x,y]

getPlayMode

public java.lang.String getPlayMode()
aktueller Spielmodus

Returns:
einen String;

getLastBallUpdate

public int getLastBallUpdate()
wieviel Zeit vergangen ist, seit der Spieler den Ball zuletzt gesehen hat

Returns:
ein int-Wert

getPassTeammate

public PlayerPerception getPassTeammate()
ein möglicher Pass-Partner (= Spieler des eigenen Teams, der am nächsten zum Spieler steht

Returns:
ein Objekt vom Typ PlayerPerception
See Also:
PlayerPerception

getPredictedBallPos

public double[] getPredictedBallPos(int cycles)
die zukünftige Position des Balls

Parameters:
cycles - ein int-Wert, der angibt, für wieviele Server-Cycles vorausberechnet werden soll
Returns:
ein double[2]-Feld; Format: [x,y]

getRelBallDirection

public int getRelBallDirection()
die relative Ballrichtung

Returns:
ein int-Wert

getRelOpGoalDirection

public int getRelOpGoalDirection()
die relative Richtung des gegnerischen Tors

Returns:
ein int-Wert

getRelOwnGoalDirection

public int getRelOwnGoalDirection()
die relative Richtung des eigenen Tors

Returns:
ein int-Wert

getScore

public int[] getScore()
Spielstand

Returns:
ein int[2]-Feld;

getSeenPlayerList

public java.util.Enumeration getSeenPlayerList()
die Liste der Spieler, die gesehen werden

Returns:
eine Enumeration, die eine Liste von PlayerPerceptions enthält.
See Also:
PlayerPerception

getStartX

public double getStartX()
die Anfangs-X-Position des Spielers

Returns:
ein double-Wert
See Also:
Positions

getStartY

public double getStartY()
die Anfangs-Y-Position des Spielers

Returns:
ein double-Wert
See Also:
Positions

getStamina

public double getStamina()
Stamina (Ausdauer)

Returns:
ein double-Wert

getSide

public java.lang.String getSide()
die eigene Hälfte

Returns:
ein String;mögliche Werte sind "l" oder "r"

getTeamName

public java.lang.String getTeamName()
Teamname

Returns:
einen String;

getTime

public int getTime()
Spielzeit

Returns:
ein int

getUnum

public int getUnum()
die Trikotnummer

Returns:
ein int

getVelocity

public double getVelocity()
Geschwindigkeit des Spielers

Returns:
ein double-Wert;

getViewDirection

public int getViewDirection()
die absolute Blickrichtung (Richtung des Kopfes)

Returns:
ein int-Wert zwischen -180 und 180

getViewQuality

public java.lang.String getViewQuality()
Qualität der aktuellen "change_view"-Einstellung

Returns:
ein String; mögliche Werte sind "high","normal"

getViewWidth

public java.lang.String getViewWidth()
Breite des Blickwinkels

Returns:
ein String; mögliche Werte sind "wide","normal","narrow"

isClosestPlayerToBall

public boolean isClosestPlayerToBall()
ist Spieler der nächste Spieler des eigenen Teams zum Ball?

Returns:
einen boolean-Wert der true ist, falls Spieler der nächste Spieler ist, ansonsten false.

isClosestPlayerToPredBall

public boolean isClosestPlayerToPredBall(int cycles)
ist der Spieler der nächste Spieler zur zukünftigen Position des Balls?

Parameters:
cycles - ein int-Wert, der angibt, wie weit die Vorausberechnung erfolgen soll
Returns:
ein boolean, der true ist, falls der Spieler der nächste Spieler zur Position ist, ansonsten false

isClosestPlayerToOpGoal

public boolean isClosestPlayerToOpGoal()
ist Spieler der nächste Spieler des eigenen Teams zum gegnerischen Tor?

Returns:
einen boolean-Wert der true ist, falls Spieler der nächste Spieler ist, ansonsten false

ownGoalInSight

public boolean ownGoalInSight()
sieht der Spieler das eigene Tor?

Returns:
ein boolean-Wert, der true ist, falls der Spieler das Tor sieht, ansonsten false

opGoalInSight

public boolean opGoalInSight()
sieht der Spieler das gegnerische Tor?

Returns:
ein boolean-Wert, der true ist, falls der Spieler das Tor sieht, ansonsten false

getClosestTeammateToOpGoal

public PlayerPerception getClosestTeammateToOpGoal()
der Spieler des eigenen Teams, der am nächsten zum gegnerischen Tor steht

Returns:
ein Objekt vom Typ PlayerPerception
See Also:
PlayerPerception