instintive.cpp.svn-base

来自「一个巴西大学编写的2D仿真组足球机器人程序」· SVN-BASE 代码 · 共 1,358 行 · 第 1/4 页

SVN-BASE
1,358
字号
         if ( choosePass8 == OBJECT_TEAMMATE_9 )            mFactsBase.addLogicPattern("player", "pass_ball", "teammate_9");         else            mFactsBase.addLogicPattern("player", "pass_ball", "teammate_11");         pastChoosePass8 = choosePass8;         bNovaMsg = true;      }   }   /*if ( positionOpponent1 != pastPositionOpponent1 )   {      if ( positionOpponent1 != "UNKNOWN" )         mFactsBase.addLogicPattern("opponent1","position",positionOpponent1);      pastPositionOpponent1 = positionOpponent1;      bNovaMsg = true;   }*/   if ( bestOptionKick != pastBestOptionKick )   {      if( bestOptionKick == "center" )         mFactsBase.addLogicPattern("player","bestOptionKick","center");      else         if( bestOptionKick == "right" )            mFactsBase.addLogicPattern("player","bestOptionKick","right");         else            if( bestOptionKick == "left" )               mFactsBase.addLogicPattern("player","bestOptionKick","left");            else               cout<<"teste"<<endl<<"Caso esta mensagem apareça, significa que o chute a gol não está funcionando corretamente!"<<endl;      pastBestOptionKick = bestOptionKick;      bNovaMsg = true;   }   if ( confidenceForKick != pastConfidenceForKick )   {      if( confidenceForKick )         mFactsBase.addLogicPattern("player","confidence_for_kick","true");      else         mFactsBase.addLogicPattern("player","confidence_for_kick","false");      pastConfidenceForKick = confidenceForKick;      bNovaMsg = true;   }   if ( ballPositonKnown != pastBallPositonKnown )   {      if ( ballPositonKnown )         mFactsBase.addLogicPattern("ball","position","known");      else         mFactsBase.addLogicPattern("ball","position","unknown");      pastBallPositonKnown = ballPositonKnown;      bNovaMsg = true;   }   if ( ballLeftPosition != pastBallLeftPosition )   {      if ( ballLeftPosition )         mFactsBase.addLogicPattern("ball","orientationLR","left");      else         mFactsBase.addLogicPattern("ball","orientationLR","right");      pastBallLeftPosition = ballLeftPosition;      bNovaMsg = true;   }   if ( ballSouthPosition != pastBallSouthPosition )   {      if ( ballSouthPosition )         mFactsBase.addLogicPattern("ball","orientationNS","south");      else         mFactsBase.addLogicPattern("ball","orientationNS","north");      pastBallSouthPosition = ballSouthPosition;      bNovaMsg = true;   }   if ( playerLeftPosition != pastPlayerLeftPosition )   {      if ( playerLeftPosition )         mFactsBase.addLogicPattern("player","orientationLR","left");      else         mFactsBase.addLogicPattern("player","orientationLR","right");      pastPlayerLeftPosition = playerLeftPosition;      bNovaMsg = true;   }   if ( playerSouthPosition != pastPlayerSouthPosition )   {      if ( playerSouthPosition )         mFactsBase.addLogicPattern("player","orientationNS","south");      else         mFactsBase.addLogicPattern("player","orientationNS","north");      pastPlayerSouthPosition = playerSouthPosition;      bNovaMsg = true;   }   /*if ( ballAtuationZone != pastBallAtuationZone )   {      if ( ballAtuationZone )         mFactsBase.addLogicPattern("ball","atuation_zone","true");      else         mFactsBase.addLogicPattern("ball","atuation_zone","false");      pastBallAtuationZone = ballAtuationZone;      bNovaMsg = true;   }*/   if ( closeToPlayer != pastCloseToPlayer )   {      if ( closeToPlayer )         mFactsBase.addLogicPattern("opponent","close_to_player","true");      else      {         mFactsBase.addLogicPattern("opponent","close_to_player","false");      }      pastCloseToPlayer = closeToPlayer;      bNovaMsg = true;   }   if ( pastOpponentLocalization != opponentLocalization )   {      if( opponentLocalization == "left" )         mFactsBase.addLogicPattern("opponent","localization","left");      else if( opponentLocalization == "right" )         mFactsBase.addLogicPattern("opponent","localization","right");      else if( opponentLocalization == "back" )         mFactsBase.addLogicPattern("opponent","localization","back");      else         mFactsBase.addLogicPattern("opponent","localization","front");      pastOpponentLocalization = opponentLocalization;      bNovaMsg = true;   }   if ( fastestToBall != pastFastestToBall )   {      if ( fastestToBall )         mFactsBase.addLogicPattern("player","fastest_to_ball","true");      else      {         mFactsBase.addLogicPattern("player","fastest_to_ball","false");       }      pastFastestToBall = fastestToBall;      bNovaMsg = true;   }   if ( ballOurPossesion != pastBallOurPossesion )   {      if ( ballOurPossesion )         mFactsBase.addLogicPattern("teammate","has_ball","true");      else         mFactsBase.addLogicPattern("teammate","has_ball","false");      pastBallOurPossesion = ballOurPossesion;      bNovaMsg = true;   }   if ( ballPossesionOpponent != pastBallPossesionOpponent )   {      if ( ballPossesionOpponent )         mFactsBase.addLogicPattern("close_opponent","has_ball","true");      else         mFactsBase.addLogicPattern("close_opponent","has_ball","false");      pastBallPossesionOpponent = ballPossesionOpponent;      bNovaMsg = true;   }   /*if ( confidenceToPass3 != pastConfidenceToPass3 )   {      if ( confidenceToPass3 )         mFactsBase.addLogicPattern("pass_condition","teammate_three","true");      else         mFactsBase.addLogicPattern("pass_condition","teammate_three","false");      pastConfidenceToPass3 = confidenceToPass3;      bNovaMsg = true;   }   if ( confidenceToPass4 != pastConfidenceToPass4 )   {      if ( confidenceToPass4 )         mFactsBase.addLogicPattern("pass_condition","teammate_four","true");      else         mFactsBase.addLogicPattern("pass_condition","teammate_four","false");      pastConfidenceToPass4 = confidenceToPass4;      bNovaMsg = true;   }   if ( confidenceToPass5 != pastConfidenceToPass5 )   {      if ( confidenceToPass5 )         mFactsBase.addLogicPattern("pass_condition","teammate_five","true");      else         mFactsBase.addLogicPattern("pass_condition","teammate_five","false");      pastConfidenceToPass5 = confidenceToPass5;      bNovaMsg = true;   }*/   if ( confidenceToPass6 != pastConfidenceToPass6 )   {      if ( confidenceToPass6 )         mFactsBase.addLogicPattern("pass_condition","teammate_six","true");      else         mFactsBase.addLogicPattern("pass_condition","teammate_six","false");      pastConfidenceToPass6 = confidenceToPass6;      bNovaMsg = true;   }   if ( confidenceToPass7 != pastConfidenceToPass7 )   {      if ( confidenceToPass7 )         mFactsBase.addLogicPattern("pass_condition","teammate_seven","true");      else         mFactsBase.addLogicPattern("pass_condition","teammate_seven","false");      pastConfidenceToPass7 = confidenceToPass7;      bNovaMsg = true;   }   if ( confidenceToPass8 != pastConfidenceToPass8 )   {      if ( confidenceToPass8 )         mFactsBase.addLogicPattern("pass_condition","teammate_eight","true");      else         mFactsBase.addLogicPattern("pass_condition","teammate_eight","false");      pastConfidenceToPass8 = confidenceToPass8;      bNovaMsg = true;   }   if ( confidenceToPass9 != pastConfidenceToPass9 )   {      if ( confidenceToPass9 )         mFactsBase.addLogicPattern("pass_condition","teammate_nine","true");      else         mFactsBase.addLogicPattern("pass_condition","teammate_nine","false");      pastConfidenceToPass9 = confidenceToPass9;      bNovaMsg = true;   }   if ( confidenceToPass10 != pastConfidenceToPass10 )   {      if ( confidenceToPass10 )         mFactsBase.addLogicPattern("pass_condition","teammate_ten","true");      else         mFactsBase.addLogicPattern("pass_condition","teammate_ten","false");      pastConfidenceToPass10 = confidenceToPass10;      bNovaMsg = true;   }   if ( confidenceToPass11 != pastConfidenceToPass11 )   {      if ( confidenceToPass11 )         mFactsBase.addLogicPattern("pass_condition","teammate_eleven","true");      else         mFactsBase.addLogicPattern("pass_condition","teammate_eleven","false");      pastConfidenceToPass11 = confidenceToPass11;      bNovaMsg = true;   }   if ( boolKickable != pastBallKickable )   {      if ( boolKickable )         mFactsBase.addLogicPattern("player","ball_kickable","true");      else         mFactsBase.addLogicPattern("player","ball_kickable","false");      pastBallKickable = boolKickable;      bNovaMsg = true;   }    if ( backGoalie != pastBackGoalie )   {      if ( backGoalie )         mFactsBase.addLogicPattern("player","back_goalie","true");      else         mFactsBase.addLogicPattern("player","back_goalie","false");      pastBackGoalie = backGoalie;      bNovaMsg = true;   }    if ( distanceToGoalie != pastDistanceToGoalie )   {      if ( distanceToGoalie < 7.5 )         mFactsBase.addLogicPattern("player","distance_to_goalie","small");      else         mFactsBase.addLogicPattern("player","distance_to_goalie","dont_small");      pastDistanceToGoalie = distanceToGoalie;      bNovaMsg = true;   }    if ( agentFrontFreeSpace != pastAgentFrontFreeSpace )   {      if ( agentFrontFreeSpace )         mFactsBase.addLogicPattern("player","front_space","free");      else         mFactsBase.addLogicPattern("player","front_space","nofree");      pastAgentFrontFreeSpace = agentFrontFreeSpace;      bNovaMsg = true;   }   if ( agentNextLineR != pastAgentNextLineR )   {      if ( agentNextLineR )         mFactsBase.addLogicPattern("player","next_line_r","true");      else         mFactsBase.addLogicPattern("player","next_line_r","false");      pastAgentNextLineR = agentNextLineR;      bNovaMsg = true;   }   if ( agentNextLineOfDeep != pastAgentNextLineOfDeep )   {      if ( agentNextLineOfDeep )         mFactsBase.addLogicPattern("player","next_line_of_deep","true");      else         mFactsBase.addLogicPattern("player","next_line_of_deep","false");      pastAgentNextLineOfDeep = agentNextLineOfDeep;      bNovaMsg = true;   }   if ( ballMidplayerPossesion != pastBallMidplayerPossesion )   {      if ( ballMidplayerPossesion )         mFactsBase.addLogicPattern("midplayers","has_ball","true");      else         mFactsBase.addLogicPattern("midplayers","has_ball","false");      pastBallMidplayerPossesion = ballMidplayerPossesion;      bNovaMsg = true;   }   if ( ballAttackplayerPossesion != pastBallAttackplayerPossesion )   {      if ( ballMidplayerPossesion )         mFactsBase.addLogicPattern("attackplayers","has_ball","true");      else         mFactsBase.addLogicPattern("attackplayers","has_ball","false");      pastBallAttackplayerPossesion = ballAttackplayerPossesion;      bNovaMsg = true;   }   if ( teammateSick != pastTeammateSick )   {      if(teammateSick)         mFactsBase.addLogicPattern("player","sick","true");      else         mFactsBase.addLogicPattern("player","sick","false");      pastTeammateSick = teammateSick;      bNovaMsg = true;   }   if ( playerLocalization != pastPlayerLocalization )   {      string playerLocalizationString = getLocalizationString( WM->getAgentGlobalPosition() );      mFactsBase.addLogicPattern("player","localization",playerLocalizationString);      pastPlayerLocalization = playerLocalization;      bNovaMsg = true;   }   if ( ballLocalization != pastBallLocalization )   {      string ballLocalizationString = getLocalizationString( WM->getGlobalPosition(OBJECT_BALL) );      mFactsBase.addLogicPattern("ball","localization",ballLocalizationString);      pastBallLocalization = ballLocalization;      bNovaMsg = true;   }   if ( playMode != pastPlayMode)   {      //mFactsBase.addLogicPattern("game","mode",getPlayModeString());      mFactsBase.addLogicPattern("game","mode",getModeUsOrThemString());      pastPlayMode = playMode;      bNovaMsg = true;   }   if ( deadBall != pastDeadBall)   {      if( deadBall == "us" )         mFactsBase.addLogicPattern("dead_ball","situation","us");      else         if( deadBall =="them" )            mFactsBase.addLogicPattern("dead_ball","situation","them");         else            mFactsBase.addLogicPattern("dead_ball","situation","none");      pastDeadBall = deadBall;

⌨️ 快捷键说明

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