1
resposta

alguém conseguiu fazer com que fosse possível selecionar o número de jogadores por um botão?

Se alguém souber pelo menos como fazer pra que eu possa selecionar o numero de jogadores já seria uma ajuda

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

//variáveis da velocidade da bolinha
let velocidadeXBolinha = 6;
let velocidadeYBolinha = 6;

//variáveis da raquete
let comprimentoDaRaquete = 10;
let alturaDaRaquete = 60;

//variáveis da minha raquete
let xMinhaRaquete = 5;
let yMinhaRaquete = 170

//variáveis da raquete oponente
let xRaqueteOponente = 585;
let yRaqueteOponente = 170;
let velocidadeRaqueteOponente;
let oponente1 = false;
let oponente2 = false;
let oponente;

//variáveis dos pontos
let meusPontos = 0;
let pontosOponente = 0;

//variáveis dos sons
let raquetada;
let ponto;
let trilha;

//variáveis dos botões
let botao1;
let botao2;

function preload() {

  trilha = loadSound('trilha.mp3');
  ponto = loadSound('ponto.mp3');
  raquetada = loadSound('raquetada.mp3');
  botoes();
}

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

}

function draw() {
  background(0);
  linhaCentral();
  mostraBolinha();
  movimentaBolinha();
  verificaColisaoBorda();
  mostraRaquete(xMinhaRaquete, yMinhaRaquete);
  mostraRaquete(xRaqueteOponente, yRaqueteOponente);
  selecionaOponente();
  movimentaRaquete();
  rebateBolinha();
  incluiPlacar(meusPontos, 278, 26);
  incluiPlacar(pontosOponente, 315, 26);
  marcaPonto();
  bolinhaNaoFicaPresa();

}

function linhaCentral() {

  rect(298, 0, 4, 400);
}

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, comprimentoDaRaquete, alturaDaRaquete);
}

function movimentaRaquete() {

  if(keyIsDown(UP_ARROW)) {

    yMinhaRaquete -= 7;
  }

  if(keyIsDown(DOWN_ARROW)) {

    yMinhaRaquete += 7;
  }
}

function multiplayer() {

  if(keyIsDown(87)) {

    yRaqueteOponente -= 7;
  }

  if(keyIsDown(83)) {

    yRaqueteOponente += 7;
  }
}

function rebateBolinha() {

  if(xBolinha - raio < xMinhaRaquete + comprimentoDaRaquete && yBolinha - raio < yMinhaRaquete + alturaDaRaquete && yBolinha + raio > yMinhaRaquete) {

   velocidadeXBolinha *= -1;
   raquetada.play();
  }

  if(xBolinha + raio > xRaqueteOponente && yBolinha - raio < yRaqueteOponente + alturaDaRaquete && yBolinha + raio > yRaqueteOponente) {

    velocidadeXBolinha *= -1;
    raquetada.play();

  }
}

function movimentaRaqueteOponente() {

  velocidadeRaqueteOponente = yBolinha - yRaqueteOponente - alturaDaRaquete/2 -30;
  yRaqueteOponente += velocidadeRaqueteOponente;
}

function incluiPlacar(texto, x, y) {

  fill(255);
  text(texto, x, y);
}

function marcaPonto() {

   if(xBolinha + raio > 600) {

     meusPontos++;
     ponto.play()
   }

  if(xBolinha - raio < 0) {

    pontosOponente++;
    ponto.play()
  }
}

function bolinhaNaoFicaPresa() {

  if(xBolinha - raio < 0) {

    xBolinha = 300;
    yBolinha = 200;
  }

  if(xBolinha + raio > 600) {

    xBolinha = 300;
    yBolinha = 200;
  }
}

function umJogador() {

  oponente1 === true;
}

function doisJogadores() {

  oponente2 === true;
}

function selecionaOponente() {

  if(oponente1 === true) {

    movimenteRaqueteOponente();
  }

  if(oponente2 === true) {

    multiplayer();
  }
}

function botoes() {

  botao1 = createButton('1 jogador');
  botao1.position(0, 0);
  botao1.mousePressed(umJogador);
  botao2 = createButton('2 jogadores');
  botao2.position(0, 20);
  botao2.mousePressed(doisJogadores);
}
1 resposta

Olá, Lucas! Tudo bom?

O Aluno Jefferson aqui da Alura conseguiu desvendar esse mistério e compartilhou o código aqui nesse tópico: Tópico com jogo multiplayer.

Ele deixou o projeto no github e você pode conferir o código para a opção de single ou multplayer.

Fico à disposição.

Bons estudos!