Skip to content
Rômulo Oliveira edited this page May 7, 2015 · 5 revisions

Apresentação

Classes

  1. Arena
  2. Tanque
  3. Missil
  4. Colisão

Tanque

Hashset Desenho, X, Y, DirecaoX, DirecaoY, angulo, raio, velocidade, estaAtivo, podeAtirar, destruido

Missil

Desenho, X, Y, DirecaoX, DirecaoY, angulo, raio, velocidade, visivel

X, Y, DirecaoX, DirecaoY, angulo,

Arena

Responsável pelo Game Looping Trabalha com os Tanques e Disparos tanto quanto das Colisões, Controle de Movimentação e Performance;

Atributos: Hashset, Colisao, ExecutorService pool, Tanque t_player, w, h

Principios de Funcionamento

Tiro

É feita uma verificação constante do conteúdo da lista de mísseis nos tanques e caso encontre move-o até ele sair da arena.

Colisão

  1. Soma dos raios das duas circunferências
  2. Valor da Hipotenusa, ou distância entre os raios

se a soma dos raios for menor que a hipotenusa houve colisão

Desempenho

ExecutorService pool; pool.execute(new Colisão());

ExecutorService pool; pool.execute(new Metralhadora());

Movimento

Frente Direção de x = x + sen(angulo) Direção de y = y - cos(angulo)

Velocidade

velocidade + x e velocidade + y

Tiro

a Classe Tanque possui um Hashset de Misseis que é alimentado a cada disparo e removido quando chega nas extremidades da arena;

Som

Animações

IA

Cada tanqueBot se move aleatoramente respeitando as extremidades e se deslocando 30 passos em cada direção escolhida. Possui uma área de visibilidade que ao detectar uma entrada nessa área eles viram na direção do tanque e atiram.

Passos:

  1. Se deslocar aleatoriamente
  2. Dar 30 passos em cada direção
  3. Respeitar as extremidades
  4. Virar para a direção do tanque
  5. Atirar