Bom, para o primeiro projeto creio que esteja ok kk. Espero aprender muito ainda e voltar no futuro para dar um show como vi muitos aqui, com seus projetos fodásticos. :)
//Variaveis Bolinha;
let xBolinha = 300;
let yBolinha = 200;
let diametro = 13;
let raio = diametro/2;
//Variaveis Velocidade
xVelocidadeBolinha = 6;
yVelocidadeBolinha = 6;
//Variavel RaqueteA
let xRaqueteA = 5;
let yRaqueteA = 150;
let AlturaRaquete = 90;
let ComprimentoRaquete = 10;
//Variavel RaqueteB
let xRaqueteB = 585;
let yRaqueteB = 150;
let VelocidadeYB;
let chanceDeErrar = 0;
//Biblioteca
let colidiu = false
//Placar
let pontosA = 0;
let pontosB = 0;
//Sons
let Raquetada;
let Ponto;
let Trilha;
function preload (){
trilha = loadSound ("trilha.mp3");
Ponto = loadSound ("ponto.mp3");
Raquetada = loadSound ("raquetada.mp3");
}
function setup() {
createCanvas(600, 400);
trilha.loop ();
}
function draw() {
background(color (28,28,28));
mostraBolinha ();
moveBolinha ();
colisaoBorda ();
mostraRaquete (xRaqueteA, yRaqueteA);
moveRaqueteA ();
//colisaoRaqueteA ();
verificaColisaoRaquete (xRaqueteA, yRaqueteA);
mostraRaquete (xRaqueteB, yRaqueteB);
movimentaRaqueteB ();
verificaColisaoRaquete (xRaqueteB, yRaqueteB);
criarPlacar ();
marcaPonto ();
calculaChanceDeErrar();
bolinhaNaoFicaPresa ();
limiteRaquete ();
}
function mostraBolinha (){
fill (color (255,255,0))
circle (xBolinha, yBolinha, diametro);
}
function moveBolinha () {
(xBolinha += xVelocidadeBolinha);
(yBolinha += yVelocidadeBolinha)
}
function colisaoBorda (){
if (xBolinha + raio > width || xBolinha - raio < 0) (xVelocidadeBolinha *= -1);
if (yBolinha + raio > height || yBolinha - raio < 0) (yVelocidadeBolinha *= -1);
}
function mostraRaquete (x,y){
fill (color (230,230,250));
rect ( x, y, ComprimentoRaquete, AlturaRaquete)
}
function moveRaqueteA (){
if (keyIsDown (UP_ARROW)) { yRaqueteA -= 10}
if (keyIsDown (DOWN_ARROW)) { yRaqueteA += 10}
}
function colisaoRaqueteA (){
if ( xBolinha - raio < xRaqueteA + ComprimentoRaquete && yBolinha - raio < yRaqueteA + AlturaRaquete && yBolinha - raio > yRaqueteA) { xVelocidadeBolinha *= -1};
Raquetada.play()
}
function verificaColisaoRaquete (x,y) {
colidiu =
collideRectCircle(x, y, ComprimentoRaquete, AlturaRaquete, xBolinha, yBolinha, raio);
if (colidiu) {
xVelocidadeBolinha *= -1
Raquetada.play()
}
}
function movimentaRaqueteB () {
velocidadeYB = yBolinha - yRaqueteB - ComprimentoRaquete/2 - 60;
yRaqueteB += velocidadeYB + chanceDeErrar
}
function criarPlacar (){
stroke (255)
textAlign(CENTER)
textSize (16);
fill (color (138,43,226));
rect (150, 10, 40, 20);
fill (255);
text (pontosA, 170, 26);
fill (color (138,43,226));
rect (450, 10, 40, 20);
fill (255);
text (pontosB, 470, 26);
}
function marcaPonto () {
if (xBolinha > 590) {
pontosA += 1;
Ponto.play()
}
if (xBolinha < 10) {
pontosB += 1;
Ponto.play()
}
}
function calculaChanceDeErrar() {
if (pontosB >= pontosA) {
chanceDeErrar += 1
if (chanceDeErrar >= 39){
chanceDeErrar = 50
}
} else {
chanceDeErrar -= 1
if (chanceDeErrar <= 35){
chanceDeErrar = 39
}
}
}
function bolinhaNaoFicaPresa(){
if (xBolinha - raio < 0){
xBolinha = 23
}
}
function limiteRaquete() {
if (yRaqueteA < 0) {
yRaqueteA = 0;
}
else if (yRaqueteA > 400 - ComprimentoRaquete) {
yRaqueteA = 400 - ComprimentoRaquete;
}
else if (yRaqueteB < 0) {
yRaqueteB = 0;
}
else if (yRaqueteB > 400 - ComprimentoRaquete) {
yRaqueteB = 400 - ComprimentoRaquete;
}
}