setvar.cc

来自「2007年机器人足球世界杯3D仿真组亚军」· CC 代码 · 共 120 行

CC
120
字号
#include "gamemodel.hh"using namespace bats;void GameModel::setVar(GameVar var, std::string const &value){  //  std::cout << "SetVar(" << var << "," << value << ")." << std::endl;  setlocale(LC_NUMERIC, "C");    switch (var) {  case FieldLength:    d_fieldLength = std::atof(value.c_str());    break;  case FieldWidth:    d_fieldWidth = std::atof(value.c_str());    break;  case FieldHeight:    d_fieldHeight = std::atof(value.c_str());    break;  case GoalWidth:    d_goalWidth = std::atof(value.c_str());    break;  case GoalDepth:    d_goalDepth = std::atof(value.c_str());    break;  case GoalHeight:    d_goalHeight = std::atof(value.c_str());    break;  case BorderSize:    d_borderSize = std::atof(value.c_str());    break;  case FreeKickDistance:    d_freeKickDistance = std::atof(value.c_str());    break;  case WaitBeforeKickOff:    d_waitBeforeKickOff = std::atof(value.c_str());    break;  case AgentMass:    d_agentMass = std::atof(value.c_str());    break;  case AgentRadius:    d_agentRadius = std::atof(value.c_str());    cerr << "SetRadius: " << value << std::endl;    break;  case AgentMaxSpeed:    d_agentMaxSpeed = std::atof(value.c_str());    break;  case BallRadius:    d_ballRadius = std::atof(value.c_str());    cerr << "Ball radius: " << d_ballRadius << endl;    break;  case BallMass:    d_ballMass = std::atof(value.c_str());    break;  case RuleGoalPauseTime:    d_ruleGoalPauseTime = std::atof(value.c_str());    break;  case RuleKickInPauseTime:    d_ruleKickInPauseTime = std::atof(value.c_str());    break;  case RuleHalfTime:    d_ruleHalfTime = std::atof(value.c_str());    break;  case PlayMode:    d_playMode = std::atoi(value.c_str());    signalVarChange(PlayMode);    break;  case Time:    d_time = std::atof(value.c_str());    break;  case Half:    d_half = std::atoi(value.c_str());    break;  case ScoreLeft:    d_scoreLeft = std::atoi(value.c_str());    d_scoreLeftStr = value;    break;  case ScoreRight:    d_scoreRight = std::atoi(value.c_str());    d_scoreRightStr = value;    break;  case TeamLeft:    d_teamLeft = value;    break;  case TeamRight:     d_teamRight = value;    break;      default:    std::cerr << "Warning: unknown or Vector3D type variable: " << var << std::endl;    break;  };  signalVarChange(var);}

⌨️ 快捷键说明

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