Atividade 8 - Fazendo os Inimigos Atirarem

Agora vamos fazer com que os inimigos atirem de volta no jogador.
Cada inimigo vai atirar aleatoriamente, e a dificuldade (que mais tarde vai aumentar a cada nível) é definida por com que frequência eles atiram.

O disparo do inimigo é bem parecido com o do jogador. Vamos criar um arquivo enemyBeam.js muito parecido com o playerBeam.js, mudando apenas alguns nomes de variáveis e valores:

enemy_bullet

Vamos usar o mesmo sprite e animação para os tiros do jogador e dos inimigos.
Porém, na implementação, vamos criar um grupo separado para os projéteis dos inimigos:

enemy_projectiles

Também precisamos criar uma variável de dificuldade para o jogo (explicaremos mais sobre ela depois, mas por enquanto ela vai garantir que o inimigo atire):

add_diff

  • Recomendamos definir difficulty como 1000.
  • Nesse caso, o número aleatório vai de 1 até 1000. Somente se o número sorteado for 1, o inimigo atira.
  • Se você definir difficulty como 1, o inimigo vai atirar continuamente.

Para fazer os inimigos atirarem aleatoriamente, vamos criar um método enemyShoot():

enemyShoot

E chamá-lo dentro do método update():

update_player_shoot

Isso cria novos projéteis de inimigos numa taxa aleatória.


Depois, precisamos atualizar os projéteis dos inimigos, garantindo que cada disparo seja removido quando sair da tela.

Você precisa atualizar o código dos disparos no enemyBeam.js da mesma forma que fez no playerBeam.js:

update_player_shoot again

Também é necessário atualizar cada projétil de inimigo na Scene 2, de forma semelhante à atualização dos projéteis do jogador:

update_enemy_projectiles

No final, a jogabilidade deve ficar parecida com isto:
enemyShoot