//variáveis da bolinha
let xBolinha = 300;
let yBolinha = 200;
let diametro = 22;
let raio = diametro/2;
//velocidade da bolinha
let velocidadeXBolinha = 6;
let velocidadeYBolinha = 6;
;
//variáveias da raquete
let xRaquete = 5;
let yRaquete =150;
let raqueteComprimento = 10;
let raqueteAltura = 90;
//variáveis oponente
let xRaqueteOponente = 585;
let yRaqueteOponente = 150;
let velocidadeYOponente;
//variáveis placar jogo
let meusPontos = 0;
let pontosOponente = 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");
}
colidiu = false;
function setup() {
createCanvas(600, 400);
trilha.loop();
}
function draw() {
background(0);// cor fundo/tela;
mostraBolinha();
movimentaBolinha();
verificaColisaoBorda();
mostraRaquete(xRaquete, yRaquete);
movimentaMinhaRaquete();
verificaColisaoRaquete(xRaquete, yRaquete);
verificaColisaoRaquete(xRaqueteOponente,yRaqueteOponente);
mostraRaquete(xRaqueteOponente, yRaqueteOponente);
//movimentaRaqueteOponente();
jogaComOponente();
incluiPlacar();
marcaPonto();
}
function mostraBolinha (){
circle (xBolinha, yBolinha, diametro);
}
function movimentaBolinha(){
xBolinha += velocidadeXBolinha;//
yBolinha += velocidadeYBolinha;
}
function verificaColisaoBorda(){
if (xBolinha + raio > width ||
xBolinha - raio < 0) {
velocidadeXBolinha *= -1;// inverte movimento da bolinha
}
if (yBolinha + raio > height ||
yBolinha - raio < 0){
velocidadeYBolinha *= -1;
}
}
function mostraRaquete(x, y){
rect (x, y, raqueteComprimento, raqueteAltura);
}
function movimentaMinhaRaquete(){
if(keyIsDown(UP_ARROW)){
yRaquete -= 10;
}
if(keyIsDown(DOWN_ARROW)){
yRaquete += 10;
}
}
function verificaColisaoRaquete(x,y){
colidiu =
collideRectCircle(x, y, raqueteComprimento,raqueteAltura, xBolinha, yBolinha, raio);
if(colidiu){
velocidadeXBolinha*= -1;
raquetada.play();
}
}
function movimentaRaqueteOponente(){ // joga com o computador
velocidadeYOponente = yBolinha - yRaqueteOponente - raqueteComprimento / 2 - 30;
yRaqueteOponente += velocidadeYOponente +chanceDeErrar;
calculaChanceDeErrar();
}
function jogaComOponente(){ // joga com outra pessoa pelas teclas w e s
if(keyIsDown(87)){
yRaqueteOponente -= 10;
}
if(keyIsDown(83)){
yRaqueteOponente += 10;
}
}
function incluiPlacar(){
stroke(255);
textAlign(CENTER);
textSize (16);
fill(color(255,140,0));// cor laranja
rect(150,10,40,20);
fill (255);//cor branca
text (meusPontos, 170,26);// inclui placar nas coordenadas informadas
fill(color(255,140,0));
rect(450,10, 40, 20);
fill (255);
text(pontosOponente, 470,26);
}
function marcaPonto(){
if(xBolinha > 590){
meusPontos += 1; //soma 1 ponto no meu placar
ponto.play();
}
if(xBolinha < 10){
pontosOponente += 1;
ponto.play();
}
}
function calculaChanceDeErrar() {
if (pontosDoOponente >= meusPontos) {
chanceDeErrar += 1
if (chanceDeErrar >= 39){
chanceDeErrar = 40
}
} else {
chanceDeErrar -= 1
if (chanceDeErrar <= 35){
chanceDeErrar = 35
}
}
}