Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aumentando a competição Aula 9 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 reuso 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 Atualizar o valor das variáveis dos atributos do oponente. Adicionar acessórios para a frente das personagens da carta. Reutilizar códigos de outros atores e adaptá-los para um novo ator. O que vamos aprender? ACOMPANHE O VÍDEO DA AULA https://cursos.alura.com.br/course/scratch-criando-jogo-cartas-listas-padroes/task/134376 3 Personagens mais fortes Anteriormente, adicionamos um acessório atrás da personagem da carta e um bônus aos valores dos atributos. Nesta aula, atualizaremos os valores dos atributos da carta do oponente. Além disso, também adicionaremos mais acessórios às cartas, aperfeiçoando nosso jogo. Para fazer isso, vamos reutilizar alguns padrões já estudados anteriormente e ajustá-los de acordo com o que precisamos. Professor, para iniciar a aula, sugere-se seja retomado com os estudantes o que foi realizado no projeto até o momento. Além disso, é interessante que eles formulem hipóteses sobre em quais atores e padrões podemos nos basear para adicionar novos acessórios às cartas. É esperado que os estudantes mencionem que, para adicionar novos acessórios às cartas, podemos utilizar os mesmo padrões que aplicamos ao ator acessório atrás. 4 Começaremos selecionando o ator minha carta, localizado no canto inferior direito da tela: . Para conseguirmos compreender melhor o que está acontecendo em nosso programa, vamos aumentar o tempo de exibição da carta, substituindo o valor 3 por 10 no bloco . Feito isso, ao clicar na bandeira verde, clicaremos em qualquer atributo. Poderemos verificar que, apesar de aparecer um acessório atrás da carta do oponente, os valores ainda não estão sendo atualizados. 5 Para resolver isso, vamos selecionar o ator acessórios atrás, localizado no canto inferior direito da tela: . Vamos observar o script que aciona um clone, como mostra a imagem a seguir. Está faltando, nesse script, algo que fizemos para programar os clones dos atores cabeça, corpo e pé. Professor, visando estimular a participação dos estudantes, pergunte a eles o que falta nesse script e promova uma breve discussão sobre a lógica de programação realizada para o ator acessórios atrás. 6 Para verificar o que está faltando, selecionaremos o ator cabeça: . Observaremos nesse ator o mesmo script que aciona um clone: Neste momento, estimule os estudantes a comparar os dois scripts e perceber o que há de diferente entre eles. Espera-se que eles percebam que no script do ator acessório atrás não há uma variável que calcula um número aleatório e depois altera o valor da fantasia. 7 Fazendo a comparação, notaremos que há uma variável, oponente cabeça, que atualiza o valor da variável para um número aleatório de 1 a 4 e depois muda a fantasia para essa variável. Assim, precisamos ter algo similar para o ator acessório atrás. Então, selecionaremos novamente o ator acessório atrás. localizado no canto inferior direito da tela: . Na seção Variáveis, criaremos uma variável clicando em . Na caixa que se abrirá, nomearemos essa nova variável como oponente fantasia atrás, selecionaremos a opção Para todos os atores e clicaremos em OK. É importante lembrar os estudantes da importância de sempre nomear as variáveis de forma clara e objetiva. Nesse caso, escreveremos um nome grande dessa forma para evidenciar que estamos armazenando o valor da fantasia que está atrás do per- sonagem do oponente. 8 Feito isso, arrastaremos, da seção Variáveis, o bloco para cima do conjunto de blocos que altera as fantasias. Em seguida, clicaremos no menu suspenso do bloco que acabamos de adicionar e selecionaremos a opção oponente fantasia atrás. Em seguida, arrastaremos o operador de número aleatório do bloco que altera a fantasia para dentro da lacuna do bloco variável. Seu script ficará como mostra a imagem a seguir: 9 Em seguida, da seção Variáveis, arrastaremos a variável para dentro do bloco que altera a fantasia, da seguinte forma: . Feito isso, vamos desmarcar a opção da variável na lista de blocos da seção Variáveis para ocultar sua visualização no palco. Agora, precisaremos fazer mudanças no Palco, onde programamos as mudanças das variáveis de atributos das cartas. Para isso, selecionaremos o Palco, localizado no canto inferior direito da tela: . 10 Repare que, no script que recebe o início da rodada, foram adicionados valores para as variáveis dos atributos minha carta com os seguintes blocos: Precisamos que, quando os clones da carta do oponente forem criados, eles sigam esse padrão e que os valores da carta do oponente sejam alterados a partir da fantasia do ator acessório atrás. Sendo assim, da seção Variável, arrastaremos três vezes o bloco , colocando-os logo abaixo do conjunto de blocos que muda os atributos e acima do bloco condicional, como mostra a imagem a seguir: 11 No primeiro desses blocos, clicaremos no menu suspenso e selecionaremos a variável velocidade oponente; no segundo, selecionaremos inteligência oponente e, no terceiro, força oponente. Seu script ficará da seguinte forma: Em seguida, colocaremos esses blocos em ordem. Neste momento, recomenda-se indicar aos estudantes a importância de manter os códigos em ordem e organizados, pois isso contribui para identi- ficar problemas, ajustar mudanças e identificar padrões. Como estamos aprendendo ao longo dessas aulas, os padrões nos ajudam a construir algo- ritmos para conseguirmos atingir nossos objetivos. 12 Agora, vamos separar o conjunto de bloco condicional do restante do script, como mostra a imagem a seguir: Isso nos permitirá reorganizar os três com os quais estávamos trabalhando. O primeiro bloco será o da inteligência do oponente, o segundo será força oponente e o terceiro, velocidade oponente. Assim, arraste os blocos de modo que eles estejam organizados na ordem correta, como mostra a imagem a seguir: 13 Feito isso, voltaremos ao conjunto de blocos que separamos do script e o reconectaremos novamente a ele. Agora, vamos duplicar os conjuntos de blocos que usamos para adicionar valores aos atributos da nossa carta, que estão em outro script, e usá-los para os atributos do oponente. Assim, clique com o botão direito do mouse no operador (bloco verde) e selecione a opção Duplicar. 14 Em seguida, arraste o conjunto de blocos duplicados para a lacuna do primeiro bloco, que corresponde ao atributo inteligência oponente. Repita o mesmo processo para os blocos que correspondem aos atributos força oponente e velocidade oponente. Professor, observe que o atributo velocidade oponente apresenta um conjunto de blocos distinto dos demais atributos. Converse com os estudantes e verifique se eles compreenderam o porquê de isso ocorrer. Espera-se que eles respondam que essa diferença se dá pelo fato de que estamos co- piando a estrutura de blocos que criamos para os atributos da nossa carta em aulas anteriores. 15 Agora, para que nosso código funcione para a carta do oponente, precisamos remover os sensores, pois eles só servem para indicar as fantasias dos atores que utilizamos para nossa carta; para a fantasia dos clones, temos que utilizar outravariável. Portanto, arrastaremos os quatro sensores (blocos azuis), um de cada vez, para lista de blocos entre as seções e a área de código, excluindo-os do nosso script. Feito isso, colocaremos no lugar desse bloco a variável , da seção Variáveis, nos três conjuntos de blocos. 16 Agora, ao testar nosso programa clicando na bandeira verde, podemos perceber que, quando clicamos em algum atributo, a carta do oponente recebe valores adicionais de acordo com a fantasia do acessório de trás. 17 Desse modo, terminamos de programar os acessórios que aparecem atrás das personagens, tanto da nossa carta quanto da carta do oponente. Agora, vamos inserir acessórios que aparecerão na frente da nossa carta. Para isso, adicionaremos mais um ator externo ao Scratch. Certifique-se de que você tenha a pasta de arquivos utilizada na primeira aula, quando adicionamos os atores externos cabeça, corpo, pé e minha carta ao Scratch. Nessa pasta, há apenas um arquivo que não utilizamos. Vamos adicioná-lo agora ao Scratch. Assim, passe o mouse por cima do ícone para adicionar novos atores, localizado no canto inferior direito da tela: Em seguida, clique no primeiro ícone do menu que se abrirá: Enviar Ator Professor, caso algum estudantes não consiga localizar a pasta em seu computador, será preciso baixa-la novamente na atividade Preparando o ambiente: fantasia dos atores, disponível no link (https://cursos.alura.com.br/course/scratch- -criando-jogo-cartas-listas-padroes/task/134395). https://cursos.alura.com.br/course/scratch-criando-jogo-cartas-listas-padroes/task/134395 https://cursos.alura.com.br/course/scratch-criando-jogo-cartas-listas-padroes/task/134395 18 Na janela que se abrirá, devemos procurar no computador a pasta Super-trunfo-atores, selecionar o arquivo acessórios-frente.sprite3 e clicar em Abrir. Feito isso, repare que o ator acessórios frente aparecerá no canto inferior direito da tela: . 19 Veremos também que uma tocha aparecerá na frente da personagem da nossa carta. Agora, vamos explorar as outras fantasias do ator acessórios frente. Para isso, clicaremos na aba Fantasias, localizada no canto superior esquerdo da tela. 20 Como podemos ver, o ator acessórios frente possui nove fantasias (1. cachecol, 2. chapéu flor, 3. colar mágico, 4. escudo ajustado, 5. espada de folha do finn, 6. galochas, 7. picareta ajustada, 8. tocha e 9. varinha ajustada). Precisamos que, quando uma rodada for iniciada, uma fantasia aleatória seja escolhida para o ator acessórios frente. Professor, neste momento, os estudantes podem ser questionados se já realizamos algum procedimento parecido até o momento. É esperado que eles percebam que a programação dos acessórios da frente terá os mesmos padrões dos acessórios de trás e dos atores cabeça, corpo e pé. 21 Para realizar essas configurações, vamos selecionar o ator cabeça: . Podemos observar que tanto o script que começa com que recebe o início da rodada quanto o que começa com um clone, apresentados na imagem a seguir, podem ser utilizados para o ator acessório frente. 22 Desse modo, abriremos o recurso Mochila, localizado no rodapé da página. Observaremos que já temos salvo boa parte dos scripts utilizados no projeto na Mochila. 23 Escolheremos o script mais antigo salvo na Mochila. Arrastaremos esse script para a área de código até que essa área fique azul. No último bloco do script que acabamos de arrastar para a área de códigos, iremos substituir o valor 4, na última lacuna do bloco operador, por 9, afinal, o ator acessórios frente possui nove fantasias. 24 Em seguida, iremos novamente na Mochila e selecionaremos o terceiro script da direita para esquerda. Após isso, arrastaremos esse script para a área de código até que ela fique azul. 25 Feito isso, arrastaremos, da seção Variáveis, a variável no lugar do valor 3 do bloco que define o tempo de espera no script que acabamos de arrastar para a área de código. Ao organizar nossa área de códigos, podemos observar que não é exatamente desse script que precisamos. Vamos observar novamente o ator cabeça. Selecionaremos esse ator e observaremos o script que começa com “quando eu começar como um clone”. Neste momento, pode ser perguntado aos estudantes o que está faltando nesse script que começa com o bloco “quando eu começar como um clone”. É esperado que eles percebam que, assim como fizemos para os atores cabeça, corpo, pé e acessórios atrás, também precisamos de uma variável que sorteie um número aleatório e mude a fantasia desse ator para essa variável. 26 Repare que, nesse script, existe a variável oponente cabeça, que muda para um número aleatório e, em seguida, a fantasia é alterada para essa variável, como mostra a imagem abaixo: Precisaremos fazer esse mesmo processo para o ator acessório frente. Começaremos selecionando novamente o ator acessórios frente: . Da seção Variáveis, criaremos uma nova variável clicando em . 27 Na caixa que se abrir, nomearemos essa variável como oponente fantasia frente. Selecionaremos a opção Para todos os atores e clicaremos em OK. Feito isso, arrastaremos, da seção Variáveis, o bloco para entre os blocos que indicam a carta do oponente e a mudança de fantasia, como mostra a imagem a seguir: 28 Em seguida, clique no menu suspenso e selecione a opção oponente fantasia frente. Agora, arrastaremos a o operador de número aleatório para a lacuna do bloco que muda a fantasia do ator, substituindo o valor da segunda lacuna do operador por 9. 29 Da seção Variáveis, arrastaremos a variável para cima do menu suspenso do bloco que determina a fantasia, logo abaixo do bloco que acabamos de configurar. Feito isso, vamos desmarcar a opção da variável na lista de blocos da seção Variáveis para ocultar sua visualização no palco, da mesma forma que fizemos para a variável oponente fantasia atrás do ator acessórios atrás. 30 Repare que, ao testarmos nosso programa clicando na bandeira verde, podemos perceber que nossa carta aparecerá com acessórios toda vez que iniciar a rodada, porém, quando clicarmos em qualquer atributo, não aparecerá nenhum acessório na frente da carta do oponente. Neste momento, é importante incentivar a participação dos estudantes questionando por que ainda não temos acessórios na frente da carta do oponente se já programamos este ator para quando ele começar como um clone. Espera-se que eles entendam que ainda não há acessórios na carta do oponente porque ainda não programamos a criação do clone do ator acessórios frente, assim como fizemos com os outros atores que compõem a carta do oponente. 31 Precisaremos criar um clone desse ator na carta do oponente. Para isso, selecionaremos o ator carta do oponente . No script que recebe o comando de virar a carta, adicionaremos, da seção Controle, o bloco . Arrastaremos esse bloco entre o bloco que cria o clone dos acessório atrás e que transmite os clones criados, como mostra a imagem: 32 Clicaremos no menu suspenso do bloco que acabamos de adicionar e selecionaremos a opção acessórios frente. Desse modo, podemos observar que, agora, sim, quando clicarmos na bandeira verde para testar nosso programa, poderemos ver que a minha carta possui um acessório na frente e, quando escolhermos algum atributo, a carta do oponente é virada e também possuirá um acessório na frente. Na próxima aula, adicionaremos valores ao acessório da frente tanto para a minha carta quanto para a carta do oponente. Desafio 33 Nesta aula, adicionamos valores para o acessório de trás para a carta do oponente. Além disso, também adicionamos acessórios que aparecem na frente dos personagens nas cartas. Para acrescentar valores aos atributos da carta do oponente e adicionar acessórios na frente das cartas, utilizamos os mesmos padrões utilizados para programarmos os atores cabeça, corpo e pé. Porém, ainda não adicionamos valores relacionados ao acessório da frente para os atributos.Faremos isso na próxima aula. Assim, seu desafio será criar regras matemáticas diferentes para os valores dos acessórios da carta do oponente. CLIQUE AQUI PARA AVALIAR ESTE MATERIAL Espera-se que os estudantes utilizem os operadores matemático de adição, subtração, multiplicação e divisão, da seção Operado- res, para criar novas regras matemáticas para adicionar valores aos atributos da carta do oponente. Essas regras deverão substituir as programações que fizemos no script que começa com o bloco “quando eu receber [clones criados]” do Palco. Além disso, podem ser criadas condicionais para determinar o ganho dependendo da fantasia selecionada. Assim, os estudantes podem utilizar a criatividade para criar diferentes cartas e deixar o jogo mais condizente com a sua própria expectativa e realidade, aumentando o interesse no projeto. https://docs.google.com/forms/d/e/1FAIpQLSdj6D4ophEVDczMqZKzLL0_9vCK5C2UoSKSxaMr-1os8-B8-A/viewform
Compartilhar