Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

PlayerSettings.C

Go to the documentation of this file.
00001 /*
00002 Copyright (c) 2000,2001, Jelle Kok, University of Amsterdam
00003 All rights reserved.
00004 
00005 Redistribution and use in source and binary forms, with or without 
00006 modification, are permitted provided that the following conditions are met:
00007 
00008 1. Redistributions of source code must retain the above copyright notice, this 
00009 list of conditions and the following disclaimer. 
00010 
00011 2. Redistributions in binary form must reproduce the above copyright notice, 
00012 this list of conditions and the following disclaimer in the documentation 
00013 and/or other materials provided with the distribution. 
00014 
00015 3. Neither the name of the University of Amsterdam nor the names of its 
00016 contributors may be used to endorse or promote products derived from this 
00017 software without specific prior written permission. 
00018 
00019 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
00020 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
00021 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
00022 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE 
00023 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
00024 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
00025 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
00026 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 
00027 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
00028 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00029 */
00044 #include "PlayerSettings.h"
00045 
00046 /******************************************************************************/
00047 /********************** CLASS PlayerSettings **********************************/
00048 /******************************************************************************/
00049 
00053 PlayerSettings::PlayerSettings( ) : GenericValues("PlayerSettings", 22)
00054 {
00055   dPlayerConfThr         = 0.90; // threshold below player info is illegal
00056   dPlayerHighConfThr     = 0.97; // threshold above which player info is high
00057   dBallConfThr           = 0.90; // threshold below which ball info is illegal
00058   dPlayerDistTolerance   = 5.0;  // distance when unknownplayer is mapped
00059   dPlayerWhenToTurnAngle = 8.0;  // angle when to turn when moving
00060   dPlayerWhenToKick      = 0.85; // % of kick power rate when kick is performed
00061   iPlayerWhenToIntercept = 30;   // maximum number of interception cycles
00062   dClearBallDist         = 4.0;  // dist before penalty area to clear ball to
00063   dClearBallOppMaxDist   = 30.0; // radius in which opp in clear ball has to be
00064   dClearBallToSideAngle  = 17.0; // minimum angle for clear ball to side
00065   dConeWidth             = 0.5;  // cone width to check for opponents in pass
00066   dPassEndSpeed          = 1.2;  // end speed for ball when passed to teammate
00067   dFastPassEndSpeed      = 1.8;  // end speed for ball when passed fast
00068   dPassExtraX            = 0.0;  // extra x value added to player passing pos
00069   dFractionWaitNoSee     = 0.5;  // % of cycle to wait in cycle with no see
00070   dFractionWaitSeeBegin  = 0.70; // % to wait in cycle with see in begin
00071   dFractionWaitSeeEnd    = 0.85; // % to wait in cycle with see in 2nd  half
00072   dMarkDistance          = 6.0;  // mark distance to a player
00073   iServerTimeOut         = 3;    // seconds before server is assumed dead
00074   dTurnWithBallAngThr    = 30.0; // angle threshold to kick ball
00075   dTurnWithBallFreezeThr = 0.1;  // ball speed threshold to freeze ball
00076 
00077 
00078   // add all the settings and link text string to variable
00079   addSetting( "player_conf_thr"     , &dPlayerConfThr,   GENERIC_VALUE_DOUBLE );
00080   addSetting( "player_high_conf_thr",&dPlayerHighConfThr,GENERIC_VALUE_DOUBLE );
00081   addSetting( "ball_conf_thr"       , &dBallConfThr,     GENERIC_VALUE_DOUBLE );
00082   addSetting( "player_dist_tolerance",&dPlayerDistTolerance,
00083                                                          GENERIC_VALUE_DOUBLE );
00084   addSetting( "player_when_to_turn" , &dPlayerWhenToTurnAngle,
00085                                                          GENERIC_VALUE_DOUBLE );
00086   addSetting( "player_when_to_kick" , &dPlayerWhenToKick,GENERIC_VALUE_DOUBLE );
00087   addSetting( "player_when_to_intercept",&iPlayerWhenToIntercept,
00088                                                          GENERIC_VALUE_INTEGER);
00089   addSetting( "clear_ball_dist"     , &dClearBallDist,   GENERIC_VALUE_DOUBLE );
00090   addSetting( "clear_ball_opp_max_dist", &dClearBallOppMaxDist,
00091                                                          GENERIC_VALUE_DOUBLE );
00092   addSetting( "clear_ball_side_angle", &dClearBallToSideAngle,
00093                                                          GENERIC_VALUE_DOUBLE );
00094   addSetting( "cone_width"          , &dConeWidth,       GENERIC_VALUE_DOUBLE );
00095   addSetting( "pass_end_speed"      , &dPassEndSpeed,    GENERIC_VALUE_DOUBLE );
00096   addSetting( "fast_pass_end_speed" , &dFastPassEndSpeed,GENERIC_VALUE_DOUBLE );
00097   addSetting( "pass_extra_x"        , &dPassExtraX,      GENERIC_VALUE_DOUBLE );
00098 
00099   addSetting( "wait_no_see"        , &dFractionWaitNoSee,GENERIC_VALUE_DOUBLE );
00100   addSetting( "wait_see_begin"  , &dFractionWaitSeeBegin,GENERIC_VALUE_DOUBLE );
00101   addSetting( "wait_see_end"    , &dFractionWaitSeeEnd,  GENERIC_VALUE_DOUBLE );
00102   addSetting( "mark_distance"       , &dMarkDistance,    GENERIC_VALUE_DOUBLE );
00103   addSetting( "server_time_out"     , &iServerTimeOut,   GENERIC_VALUE_INTEGER);
00104   addSetting( "turn_with_ball_ang_thr" , &dTurnWithBallAngThr,
00105                                                          GENERIC_VALUE_DOUBLE );
00106   addSetting( "turn_with_ball_freeze_thr" , &dTurnWithBallFreezeThr,
00107                                                          GENERIC_VALUE_DOUBLE );
00108 }
00109 
00113 double PlayerSettings::getPlayerConfThr( ) const
00114 {
00115   return dPlayerConfThr;
00116 }
00117 
00122 bool PlayerSettings::setPlayerConfThr( double d )
00123 {
00124   dPlayerConfThr = d;
00125   return true;
00126 }
00127 
00131 double PlayerSettings::getPlayerHighConfThr( ) const
00132 {
00133   return dPlayerHighConfThr;
00134 }
00135 
00140 bool PlayerSettings::setPlayerHighConfThr( double d )
00141 {
00142   dPlayerHighConfThr = d;
00143   return true;
00144 }
00145 
00149 double PlayerSettings::getBallConfThr( ) const
00150 {
00151   return dBallConfThr;
00152 }
00153 
00158 bool PlayerSettings::setBallConfThr( double d )
00159 {
00160   dBallConfThr = d;
00161   return true;
00162 }
00163 
00167 double PlayerSettings::getPlayerDistTolerance( ) const
00168 {
00169   return dPlayerDistTolerance;
00170 }
00171 
00176 bool PlayerSettings::setPlayerDistTolerance( double d )
00177 {
00178   dPlayerDistTolerance = d;
00179   return true;
00180 }
00181 
00185 double PlayerSettings::getPlayerWhenToTurnAngle( ) const
00186 {
00187   return dPlayerWhenToTurnAngle;
00188 }
00189 
00194 bool PlayerSettings::setPlayerWhenToTurnAngle( double d )
00195 {
00196   dPlayerWhenToTurnAngle = d;
00197   return true;
00198 }
00199 
00208 double PlayerSettings::getPlayerWhenToKick( ) const
00209 {
00210   return dPlayerWhenToKick;
00211 }
00212 
00218 bool PlayerSettings::setPlayerWhenToKick( double d )
00219 {
00220   dPlayerWhenToKick = d;
00221   return true;
00222 }
00223 
00228 int PlayerSettings::getPlayerWhenToIntercept( ) const
00229 {
00230   return iPlayerWhenToIntercept;
00231 }
00232 
00237 bool PlayerSettings::setPlayerWhenToIntercept( int i )
00238 {
00239   iPlayerWhenToIntercept = i;
00240   return true;
00241 }
00242 
00248 double PlayerSettings::getClearBallDist( ) const
00249 {
00250   return dClearBallDist;
00251 }
00252 
00253 
00257 bool PlayerSettings::setClearBallDist( double d )
00258 {
00259   dClearBallDist = d;
00260   return true;
00261 }
00262 
00266 double PlayerSettings::getClearBallOppMaxDist( ) const
00267 {
00268   return dClearBallOppMaxDist;
00269 }
00270 
00275 bool PlayerSettings::setClearBallOppMaxDist( double d )
00276 {
00277   dClearBallOppMaxDist = d;
00278   return true;
00279 }
00280 
00283 double PlayerSettings::getClearBallToSideAngle( ) const
00284 {
00285   return dClearBallToSideAngle;
00286 }
00287 
00291 bool PlayerSettings::setClearBallToSideAngle( double d )
00292 {
00293   dClearBallToSideAngle = d;
00294   return true;
00295 }
00296 
00303 double PlayerSettings::getConeWidth( ) const
00304 {
00305   return dConeWidth;
00306 }
00307 
00314 bool PlayerSettings::setConeWidth( double d )
00315 {
00316   dConeWidth = d;
00317   return true;
00318 }
00319 
00323 double PlayerSettings::getPassEndSpeed( ) const
00324 {
00325   return dPassEndSpeed;
00326 }
00327 
00332 bool PlayerSettings::setPassEndSpeed( double d )
00333 {
00334   dPassEndSpeed = d;
00335   return true;
00336 }
00337 
00341 double PlayerSettings::getFastPassEndSpeed( ) const
00342 {
00343   return dFastPassEndSpeed;
00344 }
00345 
00346 
00351 bool PlayerSettings::setFastPassEndSpeed( double d )
00352 {
00353   dFastPassEndSpeed = d;
00354   return true;
00355 }
00356 
00360 double PlayerSettings::getPassExtraX( ) const
00361 {
00362   return dPassExtraX;
00363 }
00364 
00369 bool PlayerSettings::setPassExtraX( double d )
00370 {
00371   dPassExtraX = d;
00372   return true;
00373 }
00374 
00379 double PlayerSettings::getFractionWaitNoSee( ) const
00380 {
00381   return dFractionWaitNoSee;
00382 }
00383 
00390 bool PlayerSettings::setFractionWaitNoSee( double d )
00391 {
00392   dFractionWaitNoSee = d;
00393   return true;
00394 }
00395 
00401 double PlayerSettings::getFractionWaitSeeBegin( ) const
00402 {
00403   return dFractionWaitSeeBegin;
00404 }
00405 
00412 bool PlayerSettings::setFractionWaitSeeBegin( double d )
00413 {
00414   dFractionWaitSeeBegin = d;
00415   return true;
00416 }
00417 
00423 double PlayerSettings::getFractionWaitSeeEnd( ) const
00424 {
00425   return dFractionWaitSeeEnd;
00426 }
00427 
00434 bool PlayerSettings::setFractionWaitSeeEnd( double d )
00435 {
00436   dFractionWaitSeeEnd = d;
00437   return true;
00438 }
00439 
00443 double PlayerSettings::getMarkDistance( ) const
00444 {
00445   return dMarkDistance;
00446 }
00447 
00452 bool PlayerSettings::setMarkDistance( double d )
00453 {
00454   dMarkDistance = d;
00455   return true;
00456 }
00457 
00463 int PlayerSettings::getServerTimeOut( ) const
00464 {
00465   return iServerTimeOut;
00466 }
00467 
00473 bool PlayerSettings::setServerTimeOut( int i )
00474 {
00475   iServerTimeOut = i;
00476   return true;
00477 }
00478 
00484 double PlayerSettings::getTurnWithBallAngThr( ) const
00485 {
00486   return dTurnWithBallAngThr;
00487 }
00488 
00495 bool PlayerSettings::setTurnWithBallAngThr( double d )
00496 {
00497   dTurnWithBallAngThr = d;
00498   return true;
00499 }
00500 
00505 double PlayerSettings::getTurnWithBallFreezeThr( ) const
00506 {
00507   return dTurnWithBallFreezeThr;
00508 }
00509 
00515 bool PlayerSettings::setTurnWithBallFreezeThr( double d )
00516 {
00517   dTurnWithBallFreezeThr = d;
00518   return true;
00519 }

Generated on Thu Mar 7 00:37:43 2002 for UvA Trilearn 2001 by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001