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 + -
显示快捷键?