Instrucoes: mudanças entre as edições

De IFSC
Ir para navegação Ir para pesquisar
imported>Fargoud
imported>Fargoud
Linha 148: Linha 148:


Nossos programas estão ficando grandes, né??
Nossos programas estão ficando grandes, né??
Então, que tal agora testar o código abaixo?
[[image: SCRATCHinstrucoes1.png|center]]


=Instrução '''REPITA'''=
=Instrução '''REPITA'''=

Edição das 18h28min de 17 de maio de 2022

Instrução SEMPRE

Como já foi visto antes, é possível criar no Scratch uma ou mais ações que funcionem de maneira contínua, repetindo-se por tempo indeterminado.

Para isso se usa o comando SEMPRE, da categoria Controle.

Qualquer outro bloco que for encaixado dentro do comando sempre será executado até o programa ser parado.

Para isso, vamos fazer o exemplo abaixo:

Exemplo do Tambor

O objetivo será fazer um tambor tocar um som, com o intervalo de tempo de 1 segundo de diferença, além do tambor trocar constantemente de cor, assim como todo esse processo deve ocorrer infinitamente.

Carregue o ator "Drum", do Scratch.


Inicialmente, vamos arrastar o bloco "QUANDO BOTÃO IR FOR CLICADO" e o "SEMPRE", unindo-os, ambos da categoria Controle, como mostrado na imagem abaixo.

Em seguida, arraste para dentro do bloco "SEMPRE", o comando "MUDE 25 AO EFEITO DE COR", que está na Categoria "APARÊNCIA", e altere o parâmetro 25 para 5, como mostra a imagem abaixo (para não ficar tão rápido):

SCRATCHtambor1.png

Teste para ver como funciona!!!

Mas, tambores têm que emitir som, né?

Então, arraste para dentro do bloco "SEMPRE", o comando "TOQUE O SOM 'Low Tom' ATÉ O FIM", que esta na categoria "SOM". E agora, o que aconteceu??

SCRATCHtambor2.png


Por fim, arraste para dentro do bloco "SEMPRE", o comando "MUDE 10 NO EFEITO TOM", que também está na categoria "SOM", conforme a figura abaixo. Ele fará com que o som do tambor mude, com o tempo, tornando a animação mais interessante.

SCRATCHtambor3.png

Instrução SE

Para se criar vários jogos e animações, é importante usar condições.

Para entendermos o uso da condição "Se", faremos uma bola bater em um objeto e quando ela bater, voltar.

Para isso, vamos seguir o exemplo abaixo:

SCRATCHcondSE0.png

Neste exemplo, usamos o bloco "Se bater na borda, volte" para indicar a condição.

Os comandos da bola são iniciados quando for clicado sobre a bola. Ela sempre irá se mover, e se tocar na borda (qualquer borda do palco) ela vai para a direção contrária.

Porém, podemos deixar mais interessante: vamos tentar fazer a bola ricochetear TAMBÉM na cabeça do gato, e não só na borda!

Inicialmente, mude o nome do primeiro sprite para "gato" e o do segundo, para “bola”, e depois sua direção para 180 (para ela ir para baixo, inicialmente).

Agora, vamos incluir o controle "Se (CONDICAO) então" no nosso programa. Puxe o bloco SE na categoria CONTROLE, e coloque na área de edição de scripts.

SCRATCHcondSE1.png

A condição, por sua vez, será o bloco "tocando em", das ferramentas de SENSORES. Escolha no menu o nome do objeto que será tocado (no caso, o gato).

SCRATCHcondSE2.png

Dentro do bloco SE, coloque o que acontece quando a bola tocar o gato, ou seja, acrescente o bloco aponte para a direção.

Isso significa que quando a bola tocar no gato, ela irá mudar sua direção para aquela determinada no bloco de comando (neste caso, 30 graus, mas poderia ser outra).

Acrescente o bloco SEMPRE, para que o teste seja feito o tempo todo, e coloque a condição “SE” dentro do SEMPRE.


E, agora sim!!!!! Conseguimos!!!

PMCsmile.png

Toda vez que a bola bater na borda ou no gato, ela vai ricochetear!!!

Instrução SE-SENÃO

Para entendermos essa condição, vamos fazer uma bola ir para a direção do gol, e se bater nele, dizer “Gol!”.

Caso contrário, a bola apenas continuará movendo-se na tela, o que não tem muita graça.


Inicialmente, faça o cenário do gol na área de palco, e adicione o sprite da bola, para ficar semelhante ao mostrado.

Você tanto pode modificar um cenário de quadra do Scratch, preenchendo toda a trave com uma só cor, ou pode desenhar seu próprio cenário. Fica ao seu critério! (vide instruções no Capítulo 4 - Cenários).

SCRATCHfutebol1.png

Não esqueça de mudar a direção do sprite bola, pra 30 graus, por exemplo, pra que ela suba, na direção do gol.

Em seguida, insira o bloco de EVENTO "QUANDO ESTE ATOR FOR CLICADO", sendo o ator, a Bola, para que clicar nela inicie o programa (como se fosse um chute, em um jogo).

Em seguida, arraste o bloco de MOVIMENTO "MOVA 10 PASSOS", e mude o número de passos para 200, pra que, ao ser clicada, a bola se desloque bastante na direção inicial que foi programada (30 graus).

Se quiser, inclua o bloco "TOQUE O SOM 'POP'", da categoria SOM, para ouvir a bola batendo.

O próximo passo, finalmente, é inserir o bloco "SE-ENTÃO-SENÃO", da categoria CONTROLE, para vermos como ele funciona!

Este bloco testa uma condição. Se esta condição for VERDADEIRA, ele executa o que está dentro do sub-bloco ENTÃO. Se a condição for falsa, vai executar o que está dentro do sub-bloco SENÃO.

A condição que vamos colocar é que o ator/sprite bola toque a trave por dentro (completando o gol).

E como vamos fazer isto???

Simples!!!

Utilizando o bloco SENSOR "TOCANDO NA COR".

Insira este bloco como condição da instrução "SE-ENTÃO-SENÃO", e clique na bolinha de cor para selecionar (usando a ferramenta CONTA-GOTAS) a cor de preenchimento da trave!!!

Desta forma:

SCRATCHinstrucoes2.png
SCRATCHinstrucoes3.png


Prontinho!! PMCsmile.png

Seria possível verificar se a bola entrou no gol também pelas posições X e Y do sprite na tela. Vamos testar isto mais para a frente.


Agora, dentro do bloco "SE-ENTÃO-SENÃO", vamos inserir as ações que deverão ocorrer quando a bola tocar o gol.

Para isto, arraste o bloco (substitua Olá por GOOOLLLL!!!) da Categoria APARÊNCIA. Também arraste o bloco "TOQUE O SOM Miau ATÉ O FIM", da Categoria SOM, trocando o som Miau, pelo som Goal Cheer, do Scratch, como mostrado abaixo: SCRATCHsesenao3.png"DIGA Olá POR 2 seg"

É necessário, após o gol, colocar a bola em uma posição inicial, de novo, para recomeçar o jogo.

Utilize o bloco "VÁ PARA posição aleatória", da categoria MOVIMENTO, para reposicionar a bola em qualquer lugar, ou troque posição aleatória por ponteiro do mouse.

Assim, logo depois do gol e da comemoração, a bola vai para onde o mouse do usuário está posicionado.

E também é MUITO importante, que o bloco de MOVIMENTO "SE TOCAR NA BORDA VOLTE" seja adicionado ao final do código, porque senão, toda hora, quando a bola "escapar" do palco, você vai ter que reposicionar a bola pelas suas coordenadas, X e Y, o que é muito chato!

SCRATCHsesenao1.png


A última coisa a fazer é decidir o que fazer, caso o chute não resulte em Gol!!???

Bom, o natural é mover a bola, né? Então, agora vamos inserir o código para a parte "SENÃO", da instrução.

Se a bola entrar na trave, faz tudo que foi descrito acima. SENÃO, move o ator Bola, 10 passos, com a instrução de MOVIMENTO:

SCRATCHsesenao2.png

Era isto!!!

Gostou???

Nossos programas estão ficando grandes, né??

Instrução REPITA

Às vezes há a necessidade de no Scratch você fazer com que um processo dure um certo número de vezes.

A estrutura de repetição REPITA faz com que as ações, dentro deste bloco, sejam realizadas uma determinada quantidade de vezes.

Para entendermos essa instrução, vamos criar um projeto simples, no qual nosso objetivo será fazer uma menina falar “Olá!” por 10 vezes, durante 1 segundo, para cada fala. Em seguida, depois desse processo, a menina deverá desaparecer da tela.

A primeira coisa a fazer é adicionar um cenário e um ator, no caso, uma Menina (pode também ser a sua foto!!!), ao programa. Veja o exemplo abaixo:

SCRATCHinstrrepita1.png

Em seguida, vamos arrastar os blocos "QUANDO BOTÃO IR FOR CLICADO" e "REPITA 10 VEZES", ambos da categoria Controle, e vamos encaixá-los, como mostra a imagem abaixo. Eu preferi mudar o número de iterações, ou loops, para 5 vezes:

SCRATCHinstrrepita2.png

Na aba "SONS", grave sua própria voz dizendo "Olá!". Esta é a gravação da minha voz, dizendo Olá, de forma simpática! PMCsmile2.png


SCRATCHinstrrepita3.png

Se preferir, mude o nome do som, na caixa de texto. Caso você não faça isto, o nome permanecerá como "recording1" (que significa "gravação1", em português).

Agora, acrescente dentro do bloco "REPITA", o bloco "TOQUE O SOM recording1 ATÉ O FIM". Quando você clicar no botão "IR", a menina deverá repetir seu Olá 5 vezes!

SCRATCHinstrrepita4.png


Depois disto, arraste os blocos "DIGA Olá POR 2 seg" (mude o tempo para 0.5 segundo), da categoria Aparência.

E fora do bloco "REPITA" adicione os blocos "PRÓXIMA FANTASIA", da categoria Aparência, e "DIGA Finalmente!", da categoria Aparência.

Vai ficar assim:

SCRATCHinstrrepita5.png

Agora, teste o seu programa.

O som e o texto "Olá" serão executados 5 vezes, como foi programado, e depois, a mocinha muda de imagem e de texto!

Instrução REPITA ATÉ QUE

Como visto na estrutura repita, às vezes há a necessidade de no Scratch você fazer com que um processo dure determinado número de vezes.

Mas também pode ser necessário que algo seja realizado continuamente, até uma ação acontecer!!! E o momento em que esta ação vai acontecer, por exemplo, o usuário resolver digitar uma tecla, não tem como ser previsto ou determinado, antecipadamente.

Por esta razão a estrutura de repetição "REPITA ATÉ QUE" é necessária!!! Ela faz com que as ações dentro deste bloco sejam interrompidas somente quando alguma ação, determinada, for realizada.

Para entendermos a diferença entre o "REPITA x VEZES" e o "REPITA ATÉ QUE" vamos usar o mesmo exemplo, da seção anterior.

Troque o bloco de Controle "REPITA 5 VEZES", do programa da menina, pelo bloco "REPITA ATÉ QUE".

Note que este tipo de bloco tem uma CONDIÇÃO, para ser executado! O anterior era condicionado a um número fixo de vezes. Já este terá que usar um bloco do tipo que existe nas Categorias "SENSORES" e "OPERADORES".

SCRATCHinstrptate.png

Vamos escolher o bloco "TECLA ESPAÇO PRESSIONADA?", da categoria SENSORES, e vamos encaixá-lo no campo de condição, do bloco "REPITA ATÉ QUE".

Pra que o programa não trave tanto (o que sempre acontece quando usamos muitos eventos), retire o bloco "DIGA OLÁ", e deixe só o de SOM.

Vai ficar assim:

SCRATCHinstrptate2.png

Quando você clicar no Botão IR, a menina começa a repetir o áudio "Olá" até que você pressione a tecla de Espaço. Note que pode ser que você precise pressionar várias vezes, até o Scratch perceber!!! PMCsmile2.png

Outras instruções

Outros comandos importantes são os "ESPERE ATÉ", "PARE COMANDO" e "PARE TUDO", ainda não mostrados.

O espere até, faz com que seus blocos pausem sua execução, até ocorrer algo no jogo. Depois que isso ocorre, a execução dos comandos volta a acontecer.

O pare comando vai parar todo o conjunto de blocos em que este comando foi inserido. E por fim, o pare tudo, vai fazer parar todos os blocos, de todos os objetos em nosso jogo. Este bloco é muito usado quando se deseja parar um jogo, depois que o jogador perde o jogo. Existem outros comandos da categoria Movimento, que são importantes de serem mostrados, envolvendo movimentos de rotação e movimentação em posições de x e y, sendo esses blocos o de vire graus à direita, vire graus à esquerda, vá para x y, vá para e deslize em segundos para x y: Como funciona cada bloco:

  • vire graus à direita  esse bloco faz com que seu objeto vire para a direita o número de graus indicados;
  • vire graus à esquerda  esse comando faz com que seu objeto vire para a esquerda o número de graus indicados;
  • vá para x y  neste bloco, você deve indicar um número para x e outro para y, e depois destas posições dadas, o seu objeto vai para as indicações dadas;
  • vá para  neste comando, você deve indicar para onde seu objeto deve ir (como por exemplo, o ponteiro do mouse);
  • deslize em segundos para x y  neste bloco, você deve indicar um número para x, outro para y, e outro para o tempo em segundo depois destas posições dadas, o seu objeto desliza neste tempo mencionado, indo para as indicações dadas;

Já os comandos a seguir, ainda da categoria Movimento, dizem respeito especificamente às posições x e y de um objeto, além de sua direção, sendo eles os blocos posição x, posição y, direção, mude x por, mude x para, mude y por e mude y para: Como funciona cada bloco:

  • posição x  este bloco captura a atual posição x de um objeto;
  • posição y  este comando captura a atual posição y de um objeto;
  • posição x  este bloco captura a atual direção de um objeto;
  • mude x por  neste comando, você deve indicar um valor para x, sendo que este número vai sempre incrementar o último valor da posição x;
  • mude x para  neste comando, qualquer valor que x possua, será substituído pelo número indicado no bloco para a posição x;
  • mude y por  neste bloco, você deve indicar um valor para y, sendo que este número vai sempre incrementar o último valor da posição y;
  • mude y para  neste bloco, qualquer valor que y possua, será substituído pelo número indicado no comando para a posição y;



<< AULA 4 - Criando e alterando cenários AULA 5 - Trabalhando com instruções AULA 6 - Usando Variáveis >>

<< Página do Curso de Scratch