CÓDIGO
//Inicio variaveis Bolinha
let xBolinha = 310; let yBolinha = 200; let diametro = 15; let raio = diametro / 2;
//Inicio variaveis Velocidade
let xVelocidadeBolinha = 5; let yVelocidadeBolinha = 5;
//Inicio variaveis Minha Raquete
let xRaquete = 5; let yRaquete = 150; let compRaquete = 10; let altRaquete = 90;
//Inicio variaveis Raquete Oponente
let xRaqueteOponente = 585; let yRaqueteOponente = 150;
let xVelocidadeOponente; let yVelocidadeOponente;
//Inicio variavel colisao let colidiu = false;
//Inicio variavel placar
let meusPontos = 0; let pontosOponente =0;
//Inicio variavel sons
let raquetada; let ponto; let trilha;
//Inicio variavel erro
let chanceErro = 0;
//Inicio funçao sons function preload() { trilha = loadSound("trilha.mp3"); ponto = loadSound("ponto.mp3"); raquetada = loadSound("raquetada.mp3"); }
//Inicio tamanho Fundo
function setup() { createCanvas(600, 400); trilha.loop(); }
//Inicio chamado das funçoes, cor fundo
function draw() { background(0); mostraBolinha(); movimentaBolinha(); verificaColisao(); minhaRaquete(); movimentaMinhaRaquete(); colisaoMinhaRaqueteLibrary(); //verificaColisaoRaquete(); raqueteOponente(); movimentaRaqueteOponente(); colisaoRaqueteOponenteLibrary(); mostraPlacar(); marcaPontos(); calculaChanceErro(); }
//Funçoes
function mostraBolinha() { circle(xBolinha, yBolinha, diametro); }
function movimentaBolinha() { xBolinha += xVelocidadeBolinha; yBolinha += yVelocidadeBolinha; }
//Verificacao
function verificaColisao() { if (xBolinha + raio > width || xBolinha - raio < 0) { xVelocidadeBolinha *= -1; } if (yBolinha + raio > height || yBolinha - raio < 0) { yVelocidadeBolinha *= -1; } }
function minhaRaquete() { rect(xRaquete, yRaquete, compRaquete, altRaquete); }
function movimentaMinhaRaquete() { if (keyIsDown (UP_ARROW)) { yRaquete -= 10; } if (keyIsDown (DOWN_ARROW)) { yRaquete += 10; } }
function verificaColisaoRaquete() { if (xBolinha - raio < xRaquete + compRaquete && yBolinha - raio < yRaquete + altRaquete && yBolinha + raio > yRaquete) { xVelocidadeBolinha *= -1; } }
function colisaoMinhaRaqueteLibrary() { colidiu = collideRectCircle(xRaquete, yRaquete, compRaquete, altRaquete, xBolinha, yBolinha, raio); if (colidiu) { xVelocidadeBolinha *= -1; raquetada.play(); } }
function raqueteOponente() { rect(xRaqueteOponente, yRaqueteOponente, compRaquete, altRaquete); }
function movimentaRaqueteOponente() { yVelocidadeOponente = yBolinha - yRaqueteOponente - compRaquete / 2 - 30; yRaqueteOponente += yVelocidadeOponente; yRaqueteOponente += yVelocidadeOponente + chanceErro; calculaChanceErro(); }
function colisaoRaqueteOponenteLibrary() { colidiu = collideRectCircle(xRaqueteOponente, yRaqueteOponente, compRaquete, altRaquete, xBolinha, yBolinha, raio); if (colidiu) { xVelocidadeBolinha *= -1; raquetada.play(); } }
function mostraPlacar() { stroke(255); textAlign(CENTER); textSize(20); fill(color(79, 79, 79)); rect(200,10, 40, 30, 20); fill(255); text(meusPontos, 220, 32); fill(color(79, 79, 79)); rect(370, 10, 40, 30, 20); fill(255); text(pontosOponente, 390, 32);}
function marcaPontos() { if (xBolinha > 590) { meusPontos += 1; ponto.play(); } if (xBolinha < 10) { pontosOponente += 1; ponto.play(); } }
function calculaChanceErro() { if (pontosOponente >= meusPontos) { chanceErro += 1; } if (chanceErro >= 39) { chanceErro = 40; } else { chanceErro -=1 } if (chanceErro <= 35) { chanceErro = 35; } }