Projeto 11 - Aventura na Masmorra

Neste projeto, vamos desenvolver um jogo em que o personagem principal explora uma masmorra, enfrentando diferentes obstáculos e inimigos como fogo, raio, zumbis e um Chefão final para vencer o jogo. Para isso usaremos o conceito de fases, ou seja, a cada fase que o jogador for passando, utilizaremos os blocos Transmita e Quando Receber para mudar o comportamento dos inimigos.

Por se tratar do último jogo deste material, as explicações serão menos detalhadas e focaremos mais no funcionamento geral de cada personagem. Os dois aspectos que fazem o código desde jogo ser longo são: a quantidade de inimigos e a quantidade de fases. Ambos podem ser reduzidos, ou aumentados, se o desenvolvedor desejar.

Imagem Projeto 11
Baixar Jogo (Aventura na Masmorra)
Baixar Cenário de Fundo

Blocos Utilizados

Código do Herói

O Ator Herói

Começaremos com o código das informações iniciais do ator Herói, usando os blocos Defina Tamanho, Vá Para e definindo a variável vida, além de usar um bloco Sempre para verificar se a vida do ator chegou a zero.

Para a movimentação do ator teremos 4 blocos Quando Receber que serão acionados por blocos Transmita nos atores Setas. Também faremos com que o ator volte para a posição inicial caso tente sair da tela.

Para completar iremos tocar um som quando o ator encostar na chave e usaremos um bloco Quando Receber dano para atualizar a variável vida e mandá-lo para a posição inicial.

Código das Setas

Os Atores Setas

O código das setas será basicamente igual, utilizando um bloco Transmita para fazer o Herói se movimentar e os ajustes iniciais de tamanho e posição.

Código da Chave

O Ator Chave

Começaremos ajustando as informações iniciais do ator Chave, iniciando a variável fase e escondendo-a.

Agora faremos o bloco responsável pela troca de fases, quando o ator Herói encostar na chave, iremos aumentar a fase em 1 e utilizaremos vários blocos Se para verificar qual a fase atual, juntamente com um bloco Transmita para informar os outros atores sobre a fase. Também teremos um bloco esconda na última fase porque a chave não é necessária no Chefão Final.

Código do Fogo1

O Ator Fogo 1

Em relação aos atores Fogo, seus códigos serão bem parecidos, porém cada um terá uma posição específica. O código será separado em 3 partes: as informações iniciais, o comportamento nas fases e o comportamento no Chefão Final.

Começaremos com os blocos Defina Tamanho e Vá Para além de também definir que o ator Herói tomará dano quando encostar no Fogo, logo após teremos seu comportamento dependendo de qual fase estamos, sendo um simples bloco Esconda em fases que ele não aparece e um bloco Vá Para para as fases em que ele aparece. Já na última fase ele será usado como o ataque do chefão, portanto ele irá se mover quando receber "ataque cobra".

Código do Fogo2

O Ator Fogo 2

O código será separado em 3 partes: as informações iniciais, o comportamento nas fases e o comportamento no Chefão Final. Começaremos com os blocos Defina Tamanho e Vá Para além de também definir que o ator Herói tomará dano quando encostar no Fogo, logo após teremos seu comportamento dependendo de qual fase estamos, sendo um simples bloco Esconda em fases que ele não aparece e um bloco Vá Para para as fases em que ele aparece. Já na última fase ele será usado como o ataque do chefão, portanto ele irá se mover quando receber "ataque cobra".

Código do Fogo3

O Ator Fogo 3

O código será separado em 3 partes: as informações iniciais, o comportamento nas fases e o comportamento no Chefão Final. Começaremos com os blocos Defina Tamanho e Vá Para além de também definir que o ator Herói tomará dano quando encostar no Fogo, logo após teremos seu comportamento dependendo de qual fase estamos, sendo um simples bloco Esconda em fases que ele não aparece e um bloco Vá Para para as fases em que ele aparece. Já na última fase ele será usado como o ataque do chefão, portanto ele irá se mover quando receber "ataque cobra".

Código do Zumbi

O Ator Zumbi

Diferente do ator Fogo, o ator Zumbi terá apenas 2 tipos de bloco, visto que ele não aparecerá mais na última fase, tendo apenas as informações iniciais e o comportante durante cada fase.

O diferencial do comportamento do Ator Zumbi é que ele se move, diferentemente do fogo que era estático. Portanto, em cada fase ele irá se mover repetidamente seguindo um trajeto, por isso usaremos os blocos Mova e Espere dentro de um bloco Sempre. Teremos então os blocos Defina Tamanho e Vá Para além de também definir que o ator Herói tomará dano quando encostar no Zumbi.

Por fim, teremos seu comportamento dependendo de qual fase estamos, sendo um simples bloco Esconda em fases que ele não aparece e um conjunto de blocos para fazer ele se movimentar em um trajeto cíclico, escondendo ele na última fase porque não aparece no Chefão Final.

Código da Nuvem

O Ator Nuvem

Em relação ao ator Nuvem e ao ator Raio, iremos utilizá-los para fazer outro tipo de inimigo, um inimigo com comportamento aleatório em que o ator nuvem irá piscar e tocar um som avisando que uma das fileiras receberá um raio.

Para isso, colocaremos o bloco Defina Tamanho e definiremos uma variável "altura" que receberá 1, 2 ou 3, para indicar onde a Nuvem e o Raio devem aparecer. Como esses atores só aparecerão da fase 3 para frente,os blocos que definem a sua movimentação são acionados quando o bloco Quando Receber receber “fase 3”.

Código do Raio

O Ator Raio

O comportamento do ator Raio irá completar o que acabamos de fazer no ator Nuvem, ou seja, dependendo de qual for o valor da váriavel altura, o ator raio irá percorrer aquela linha toda. Para isso utilizamos um bloco Sempre, um bloco Espere para dar tempo de sortear a variável e vários blocos Se para verificar qual valor foi recebido e fazer o raio se mover do canto direito da tela até o canto esquerdo. Lembrando também de usar o bloco Quando Encostar para que o ator Herói receba dano se encostar no raio.

Código da Cobra

O Ator Cobra

O ator Cobra será o chefão final do nosso jogo. O ator conseguirá dar dano nele apenas pegando as espadas que se encontram no chão.

Utilizaremos a variável "cobra" para registrar a vida do chefe, além de também definir o dano quando a cobra encostar no ator Héroi.

O ator Cobra apenas aparecerá na fase 5 e também terá um ataque especial a cada 4 segundos, em que ele irá avisar com um som e transmitir ataque cobra (para os atores fogo) e pular, atacando assim no norte, sul, leste e oeste. Também faremos uma animação para que o ator "pisque" quando receber dano.

Código da Espada

O Ator Espada

Por fim, no ator Espada, teremos o código que irá diminuir a vida do ator Cobra, e também o código que irá ficar mudando a espada de posição a cada vez que o ator pegá-la. Para isso, o bloco Quando Encostar no ator Herói irá transmitir "dano cobra", tocar um som e diminuir a vida da cobra em 1, além de transmitir algo que chamamos de "muda" para mudar a posição da espada, dependendo da vida do chefe final.

Então, no último bloco, teremos diversos blocos Se que irão verificar qual a vida da cobra e posicionar a espada em outro local. Quando a vida da cobra chegar a 0, o jogador terá ganhado o jogo, tocaremos um som e pararemos tudo.

Para o Futuro