3
respostas

BUG NO PONTO DO OPONENTE

o jogo marca o ponto do oponente apenas uma vez.

esse foi o código que criei na guia da bolinha

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidade

3 respostas

Oi, Vinicius! Tudo bem?

Com base nas imagens acima, o que pode estar acontecendo se deve ao número atribuído à posição x da bolinha para atingir a parede (borda), no código responsável pela pontuação. Pois, a ausência de pontuação pode indicar que esse parâmetro definido não está sendo atingido.

Note que esse parâmetro é definido como -228 para a pontuação do oponente, podemos, então, testar um novo valor de 2 maneiras: na primeira, podemos apenas ir adicionando 1 à esse valor e testando se a pontuação está funcionando.

Já na segunda, podemos testar a posição x da bolinha para atingir a parede da seguinte forma: clicaremos na bolinha e a moveremos até uma posição em que ela esteja na iminência de encostar na parede. Ao fazermos isso, abaixo da nossa tela nos será fornecido qual a localização atual de x e y da bolinha, como podemos visualizar na imagem abaixo, como exemplo:

Captura de tela do Scratch. Na parte superior da imagem: um retângulo com cor preta de fundo em que ao seu canto esquerdo se localiza um retângulo branco seguindo abaixo por um circulo branco. Na parte inferior da imagem: informações escritas, seguidas uma ao lado da outra, de acordo com o sentido da esquerda para a direita: Ator: Bola, x: -226, y: -145, Palco.

Dessa forma, a posição x indicada por meio desse teste será a posição que deveremos adotar como parâmetro no código responsável pela pontuação.

Entretanto, caso a solução apresentada não funcione, peço que me mande o link do seu jogo, para que eu possa ter o acesso geral ao código, sendo mais fácil identificar o problema e sendo possível testar soluções.

Espero ter ajudado!

Um forte abraço e bons estudos!

Caso este post tenha te ajudado, por favor, marcar como solucionado ✓

Boa noite sarah, tudo bem? ainda não consegui resolver esse problema, meu jogo esta quase pronto, porem não esta marcando pontos :(, vou enviar o link para você, pode me ajudar?

https://scratch.mit.edu/projects/788584930

espero que consiga me ajudar! desde ja, agradeço!

Oi, Vinicius! Consegui ter acesso ao seu jogo, obrigada por compartilhá-lo novamente!

O nosso problema está ocorrendo pois, no bloco de código responsável pela pontuação, os parâmetros da posição x da bolinha necessários para pontuar (posição x < -229 e posição x > 229) estão muito elevados.

Para resolvermos esse problema, basta diminuirmos esse valor. Podemos usar os valores -225 e 225, por exemplo.

Todavia, poderemos observar um novo bug, a pontuação duplicada, que para solucionarmos basta adicionar um comando que faça com que após a bolinha ultrapassar as posições -225 e 225 do seu eixo x, o programa espere 0.3 segundos (tempo suficiente para a bolinha sair dessa posição) para então pontuar.

Dessa forma, deixaremos essa parte do nosso código da seguinte maneira:

Captura de tela do Scratch. Plano de fundo branco com dois bloco de códigos coloridos ao centro, um ao lado do outro. O bloco de códigos localizado à esquerda possui os seguintes comandos, seguindo a ordem de cima para baixo: quando bandeira verde for clicado, sempre, espere até que posição x < -225, espere 0.3 segundos, adicione 1 a oponente, toque o som ponto. O bloco de códigos localizado à direita possui os seguintes comandos, seguindo a ordem de cima para baixo: quando bandeira verde for clicado, sempre, espere até que posição x  > 225, espere 0.3 segundos, adicione 1 a pontos meus, toque o som ponto.

Espero ter ajudado! Caso tenha ficado alguma dúvida, sinta-se a vontade em comunicar, estou à disposição!

Um forte abraço e bons estudos!

Caso este post tenha te ajudado, por favor, marcar como solucionado ✓