7
respostas

[Bug] Raquete do Oponente para quando chega na borda superior

Então, fiz a introdução do constrain tanto na minha raquete (que deu super certo), tanto na raquete do oponente (que deu errado). Quando ela desce e bate na borda inferior, ela volta normalmente, mas quando ela vai para a superior, ela pausa uns segundinhos antes de voltar.

  • Código da função utilizada para "Minha Raquete"

function mexerRaqueteA() {

if (keyIsDown(UP_ARROW)) {yRaqueteA -= 10 }

if (keyIsDown(DOWN_ARROW)) {yRaqueteA += 10 }

yRaqueteA = constrain (yRaqueteA, 10, 330)

}

  • Código da função utilizada para "Raquete do Oponente"

function movimentaRaqueteB () { velocidadeB = yBolinha - yRaqueteB - largura/2 - 60; yRaqueteB += velocidadeB yRaqueteB = constrain (yRaqueteB, 10, 330) }

Além disso, se eu retirar o constrain, além de passar da borda, dependendo do valor que eu coloque na conta para movimentar a raquete do oponente, ou eu não consigo fazer pontos pois a movimentação da raquete do oponente tá muito parecida com a da bolinha (se eu colocar um número baixo), ou a bolinha para antes de chegar na borda inferior (se eu colocar um número alto)

  • Código que não consigo fazer pontos (sem constrain)

function movimentaRaqueteB () { velocidadeB = yBolinha - yRaqueteB - largura/2 - 30; yRaqueteB += velocidadeB }

  • Código que a bolinha para antes de chegar na borda inferior (sem constrain)

function movimentaRaqueteB () { velocidadeB = yBolinha - yRaqueteB - largura/2 - 80; yRaqueteB += velocidadeB }

7 respostas

Oi Isabella, tudo bem com você?

Sinto muito que está com esse erro.

Pode compartilhar o link do seu projeto? Assim consigo te ajudar de forma mais detalhada e ter uma visão mais completa sobre o que está ocorrendo.

Para compartilhar o seu projeto do p5.js, você precisa seguir os seguintes passos:

1: Você precisa clicar na opção: "Arquivo" que está ao lado do logo do p5.js e acima do seu projeto e clicar em: "Compartilhar" .

Imagem do p5.js com a aba arquivo aberta e a opção "compartilhar" destacada

2: Se você quiser compartilhar apenas o resultado do seu projeto,precisa copiar o link que esta em "Tela Cheia". Agora, se você quiser compartilhar o projeto com o código dele junto, precisa copiar o link que está em "Editar"

p5.js:tela compartilhar com as opcões "tela cheia" e "editar" destacadas

Espero ter conseguido ajudar! Se surgir mais dúvidas, estou a disposição.

Abraços e bons estudos!

Oi, Maria, tudo bem?

Desde já agradeço por usar seu tempo para me ajudar! Envio em anexo o link do projeto. Estarei concluindo ele agora na última aula do módulo e vou tentar resolver essa situação enquanto isso, mas agradeço qualquer auxílio.

[https://editor.p5js.org/Bellaesp/sketches/C6ZSr8dO4]

inclusive, acabei o curso e ao final tinha o código para aumentar as chances de errar... e não funcionou também... essesbugs que me deixaram um pouco perdida. Fora isso, consegui aproveitar bem o conteúdo todo

Oi Isabella, tudo bem?

Sinto muito que está enfrentando esses problemas. Fui tentar acessar o link do seu projeto, e não está disponível. Pode tentar enviar novamente?

Será um prazer te ajudar, estou no aguardo!

Oi Maria, tudo bem e contigo? Envio em anexo novamente o link https://editor.p5js.org/Bellaesp/sketches/C6ZSr8dO4

obrigada pela atenção

Oi Isabella, tudo bem?

Testei seu projeto agora, e pelo que vi a raquete do oponente não está pausando na parte inferior. Acredito que você conseguiu arrumar, parabéns!

Gostei demais também da estilização que você fez no projeto, com uma música de sua escolha. Parabéns pela criatividade!

Se surgir mais dúvidas, fico à disposição.

Abraços e bons estudos!

Então, na verdade eu não consertei, pois o problema é o seguinte: Se eu deixo do jeito que tá, fica impossível de marcar um ponto. Porém se eu tento consertar para conseguir marcar pontos, ele começa a pausar na parte inferior.

Quanto a música, os arquivos da aula, por algum motivo, deram erro no computador, aí tive que colocar a que tinha no computador só para continuar a prática mesmo haha

então assim, ainda tem algum problema acontecendo no código que eu não consegui resolver.

Olá Isabella, como está?

Compreendi a sua dúvida e vou te auxiliar a solucionar essa questão.

Ao analisar o seu código, identifiquei alguns possíveis erros que podem estar afetando o comportamento do jogo:

Na aula Importando outra biblioteca o instrutor introduz uma técnica para verificar colisões, importando a biblioteca p5.collide2d.js. No entanto, notei que essa biblioteca não está sendo utilizada no seu código. Após efetuar alguns testes, percebi que quando essa biblioteca é implementada, o jogo passa a registrar os pontos corretamente. Minha sugestão é que você assista a essa aula novamente e aplique a importação da biblioteca no seu código. Isso provavelmente resolverá o problema dos pontos não serem marcados contra o oponente.

No que diz respeito à chance de erro da raquete do oponente, você possui a flexibilidade de realizar ajustes na função calculaChanceDeErrar(). Experimente fazer variações nas chances de erro até encontrar o equilíbrio que mais lhe agradar.

Além disso, recomendo que prossiga com o curso e assista à aula Multiplayer. Isso permitirá que você jogue o jogo com outras pessoas, tornando-o ainda mais desafiador e interessante.

Caso ainda persistam dúvidas, eu criei uma cópia do seu projeto e implementei as modificações mencionadas. Você pode utilizá-la como referência caso surjam questionamentos. Aqui está o link para o projeto: Projeto Modificado. Verifiquei que o projeto está funcionando conforme esperado, com a marcação de pontos correta.

Espero sinceramente ter conseguido fornecer a ajuda necessária. Fico à disposição para qualquer esclarecimento adicional.

Desejo a você ótimos estudos e sucesso no desenvolvimento do seu jogo!

Abraços e bons estudos!