O som da colisão fica constantemente presente no jogo e a pontuação soma-se 5 ao contrário do certo que é 1. Sobre o som, eu não faço a mínima ideia, agora da soma errada acredito que seja na condição do IF
// var bol
let xbol = 300;
let ybol = 200;
let diam = 13;
let velxbol = 6;
let velybol = 6;
let raio = diam/2;
//var raquete
let xraq = 5;
let yraq = 160;
let wraq = 10;
let hraq = 80;
//var raquete oponente
let xraqop = 585;
let yraqop = 160;
let velxop;
let velybop;
//placar do jogo
mypts = 0;
oppts = 0;
//sons do jogo
let raquetada;
let point;
let trilha;
let hit = false;
function preload(){
trilha = loadSound("trilha.mp3");
ponto = loadSound("ponto.mp3");
raquetada = loadSound("raquetada.mp3");
}
function setup() {
createCanvas(600, 400);
trilha.loop();
}
function draw() {
background(0);
showbol ();
movimentbol ();
colition ();
showraq(xraq, yraq);
movimentraq();
movimentraqop();
raqcolition();
raqbolcolition(xraq, yraq);
raqbolcolition(xraqop, yraqop);
raqbolcolition();
showraq(xraqop, yraqop);
showscore();
hitscore();
//Solução GitHub
raqbolcolition();
}
function showbol (){
circle(xbol, ybol, diam);
}
function movimentbol (){
xbol += velxbol;
ybol += velybol;
}
function colition (){
//movimento eixo x
if (xbol + raio > width || xbol< 0){
velxbol*=-1
}
//movimento eixo y
if (ybol + raio > height || ybol < 0){
velybol *=-1
}
}
function showraq(x, y){
rect(x, y, wraq, hraq);
}
function movimentraq(){
if(keyIsDown(UP_ARROW)){
yraq -= 10
}
if(keyIsDown(DOWN_ARROW)){
yraq += 10
}
}
function movimentraqop(){
velyop = ybol - yraqop - wraq/2 - 30;
yraqop += velyop;
}
function raqcolition(){
if(xbol - raio < xraq + wraq && ybol - raio< yraq + hraq && ybol + raio > yraq + hraq){
velxbol *= -1
raquetada.play();
}
}
function raqbolcolition(x, y){
hit = collideRectCircle(x, y,wraq,hraq,xbol, ybol, raio);
if(hit){
velxbol *= -1
raquetada.play();
}
}
function showscore(){
textSize(20);
textAlign(CENTER);
fill(color(255,140,0));
rect(218, 10, 40, 20);
fill(255);
text(mypts,238,28);
fill(color(255,140,0));
rect(371, 10, 40, 20);
fill(255);
text(oppts, 391, 28);
}
function hitscore(){
if(xbol > 590){
mypts += 1;
ponto.play();
}
if(xbol < 10){
oppts += 1;
ponto.play();
}
}