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-2002, 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 */
00048 #include "PlayerSettings.h"
00049 
00050 /******************************************************************************/
00051 /********************** CLASS PlayerSettings **********************************/
00052 /******************************************************************************/
00053 
00057 PlayerSettings::PlayerSettings( ) : GenericValues("PlayerSettings", 26)
00058 {
00059   dPlayerConfThr         = 0.88; // threshold below player info is illegal
00060   dPlayerHighConfThr     = 0.92; // threshold above which player info is high
00061   dBallConfThr           = 0.90; // threshold below which ball info is illegal
00062   dPlayerDistTolerance   = 6.0;  // distance when unknownplayer is mapped
00063   dPlayerWhenToTurnAngle = 7.0;  // angle when to turn when moving
00064   dPlayerWhenToKick      = 0.85; // % of kick power rate when kick is performed
00065   iPlayerWhenToIntercept = 40;   // maximum number of interception cycles
00066   dClearBallDist         = 5.0;  // dist before penalty area to clear ball to
00067   dClearBallOppMaxDist   = 30.0; // radius in which opp in clear ball has to be
00068   dClearBallToSideAngle  = 17.0; // minimum angle for clear ball to side
00069   dConeWidth             = 0.5;  // cone width to check for opponents in pass
00070   dPassEndSpeed          = 1.2;  // end speed for ball when passed to teammate
00071   dFastPassEndSpeed      = 1.8;  // end speed for ball when passed fast
00072   dPassExtraX            = 0.0;  // extra x value added to player passing pos
00073   dFractionWaitNoSee     = 0.61;  // % of cycle to wait in cycle with no see
00074   dFractionWaitSeeBegin  = 0.70; // % to wait in cycle with see in begin
00075   dFractionWaitSeeEnd    = 0.85; // % to wait in cycle with see in 2nd  half
00076   dMarkDistance          = 5.0;  // mark distance to a player
00077   dStratAreaRadius       = 5.0;  // radius around strat pos to find optimal pos
00078   dShootRiskProbability  = 0.87; // prob. of scoring when shooting with risk
00079   iCyclesCatchWait       = 20;   // cycles to wait after a catch
00080   iServerTimeOut         = 9;    // seconds before server is assumed dead
00081   dDribbleAngThr         = 20.0; // angle thr. to turn to ball before dribbling
00082   dTurnWithBallAngThr    = 45.0; // angle threshold to kick ball
00083   dTurnWithBallFreezeThr = 0.2;  // ball speed threshold to freeze ball
00084 
00085 
00086   // add all the settings and link text string to variable
00087   addSetting( "player_conf_thr"     , &dPlayerConfThr,   GENERIC_VALUE_DOUBLE );
00088   addSetting( "player_high_conf_thr",&dPlayerHighConfThr,GENERIC_VALUE_DOUBLE );
00089   addSetting( "ball_conf_thr"       , &dBallConfThr,     GENERIC_VALUE_DOUBLE );
00090   addSetting( "player_dist_tolerance",&dPlayerDistTolerance,
00091                                                          GENERIC_VALUE_DOUBLE );
00092   addSetting( "player_when_to_turn" , &dPlayerWhenToTurnAngle,
00093                                                          GENERIC_VALUE_DOUBLE );
00094   addSetting( "player_when_to_kick" , &dPlayerWhenToKick,GENERIC_VALUE_DOUBLE );
00095   addSetting( "player_when_to_intercept",&iPlayerWhenToIntercept,
00096                                                          GENERIC_VALUE_INTEGER);
00097   addSetting( "clear_ball_dist"     , &dClearBallDist,   GENERIC_VALUE_DOUBLE );
00098   addSetting( "clear_ball_opp_max_dist", &dClearBallOppMaxDist,
00099                                                          GENERIC_VALUE_DOUBLE );
00100   addSetting( "clear_ball_side_angle", &dClearBallToSideAngle,
00101                                                          GENERIC_VALUE_DOUBLE );
00102   addSetting( "cone_width"          , &dConeWidth,       GENERIC_VALUE_DOUBLE );
00103   addSetting( "pass_end_speed"      , &dPassEndSpeed,    GENERIC_VALUE_DOUBLE );
00104   addSetting( "fast_pass_end_speed" , &dFastPassEndSpeed,GENERIC_VALUE_DOUBLE );
00105   addSetting( "pass_extra_x"        , &dPassExtraX,      GENERIC_VALUE_DOUBLE );
00106 
00107   addSetting( "wait_no_see"        , &dFractionWaitNoSee,GENERIC_VALUE_DOUBLE );
00108   addSetting( "wait_see_begin"  , &dFractionWaitSeeBegin,GENERIC_VALUE_DOUBLE );
00109   addSetting( "wait_see_end"    , &dFractionWaitSeeEnd,  GENERIC_VALUE_DOUBLE );
00110   addSetting( "mark_distance"       , &dMarkDistance,    GENERIC_VALUE_DOUBLE );
00111   addSetting( "strat_area_radius"   , &dStratAreaRadius, GENERIC_VALUE_DOUBLE );
00112   addSetting( "shoot_risk_prob" , &dShootRiskProbability,GENERIC_VALUE_DOUBLE );
00113   addSetting( "cycles_catch_wait"   , &iCyclesCatchWait, GENERIC_VALUE_INTEGER);
00114   addSetting( "server_time_out"     , &iServerTimeOut,   GENERIC_VALUE_INTEGER);
00115   addSetting( "dribble_ang_thr"     , &dDribbleAngThr,   GENERIC_VALUE_DOUBLE );
00116   addSetting( "turn_with_ball_ang_thr" , &dTurnWithBallAngThr,
00117                                                          GENERIC_VALUE_DOUBLE );
00118   addSetting( "turn_with_ball_freeze_thr" , &dTurnWithBallFreezeThr,
00119                                                          GENERIC_VALUE_DOUBLE );
00120 }
00121 
00125 double PlayerSettings::getPlayerConfThr( ) const
00126 {
00127   return dPlayerConfThr;
00128 }
00129 
00134 bool PlayerSettings::setPlayerConfThr( double d )
00135 {
00136   dPlayerConfThr = d;
00137   return true;
00138 }
00139 
00143 double PlayerSettings::getPlayerHighConfThr( ) const
00144 {
00145   return dPlayerHighConfThr;
00146 }
00147 
00152 bool PlayerSettings::setPlayerHighConfThr( double d )
00153 {
00154   dPlayerHighConfThr = d;
00155   return true;
00156 }
00157 
00161 double PlayerSettings::getBallConfThr( ) const
00162 {
00163   return dBallConfThr;
00164 }
00165 
00170 bool PlayerSettings::setBallConfThr( double d )
00171 {
00172   dBallConfThr = d;
00173   return true;
00174 }
00175 
00179 double PlayerSettings::getPlayerDistTolerance( ) const
00180 {
00181   return dPlayerDistTolerance;
00182 }
00183 
00188 bool PlayerSettings::setPlayerDistTolerance( double d )
00189 {
00190   dPlayerDistTolerance = d;
00191   return true;
00192 }
00193 
00197 double PlayerSettings::getPlayerWhenToTurnAngle( ) const
00198 {
00199   return dPlayerWhenToTurnAngle;
00200 }
00201 
00206 bool PlayerSettings::setPlayerWhenToTurnAngle( double d )
00207 {
00208   dPlayerWhenToTurnAngle = d;
00209   return true;
00210 }
00211 
00220 double PlayerSettings::getPlayerWhenToKick( ) const
00221 {
00222   return dPlayerWhenToKick;
00223 }
00224 
00230 bool PlayerSettings::setPlayerWhenToKick( double d )
00231 {
00232   dPlayerWhenToKick = d;
00233   return true;
00234 }
00235 
00240 int PlayerSettings::getPlayerWhenToIntercept( ) const
00241 {
00242   return iPlayerWhenToIntercept;
00243 }
00244 
00249 bool PlayerSettings::setPlayerWhenToIntercept( int i )
00250 {
00251   iPlayerWhenToIntercept = i;
00252   return true;
00253 }
00254 
00260 double PlayerSettings::getClearBallDist( ) const
00261 {
00262   return dClearBallDist;
00263 }
00264 
00265 
00269 bool PlayerSettings::setClearBallDist( double d )
00270 {
00271   dClearBallDist = d;
00272   return true;
00273 }
00274 
00278 double PlayerSettings::getClearBallOppMaxDist( ) const
00279 {
00280   return dClearBallOppMaxDist;
00281 }
00282 
00287 bool PlayerSettings::setClearBallOppMaxDist( double d )
00288 {
00289   dClearBallOppMaxDist = d;
00290   return true;
00291 }
00292 
00295 double PlayerSettings::getClearBallToSideAngle( ) const
00296 {
00297   return dClearBallToSideAngle;
00298 }
00299 
00303 bool PlayerSettings::setClearBallToSideAngle( double d )
00304 {
00305   dClearBallToSideAngle = d;
00306   return true;
00307 }
00308 
00315 double PlayerSettings::getConeWidth( ) const
00316 {
00317   return dConeWidth;
00318 }
00319 
00326 bool PlayerSettings::setConeWidth( double d )
00327 {
00328   dConeWidth = d;
00329   return true;
00330 }
00331 
00335 double PlayerSettings::getPassEndSpeed( ) const
00336 {
00337   return dPassEndSpeed;
00338 }
00339 
00344 bool PlayerSettings::setPassEndSpeed( double d )
00345 {
00346   dPassEndSpeed = d;
00347   return true;
00348 }
00349 
00353 double PlayerSettings::getFastPassEndSpeed( ) const
00354 {
00355   return dFastPassEndSpeed;
00356 }
00357 
00358 
00363 bool PlayerSettings::setFastPassEndSpeed( double d )
00364 {
00365   dFastPassEndSpeed = d;
00366   return true;
00367 }
00368 
00372 double PlayerSettings::getPassExtraX( ) const
00373 {
00374   return dPassExtraX;
00375 }
00376 
00381 bool PlayerSettings::setPassExtraX( double d )
00382 {
00383   dPassExtraX = d;
00384   return true;
00385 }
00386 
00391 double PlayerSettings::getFractionWaitNoSee( ) const
00392 {
00393   return dFractionWaitNoSee;
00394 }
00395 
00402 bool PlayerSettings::setFractionWaitNoSee( double d )
00403 {
00404   dFractionWaitNoSee = d;
00405   return true;
00406 }
00407 
00413 double PlayerSettings::getFractionWaitSeeBegin( ) const
00414 {
00415   return dFractionWaitSeeBegin;
00416 }
00417 
00424 bool PlayerSettings::setFractionWaitSeeBegin( double d )
00425 {
00426   dFractionWaitSeeBegin = d;
00427   return true;
00428 }
00429 
00435 double PlayerSettings::getFractionWaitSeeEnd( ) const
00436 {
00437   return dFractionWaitSeeEnd;
00438 }
00439 
00446 bool PlayerSettings::setFractionWaitSeeEnd( double d )
00447 {
00448   dFractionWaitSeeEnd = d;
00449   return true;
00450 }
00451 
00455 double PlayerSettings::getMarkDistance( ) const
00456 {
00457   return dMarkDistance;
00458 }
00459 
00464 bool PlayerSettings::setMarkDistance( double d )
00465 {
00466   dMarkDistance = d;
00467   return true;
00468 }
00469 
00474 double PlayerSettings::getStratAreaRadius( ) const
00475 {
00476   return dStratAreaRadius;
00477 }
00478 
00484 bool PlayerSettings::setStratAreaRadius( double d )
00485 {
00486   dStratAreaRadius = d;
00487   return true;
00488 }
00489 
00496 double PlayerSettings::getShootRiskProbability( ) const
00497 {
00498   return dShootRiskProbability;
00499 }
00500 
00501 
00509 bool PlayerSettings::setShootRiskProbability( double d )
00510 {
00511   dShootRiskProbability = d;
00512   return true;
00513 }
00514 
00518 int PlayerSettings::getCyclesCatchWait( ) const
00519 {
00520   return iCyclesCatchWait;
00521 }
00522 
00527 bool PlayerSettings::setCyclesCatchWait( int i )
00528 {
00529   iCyclesCatchWait = i;
00530   return true;
00531 }
00532 
00538 int PlayerSettings::getServerTimeOut( ) const
00539 {
00540   return iServerTimeOut;
00541 }
00542 
00548 bool PlayerSettings::setServerTimeOut( int i )
00549 {
00550   iServerTimeOut = i;
00551   return true;
00552 }
00553 
00558 double PlayerSettings::getDribbleAngThr( ) const
00559 {
00560   return dDribbleAngThr;
00561 }
00562 
00568 bool PlayerSettings::setDribbleAngThr( double d )
00569 {
00570   dDribbleAngThr = d;
00571   return true;
00572 }
00573 
00574 
00580 double PlayerSettings::getTurnWithBallAngThr( ) const
00581 {
00582   return dTurnWithBallAngThr;
00583 }
00584 
00591 bool PlayerSettings::setTurnWithBallAngThr( double d )
00592 {
00593   dTurnWithBallAngThr = d;
00594   return true;
00595 }
00596 
00601 double PlayerSettings::getTurnWithBallFreezeThr( ) const
00602 {
00603   return dTurnWithBallFreezeThr;
00604 }
00605 
00611 bool PlayerSettings::setTurnWithBallFreezeThr( double d )
00612 {
00613   dTurnWithBallFreezeThr = d;
00614   return true;
00615 }

Generated on Tue Jul 2 10:18:52 2002 for UvA Trilearn 2002 by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001