1
resposta

[Bug] não marca pontuação pois tem uma barreira do lado do meu oponente que impede a bola de chegar na borda

// formato da bolinha let xbolinha = 300 let ybolinha = 200 let diametro = 15 let raio = diametro / 2

//movimento da bolinha let velocidadex = 6; let velocidadey = 6;

// formato da raquete let xraquete = 5; let yraquete = 150;

//movimento raquete let comprimento = 10; let altura = 90;

// oponente let xoponente = 585 let yoponente = 150 let velocidadeyopo;

let colidiu = false;

// placar do jogo

let meuspontos = 0 let pontosoponente = 0

// sons do jogo let raquetada; let ponto; let trilha;

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); mostrabolinha(); velocidade(); colisao(); raquete(xraquete,yraquete); //raquete(xoponente,yoponente); controles(); //batevolta(); colisaobiblioteca(xraquete,yraquete); IA(); incluiplacar(); colisaobiblioteca(xoponente,yoponente); marcaponto(); } function mostrabolinha(){circle(xbolinha , ybolinha , diametro)}

function velocidade(){xbolinha += velocidadex ybolinha += velocidadey}

function colisao()

{if(xbolinha + raio > width || xbolinha - raio < 0){velocidadex *= -1}

if(ybolinha + raio > height || ybolinha - raio < 0){velocidadey *= -1}}

function raquete(x,y){rect(x , y, comprimento , altura )}

function controles(){ if(keyIsDown(UP_ARROW)){ yraquete -= 10 } if(keyIsDown(DOWN_ARROW)){ yraquete += 10 } }

function batevolta(){ if(xbolinha - raio < xraquete + comprimento && ybolinha - raio < yraquete + altura && ybolinha + raio > yraquete){velocidadex*= -1 raquetada.play();} }

function colisaobiblioteca(x,y){ colidiu =collideRectCircle(x , y, comprimento, altura, xbolinha, ybolinha, raio); if(colidiu){ velocidadex *= -1 raquetada.play(); } }

function IA(){ velocidadeyopo = ybolinha - yoponente - comprimento / 2 - 30; yoponente += velocidadeyopo }

function incluiplacar() { stroke(255); textAlign(CENTER); textSize(16); fill(color(255, 140, 0)); rect(150, 10, 40, 20); fill(255); text(meuspontos,170,26); fill(color(255, 140, 0)); rect(450, 10, 40, 20); fill(255); text(pontosoponente,470,26); }

function marcaponto() { if (xbolinha > 590) { meuspontos += 1; ponto.play(); } if (xbolinha <10){ pontosoponente += 1; ponto.play(); } }

1 resposta

Ei Lucas edita a mensagem do seu código apetando </> , e pra mim o problema é que você comentou "//" linhas importantes.