Jogo de Geografia – Scratch 3.0 – Grupo Hello World
Aula3 scratch 3

Jogo completo >> https://scratch.mit.edu/projects/686575945/

Descrição do material

O jogo de geografia é um exercício desenvolvido na plataforma Scratch para o público infantil. Trata-se de algumas perguntas em que o usuário deve interagir com botões e responder a pergunta correta, nesse caso, foi abordado a parte de relevos. Se o usuário errar, é apresentada a resposta correta e então é introduzido a próxima pergunta.

Objetivo do material

Exercitar conceitos básicos de relevo na área de Geografia para alunos do ensino fundamental: juntando o conhecimento da disciplina e o conhecimento básico de programação pela plataforma Scratch.

Inscreva-se no canal!

Tutorial de elaboração

I. Configurando os cenários

Será necessário para este jogo a utilização de apenas um cenário, sendo ele o Savanna. Para preparar o ambiente, deve ser feito:

  1. Para adicioná-lo no projeto, vá na seção Palco (localizada no canto inferior direito), clique em “Selecionar cenário” e selecione o cenário “Savanna”.

II. Configurando os atores

Para a realização deste jogo serão necessários 5 atores, sendo o ator principal Dee e, os demais, botões “Button3” contendo as respostas para as perguntas. Para prepará-los, deverá ser feito:

  1. Como o ator padrão do Scratch não será utilizado, começaremos o removendo. Indo até a área dos atores (localizada ao lado da seção Palco), selecione o “Ator1” e em seguida clique na lixeira.
  2. Para adicionar um ator, clique no botão “Selecione um Ator” e escolha o ator “Dee”. Este ator fará as perguntas durante o jogo.
  3. Ao selecionar um ator, é possível ver as suas configurações atuais. Para colocarmos o ator no local desejado, coloque para X o valor -110 e para o Y o valor -50.
  4. Seguindo as instruções citadas anteriormente, adicione um ator ”Button3”. Esse primeiro botão será o responsável por assinalar a resposta como sendo “montanha”. Para suas configurações, coloque para X o valor 175 e para Y o valor 120 e altere o seu nome colocando no campo Ator o nome “Montanha”.
  5. É possível modificar os atores, seja os editando ou colocando outros visuais e, nesse caso, iremos editar o botão. Verifique se o ator “Montanha” está selecionado, clique na aba “Fantasias” (presente no canto superior esquerdo). Agora é possível notar que existem dois visuais para esse botão, porém só iremos utilizar o primeiro. Para exibir a qual resposta o botão se refere, escreveremos “Montanha” em sua imagem e, para isso, é preciso clicar no símbolo “T”, selecionar a cor do texto (nesse caso preto) e clicar sobre a imagem na posição desejada para o texto. Adeque o tamanho do texto para caber dentro do espaço do botão
  6. Após isso, repita os passos 4 e 5 para adicionar os 3 botões restantes. As configurações relativas a eles, contendo o texto exibido e seu nome e a posição X e Y, são, respectivamente: “Montanha”, 175 e 120; “Planalto”, 175 e 40; “Planície”, 175 e -40; “Depressão”, 175 e -120.
  7. Por fim, para a exibição correta quando o jogo começar pela primeira vez, deixe todos os botões invisíveis manualmente clicando na segunda imagem presente em “mostrar” nas configurações do ator.

III. Criando o jogo

  1. Antes de tudo, para a lógica do jogo, será necessário 3 variáveis: “Acertos”, “Contador” e “Resposta do Jogador”. Para a criação de cada uma, vá na aba “Variáveis” e selecione “criar uma variável”. Escreva o nome da variável e selecione a opção de acesso. Para facilitar a criação, todas as variáveis devem estar com a opção “Para todos os atores” selecionada.
  2. Além dessas variáveis, serão utilizadas 2 listas, uma contendo as perguntas do jogo, e uma contendo as respostas de cada pergunta. Para a criação de uma lista, vá em “variáveis”, clique em “criar uma lista”, coloque a opção de acesso “Para todos os atores” e coloque o nome, no caso “Perguntas”. Será possível visualizar a lista criada no canto superior direito, logo em cima do cenário.
  3. Para inserir as perguntas, clique com o botão direito sobre a lista e selecione “importar”. Na sequência, selecione o arquivo “Perguntas.txt” disponibilizado e confirme clicando em “Abrir”. O arquivo contém somente as perguntas, sendo uma por linha. No caso, as perguntas que serão feitas são:
    1. Qual é o tipo de relevo que é mais rebaixado do que as áreas que a circundam e que foram formados a partir de longos e intensos processos erosivos?
    2. Qual é o tipo de relevo que possui áreas elevadas compostas por feições planas no qual predomina a ação dos processos erosivos?
    3. Qual é o tipo de relevo que possui as maiores elevações da superfície terrestre, podendo atingir milhares de metros acima do nível do mar?
    4. Qual é o tipo de relevo que possui áreas rebaixadas e de feições planas, formadas a partir de processos de deposição de sedimentos?
  4. Crie também uma lista com o nome “Respostas” e siga o mesmo processo do passo anterior com o arquivo “Respostas.txt”. O seu conteúdo é referente às respostas de cada uma das perguntas acima, sendo elas:
    1. depressão
    2. planalto
    3. montanha
    4. planície
  1. Agora já na parte de elaboração do código, o jogo deverá ser iniciado quando a bandeira verde for clicada e para isso começaremos o código pelo ator “Dee”. Coloque o bloco de evento “quando (bandeira verde) for clicado” na área de código.
  2. Para uma apresentação inicial do que se trata o jogo, iremos alterar a fantasia do ator e dizer uma mensagem sobre. Para isso, adicione o bloco de aparência “mude para a fantasia” com a opção “dee-c” e, em sequência, coloque o bloco presente em aparência “diga por” com duração de 4 segundos e no texto a fala desejada. Neste caso usaremos “Olá! Vamos descobrir se você conhece quais são as principais formas de relevo?“.
  3. Agora, devemos inserir os valores iniciais relativos ao jogo e, portanto, devemos zerar a quantidade de acertos e reiniciar o marcador das perguntas para a primeira. Para isso, coloque um bloco “mude para” presente em variáveis, selecione a opção “Acertos” e coloque o valor 0. Faça o mesmo para a variável “Contador” porém com o valor 1. Ele que irá indicar qual a pergunta que estará sendo realizada.
  4. Como teremos mais do que uma pergunta, coloque um bloco de controle de repetição chamado “repita X vezes” para comportar a lógica das perguntas e respostas. Como valor para a quantidade de vezes que ocorrerá a repetição, insira o bloco “tamanho de” presente em variáveis com a opção “Perguntas”. Este bloco retorna a quantidade de itens (no caso perguntas) presente em uma lista. A partir de agora, todos os blocos utilizados estarão inseridos dentro do bloco “repita X vezes”.
  5. Para realizar uma animação entre as perguntas e dar um pequeno tempo entre elas, iremos trocar a fantasia de “Dee” e exibir um pensamento. Para isso coloque um bloco de aparência “mude para a fantasia” com a opção “dee-e” e, na sequência, um bloco “pense por” com a duração de 3 segundos e a mensagem “Deixe me pensar…”. Por último, para voltar a fantasia inicial e realizar a pergunta, utilize o bloco “mude para a fantasia” com a opção “dee-c”.
  6. Para a realização da pergunta utilizaremos um bloco “diga”. Como conteúdo a ser exibido, iremos utilizar a lista criada anteriormente. Coloque um bloco “item de”, presente em variáveis, com a opção “Perguntas”. Como já comentado, a variável “Contador” que fará a seleção de qual a pergunta que deve ser exibida, por tanto, coloque a variável de mesmo nome como valor para “item de”.
  7. Antes de exibirmos os botões, iremos definir um valor padrão para a variável “Resposta do Jogador” para podermos comparar e assim identificar quando que o jogador selecionou uma resposta. Para o valor de controle será usado “Esperando resposta”. Dessa forma, utilize o bloco de variáveis “mude para” com a opção “Resposta do Jogador” e o valor “Esperando Resposta”.
  8. Para a exibição dos botões, será necessário lançar uma mensagem para que os botões saibam que é o momento de ficarem visíveis. Para isso use um bloco de evento “transmita” com uma nova mensagem chamada “Ler Resposta”.
  9. Como teremos que esperar pela resposta do jogador para dar continuidade, vamos esperar até que o valor de “Resposta do Jogador” seja alterado para dar andamento. Dessa forma, coloque um bloco de controle “espere até que” e, como valor, vamos colocar um conjunto de blocos operadores que verificará se o valor é diferente ao “Esperando resposta”. Primeiro, coloque o bloco “não” e, em seguida, um bloco ”=” com os valores como sendo a variável “Resposta do Jogador” e o texto “Esperando Resposta”.
  1. Agora, dando uma pausa na lógica principal do código, iremos elaborar o código referente aos botões. Como exemplo, utilizaremos o ator “Montanha”. Para exibir o botão somente nos momentos corretos, insira um bloco de evento chamado “quando eu receber” com a mensagem “Ler Resposta” e, na sequência, um bloco “mostre” presente em aparência.
  2. Quando um dos botões de resposta forem clicados, deverá ser lançada a mensagem para que todos os botões voltem a ficar invisíveis e a variável “Resposta do Jogador” atualizada com o valor clicado. Para isso, comece um novo script com o bloco de evento “quando este ator for clicado” e coloque um bloco de evento “transmita” com uma nova mensagem “Resposta Lida”. Após isso, utilize um bloco de variáveis “mude para” com a opção selecionada “Resposta do Jogador” e, como valor, o bloco “item de” com a opção “Respostas” e a numeração de acordo com a posição do texto escrito no botão na lista. Como esse botão exemplo é referente a “montanha”, a posição na lista é 3.
  3. Para tornar o botão invisível quando a mensagem for lançada, inicie um novo script com um bloco de evento “quando eu receber” com o valor “Resposta Lida” e, na sequência, um bloco “esconda” presente em aparência.
  4. Siga os passos 14 ao 16 para os demais botões mudando apenas a numeração do item de respostas para ficar de acordo com o botão clicado e utilizando a mensagem criada “Resposta Lida” ao invés de criar novas mensagens.
  1. De volta ao código presente no ator “Dee” e na sequência do bloco “espere até que”, iremos verificar se a resposta selecionada é a correta. Para a verificação utilize um bloco de controle “se então/ senão”. Como valor a ser verificado, utilize o operador de “=” para verificar se o valor presente na variável “Resposta do Jogador” é igual a resposta correta. No caso, a resposta correta deverá ser selecionada da lista “Respostas” de acordo com a pergunta atual. Dessa forma, para o valor correto, coloque um bloco ”item de” com a opção selecionada “Respostas” e, o item, com a variável “Contador”.
  2. Sabendo que a resposta está correta ou não, iremos emitir uma mensagem de acordo com a resposta. Para o caso de estar correto, consequentemente a comparação ser verdadeira, primeiramente coloque um bloco “adicione a” presente em variáveis com valor “1” e a opção “Acertos” e, em seguida, coloque um bloco de aparência “diga por” com duração de 4 segundos. Como mensagem, será necessário antes um bloco operador “junte com” para permitir a exibição do valor de uma variável com um texto definido. Dessa forma, coloque no primeiro espaço do operador o texto “Uau, é isso mesmo. O relevo que tem essas características é: ” e, no segundo, um bloco ”item de” com a opção selecionada “Respostas” e, o item, com a variável “Contador” para resgatar o valor correto.
  3. Para o caso de estar incorreto, consequentemente a comparação ser falsa, coloque um bloco de aparência “diga por” com a duração de 4 segundos e, como mensagem, siga a mesma lógica da mensagem presente no passo anterior, alterando apenas texto presente no primeiro espaço do “junte com” para “Quase lá, o relevo correto era: “.
  4. Para falar que na próxima repetição do código deverá ser considerada a pergunta seguinte, é preciso atualizar o valor presente na variável “Contador”. Dessa forma, coloque após o bloco “se então/ senão”, um bloco “adicione a” com valor “1” e a opção “Contador” para realizar essa atualização.
  5. Agora, fora do bloco ”repita X vezes”, iremos exibir a quantidade de respostas corretas que o jogador obteve. Para isso, coloque um bloco de aparência “diga por” com a duração de 4 segundos e, como mensagem, coloque dois blocos operadores “junte com”, um dentro do outro, e no primeiro espaço sendo o texto “Você acertou um total de ”, no segundo, a variável “Acertos” e, no terceiro, o texto “ perguntas” .
  6. Finalizado todos os passos anteriores, agora resta esconder as variáveis e as listas para que durante o jogo não fiquem visíveis para o jogador. Para isso, basta ir em variáveis e remover a seleção em frente de cada nome das variáveis e listas.

Pontos de atenção

  1. Cuidado com o local onde os blocos estão sendo colocados, pois a tendência dos alunos é colocar sempre ao final de todo o conjunto. Neste tutorial, a grande parte dos blocos são posicionados dentro de outro bloco “repita X vezes”, permitindo assim, um grande volume de erros.
  2. Para facilitar na explicação de como encontrar a resposta correta da pergunta na lista “Respostas” por meio da repetição, pode ser utilizado uma nova variável para comportar o conjunto de blocos referente a resposta correta (bloco ”item de” com a opção selecionada “Respostas” e, o item, com a variável “Contador”) e substituir todas as suas ocorrências.
  3. Entender a lógica de como ocorre a pausa para esperar o clique em um dos botões pode ser complicado a princípio, podendo ser necessário maiores explicações.
  4. Reforce a necessidade da variável “Contador” para esses tipos de casos de utilização em laços de execução.

Links úteis