1
resposta

Jogo feito

//variaveis da bolinha
let xBolinha = 300
let yBolinha = 200
let diametro = 20
let raio = diametro / 2

//velocidade da bolinha 
let velocidadexBolinha = 6
let velocidadeyBolinha = 6

//variaveis da raquete
let xRaquete = 5
let yRaquete = 150
let raquetecomprimento = 10
let raquetealtura = 90

//variaveis do oponente
let xRaqueteoponente = 585
let yRaqueteoponente = 150
let velocidadeyoponente

//placar do jogo
let meusPontos = 0
let pontosDoOponente = 0

//sons do jogo
let raquetada
let ponto
let trilha
let chanceDeErrar = 0

function preload(){
  trilha = loadSound("trilha.wav")
  ponto = loadSound("ponto.mp3")
  raquetada = loadSound("raquetada.wav")
}

function setup() {
  createCanvas(600, 400);
  trilha.loop()
}

function draw() {
  background(0,0,128);
  mostraBolinha()
  movimentaBolinha()
  verificacolisaoborda()
  mostraraquete(xRaquete, yRaquete)
  movimentaRaquete()
  verificacolisaoraquete()
  mostraraquete(xRaqueteoponente, yRaqueteoponente)
  movimentaRaqueteoponente()
  verificacolisaoraqueteoponente()
  incluiplacar()
  marcaponto()
  calculaChanceDeErrar()
}
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, raquetecomprimento, raquetealtura )
}
function movimentaRaquete(){
  if (keyIsDown(UP_ARROW)){
    yRaquete -= 10
  }
  if (keyIsDown(DOWN_ARROW)){
    yRaquete += 10
  }
}
function verificacolisaoraquete(){
  if(xBolinha - raio < xRaquete + raquetecomprimento && yBolinha - raio < yRaquete + raquetealtura && yBolinha + raio > yRaquete ){
    velocidadexBolinha *= -1
    raquetada.play()
  }
}
function movimentaRaqueteoponente(){
  velocidadeyoponente = yBolinha - yRaqueteoponente - raquetecomprimento / 2 - 21
  yRaqueteoponente += velocidadeyoponente + chanceDeErrar
}

function verificacolisaoraqueteoponente(){
  if( xBolinha + raio > xRaqueteoponente && yBolinha + raio < yRaqueteoponente + raquetealtura && yBolinha + raio > yRaqueteoponente) {
    velocidadexBolinha *= -1;
    raquetada.play()
  }
}
function incluiplacar(){
  stroke(255)
  textAlign(CENTER)
  textSize(16)
  fill(color(255, 140, 0))
  rect(150, 10, 40, 20)
  fill(255)
  text(meusPontos, 170, 26)
  fill(color(255, 140, 0))
  rect(450, 10, 40, 20)
  fill(255)
  text(pontosDoOponente,470, 26)
}
function marcaponto(){
  if(xBolinha > 590){
    meusPontos += 1
    ponto.play()
  }
  if(xBolinha < 10){
    pontosDoOponente += 1
    ponto.play()
  }
}
function calculaChanceDeErrar() {
  if (pontosDoOponente >= meusPontos) {
    chanceDeErrar += 1
    if (chanceDeErrar > 39){
    chanceDeErrar = 40
    }
  } 
  else {
    chanceDeErrar -= 1
    if (chanceDeErrar <= 35){
    chanceDeErrar = 35
    }
  }
}



1 resposta

Olá, Kenyi! Tudo bem com você?

Parabéns pela conclusão do curso e também pelas customizações no seu projeto. A mudança na cor do background ficou bem legal e seu jogo está funcionando muito bem!

Apenas modifiquei a extensão do arquivo da trilha e da raquetada para mp3 e assim consegui ouvir a música direitinho.

Continue focado nos estudos e, em caso de dúvidas, conte sempre conosco!

Um forte abraço e bons estudos!