Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Minhas raquetes não se movem e não encontro o erro.

 //Ball Variables
let xBall = 300;
let yBall = 200;
let dBall = 20;
let radius = dBall / 2;
let spdXBall = 6;
let spdYBall = 6;

 //Player Variables
let xPlayer = 5;
let yPlayer = 150;
let cmPlayer = 10;
let htPlayer = 90;
let spdRacket = 10;

 //NPC Variables
let xNpc = 585;
let yNpc = 150;
let spdRacketNpc = 10;

function setup() {
  createCanvas(600, 400);
}

 //Ball & Racket
function createBall(){
   circle(xBall, yBall, dBall);
}
function moveBall(){
  xBall += spdXBall;
  yBall += spdYBall;
}
function borderCollision(){
   if(xBall + radius > width ||
    xBall - radius < 0){
    spdXBall *= -1;
  }
  if(yBall + radius > height ||
    yBall - radius < 0){
    spdYBall *= -1;
  }
}
function createRacket(x,y){
  rect(x, y, cmPlayer, htPlayer);
}

 //Player
function movePlayer(){
  if(keyIsDown(UP_ARROW)){
    yPlayer -= 10;
  }
  if(keyIsDown(DOWN_ARROW)){
    yPlayer += 10;
  }
}
function playerCollision(){
  if(xBall - radius < xPlayer + cmPlayer
  && yBall - radius < yPlayer + htPlayer
  && yBall + radius > yPlayer)
    spdXBall *= -1;
}

 //NPC 
function moveNpc(){
  spdRacketNpc = yBall - yNpc - cmPlayer / 2 - 30
  yNpc += spdRacketNpc;
}

function draw(){
  background(0);
  createBall();
  moveBall();
  borderCollision();
  createRacket(5, 150);
  movePlayer();
  playerCollision();
  createRacket(585, 150);
  moveNpc();
}

1 resposta
solução!

Dever ser algum erro em variáveis ou se você estiver na aula dos sons não vai funcionar, eu não consigo colocar os sons no jogo sempre da algum erro. Aqui está o código do sketh.js| não terá erros pois está sem som, os sons nunca dão certo sempre aparece que está indefinido ou que não existe.

//variáveis da bolinha
let xBolinha = 300;
let yBolinha = 200;
let diametro = 19;
let raio = diametro / 2 ;

//velocida da bolinha
let velocidadeYBolinha = 5;
let velocidadeXBolinha = 5;

//variáveis da minha raquete
let xRaquete = 5;
let yRaquete = 150;
let raqueteComprimento = 7;
let raqueteAltura = 75;

// variáveis do oponente
let xRaqueteOponente = 585;
let yRaqueteOponente = 150;
let velocidadeYOponente;

let colidiu = false;

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

//sons do jogo
let raquetada;
let ponto;
let trilha;

function preload() {
}

function setup() {
  createCanvas(600, 400);
}

function draw() {
  background(0);
  mostraBolinha();
  movimentaBolinha();
  verificaColisaoBorda();
  mostraRaquete(xRaquete, yRaquete);
  movimentaMinhaRaquete();
 // verificaColisaoRaquete();
  verificaColisaoRaquete(xRaquete, yRaquete);
  mostraRaquete(xRaqueteOponente, yRaqueteOponente);
  movimentaRaqueteOponente();
  verificaColisaoRaquete(xRaqueteOponente, yRaqueteOponente);
  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;
 }
  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(){
  if (xBolinha - raio< xRaquete + raqueteComprimento
&& yBolinha - raio < yRaquete + raqueteAltura && 
   yBolinha + raio > yRaquete){ 
  velocidadeXBolinha *= -1
    raquetada.play();
  }
}

function verificaColisaoRaquete(x,y){
  colidiu = collideRectCircle(x,y,raqueteComprimento,raqueteAltura,xBolinha,yBolinha,raio);
  if (colidiu){
    velocidadeXBolinha *= -1
  }
}

function movimentaRaqueteOponente(){
  velocidadeYOponente = yBolinha - yRaqueteOponente - raqueteComprimento / 2 - 30;
  yRaqueteOponente += velocidadeYOponente
}

function incluiPlacar(){
  stroke(255);
  textAlign(CENTER);
  textSize(25)
  fill(color(255, 140, 0));
  rect(130, 7, 40, 20);
  fill(255);
  text(meusPontos, 150, 26)
  fill(color(255, 140, 0));
  rect(430, 7, 40, 20);
  fill(255)
  text(pontosDoOponente, 450, 26);
}

function marcaPonto(){
  if (xBolinha > 590){
  meusPontos += 1;
    ponto.play();
  }
  if (xBolinha < 10){
  pontosDoOponente += 1;
  }
}