Você está na página 1de 17

Pong no Scratch II

Aula 2
Pensamento
Computacional

Série: 1ª EM

Tema: Pong no Scratch II

Aula 2

2
O que vamos aprender?

Criar mais um jogador no Pong, que será


o nosso adversário;

Criar um sistema de pontuação;

Elaborar um sistema para detectar a


colisão entre a bolinha e a raquete, logo
após, adicionaremos sons ao jogo.

Acompanhe o vídeo da aula

3
O jogo Pong
Depois que nós criamos e programamos os atores,
podemos perceber que a raquete do jogo Pong não
realiza a colisão com a bolinha. Também não temos
um sistema de pontuação que seja justo e nem um
adversário contra quem jogar.
Há a possibilidade de jogar contra algum colega ou
conseguiríamos outro oponente? Essa e outras
questões são importantes e fazem parte do
pensamento computacional, que é a maneira como
elaboramos estratégias para montar um jogo, por
exemplo.

4
Raquete do oponente
Para produzir a raquete do oponente, ou adversário, podemos duplicar a raquete anteriormente criada.
Podemos fazer isso clicando com o botão direito do mouse no ator “raquete” e escolher a opção
“Duplicar”. Mas, ao fazer isso, os códigos referentes à primeira raquete serão duplicados. Portanto,
devemos arrastar esses códigos à área esquerda, onde estão os demais.

5
Raquete do oponente
Agora que temos dois atores “raquete” com o mesmo design, podemos iniciar a programação. Se a raquete do
oponente se movimentar seguindo a mesma direção da bolinha no eixo “y”, o oponente sempre vai rebatê-la.
Para conseguir ver a posição “y” do outro ator, precisamos gerar uma variável que precisa ser vista por todos
os atores.

6
Raquete do oponente
Com a criação da variável, podemos desenvolver o algoritmo. A posição “x” da raquete do oponente deve
estar no lado direito do palco. Para isso, a variável “x” deve estar próxima ao valor 240. Na direção “y”, a
raquete do oponente deve acompanhar o movimento da bolinha. Essa informação está armazenada no
comando “posição y da bolinha” , elaborada por nós.

Insira os seguintes comandos:


● Adicione o bloco de controle “sempre”;

● Incorpore um bloco “deslize por 0 segs. até x:


220 e y”: “posição da bolinha”;

● Confirme a condição inicial de “vá para x: 220


y:0”.

7
Posição “y” do ator “bolinha”
Se nós apertarmos na bandeira verde , a raquete do oponente ainda não funcionará como deveria.
Isso ocorre porque precisamos adicionar uma referência à bolinha. Para tanto, devemos clicar no ator
“bolinha” e acrescentar os seguintes comandos:

● Adicione o bloco “mude minha variável para


0“;

● Selecione a opção “posição y da bolinha”;

● Substitua o valor de “0” para posição y


(penúltimo bloco de movimento);

8
Efeito de colisão
Embora todos os atores funcionem, mesmo assim, falta uma parte importante do jogo: o
que acontece depois da colisão entre a raquete e a bolinha. Então, precisamos desenvolver
um comando que simule a seguinte situação: sempre que a bolinha encostar na minha
raquete ou na raquete do oponente, ela inverta a direção do seu movimento. Para isto
acontecer, selecionaremos o ator “bolinha” e desenvolver o seguinte código:

● “Sempre” que “se” tocar na “minha


raquete” ou tocar na “raquete do
oponente”, a direção do movimento
inverte. Aplicar uma multiplicação por -1
durante o processo.

Lembrando que o bloco “ou” e o bloco “*” estão


localizados em Operadores.

9
Pontuação
Com as raquetes prontas, nós podemos criar um sistema de pontuação. Para que nosso jogo seja
igualitário, ou seja, não beneficie apenas um dos jogadores, precisamos desenvolver um algoritmo. Um
dos pré-requisitos é criar duas variáveis.

Da mesma maneira que criamos a “posição y da bolinha”, nós


vamos desenvolver outras duas variáveis:

● “Meus pontos”;

● “Pontos do oponente”.

10
Pontuação
Nosso algoritmo deve ser desenvolvido para que sempre que a bolinha passar da raquete e atingir a
região vermelha, conta como uma pontuação ao oponente. Da mesma maneira, se a bolinha
movimentar-se da raquete do oponente e acertar a região laranja, isso conta um ponto para o
jogador.
● Para representar as regiões vermelha e laranja,
é necessário utilizar novamente a coordenada
“x”.

● O valor atribuído a “x” pode variar de acordo


com cada projeto;

● Sempre que a posição da bolinha no eixo “x”


for menor que -228, o oponente marca 1
ponto;

● Já no caso que a posição da bolinha no eixo “x”


for maior que 228, o jogador é quem marcará 1 Em destaque: região vermelha de pontuação do
ponto. oponente e região laranja, de pontuação do jogador.

11
Pontuação
Com a “bolinha” selecionada, vamos programar o código: sempre que a posição “x” da bolinha for maior que
228, deve ser adicionado “1” aos “meus pontos”; toda vez que a posição “x” da bolinha for menor que -228,
deve ser inserido “1” aos “pontos do oponente”. Deve ser incluído um bloco de “espera 0,5 seg” para evitar
duplicação na pontuação.
Essas lógicas são descritas com uso dos comandos a seguir:

Os comandos que representam a região Os comandos que representam a


laranja: região vermelha:

12
Pontuação
Após colocar os códigos e jogarmos novamente, acontecerá um problema (chamado de bug, em inglês): a
pontuação não será reiniciada. Isso ocorre pois ainda não programamos essa etapa.

Para corrigir esse erro, selecione o ator


“bolinha”, clique em “variáveis” e adicione as
condições iniciais:
● Esconder a variável “posição y da
bolinha”;
● Mudar “meus pontos” para 0;
● Modificar “pontos do oponente” para
0.

13
Sons do jogo
Para que o nosso jogo fique completo, vamos incorporar “sons” para quando um ponto for marcado e as
raquetes acertarem as bolinhas. No canto superior esquerdo, na “bolinha”, há a opção ”Sons”, clique
nela e, em seguida, em “Selecionar um Som”.

14
Sons do jogo
Vamos escolher os sons da pontuação, da raquete colidindo com a bolinha e a trilha sonora.

15
Nomear o jogo e compartilhar
Ao finalizar, você pode dar um nome ao seu projeto e compartilhar com os colegas para que também
possam jogar. Lembre-se que o scratch é público, portanto, outras pessoas podem acessar seu jogo,
basta você divulgar!

● Para compartilhar o projeto, adicione um nome


que represente o jogo e clique no botão laranja
“Compartilhar”.

● Caso você tenha uma conta de aluno, clique em


“Adicionar ao Estúdio” da sua turma.

16
Desafio
Agora que seu jogo está compartilhado,
você precisa ensinar outras pessoas como
jogar. Quais teclas devem utilizar? Existe
alguma regra? Pense nas respostas e
coloque essas informações na seção
“Instruções”.

Agradeça alguém por ter te ensinado a


desenvolver esse projeto. Elabore um
pequeno texto sobre esse processo e
coloque na seção de “Notas e Créditos”.

17

Você também pode gostar