https://editor.p5js.org/nad.schuster/full/-2afkV5ga
//variaveis da bolinha let xBolinha = 300; let yBolinha = 200; let diametro = 15; let raio = diametro / 2;
//velocidade da bolinha let velocidadexBolinha = 7; let velocidadeyBolinha = 7;
//variaveis da raquete let xRaquete = 5; let yRaquete = 150; let comprimentoRaquete = 8; let alturaRaquete = 80;
//variaveis do adversario let xRaqueteAdversario = 585; let yRaqueteAdversario = 150; let velocidadeYAdversario;
let colidiu = false;
//placar jogo let meusPontos = 0; let pontosAdversario = 0;
//sons do jogo let raquetada; let ponto; let trilha;
let chanceDeErrar = 0;
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(); movimentaBolinha(); verificaColisaoBorda(); mostraRaquete (xRaquete, yRaquete); movimentaMinhaRaquete (); //verificaColisaoRaquete (); verificaColisaoRaquete(xRaquete, yRaquete); mostraRaquete(xRaqueteAdversario, yRaqueteAdversario); movimentaRaqueteAdversario(); verificaColisaoRaquete(xRaqueteAdversario, yRaqueteAdversario); incluiPlacar(); marcaPontos(); }
function mostraBolinha(){ circle(xBolinha, yBolinha, diametro); }
function movimentaBolinha(){ xBolinha += velocidadexBolinha; yBolinha += velocidadeyBolinha; }
function verificaColisaoBorda(){ 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, comprimentoRaquete, alturaRaquete); }
function movimentaMinhaRaquete (){ if (keyIsDown(UP_ARROW)){ yRaquete -= 10; } if (keyIsDown(DOWN_ARROW)){ yRaquete += 10; } }
function verificaColisaoRaquete (){ if (xBolinha - raio < xRaquete + comprimentoRaquete && yBolinha - raio < yRaquete + alturaRaquete && yBolinha + raio > yRaquete){ velocidadexBolinha *= -1 raquetada.play(); }}
function verificaColisaoRaquete(x, y){ colidiu =collideRectCircle(x, y, comprimentoRaquete, alturaRaquete, xBolinha, yBolinha, raio); if (colidiu){ velocidadexBolinha *= -1 raquetada.play(); } }
function movimentaRaqueteAdversario (){ velocidadeYAdversario = yBolinha - yRaqueteAdversario - comprimentoRaquete / 2 - 30; yRaqueteAdversario += velocidadeYAdversario + chanceDeErrar calculaChanceDeErrar(); }
function incluiPlacar(){ stroke(255,20,147) textAlign(CENTER); textSize(18); fill(color(220,220,220)) rect(150, 10, 40, 20); fill(255,20,147); text(meusPontos, 170, 26); fill(color(220,220,220)) rect(450, 10, 40, 20); fill(255,20,147); text(pontosAdversario,470, 26);
}
function marcaPontos(){ if (xBolinha > 590){ meusPontos += 1; ponto.play(); } if (xBolinha < 10){ pontosAdversario += 1; ponto.play(); } }
function calculaChanceDeErrar() { if (pontosAdversario >= meusPontos) { chanceDeErrar += 1 if (chanceDeErrar >= 39){ chanceDeErrar = 40 } } else { chanceDeErrar -= 1 if (chanceDeErrar <= 35){ chanceDeErrar = 35 } } }
function calculaChanceDeErrar() { if (pontosAdversario >= meusPontos) { chanceDeErrar += 1 if (chanceDeErrar >= 39){ chanceDeErrar = 40 } } else { chanceDeErrar -= 1 if (chanceDeErrar <= 35){ chanceDeErrar = 35 } } }