3
respostas

Aumentar o nível do jogo

Há alguma função que eu possa acrescentar que vai tornando o jogo mais difícil a partir de um determinado momento, como por exemplo, a partir de uma determinada pontuação a velocidade da bolinha fica mais rápida.

3 respostas

Olá Igor! Tudo bem?

Para aumentar o nível do jogo Pong e torná-lo mais difícil a partir de uma determinada pontuação, você pode implementar uma função que altere a velocidade da bolinha.

Uma maneira de fazer isso é criar uma variável para armazenar a pontuação do jogador e, a cada vez que ele atingir uma pontuação específica, você pode aumentar a velocidade da bolinha. Por exemplo:

let pontuacao = 0;
let velocidadeBolinha = 5;

function aumentarNivel() {
  if (pontuacao >= 10) {
    velocidadeBolinha = 8; // aumenta a velocidade da bolinha quando a pontuação for maior ou igual a 10
  } else if (pontuacao >= 5) {
    velocidadeBolinha = 6; // aumenta a velocidade da bolinha quando a pontuação for maior ou igual a 5
  }
}

// Função que atualiza a pontuação do jogador
function atualizarPontuacao() {
  pontuacao++; // incrementa a pontuação do jogador
  aumentarNivel(); // verifica se é necessário aumentar o nível
}

// Restante do código do jogo...

Nesse exemplo, a função aumentarNivel() é chamada sempre que a pontuação é atualizada. Ela verifica se a pontuação atingiu um determinado valor e, caso positivo, altera a velocidade da bolinha.

Lembre-se de adaptar o código de acordo com a lógica do seu jogo e as condições que você deseja estabelecer para aumentar o nível.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Mas essa função vem antes da função setup ou é pra colocar esse código na função draw?

Oi Igor, tudo bem?

A função aumentarNivel() e a lógica relacionada devem ser implementadas no escopo global do seu código, fora das funções setup() e draw(). Portanto, elas devem estar no mesmo nível de escopo que as declarações das variáveis pontuacao e velocidadeBolinha. Dessa forma, o código funcionará corretamente, pois a lógica de aumentar o nível não precisa ser verificada a cada ciclo do draw().

Aqui está um exemplo de como organizar o código:

let pontuacao = 0;
let velocidadeBolinha = 5;

function aumentarNivel() {
  if (pontuacao >= 10) {
    velocidadeBolinha = 8;
  } else if (pontuacao >= 5) {
    velocidadeBolinha = 6;
  }
}

function atualizarPontuacao() {
  pontuacao++;
  aumentarNivel();
}

function setup() {
  createCanvas(400, 400);
  // Outras configurações iniciais do jogo...
}

function draw() {
  background(0);
  // Lógica do jogo, incluindo movimento da bolinha e colisões...
}

Certifique-se de chamar a função atualizarPontuacao() sempre que a pontuação do jogador for incrementada. Isso fará com que a velocidade da bolinha seja ajustada conforme as condições especificadas.

Espero ter ajudado!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!