Prévia do material em texto
Oponente revelado Aula 3 Habilidades trabalhadas nesta aula: (EF07MA04) Resolver e elaborar problemas que envolvam operações com números inteiros. (EF07MA13) Compreender a ideia de variável, representada por letra ou símbolo, para expressar relação entre duas grandezas, diferenciando-a da ideia de incógnita. (EF07CO01) Criar soluções de problemas para os quais seja adequado o uso de registros e matrizes unidi- mensionais para descrever suas informações e automatizá-las usando uma linguagem de programação. (EF07CO02) Analisar programas para detectar e remover erros, ampliando a confiança na sua correção. (EF07CO05) Criar algoritmos fazendo uso da decomposição e do reúso no processo de solução de forma colaborativa e cooperativa e automatizá-los usando uma linguagem de programação. Listas: criando o seu jogo de cartas com listas e padrões Unidade 2 O que vamos aprender? Criar clones no Scratch. Programar clones de atores no Scratch. Utilizar variáveis com diferentes atores no Scratch. ACOMPANHE O VÍDEO DA AULA https://cursos.alura.com.br/course/scratch-criando-jogo-cartas-listas-padroes/task/134370 3 Desvendando clones Anteriormente, adicionamos os botões de atributo e a carta do oponente ao nosso projeto inspirado no jogo de cartas Super Trunfo. Além disso, programamos para que a carta do oponente vire quando um dos botões de atributo forem clicados. Entretanto, quando a carta do oponente vira, temos apenas uma carta em branco. Assim, continuaremos a desenvolver nosso jogo fazendo com que a carta do oponente também tenha uma personagem formada aleatoriamente. Para iniciar a aula, sugere-se que o professor relembre com os estudantes o que foi realizado no projeto até o momento e pergunte quais estratégias podem ser utilizadas para que os atores pé, corpo e cabeça também apareçam na carta do oponente. Os estudantes podem dizer que é preciso adicio- nar novos atores, duplicar os existentes ou criar clones. Nesta aula, iremos criar clones. No Scratch, o conceito de clone é utilizado como ferramenta que permite um ator criar uma cópia dele mesmo enquanto o projeto está sendo executado. Cada clone tem as mesmas fantasias, sons, scripts e variáveis que o original, porém, também são independentes. Os clones são comumente usados quando um projeto possui atores similares que farão coisas parecidas, como é o nosso caso. 4 Continuaremos nosso projeto fazendo com que os atores pé, corpo e cabeça também apareçam na carta do oponente quando ela for virada. Para isso, criaremos clones desses atores e vamos programá-los para que, quando a carta do oponente for virada, eles apareçam por determinado tempo e depois desapareçam. Começaremos selecionando o ator carta do oponente. Em seguida, da seção Controle, arrastaremos o bloco para o script que começa com entre os seguintes blocos, conforme ilustra a imagem: 5 Para fazer um clone da cabeça da personagem da carta, no bloco que acabamos de arrastar, devemos clicar no menu suspenso e escolher a opção cabeça. Feito isso, criaremos clones dos outros dois atores que compõe a personagem da carta. Para isso, arrastaremos para baixo do bloco mais dois blocos iguais a ele, da seção Controle. Em seguida, selecionaremos a opção corpo em um e, no outro, selecionaremos pé, pois, assim, todos os atores que compõem o personagem da nossa carta serão clonados. 6 Ainda nesse script, podemos alterar o tempo que a carta do oponente ficará virada alterando o bloco que representa o tempo de espera. Observe que ele está logo abaixo dos blocos que acabamos de inserir. Substituiremos o valor 1 por 3. Desse modo, teremos o seguinte script para quando o ator carta do oponente receber a mensagem vira a carta. 7 Feito isso, programaremos os clones para que eles apareçam na carta do oponente. Começaremos selecionando o ator cabeça: Iniciaremos um novo script arrastando, da seção Controle, o bloco . Em seguida, para fazer esse clone aparecer na carta do oponente, arrastaremos o bloco e, ao clicar no menu suspenso, escolheremos o ator carta do oponente, como mostra a imagem a seguir: 8 Agora que o clone desse ator irá para a carta do oponente, precisamos mudar a aparência desse clone, pois, caso contrário, ela será sempre igual à nossa carta. Para fazer isso, arrastaremos, da seção Aparência, o bloco . Da seção Operadores, pegaremos o operador e colocaremos dentro do bloco que altera a fantasia, como mostra a imagem a seguir: Em seguida, substituiremos o valor padrão 10 por 4. 9 Feito isso, precisamos ajustar o tempo que este clone ficará na carta do oponente. Para isso, arrastaremos o bloco , da seção Controle. Para que haja uma sincronia entre o tempo que a carta do oponente ficará virada e o tempo que os clones estarão nela, devemos substituir o valor 1 por 3, que é o mesmo valor que colocamos no tempo de espera na carta do oponente. Em seguida, podemos colocar o comando para apagar esse clone arrastando o bloco , da seção Controle. Assim, teremos o seguinte script para o clone do ator cabeça: 10 Note que, ao executarmos nosso programa, quando clicarmos em algum atributo, temos o mesmo problema que tivemos quando criamos nossa carta: não conseguimos ver o clone do ator cabeça porque o ator carta do oponente está na frente dele. Para resolver isso, selecionaremos o ator carta do oponente. Em seguida, programaremos esse ator para que ele vá para a camada de trás quando a rodada for iniciada. Colocaremos o bloco , da seção Aparência, na seguinte posição deste script: 11 Para que seja possível ver os clones dos atores cabeça, corpo e pé quando a carta virar, precisamos alterar a opção da frente por de trás no bloco relacionado à camada, como mostra a imagem a seguir. Feito isso, podemos testar nosso programa e verificaremos que, ao clicar em algum atributo, a carta do oponente virará e mostrará o clone do ator cabeça. 12 Em seguida, programaremos os clones dos atores corpo e pé. Começaremos selecionando o ator cabeça. Em seguida, abriremos o recurso Mochila, localizado no rodapé da página. Neste momento, é recomendado questionar os estudantes sobre se é possível identificar algum padrão que se repetirá para a criação dos scripts dos clones. É esperado que eles percebam que existe um padrão nos códigos da criação de clones dos atores cabeça, corpo e pé. Sendo assim, é possível utilizar o recurso Mochila para replicar esses códigos nesses atores. 13 Com o recurso Mochila aberto, arrastaremos todo o script que acabamos de criar para o clone para a área da Mochila até que ela fique azul, como ilustra a imagem abaixo. Note que esse script que acabamos de colocar na Mochila aparecerá como o primeiro da fila. Agora, podemos replicar esse script para os atores corpo e pé. 14 Selecionaremos o ator corpo. Em seguida, arrastaremos para a área de código o script que acabamos de colocar na Mochila até que a área de código fique azul, como mostra a imagem a seguir. Repita exatamente o mesmo procedimento para o ator pé. Feito isso, podemos testar nosso programa. Veremos que, ao clicar em qualquer atributo, a carta do oponente virará por três segundos e mostrará uma personagem criada aleatoriamente com os atores cabeça, corpo e pé. 15 Para finalizar esta aula, criaremos uma variável tempo para deixar todos os tempos do nosso jogo sincronizados. Na seção Variáveis, clicaremos em . Na caixa que se abrirá, digitaremos a palavra “tempo” para nomear essa variável e selecionaremos a opção Para todos os atores. Por fim, clicaremos em OK: Sugerimos que, antes de criar essa variável, os estudantes façam testes com diferentes valores no bloco “espere (3) seg” dos scripts dos clones e da carta do oponente quando ela se vira. Ao realizar os testes, espera-se que eles percebam que os valores de espera estavam diferentes, por isso a carta se vira e os clones desaparecem em momentos diferentes. 16 Criada a variável tempo, precisamos definir umvalor para ela. Para isso, voltaremos ao início do nosso projeto selecionando o ator minha carta. Da seção Variáveis, arrastaremos o bloco para o script que inicia o jogo, ou seja, aquele que possui a bandeira verde. Colocaremos esse bloco entre os blocos de direcionamento e de camada, como mostra a imagem a seguir. 17 Feito isso, selecionaremos a opção tempo no menu suspenso do bloco. Em seguida, no segundo espaço, mudaremos o valor 0 para 3. 18 Após definir um valor para nossa variável tempo, selecionaremos o ator carta do oponente. Em seguida, iremos para a seção Variáveis e arrastaremos a variável para dentro do bloco que define o tempo de exibição dos clones, o qual está no script que se inicia com o bloco quando eu receber [vira a carta]. Assim, substituiremos o valor 3 pela variável tempo, deixando o script como ilustra a imagem a seguir. 19 Feito isso, repetiremos o procedimento e colocaremos a variável tempo nos scripts dos clones dos atores cabeça, corpo e pé. Selecionaremos o ator cabeça. Em seguida, novamente na seção Variáveis, arrastaemos a variável para dentro do bloco espere (3) seg. Como feito antes, substituiremos o valor 3 pela variável tempo: 20 Repetiremos o mesmo processo com os atores corpo e pé . Por fim, para que a variável tempo não fique aparecendo no nosso palco, iremos escondê-la. Para isso, clicaremos com o botão direito do mouse na variável tempo que está aparecendo na parte superior da prévia do nosso programa. Em seguida, selecionaremos a opção esconder. Desafio 21 Nosso jogo está ficando cada vez mais completo! Nesta aula, criamos clones dos atores cabeça, corpo e pé para que eles apareçam na carta do oponente quando um atributo for clicado. Definimos que esses clones devem possuir fantasias aleatórias para que a carta do oponente não seja sempre igual a nossa. Além disso, programamos esses clones para que eles desapareçam ao mesmo tempo em que a carta do oponente volta a exibir o verso. Seu desafio agora será alterar o valor da variável tempo para um valor maior que 3. Fique livre para testar soluções para problemas com os cliques ou outras dúvidas que possam surgir. CLIQUE AQUI PARA AVALIAR ESTE MATERIAL Espera-se que os alunos mudem o valor da variável tempo. Além disso, é importante que os estudantes percebam que essa variável será fundamental para que a dinâmica do jogo ocorra de forma sincronizada. Você pode aprofundar seu conhecimento sobre variá- veis e programação explorando a plataforma da Alura, onde possível encontrar cursos, artigos, formações e muito mais! https://docs.google.com/forms/d/e/1FAIpQLSdj6D4ophEVDczMqZKzLL0_9vCK5C2UoSKSxaMr-1os8-B8-A/viewform