1
resposta

Pong with JavaScript - Projeto Finalizado.

Imagem tela do jogo 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; } }

1 resposta

Olá, Caroline! Tudo bem com você?

Parabéns pela conclusão do curso e também do seu projeto! É um passo importante na sua carreira e não fique com dúvidas, tudo bem?

Obrigada por compartilhar seu progresso conosco e fico muito feliz quando vejo uma companheira de estudos por aqui. Continue com o foco que sua carreira irá longe!!

Uma dica bacana para melhor aproveitamento do fórum aqui da Alura é utilizar a ferramenta inserir bloco de código aqui do fórum. Assim seu código ficará indentado e possibilitará a verificação de erros com mais rapidez. Vou deixar também um link que redireciona para um tópico que ensina sua utilização:

Um abraço e bons estudos!