1
resposta

[Sugestão] Ativação e desativação de multiplayer

Tive uma ideia e tentei desenvolvê-la. A ideia era, "e se eu quiser ativar o segundo player a qualquer momento?"

Então fiz com que no momento que fosse pressionado "W" ou "S" o player 2 seria ativado. Mas se não quisesse mais jogar, bastava pressionar a tecla "Esc" que ligava o oponente automático

Obs: Coloquei apenas a parte modificada do código

player2 = false

function keyPressed(){
  // W ou S player 2 ativado
    if (keyCode === 83 || keyCode === 87){
      player2 = true;
    }
    // se pressionar esc liga o automatico
    if (keyCode === 27){
      player2 = false;
    }
}

function movimentaRaqueteOponente(){  

  //Modo manual
  if(player2 == true){
    if (keyIsDown(87)){
      yRaqueteOponente -= 10
    }
    if (keyIsDown(83)){
      yRaqueteOponente += 10
    }
  }

  //Modo automatico
  if(player2 == false){
    velocidadeYOponente = yBolinha - yRaqueteOponente - raqueteComprimento

    yRaqueteOponente += velocidadeYOponente + chanceDeErrar;
    calculaChanceDeErrar()
  }
}
1 resposta

Olá Gustavo, tudo bem?

Sua ideia de ativar e desativar o segundo jogador é muito interessante!

Pelo código que você postou, parece que você já conseguiu implementar essa funcionalidade com sucesso. Quando a tecla "W" ou "S" é pressionada, o jogador 2 é ativado, e quando a tecla "Esc" é pressionada, o jogador 2 é desativado e o oponente automático é ligado.

Acredito que você pode melhorar ainda mais essa funcionalidade, permitindo que o jogador 2 seja ativado e desativado a qualquer momento durante o jogo, não apenas no início. Para isso, você pode adicionar um botão na tela que permita alternar entre os modos de jogo.

Além disso, você pode adicionar uma mensagem na tela indicando qual modo de jogo está ativo, para que o jogador saiba se está jogando contra outro jogador ou contra o oponente automático.

Bons estudos!