editei, pq ainda estou a ver pessoas a perguntar, assim fica fácil encontra!!!
-criei 01 função para a raquete e para a raqueteOponente. -como o yRaquete fica mais próximo do ponto zero do canvas: yRaquete < 0 e se ela passar do ponto zero do eixo y, a raquete voltaria para a posição mais extrema que ela pode chegar da borda, que é o yRaquete no ponto zero do eixo y do canvas.
Para o outro lado da raquete fiz a mesma coisa, só que do outro lado, para o yRaquete passar com o seu eixo y além dos 400 que é o ponto máx do canvas, ela tem que passar por completo a raquete, já que o eixo y da raquete está na parte contrária, quer dizer virado mais para o ponto zero do eixo y, então eu fiz: yRaquete +90 > height, quer dizer que o ponto y da raquete somado com a altura da raquete, o yRaquete passa a ficar na outra extremidade e assim causa a colisão. Quando ele causa a colisão, ele volta para o ponto mais extremo que o yRaquete pode chegar neste lado do canvas, que é 400 - 90. Ficando o yRaquete + sua altura encostado na borda. Para a raquete do oponente, a regra é a mesma!!!!! É só repetir. Não se esqueça de declarar as duas funções no draw(). OBS: atenção para as medidas do canvas, para a altura da raquete. No meu jogo está funcionando corretamente, para quem quiser olhar, segue o link:
https://editor.p5js.org/oromeu/sketches/4yg6I3M_1
function verificaColisaoRaqueteBorda ( ) {
if (yRaquete < 0 ) {
yRaquete = 0;
}
if (yRaquete + 90 > height ) {
yRaquete = 310 ;
}
}
function verificaColisaoRaqueteOponenteBorda ( ) {
if ( yRaqueteOponente < 0 ) {
yRaqueteOponente = 0;
}
if ( yRaqueteOponente + 90 > height ) {
yRaqueteOponente = 310;
}
}