Atividade #1121
AbertaUtilities
Adicionado por Gabriel Borges da Conceição mais de 5 anos atrás. Atualizado mais de 5 anos atrás.
Descrição
Esta tarefa destina-se a todos os integrantes. Seu objetivo é reunir tudo que for criado nessa classe.
Toda vez que alguém criar um método de Utilities, deve postar aqui explicando o que o método faz e colocar no checklist.
Isso serve para que não sejam criadas funções duplicadas.
Atualizado por Gabriel Borges da Conceição há mais de 5 anos
FindRobotByID: Recebe um vetor de robôs e um inteiro(id). Retorna o objeto Robot relativo a esse robô e um index, que serve para conferir se a busca encontrou de fato o robô.
SelectValidRobot: Recebe 3 objetos Robot e retorna o último que tem id diferente de -1. Não entendi a utilidade desse método. Peço que quem criou explique para melhor entendimento dessa função.
modulo: Rebece um array 2D e retorna seu módulo.
intersecAreaQuad: Calcula a interseção de reta (elemento)--gol com a área quadrada. A posição desse "elemento" deve ser informada à VI. Foi feito assim pois pode ser a bola ou o inimigo que o ManMark irá marcar.
intersecAreaCirc: Calcula a interseção de reta (elemento)--gol com a área circular. A posição desse "elemento" deve ser informada à VI. Foi feito assim pois pode ser a bola ou o inimigo que o ManMark irá marcar.
generateBarPosAreaQuad: Calcula a posição para todos os defensores da barreira baseado na posição gerada por intersecAreaQuad.
generateBarPosAreaCirc: Calcula a posição para todos os defensores da barreira baseado na posição gerada por intersecAreaCirc.
corretcDefenseOutOfField: É utilizado em generateBarPosAreaQuad e generateBarPosAreaCirc para colocar todos os defensores dentro de campo caso a posição gerada para algum deles esteja fora (acontece quando a bola está perto da linha de fundo).
Atualizado por Felipe Welington há mais de 5 anos
SelectEnemyRobotClosestBall: Calcula as coordenadas e orientação do robô mais perto da bola, além de oferecer a distancia desse a bola.
Atualizado por Gabriel Borges da Conceição há mais de 5 anos
Felipe Welington escreveu:
SelectEnemyRobotClosestBall: Calcula as coordenadas e orientação do robô mais perto da bola, além de oferecer a distancia desse a bola.
Esse método exclui os goleiros do cálculo?
Atualizado por Lucas Germano há mais de 5 anos
- Atribuído para ajustado para Intel
- Prioridade alterado de Normal para Imediata
Atualizado por Gabriel Borges da Conceição há mais de 5 anos
dangerEnemy: Recebe Game e retorna as posições e id's dos inimigos "mais perigoso" e "segundo mais perigoso", além do id do inimigo mais próximo à bola. O cálculo desse mais próximo ainda não está sendo feito com o método "SelectEnemyRobotClosestBall" e deverá ser feito!
robotOrientadeToBall: Recebe os objetos Game e Robot e retorna a orientação do robô de forma que fique virado para a bola.
orderDefPos: Ordena um vetor de posições por sua angulação. É usado na defesa.
orderDefRobots: Ordena os robôs defensores por sua angulação. É usado na defesa.
Esses 4 métodos de Utilities estão feitos na branch newDefense.
Atualizado por Gabriel Borges da Conceição há mais de 5 anos
findAllyOrEnemyClosestToBall: Recebe um objeto Game e um vetor de objetos Robot. Retorna o objeto Robot mais próximo da bola desse vetor. Se quisermos inimigo mais próximo, devemos passar RoboRef de Enemy e se quisermos o aliado mais próximo, devemos passar o RoboRef de Ally.
Atualizado por Gabriel Borges da Conceição há mais de 5 anos
distanceRobotToBall: Recebe Game e um objeto Robot. Retorna a distância desse robô até a bola.
Atualizado por Gabriel Borges da Conceição há mais de 5 anos
checkIfPositionIsInField: Recebe uma posição e retorna true se ela está dentro do campo. Geralmente usado pra bola.
Atualizado por Gabriel Borges da Conceição há mais de 5 anos
- Prioridade alterado de Imediata para Normal