Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Oi oi, Pedro! Como você está?
Verifiquei seu código e observei que você colocou a função para o movimento do oponente e do jogador com o mesmo nome, e provavelmente foi isso que gerou o conflito. Olha só
function draw() {
background(0)
mostraBolinha();
movimentaBolinha();
verificaColisao();
mostraRaquete(xRaquete, yRaquete);
movimentaRaquete(); //aqui a função
colisaoRaqueteOponenteBiblioteca(xRaquete, yRaquete);
mostraRaquete(XRaqueteOponente, YRaqueteOponente);
colisaoRaqueteOponenteBiblioteca(XRaqueteOponente, YRaqueteOponente);
}E aqui as funções de movimentação das raquetes:
function movimentaRaquete() { //mesmo nome
if(keyIsDown(UP_ARROW)) {
yRaquete -= 10;
}
if(keyIsDown(DOWN_ARROW)) {
yRaquete += 10;
}
}A outra função também possui o mesmo nome:
function movimentaRaquete(){
velocidadeYOponente = yBolinha - YRaqueteOponente - raqueteComprimento / 2 - 50;
YRaqueteOponente += velocidadeYOponente
}As duas functions tem o mesmo nome, para resolver o problema basta modificar o nome de uma das funções, olha só:
draw()
function draw() {
background(0)
mostraBolinha();
movimentaBolinha();
verificaColisao();
mostraRaquete(xRaquete, yRaquete);
movimentaRaquete();
movimentaRaqueteOponente();
colisaoRaqueteOponenteBiblioteca(xRaquete, yRaquete);
mostraRaquete(XRaqueteOponente, YRaqueteOponente);
colisaoRaqueteOponenteBiblioteca(XRaqueteOponente, YRaqueteOponente);
}function movimentaRaquete()
function movimentaRaquete() {
if(keyIsDown(UP_ARROW)) {
yRaquete -= 10;
}
if(keyIsDown(DOWN_ARROW)) {
yRaquete += 10;
}
}function movimentaRaqueteOponente()
function movimentaRaqueteOponente(){
velocidadeYOponente = yBolinha - YRaqueteOponente - raqueteComprimento / 2 - 50;
YRaqueteOponente += velocidadeYOponente
}Agora o jogo funciona direitinho e sem conflitos, espero ter ajudado!
Um abraço e bons estudos!