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.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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.
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.
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!