Eu tentei criar um gandula que acelerasse a velocidade da minha bolinha , eu utilizei a função " colisaominharaquete " que havia ficado " comentada " no código passado na aula . Mas infelizmente o meu gandula ganhou os poderes de um jedi , e acabou n movimentando a bola da forma que eu queria . Como eu poderia fazer ele acelerar a bolinha ? https://editor.p5js.org/brenoromeiro94/present/rbcrhtDsk
// variaveis da bolinha
let xBolinha = 300
let yBolinha = 200
let diametro = 15
let raio = diametro/2
// velocidade bolinha
let velocidadexBolinha = 4
let velocidadeyBolinha = 4
// Minha raquete
let xRaquete = 0
let yRaquete = 150
let larguraquete = 10
let comprimentoraquete = 90
let colidiu = false
// Raquete do Oponente
let xRaqueteoponente = 590;
let yRaqueteoponente = 150;
let velocidadeOponente = 2
let chanceDeerrar = 0
// Incluir placar
let meusPontos = 0 ;
let pontosDoOponente = 0 ;
// gandula
let xGandula = 300
let yGandula = 200
let velocidadeyGandula = 10
let lGandula = 30
let cGandula = 30
// Sons
let trilha;
let raquetada;
let ponto;
function preload (){
trilha = loadSound ("trilha.mp3")
raquetada = loadSound ("raquetada.mp3")
ponto = loadSound ("ponto.mp3")
}
function setup() {
createCanvas(600, 400);
trilha.loop ()
}
function draw() {
background(0);
mostrabolinha();
velocidadebolinha()
verificacolisao();
mostraraquete(xRaquete,yRaquete)
movimentaminharaquete()
colisaominharaquete()
colisaobiblioteca(xRaquete,yRaquete)
mostraraquete (xRaqueteoponente,yRaqueteoponente)
oponente()
gandula()
velocidadegandula()
colisaoGandula()
colisaobiblioteca(xRaqueteoponente,yRaqueteoponente)
pontos()
marcaponto ()
calcularAchanceDerrar()
}
function mostrabolinha(){
circle (xBolinha,yBolinha,diametro);
}
function velocidadebolinha(){
xBolinha += velocidadexBolinha;
yBolinha += velocidadeyBolinha;
}
function verificacolisao(){
if (xBolinha + raio > width || xBolinha - raio < 0){
velocidadexBolinha *=-1;
}
if (yBolinha + raio > height || yBolinha - raio < 0 ) {velocidadeyBolinha *=-1
}
}
function mostraraquete(x,y){rect(x,y,larguraquete,comprimentoraquete)
}
function movimentaminharaquete(){
if (keyIsDown(UP_ARROW)){yRaquete -= 10}
if (keyIsDown(DOWN_ARROW)){yRaquete += 10}
}
function colisaominharaquete(){
if (xBolinha - raio < xGandula + lGandula && yBolinha < yGandula + cGandula && yBolinha > yRaquete)
velocidadexBolinha += 2 }
function colisaobiblioteca(x,y){
colidiu = collideRectCircle(x, y, larguraquete, comprimentoraquete, xBolinha,yBolinha, raio);
if (colidiu)
{ velocidadexBolinha *=-1
raquetada.play()}
}
function oponente(){velocidadeoponente = yBolinha - yRaqueteoponente - comprimentoraquete / 2 -80;
yRaqueteoponente += velocidadeoponente + chanceDeerrar; calcularAchanceDerrar() }
function pontos (){
textAlign(CENTER)
textSize (20)
fill(color(10,81,0));
rect (455,2,30,30);
fill (255);
text (meusPontos, 470, 26 );
fill(color(10,81,0))
rect (135 ,2,30,30);
fill (255);
text (pontosDoOponente, 150, 26 );
}
function marcaponto(){
if (xBolinha > 595)
{meusPontos += 1
ponto.play()}
if (xBolinha < 8)
{pontosDoOponente += 1
ponto.play()}
}
function calcularAchanceDerrar (){
if (pontosDoOponente >= meusPontos)
{chanceDeerrar += 1
if (chanceDeerrar >=39);
{
chanceDerrar = 40 ;
}
}
else {chanceDeerrar -= 1
if (chanceDeerrar <= 35)
{chanceDeerrar = 35
}
}
}
function gandula () {
rect(xGandula, yGandula ,lGandula,cGandula)}
function velocidadegandula () {
yGandula += velocidadeyGandula;
}
function colisaoGandula() {
if (yGandula > height || yGandula < 0 ) {velocidadeyGandula *=-1}
}