00001
00002
00003
00004
00005
00006
00007 #ifndef __GameRules_h_
00008 #define __GameRules_h_
00009
00010 #include "GameControlData.h"
00011 #include "Tools/Player.h"
00012 #include "Representations/Cognition/BallModel.h"
00013
00014 class GameManagerTool
00015 {
00016 public:
00017 static Player::teamColor getTeamColorFormGameManager(uint32 teamColour);
00018 };
00019
00020 class GameRules
00021 {
00022 public:
00023 enum ROLLOUTBORDER{
00024 leftRedGoal,
00025 rightRedGoal,
00026 leftRedSite,
00027 rightRedSite,
00028 leftBlueSite,
00029 rightBlueSite,
00030 leftBlueGoal,
00031 rightBlueGoal,
00032 numOfRollOutBorders
00033
00034 };
00035
00036 enum THROWINPOINT{
00037 leftRed,
00038 rightRed,
00039 leftmiddle,
00040 rightmiddle,
00041 leftBlue,
00042 rightBlue,
00043 numOfThrowIn
00044 };
00045
00046
00047 static Vector3<double> getThrowInPoint(Vector2<double> ball, Player player, RoboCupGameControlData data);
00048 static THROWINPOINT getThrowInPointNumber(ROLLOUTBORDER border, Player::teamColor team);
00049 static int getThrowInPointNumber(Vector2<double> ball, Player player, RoboCupGameControlData data);
00050
00051 static int getThrowInPointFieldNumber(THROWINPOINT pointNr, Player::teamColor team);
00052
00053 };
00054
00055
00056 #endif