• Nenhum resultado encontrado

graus (da função Movimento); clique na caixinha para digitar os graus (90) e, dentro desse comando, vá à

No documento Programação para leigos com Raspberry Pi (páginas 94-104)

DESENVOLVIMENTO DO APLICATIVO NÍVEL MÉDIO

direção 90 graus (da função Movimento); clique na caixinha para digitar os graus (90) e, dentro desse comando, vá à

função Operadores e arraste o comando Escolha um número entre 1 e 10; digite 180 no lugar do 10. Veja o resultado na Figura 55.

Figura 55 – Primeira Função do personagem Bola

Agora vamos definir o placar para dois jogadores (serão duas variáveis). Para isso selecione a função Variáveis, clique em Criar uma variável e digite Player 1; faça o mesmo para Player 2. Lembre-se que as variáveis só serão criadas para a bolinha de pingue-pongue, as mesmas servirão de contador para o placar do jogo. Deixe marcadas as duas caixas de verificação ao lado das variáveis (ver Figura 56) para que elas apareçam no Palco; arraste-as no Palco para colocá-las na posição que você deseja. As duas variáveis (que representam o placar de cada jogador) devem começar o jogo valendo zero. Para isso, arraste duas vezes o comando mude Player para 0 para o script; mude a primeira instrução para o Player 1 e para 0 (zero); mude a segunda instrução para o Player 2 e para 0 (zero). Arraste também a instrução espere 1 seg da função Controle e altere o tempo para 1.5 segundos. Deixe tudo como a Figura 56.

Figura 56 – Placar: variáveis contadoras de pontos

O jogo deve durar até que um dos jogadores (Player 1 ou Player2) atinja 5 pontos. Para isso, arraste para o script o comando Repita até que que se encontra nas funções Controle. Há um hexágono após o até que: arraste o operador ou para o hexágono (também da função Controle); agora passamos a ter dois hexágonos. Arraste o operador = para o primeiro hexágono. Para a primeira caixinha do ou arraste o Player 1 (da função Variáveis); na segunda caixinha, digite 5. Repita o procedimento para o Player 2: arraste o operador = para o segundo hexágono; para a primeira caixinha do ou arraste o Player 2 (da função Variáveis); na segunda caixinha, digite 5. Veja como deve ficar na Figura 57.

Figura 57 – Comandos de decisão

Dentro do comando Repita até que ocorrerá a maior parte da lógica do projeto. A bolinha deve voltar toda vez que encostar na borda; se não colocarmos esse comando, a bolinha ficará presa na borda, sem voltar ao jogo. Para isso, arraste para a abertura do Repita até que o comando Se tocar na borda, volte (da função Movimento): esse é um comando de decisão que realiza uma única instrução: voltar. A instrução seguinte Mova 7 passos (também da função Movimento) será sempre executada, mesmo se a bolinha não tocar na borda. Veja a Figura 58.

Figura 58 – Comandos de decisão I

Ainda dentro da abertura do Repita que vamos colocar a reação da bolinha quando encostar na raquete (cor preta). Arraste a instrução Se... então (da função Controle); arraste a instrução Tocando na cor ? para o hexágono; coloque a cor preta na caixinha (ver Figura 59). Para selecionar a cor dentro da caixinha, clique sobre a cor que está

palco.. Tocando na cor preta, a bolinha deve voltar. Para programar isso, faça o seguinte: arraste a instrução Aponte para a direção... graus (função Movimento); arraste em seguida o operador menos (função Operadores) para a elipse com o valor dos graus (ficamos agora com duas elipses para preencher); para a primeira elipse, arraste a instrução direção (da função Movimento); na segunda elipse digite 180 (ver Figura 59).

Queremos que, na volta, a bolinha faça um movimento aleatório para sua trajetória ficar imprevisível e o jogo ficar mais movimentado. Arraste a instrução gire... graus (da função Movimento); depois arraste o operador Escolha número entre... e... (da função Operadores); digite - 20 na primeira elipse e 20 na segunda (ver Figura 59). Em seguida queremos que a bolinha ande naquela direção: arraste a instrução Mova... passos (função Movimento) e digite 10 na elipse. Confira o bloco completo de instruções na Figura 59.

Figura 59 – Comandos de decisão III

Se a bolinha tocar nos limites do palco (ver Figura 60) devemos marcar ponto para o adversário e voltar a bolinha para o centro do palco. Para isso, arraste novamente os comandos Se... então e Tocando na cor... (como feito na

Figura 60); coloque a cor azul. Esse comando deve ficar logo abaixo do Se da Figura 60, ainda dentro do Repita até. Agora arraste a instrução Adicione a... (da função Variáveis) para dentro da abertura do Se... então; selecione Player 1 para a variável a ser somada (ver Figura 60). Arraste instrução Espere... seg (função Controle); digite 2 para os segundos. Arraste Vá para x:... y:... (função Movimento) e digite 0 para ambos. Confira com a Figura 60.

Observe, pela Figura 60, que as instruções para a contagem do Player 2 são quase idênticas. Repita, portanto, os passos do parágrafo anterior, trocando apenas o player e a cor.

Quando qualquer um, Player 1 ou Player 2, atingir 5 pontos, o programa sairá do comando Repita até que, pois é isso que esse comando controla. Aí precisamos ver quem fez os 5 pontos. Para isso, arraste outra instrução Se... então, senão... (da função Controle) para depois do comando Repita até que. Arraste para o hexágono do Se... o operador = (da função Operadores); para a primeira caixinha do = arraste o Player 1 (da função Variáveis); na segunda caixinha, digite 5. Você fez algo parecido na

Figura 57. Confira com a Figura 61.

Agora arraste para a primeira abertura do Se... então, senão... a instrução Diga... por... segundos; digite “Player 1 Campeão!!!” e 2 na caixinha de segundos. Clique com o botão direito sobre esta instrução e, no menu popup, clique em Duplicar. Arraste a instrução duplicada para a abertura do Senão e clique novamente para soltar a instrução copiada; digite “Player 2” no lugar do “Player 1”.

Esses são os comandos definidos para o ator bolinha. A visão completa do seu script está mostrada na Figura 62. Como temos três atores no palco (a bolinha e duas raquetes), precisamos escrever os scripts das raquetes.

As raquetes só poderão se movimentar para cima e para baixo. A primeira utilizará as teclas W para subir e S para descer; a segunda utilizará as teclas Seta para cima para subir e Seta para baixo para descer. Precisamos de dois blocos de comandos para cada raquete. A programação da primeira raquete está mostrada na Figura 63.

Você já viu os comandos Quando clicar em e Vá para x:... e y:... na Figura 40 e Figura 41 e o comando Sempre na Figura 44. O conjunto de comandos a seguir programa a raquete para subir quando pressionada a tecla W. O comando Se... então foi visto na Figura 60, mas aqui temos novidades: para o hexágono arraste o comando Tecla... pressionada (da função Sensores) e selecione W para a tecla; dentro da abertura do Se... então entrarão duas instruções: Adicione... a y (da função Movimento) e outra Se... então. Digite 15 na primeira instrução; isso modifica a posição da raquete, fazendo-a subir, pois aumenta o valor de sua coordenada y. Como a raquete subiu, a instrução seguinte Se... então verifica se ela tocou na borda: arraste o comando Tocando em... ? (da função Sensores) para o hexágono e selecione borda. Arraste outra instrução Vá para x:... e y:... para a segunda Se... então e digite - 42 e 11. Confira pela Figura 63.

O outro conjunto de instruções programa a raquete para descer quando pressionada a tecla S e verifica se tocou na borda de baixo. Você pode duplicar todo o conjunto: clique na instrução Se... então com o botão direito e depois em Duplicar. Arraste a instrução duplicada para baixo do Se... então, ainda dentro do Sempre e clique para soltá-la. Faça as alterações devidas: selecione S no lugar do W; digite -15 no

lugar do 15; digite -293 no lugar do 11. Confira tudo pela Figura 63.

Figura 63 – Comandos do Player 1

Observe que, mantendo constante o valor de x em -42 e variando o y, a raquete só se movimenta na vertical (para cima e para baixo).

Para o Player 2 as únicas mudanças são: as teclas Seta para cima e Seta para caixo e as posições x e y da raquete, como

mostra a Figura 64. Como o grupo de instruções é parecido, você pode duplicá-lo: clique com o botão direito na instrução Quando clicar em... e selecione Duplicar: todo o grupo de instruções “encaixadas” será duplicado. Arraste o grupo de instruções para a área Atores e clique para soltá-lo em cima do ator Raquete 2. Clique agora sobre o ator Raquete 2 para que o seu script (o duplicado) seja mostrado. Altere as teclas e as posições x e y, conforme mostrado na Figura 64.

Figura 64 – Comandos do Player 2

DESENVOLVIMENTO DO APLICATIVO -

No documento Programação para leigos com Raspberry Pi (páginas 94-104)