O tutorial foi produzido pela equipe Lcorp – ACT Unicamp Limeira
Tutorial em video:
Jogo disponível em: https://scratch.mit.edu/projects/680465401
Proposta
O objetivo deste segundo jogo (Jogo da Caça ao Tesouro) consiste em procurar pistas escondidas nos cenários para encontrar o tesouro final.
Glossário
- Atores: Elementos que possuem blocos de código e que permitem algum tipo de interação, seja esta por parte do usuário ou do sistema.
- Variáveis: Variáveis são como caixinhas que guardam informações (texto ou número) para o nosso programa. Elas podem ser listas também, ou seja, um grupo com várias dessas caixinhas. Na imagem abaixo, é exemplificado como você pode criar variáveis e interagir com elas.
- Eventos: Na aba de eventos, podemos definir o que deve acontecer quando outra coisa acontecer, como quando o jogo for iniciado por exemplo. Além disso, nos eventos é possível configurar a transmissão e recebimento de informações, para caso queiramos avisar os outros atores do jogo de algo para que eles possam reagir a isso (como quando o jogador acertar a palavra) de alguma maneira.
- Aparência: Nesta aba, podemos customizar coisas sobre a disposição visual do jogo, como falas de atores, mudança de cenários e mostrar/esconder coisas na tela.
- Movimento: Nesta aba, podemos adicionar movimentos e animações aos atores.
Primeiros passos
Primeiramente, devemos pensar nos pontos-chave da lógica do nosso jogo. Assim, vamos iniciar pensando no que deve ser feito para elaborar o nosso jogo:
- Precisamos saber quais informações guardar sobre o jogo e seu andamento.
- Precisamos colocar os cenários e controlar a mudança de cenário (quando o gato vai de um para outro, por exemplo).
- Precisamos de um jeito de mostrar o local das pistas para que quando o jogador clique, possamos executar alguns blocos de código.
- Precisamos também mostrar as pistas com as charadas na tela.
- Por fim, precisamos mostrar o tesouro e encerrar o jogo
O que devemos guardar?
Para a lógica desse jogo temos dois pontos principais: a mudança de cenários e o progresso durante o jogo, no que se refere a quantidade de pistas que o jogador já encontrou.
Para isso usamos duas variáveis:
- cenario_atual: Para sabermos em qual cenário o ator principal se encontra.
- progresso: Armazena o progresso do jogador em relação às pistas encontradas.
Como mudamos de cenário?
Antes de tudo, precisamos adicionar os cenários ao jogo. Para isso, clique em “Palco” no campo inferior direito e depois em “cenários” para selecioná-los. você pode selecionar cinco da sua preferência, para depois colocarmos as pistas..
Para a lógica da mudança de cenário devemos, primeiramente, pensar em quando o cenário deve mudar. O cenário vai mudar quando o usuário clicar em uma das duas setas localizadas nas laterais da tela do jogo.
Este é o comportamento do ator “Seta para Esquerda”. Note que queremos que o cenário altere quando o nosso ator é clicado. Para isso, usamos nosso evento “ir para esquerda” para o personagem se movimentar e após isso alteramos o cenário para o anterior (estamos “voltando” o cenário). Além disso, ao irmos para o outro cenário, continuamos com a movimentação do personagem para o efeito de movimento e também usamos um incrementador/decrementador na contagem da variável cenario_atual. É importante ressaltar que há uma verificação da contagem do cenário, visto que temos um número limitado de cenários. Caso cheguemos ao primeiro cenário, mudamos para o último e vice-versa.
Neste exemplo, notamos que, além da mudança de cenário que explicamos, neste bloco, ainda há dois eventos transmitidos para a movimentação do ator do gato: o “ir pra esquerda” e o “continuar da esquerda” que iremos explicar agora. Perceba, porém, que o mesmo vale para a seta da direita, mas com os valores alterados por se tratar de funções espelhadas.
Para cumprir estes eventos, precisamos adicionar os blocos abaixo no ator do gato:
Possuímos dois eventos para que o gato vá para a esquerda no primeiro, e depois continue do lado direito no segundo, para dar a impressão de movimento na tela.
Quanto às fantasias, você pode acessá-las no canto superior esquerdo ao clicar no ator do gato. Lá, adicione o mesmo gato porém de cabeça para baixo, pois o bloco “aponte para a direção 90” move o gato em graus. No fim, o gato deve virar normalmente para a esquerda quando mudarmos para a fantasia 2, e para a direita na fantasia 1.
Como mostramos os elementos?
Para contribuir para a jogabilidade é necessário espalhar os elementos para todos os cenários existentes. De forma geral, cada cenário terá um elemento para interação.
Para realizarmos isso a lógica será o seguinte, cada elemento será mostrado apenas no seu respectivo cenário, caso o cenário seja diferente do seu iremos esconder o elemento para a interação não ser possível.
Como podemos ver no bloco de código abaixo, sempre que recebermos o evento “mudou_cenario” iremos comparar a variável “cenario_atual” para verificar se devemos mostrar o elemento ou não.
As pistas serão utilizadas como forma do jogador encontrar o próximo elemento, sendo assim cada pista deverá ser mostrada assim que o elemento referente a ela for clicado.
Para termos controle sobre isso, cada elemento terá um evento “mostrar pista”, com o valor da pista referente. Entretanto, antes disso precisamos checar se o progresso já está adequado para aquela pista, isso evitará que o elemento seja clicado quando ainda não é permitido. Caso o progresso esteja adequado iremos aumentar o valor do progresso para dar continuidade as próximas pistas.
Como mostramos as pistas?
Uma vez que o progresso da pista seja adequado, a pista poderá sempre ser mostrada, permitindo ao jogador rever a pista caso seja necessário.
Como mostramos o tesouro?
Agora que já aprendemos como fazer o jogo funcionar, no geral, falta arranjarmos um jeito de mostrarmos o tesouro na tela. Para isso, basta avisarmos o restante dos atores que o jogo se encerrou e que o jogador achou o tesouro, além de mostrar o tesouro em si.
Vamos começar adicionando o seguinte bloco de código no ator da estrela:
Devemos agora adicionar o ator do tesouro. Para isso, clique no botão de “adicionar ator” no canto inferior direito e procure um tesouro. Depois, arraste o tesouro para o local que você deseja exibi-lo. Por fim, adicione o seguinte bloco de código ao ator do tesouro:
Mas ainda falta uma coisa: o gato deve ir ao centro e comunicar ao jogador que o jogo foi encerrado e que ele venceu. Para isso, basta adicionarmos um simples bloco de código dentro do ator do gato:
Assim, terminamos o nosso jogo da Caça ao Tesouro! Até a próxima!