Projeto

Geral

Perfil

Ações

Atividade #1121

Aberta

Utilities

Adicionado por Gabriel Borges da Conceição aproximadamente 5 anos atrás. Atualizado quase 5 anos atrás.

Situação:
Em andamento
Prioridade:
Normal
Atribuído para:
Início:
20/06/2019
Data prevista:

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.

Ações #1

Atualizado por Gabriel Borges da Conceiçãoaproximadamente 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).

Ações #2

Atualizado por Felipe Welingtonaproximadamente 5 anos

SelectEnemyRobotClosestBall: Calcula as coordenadas e orientação do robô mais perto da bola, além de oferecer a distancia desse a bola.

Ações #3

Atualizado por Gabriel Borges da Conceiçãoaproximadamente 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?

Ações #4

Atualizado por Lucas Germanoaproximadamente 5 anos

  • Atribuído para ajustado para Intel
  • Prioridade alterado de Normal para Imediata
Ações #5

Atualizado por Gabriel Borges da Conceiçãoaproximadamente 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.

Ações #6

Atualizado por Gabriel Borges da Conceiçãoaproximadamente 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.

Ações #7

Atualizado por Gabriel Borges da Conceiçãoaproximadamente 5 anos

distanceRobotToBall: Recebe Game e um objeto Robot. Retorna a distância desse robô até a bola.

Ações #8

Atualizado por Gabriel Borges da Conceiçãoaproximadamente 5 anos

checkIfPositionIsInField: Recebe uma posição e retorna true se ela está dentro do campo. Geralmente usado pra bola.

Ações #9

Atualizado por Gabriel Borges da Conceiçãoquase 5 anos

  • Prioridade alterado de Imediata para Normal
Ações

Exportar para Atom PDF