⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 serversettings.h

📁 自己写的robocup-2d程序
💻 H
📖 第 1 页 / 共 3 页
字号:
/*
Copyright (c) 2000-2003, Jelle Kok, University of Amsterdam
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.

3. Neither the name of the University of Amsterdam nor the names of its
contributors may be used to endorse or promote products derived from this
software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/

/*! \file ServerSettings.h
<pre>
<b>File:</b>          ServerSettings.h
<b>Project:</b>       Robocup Soccer Simulation Team: UvA Trilearn
<b>Authors:</b>       Jelle Kok
<b>Created:</b>       28/11/2000
<b>Last Revision:</b> $ID$
<b>Contents:</b>      Header file for class ServerSettings. It contains all the
               member data and member method declarations of the ServerSettings
               class. This class contains all the Soccerserver parameters that
               are available in the configuration files 'server.conf' and
               'player.conf' along with their default values and standard set-
               and get methods for manipulating these values. This file also
               contains the definition of the HeteroPlayerSettings class which
               contains all the SoccerServer parameters which together define a
               heterogeneous player type.</pre>
<hr size=2>
<pre>
<h2><b>Changes</b></h2>
<b>Date</b>             <b>Author</b>          <b>Comment</b>
28/11/2000       Jelle Kok       Initial version  (based on Emiel Corten)
31/01/2001       Remco de Boer   Settings for server version 7.xx added
27/04/2001       Remco de Boer   add drop_ball_time and player.conf parameters 
01/05/2001       Remco de Boer   Version including full documentation completed
07/05/2001       Jelle Kok        HeteroPlayerSettings class and dExtraStamina
08/05/2001       Remco de Boer   Documentation updated
</pre>
*/

#ifndef _SERVERSETTINGS_
#define _SERVERSETTINGS_

#include "GenericValues.h"

/*****************************************************************************/
/*******************   CLASS SERVERSETTINGS   ********************************/
/*****************************************************************************/

/*! This class contains all the Soccerserver parameters that are available in
    the configuration file 'server.conf' along with their default values and
    standard set- and get methods for manipulating these values. The
    ServerSettings class is a subclass of the GenericValues class and therefore
    each value in this class can be reached through the string name of the
    corresponding parameter. */
class ServerSettings:public GenericValues
{
private:
  // private member data

  // all the parameters available in server.conf
  // NOTE: names in server.conf corresponding with member variables
  //       are listed between doxygen-tags to enable quick searching

  // goal-related parameters
  double dGoalWidth;        /*!< goal_width: the width of the goal           */

  // player-related parameters
  double dPlayerSize;       /*!< player_size: the size (=radius) of a player */
  double dPlayerDecay;      /*!< player_decay: player speed decay per cycle  */
  double dPlayerRand;       /*!< player_rand: random error in player movement*/
  double dPlayerWeight;     /*!< player_weight: weight of a player (for wind)*/
  double dPlayerSpeedMax;   /*!< player_speed_max: maximum speed of a player */
  double dPlayerAccelMax;   /*!< player_accel_max: maximum acceleration of a
                                 player per cycle                            */

  // stamina-related parameters
  double dStaminaMax;       /*!< stamina_max: maximum stamina of a player    */
  double dStaminaIncMax;    /*!< stamina_inc_max: maximum stamina increase of a
                                 player per cycle                            */
  double dRecoverDecThr;    /*!< recover_dec_thr: percentage of stamina_max
                                 below which player recovery decreases       */
  double dRecoverDec;       /*!< recover_dec: decrement step per cycle for
                                 player recovery                             */
  double dRecoverMin;       /*!< recover_min: minimum player recovery        */
  double dEffortDecThr;     /*!< effort_dec_thr: percentage of stamina_max 
                                 below which player effort capacity decreases*/
  double dEffortDec;        /*!< effort_dec: decrement step per cycle for
                                 player effort capacity                      */
  double dEffortIncThr;     /*!< effort_incr_thr: percentage of stamina_max
                                 above which player effort capacity increases*/
  double dEffortInc;        /*!< effort_inc: increment step per cycle for
                                 player effort capacity                      */
  double dEffortMin;        /*!< effort_min: minimum value for player effort */
  double dEffortMax;        /*!< effort_max: maximum player effort capacity  */


  // parameters related to auditory perception
  int    iHearMax;          /*!< hear_max: maximum hearing capacity of a plyer
                                 a player can hear hear_inc messages in
                                 hear_decay simulation cycles                */
  int    iHearInc;          /*!< hear_inc: minimum hearing capacity of a player
                                 i.e. the number of messages a player can hear
                                 in hear_decay simulation cycles             */
  int    iHearDecay;        /*!< hear_decay: decay rate of player hearing
                                 capacity, i.e. minimum number of cycles for
                                 hear_inc messages                           */

  // parameters related to player turn actions
  double dInertiaMoment;    /*!< inertia_moment: inertia moment of a player;
                                 affects actual turn angle depending on speed*/

  // parameters related to sense_body information
  int    iSenseBodyStep;    /*!< sense_body_step: length of the interval (ms)
                                 between sense_body information messages     */

  // goalkeeper-related parameters
  double dCatchableAreaL;   /*!< catchable_area_l: length of area around
                                 goalkeeper in which he can catch the ball   */
  double dCatchableAreaW;   /*!< catchable_area_w: width of area around
                                 goalkeeper in which he can catch the ball   */
  double dCatchProbability; /*!< catch_probability: the probability for a
                                 goalkeeper to catch the ball                */
  int    iCatchBanCycle;    /*!< catch_ban_cycle: number of cycles after catch
                                 in which goalkeeper cannot catch again      */
  int    iGoalieMaxMoves;   /*!< goalie_max_moves: maximum number of 'move'
                                 actions allowed for goalkeeper after catch  */

  // ball-related parameters
  double dBallSize;         /*!< ball_size: the size (=radius) of the ball   */
  double dBallDecay;        /*!< ball_decay: ball speed decay per cycle      */
  double dBallRand;         /*!< ball_rand: random error in ball movement    */
  double dBallWeight;       /*!< ball_weight: weight of the ball (for wind)  */
  double dBallSpeedMax;     /*!< ball_speed_max: maximum speed of the ball   */
  double dBallAccelMax;     /*!< ball_accel_max: maximum acceleration of the
                                 ball per cycle                              */

  // wind-related parameters
  double dWindForce;        /*!< wind_force: the force of the wind           */
  double dWindDir;          /*!< wind_dir: the direction of the wind         */
  double dWindRand;         /*!< wind_rand: random error in wind direction   */
  bool   bWindRandom;       /*!< wind_random: random wind force and direction*/

  // parameters related to 'dash' and 'kick' commands
  double dKickableMargin;   /*!< kickable_margin: margin around player in which
                                 ball is kickable; kickable area thus equals
                                 kickable_margin + ball_size + player_size   */
  double dCkickMargin;      /*!< ckick_margin: corner kick margin, i.e. the
                                 minimum distance to the ball for offending
                                 players when a corner kick is taken         */
  double dDashPowerRate;    /*!< dash_power_rate: rate by which the 'Power'
                                 argument in a 'dash' command is multiplied
                                 (thus determining the amount of displacement
                                 of the player as a result of the 'dash')    */
  double dKickPowerRate;    /*!< kick_power_rate: rate by which the 'Power'
                                 argument in a 'kick' command is multiplied
                                 (thus determining the amount of displacement 
                                 of the ball as a result of the 'kick')      */
  double dKickRand;         /*!< kick_rand: random error in kick direction   */

  // parameters related to visual and auditory perception range
  double dVisibleAngle;     /*!< visible_angle: angle of the view cone of a
                                 player in the standard view mode            */
  double dAudioCutDist;     /*!< audio_cut_dist: maximum distance over which a
                                 spoken message can be heard                 */

  // quantization parameters
  double dQuantizeStep;     /*!< quantize_step: quantization step for distance
                                 of moving objects                           */
  double dQuantizeStepL;    /*!< quantize_step_l: quantization step for
                                 distance of landmarks                       */

  // range parameters for basic actuator commands
  int    iMaxPower;         /*!< maxpower: maximum power for dash/kick       */
  int    iMinPower;         /*!< minpower: minimum power for dash/kick       */
  int    iMaxMoment;        /*!< maxmoment: maximum angle for turn/kick      */
  int    iMinMoment;        /*!< minmoment: minimum angle for turn/kick      */
  int    iMaxNeckMoment;    /*!< maxneckmoment: maximum angle for turnneck   */
  int    iMinNeckMoment;    /*!< minneckmoment: minimum angle for turnneck   */
  int    iMaxNeckAng;       /*!< maxneckang: maximum neck angle rel. to body */
  int    iMinNeckAng;       /*!< minneckang: minimum neck angle rel. to body */

  // port-related parameters
  int    iPort;             /*!< port: port number for player connection     */
  int    iCoachPort;        /*!< coach_port: port number for coach connection*/
  int    iOlCoachPort;      /*!< ol_coach_port: port number for online coach */

  // coach-related parameters
  int    iSayCoachCntMax;   /*!< say_coach_cnt_max: maximum number of coach
                                 messages possible                           */
  int    iSayCoachMsgSize;  /*!< say_coach_msg_size: maximum size of coach
                                 messages                                    */
  int    iClangWinSize;     /*!< clang_win_size: time window which controls how
                                 many coach messages can be sent             */
  int    iClangDefineWin;   /*!< clang_define_win: number of define messages by
                                 coach per time window                       */
  int    iClangMetaWin;     /*!< clang_meta_win: number of meta messages by
                                 coach per time window                       */
  int    iClangAdviceWin;   /*!< clang_advice_win: number of advice messages by
                                 coach per time window                       */
  int    iClangInfoWin;     /*!< clang_info_win: number of info messages by
                                 coach per time window                       */
  int    iClangMessDelay;   /*!< clang_mess_delay: delay of coach messages, ie
                                 the number of cycles between send to player
                                 and receival of message                     */
  int    iClangMessPerCycle;/*!< clang_mess_per_cycle: number of coach messages
                                 per cycle                                   */
  int    iSendViStep;       /*!< send_vi_step: interval of coach's look, i.e.
                                 the length of the interval (in ms) between
                                 visual messages to the coach                */

  // time-related parameters
  int    iSimulatorStep;    /*!< simulator_step: the length (in ms) of a
                                 simulator cycle                             */
  int    iSendStep;         /*!< send_step: the length of the interval (in ms)
                                 between visual messages to a player in the
                                 standard view mode                          */
  int    iRecvStep;         /*!< recv_step: the length of the interval (in ms)
                                 for accepting commands from a player        */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -