Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

[Dúvida] Dúvidas para melhorar o Jogo

Eu estou com 2 dúvidas. O meu jogo funcionou perfeitamente, consigo controlar a minha raquete com as setas e o oponente está se movendo, a pontuação está sendo definida de forma exata, tudo está indo como foi ensinado. Porém mesmo assim fiquei com 1 problema e 1 curiosidade.

1) Eu consigo sair da tela com a minha raquete, no caso, se eu colocar toda a setinha para baixo, a minha raquete some, eu queria saber se teria como colocar um limite, para que a raquete sempre esteja vísivel na tela, e não tenha como sair.

2) Eu queria saber se teria como fazer com que ao invés da bolinha bater no canto da tela e voltar, que ela saísse para fora (marcando o ponto) e recomeçasse no centro. Qual seria o uso de códigos exato para fazer isso? No Scratch

4 respostas

Olá Douglas, tudo bem?

Estas são ótimas perguntas!

Sim é possível realizar ambas as situações que apresenta. porém, para ambos os casos, peço que por gentileza compartilhe o link do seu projeto conosco. Dessa forma posso analisar o seu código na totalidade e simular as situações de forma a explicar como realizar para o seu projeto, contando que cada projeto possui sua própria individualidade.

Para enviar o link do seu projeto é só seguir os passos abaixo:

1. Com o projeto aberto na parte superior da tela ao centro, clique em compartilhar;

Captura de tela colorida do Scratch mostrando no lado esquerdo uma barra com o nome do arquivo “Movimento Browniano” e ao lado direito um botão retangular laranja escrito “Compartilhar”. O fundo da imagem é azul claro.

2. Você será redirecionada para outra página, nela clique no canto inferior direito em “Copiar link”, que está ao lado do botão “Adicionar ao Estúdio” ;

Captura de tela colorida  do Scratch mostrando no lado esquerdo um botão azul claro escrito “Adicionar ao estúdio” e ao lado direito outro botão azul claro escrito “Copiar Link”.

3. Cole o link do projeto aqui no fórum da Alura;

Fico à disposição.

Tenho um bom dia e bons estudos.

Boa noite, desculpa pela demora kk

Mas o meu projeto do Scratch está aqui.

Segue o link com o meu projeto do Scratch: https://scratch.mit.edu/projects/817154330

solução!

Opa Douglas, como vai?

Obrigado por compartilhar seu projeto, vamos nessa!

Quanto a raquete sair da tela, faremos alterações nas duas raquetes, na raquete do jogador usaremos o seguinte código:

Início da transcrição. Imagem de um código do scratch que limita o movimento da raquete na tela. Fim da transcrição.

  • Adicionaremos mais um limitador para que ocorra o movimento, nesse caso o limitador será a posição em que a raquete se encontra, assim evitaremos que ela passe da tela.
  • Sendo assim, precisamos que quando a posição y seja menor que o limite visual da tela o movimento aconteça. Para isso adicionaremos 2 operadores (blocos verdes), o bloco “e” para que a condição de movimento seja limitada por mais de um fator e o bloco “maior/menor”para definir o espaço em que a raquete pode se movimentar.
  • Limitamos o movimento para entre 121 e -121, este é o espaço em que a raquete permanece visível na tela. Para isso quando a posição for menor que 121, adicionaremos 10 para Y e quando a posição for maior que -121 adicionaremos menos 10 para Y.

Para a raquete do oponente usaremos o código abaixo, onde retornamos a raquete para dentro da tela quando ela chega perto de sair:

Inicio da transcrição. Imagem de um código do scratch que limita o movimento da raquete do oponente na tela. Fim da transcrição.

  • Adicionamos o bloco “se” , ele definirá uma condição, a qual verificará se a posição y da raquete está fora da tela;
  • Incluímos o operador e os valores “posição y menor que -121” como condição para o bloco “se", sendo assim a partir desse ponto a nossa condição vai ser ativada;
  • Por fim colocamos como ação o bloco de movimento “mude y para -110” para retornar a raquete do oponente para a tela.

Segue projeto funcionando para raquete ficar presa:

No segundo caso, podemos definir que ao marcarmos ponto, ou seja, a bolinha ultrapasse a posição da raquete, a nossa bolinha volte para posição x e y 0. Para isso usaremos os blocos mude x para 0 e mude y para 0:

Tela com 2 blocos de código do Scratch referentes a pontuação dos jogadores

Dessa forma teremos o efeito desejado, você pode verificar o resultado aqui:

Fico à disposição.

Tenha um bom dia e bons estudos.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Muito Obrigado Gabriel

Agora eu estou totalmente satisfeito kkkk