Saltar para o conteúdo

Introdução à Programação com Scratch/Escrevendo um primeiro programa

Fonte: Wikiversidade

Primeiro Programa

[editar | editar código-fonte]

Este exemplo foi retirado de http://www.digitalartforall.com/790/scratch-making-a-simple-game/

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

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

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


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

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