THomasnokun
364 palavras
2 páginas
Relatório semanal Simulação 3DEsse relatório tem como objetivo descrever mais uma utilização de behavior para auxiliar a criação de jogadas para o time
Desenvolvimento
O relatório em questão apresentará a utilização do behavior RunToPosition, que permite ao programador direcionar o agente para qualquer posição do campo, sendo ela um lugar específico no ou até mesmo a posição da bola. O desenvolvimento do código aqui utilizará de algumas variáveis de maneira direta, essas variáveis são provenientes de outras lógicas desenvolvidas e a sua apresentação detalhada pode ser encontrada em “Criação de
Jogadas Parte1”.
A classe RunToPosition é um behavior e portanto está incluída no HashMap de ações.
Para utilizá-la é necessário acessar o HashMap através do comando “get” e passar como parâmetro a “IBehaviorConstant” referente à classe. Para definir a posição para a qual o jogador deverá se locomover a classe “RunToPosition” disponibiliza um método denominado
“setPosition” que recebe como parâmetro as posições x e y, o ângulo de direção e as velocidades desejadas.
Acesso à RunToPosition através do HashMap behaviors.get(IBehaviorConstants.RUN_TO_POSITION); Método setPosition public void setPosition(Vector3D newPosition, float rotation,double minSpeedForward, double minSpeedSideward, double maxSpeedForward) Exemplo de Lógica de Movimentação
Vector3D newPosition = new Vector3D(15, 0, 0); this.runToPosition = (RunToPosition) behaviors
.get(IBehaviorConstants.RUN_TO_POSITION);
runToPosition.setPosition(newPosition,(float)player.getDirection
To(newPosition).radians(), 50, 50, 90); return behaviors.get(IBehaviorConstants.RUN_TO_POSITION);
O código acima funciona da seguinte maneira:
A variável “newPosition” recebe uma posição do campo qualquer, em seguida é necessário que uma variável to tipo “RunToPosition” seja criada, após criar a variável podemos utilizar o método “setPosition” para definir o que será feito passando como parâmetros a