Quando modifico o valor da movimentação da raquete do oponente ou ele nunca erra ou ele sempre erra.
function movimentoraquete2(){
velocidadeyoponente = yBolinha - yRaquete2 - LarguraRaquete / 2 - 89
yRaquete2 += velocidadeyoponente
No caso, eu percebi que se eu mudo o valor até 88 ele nunca erra e a partir de 89 ele erra todas as vezes.
Meu código completo:
// variáveis bolinha
let xBolinha = 300
let yBolinha = 200
let diametro = 15
let raio = diametro / 2
// movimento bolinha
let velocidadexBolinha = 5
let velocidadeyBolinha = 5
// variáveis minha raquete
let xRaquete = 5
let yRaquete = 150
let LarguraRaquete = 10
let AlturaRaquete = 90
let colidiu = false
// variáveis do oponente
let xRaquete2 = 585;
let yRaquete2 = 150;
// movimento raquete oponente
let velocidadeyoponente;
// placar do jogo
let meuspontos = 0
let pontosoponente = 0
function setup() {
createCanvas(600, 400);
}
function draw() {
background(0, 0, 50);
bolinha()
movimentobolinha()
colisaoborda()
raquete1()
movimentoraquete1()
//colisaoraquete()
raquete2()
movimentoraquete2()
colisaoraquetebiblioteca(xRaquete, yRaquete)
colisaoraquetebiblioteca(xRaquete2, yRaquete2)
placar()
pontos()
}
function raquete1() {
rect(xRaquete, yRaquete, LarguraRaquete, AlturaRaquete)
}
function movimentoraquete1(){
if (keyIsDown(UP_ARROW)){
yRaquete -= 10;
}
if (keyIsDown(DOWN_ARROW)){
yRaquete += 10;
}
}
function raquete2() {
rect(xRaquete2, yRaquete2, LarguraRaquete, AlturaRaquete)
}
function movimentoraquete2(){
velocidadeyoponente = yBolinha - yRaquete2 - LarguraRaquete / 2 - 89
yRaquete2 += velocidadeyoponente
}
function bolinha(){
circle(xBolinha, yBolinha, diametro);}
function movimentobolinha(){
xBolinha += velocidadexBolinha
yBolinha += velocidadeyBolinha}
function colisaoborda(){
if (xBolinha + raio> width||
xBolinha - raio< 0){
velocidadexBolinha *= -1
}
if (yBolinha + raio> height||
yBolinha - raio< 0){
velocidadeyBolinha *= -1
}
}
function colisaoraquete() {
if (xBolinha - raio < xRaquete + LarguraRaquete &&
yBolinha - raio < yRaquete + AlturaRaquete &&
yBolinha + raio > yRaquete) {
velocidadexBolinha *= -1;
}
}
function colisaoraquetebiblioteca(x, y){
colidiu =
hit = collideRectCircle(x, y, LarguraRaquete, AlturaRaquete, xBolinha, yBolinha, raio);
if (colidiu){
velocidadexBolinha *= -1;
}
}
function placar(){
fill (325, 210, 0)
text(meuspontos, 250, 26);
text(pontosoponente, 350, 26)
}
function pontos(){
if (xBolinha > 590){
meuspontos += 1;
}
if (xBolinha < 10){
pontosoponente +=1;
}
}
Se alguém puder me ajudar entender como resolver isso por favor!
Muito obrigado.