From e82e0ba97183f34ffd831b342f742b3793a34f0f Mon Sep 17 00:00:00 2001 From: Gabriel Clemente Date: Fri, 1 Dec 2023 22:15:30 -0300 Subject: [PATCH] novo --- src/entities/coach/coach.cpp | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/src/entities/coach/coach.cpp b/src/entities/coach/coach.cpp index e81575c..6166edf 100644 --- a/src/entities/coach/coach.cpp +++ b/src/entities/coach/coach.cpp @@ -20,7 +20,6 @@ ***/ #include "coach.h" - #define ROBOT_DIAMETER (2.0F * ROBOT_RADIUS) #define BALL_RADIUS 0.0215 #define BALL_DIAMETER (2.0F * BALL_RADIUS) @@ -56,28 +55,22 @@ WorldMap* Coach::getWorldMap() { //testando void Coach::runCoach() { - QVector2D ballPosition = getWorldMap()->ballPosition(); - std::optional playerOpt = getPlayer(BLUE, 3); + QVector2D ballPosition = getWorldMap()->ballPosition(); // posição atual da bola no mundo e armazena na variável ballPosition + std::optional playerOpt = getPlayer(BLUE, 0); - if (playerOpt.has_value()) { + if (playerOpt.has_value()) { //verifica se playerOpt tem um valor player: será o ponteiro para o jogador Player *player = playerOpt.value(); -<<<<<<< HEAD if (player->getPosition().distanceToPoint(ballPosition) <= (ROBOT_RADIUS + BALL_RADIUS)) { //Verifica se a distância entre a posição do jogador e a posição da bola é menor ou igual à soma dos raios do robô e da bola. player->goTo(ballPosition); ////Se for verdadeiro, o jogador está próximo o suficiente para chutar. player->rotateTo(getWorldMap()->theirGoalCenter()); -======= - if (player->getPosition().distanceToPoint(ballPosition) <= (ROBOT_RADIUS + BALL_RADIUS)) { - player->goTo(ballPosition); - player->rotateTo(getWorldMap()->theirGoalCenter()); ->>>>>>> parent of e3d50ab (comentado) player->kick(8.0f, true); } else { - if (ballPosition.x() > 0.0f) { - player->goTo(QVector2D(0.0f, 0.0f)); - player->rotateTo(ballPosition); + if (ballPosition.x() > 0.0f) { //verifica se a coordenada x da posição da bola é maior que zero. + player->goTo(QVector2D(0.0f, 0.0f)); //Move o jogador para a posição (0.0, 0.0). + player->rotateTo(ballPosition); // Orienta o jogador na direção da bola. } else { - player->goTo(ballPosition); + player->goTo(ballPosition); // Se a coordenada x da posição da bola não for maior que zero. player->rotateTo(ballPosition); } }