Quando a bolinha encosta na parede o placar soma 3 pontos ao invés de 1, não consegui identificar o motivo.
let xbolinha = 300
let ybolinha = 200
let velocidadebolinhax = 5
let velocidadebolinhay = 5
let alturaraquete = 80
let larguraraquete = 15
let xraquete = 10
let yraquete = 200
let xraqueteoponente = 580
let yraqueteoponente = 200
let velocidaderaqueteoponente = 30;
let colisao = false
let pontosdudu = 0
let pontosoponente = 0
function setup() {
createCanvas(600, 400);
}
function draw() {
background(0);
bolinha()
movimentabolinha()
desenharaquete(xraquete,yraquete)
movimentaraquete()
colisaoraquete()
desenharaquete(xraqueteoponente,yraqueteoponente)
//movimentaraqueteoponente()
colisaoraqueteoponente()
pontos()
mostrarpontos()
}
function bolinha(){
circle(xbolinha,ybolinha,15)
}
function movimentabolinha(){
if(xbolinha>600 || xbolinha<0)
velocidadebolinhax = velocidadebolinhax*-1
xbolinha = xbolinha + velocidadebolinhax
if(ybolinha>400 || ybolinha<0)
velocidadebolinhay = velocidadebolinhay*-1
ybolinha = ybolinha + velocidadebolinhay
}
function desenharaquete(x,y){
rect(x, y, larguraraquete, alturaraquete)
}
function movimentaraquete(){
if (keyIsDown(UP_ARROW)) {
yraquete = yraquete - 5
}
if (keyIsDown(DOWN_ARROW)) {
yraquete = yraquete + 5;
}
}
function colisaoraquete(){
if(xbolinha<xraquete+larguraraquete && ybolinha>yraquete && ybolinha<yraquete+alturaraquete)
velocidadebolinhax = velocidadebolinhax*-1
}
function movimentaraqueteoponente(){
yraqueteoponente = ybolinha
}
function colisaoraqueteoponente(){
colisao = collideRectCircle(xraqueteoponente,yraqueteoponente,larguraraquete, alturaraquete,xbolinha,ybolinha,15);
if(colisao)
velocidadebolinhax = velocidadebolinhax*-1
}
function pontos(){
if(xbolinha <1)
pontosoponente = (pontosoponente + 1)
if(xbolinha > 599)
pontosdudu = (pontosdudu + 1)
}
function mostrarpontos(){
fill(255)
text(pontosdudu,276,26)
text(pontosoponente, 300,26)
}