Introdução à Programação com Scratch/Escrevendo um primeiro programa
Primeiro Programa
[editar | editar código-fonte]Este exemplo foi retirado de http://www.digitalartforall.com/790/scratch-making-a-simple-game/
Parte I
[editar | editar código-fonte]Você deverá selecionar o seu personagem, o pano de fundo e poderá personalizar algumas ações.
1. Escolha um pano de fundo e um personagem.
Clique na aba "Stage" e importe um pano de fundo do Scratch ou desenhe o seu próprio. Apague o gato (botão direito e "delete") e crie o seu próprio personagem ou importe algum da galeria. Após criar o personagem, ele poderá ser modificado. Por exemplo, tente alterar a cor do personagem.
2. Mova o personagem usando as setas do teclado. Utilize o script abaixo para mover o personagem a cada vez que a seta é pressionada. Um bloco interessante neste exemplo é o "Point block", relacionado à direção do movimento. Se não quiser que o personagem rotacione, inclua o bloco "Do not rotate".
when up arrow key pressed
point in direction 0
move 10 steps
when down arrow key pressed
point in direction 180
move 10 steps
when left arrow key pressed
point in direction -90
move 10 steps
when right arrow key pressed
point in direction 90
move 10 steps
Parte II
[editar | editar código-fonte]1. Crie um novo Sprite (comida) para o caracter poder comer. Você pode desenhar algo e nomeá-lo "comida".
Defina posição do personagem e da comida, faça a comida desaparecer quando for ingerida e faça o personagem indicar que ele comeu a comida.
2. Defina a posição da comida usando as coordenadas xy. Faça-a desaparecer (ser comida) quando tocada pelo personagem. Os comandos a seguir mostram como definar as coordenadas da comida e fazê-la desaparecer quando o personagem tocá-la. Basta usar os blocos "Look": "Hide/Show". Além disso, o personagem emite a mensagem "comido" ou a mensagem de sua preferência quando ele comer a comida.
Para a comida:
when clicked
set y to 150
set x to 150
show
wait until touching Fish1
hide
broadcast eaten
Acrescentar aos comandos do personagem:
when clicked
set y to 0
set x to 0
say Hello! for 2 sec
when I receive eaten
say nhami for 1 sec
Parte III
[editar | editar código-fonte]Nesta etapa vamos acrescentar o uso de números aleatórios. Cada vez que o jogo é jogado, a comida estará sempre no mesmo lugar. Ao invés de pegarmos as coordenadas xy, vamos fazer com estas coordenadas sejam selecionadas aleatoriamente.
Vamos, então, atualizar o programa da comida. Ela desaparecerá e aparecerá após esperar por alguns segundos. Na aba "Scripts" do objeto Comida.
when clicked
forever
set x to pick random -240 to 240
set y to pick random -170 to 170
show
wait until touching Fish1?
broacast Fui comido!
hide
wait 1 secs
Use a mensagem "broadcast" para mudar o personagem. O exemplo abaixo mostra o personagem engordando, alterando sua cor. Neste caso é preciso voltá-lo ao estado original.
Na aba "Scripts" do objeto Fish1:
when clicked
set size to 50%
clear graphic effects
set x to 0
set y to 0
when I receive I got eaten
change size by 10
change color effect by 25
say nhami for 2 secs
Parte IV
[editar | editar código-fonte]Você pode usar scripts similares ao da Comida para criar um inimigo, por exemplo, um tubarão. Após o tubarão aguardar e tocar o peixe, ele pode enviar uma mensagem dizendo que o jogo terminou. O Sprite "Fim do Jogo" escuta a mensagem, aparece na tela e encerra o jogo. Neste exemplo, o tubarão move-se lentamente no tanque, começando em uma posição aleatória e depois caminhando até as bordas.
Na aba "Scripts" do objeto Tubarão:
when clicked
forever
set x to pick random -240 to 240
set y to pick random -170 to 170
show
wait until touching Fish1?
broacast hahaha te peguei!
when clicked
point in direction pick number 1 to 90
forever
move 1 steps
if on edge, bounce
Crie um sprite chamando "Fim de Jogo" e faça-o parar o jogo quando o Tubarão tocar o peixe e a mensagem for recebida. Neste exemplo, o jogo também encerrra se o tempo extrapolar um determinado limite.
when clicked
hide
wait 30 secs
show
stop all
when I receive hahaha te peguei!
show
stop all
Parte Final
[editar | editar código-fonte]Se existir um jeito definitivo de ganhar o jogo, por exemplo, pegando toda a comida (neste caso define-se um limite de 4), então outro Sprite aparecerá "Você venceu!". Para contar a comida ingerida, crie uma variável chamada "contador" e use-a como no script abaixo:
Na aba "Scripts" do objeto Você venceu!:
when clicked
hide
set count to 0
wait until count=4
show
stop all
when I receive Fui comido!
change count by 1