00001
00002
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00031
00032 #ifndef PENALTY_KICK_STATE_H
00033 #define PENALTY_KICK_STATE_H
00034
00035 #include <rcsc/game_time.h>
00036 #include <rcsc/types.h>
00037
00038 namespace rcsc {
00039
00040 class GameMode;
00041
00046 class PenaltyKickState {
00047 private:
00049 GameTime M_time;
00050
00052 SideID M_onfield_side;
00053
00055 SideID M_current_taker_side;
00056
00058 int M_our_taker_counter;
00060 int M_their_taker_counter;
00061
00063 int M_our_score;
00064
00066 int M_their_score;
00067
00068 public:
00072 PenaltyKickState();
00073
00078 const
00079 GameTime & time() const
00080 {
00081 return M_time;
00082 }
00083
00088 SideID onfieldSide() const
00089 {
00090 return M_onfield_side;
00091 }
00092
00097 SideID currentTakerSide() const
00098 {
00099 return M_current_taker_side;
00100 }
00101
00106 int ourTakerCounter() const
00107 {
00108 return M_our_taker_counter;
00109 }
00110
00115 int theirTakerCounter() const
00116 {
00117 return M_their_taker_counter;
00118 }
00119
00124 int ourScore() const
00125 {
00126 return M_our_score;
00127 }
00128
00133 int theirScore() const
00134 {
00135 return M_their_score;
00136 }
00137
00144 void update( const GameMode & game_mode,
00145 const SideID ourside,
00146 const GameTime & current );
00147
00148 };
00149
00150 }
00151
00152 #endif