Olá, Roberto, tudo bem?
Analisei o seu código e identifiquei alguns erros que está gerando esse comportamento.
Ao chamar a função verificacolisaoraquete
na função draw()
você troca as posições dos argumentos, passando o x no lugar do y, e o y no lugar do x. É imprescindível passar as posições corretamente, pois no código da função haverá instruções diferentes para cada uma delas.
Além disso, você chama a função duas vezes com os mesmos argumentos (yraquete, xraquete). O correto é chamar a função duas vezes e em cada chamada com argumentos correspondentes ao x e y da raquete do jogador e o x e y da raquete do oponente.
O chamada da função verificacolisaoraquete
na função draw()
ficará assim:
verificacolisaoraquete(xdaraquete, ydaraquete);
verificacolisaoraquete(xraquete, yraquete);
Por fim, como você optou utilizar a biblioteca do p5 para verificar a colisão da bolinha com a raquete, é necessário comentar o código antigo responsável pelo mesmo comportamento, mas que não utiliza a biblioteca na função draw()
, ou até mesmo apagar. No seu programa é a função verificaColiraque()
.
Na função draw
, o comentário do código ficará asssim:
//verificaColiraque ();
Espero ter ajudado.
Caso surja dúvidas, estou à disposição.
Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!