Olá Jorge, tudo bem contigo?
Peço desculpas pela confusão causada pelas redundâncias. Houve alguns equívocos na minha resposta anterior, e agradeço por apontar o erro. Aqui estão as três mudanças corretas que foram feitas:
Corrigido um erro de digitação em verificaColisaoRaquete()
, alterando velocidadexBolinha
para velocidadeyBolinha
.
function verificaColisaoRaquete() {
if (xBolinha - raio < xRaquete + raqueteComprimento && yBolinha - raio < yRaquete + raqueteAltura && yBolinha + raio > yRaquete) {
velocidadeyBolinha *= -1;
}
}
Corrigido um erro de digitação em colisaoMinhaRaqueteBiblioteca()
, alterando raqueteComprimente
para raqueteComprimento
.
function colisaoMinhaRaqueteBiblioteca() {
colidiu = collideRectCircle(xRaquete, yRaquete, raqueteComprimento, raqueteAltura, xBolinha, yBolinha, raio);
if (colidiu) {
velocidadexBolinha *= -1;
}
}
Corrigido um erro de digitação em movimentaRaqueteOponente()
, alterando velocidadeYOponente
para velocidadeYOponente
.
function movimentaRaqueteOponente() {
velocidadeYOponente = yBolinha - yRaqueteOponente - raqueteComprimento / 2 - 30;
yRaqueteOponente += velocidadeYOponente;
}
Quanto à minha frase "adicionando as chaves {} para definir o escopo da função", eu vou explicar o uso das chaves {}
para definir o escopo de uma função em JavaScript.
As chaves {}
são usadas para delimitar o bloco de código de uma função em JavaScript. Elas são importantes porque indicam onde começa e onde termina o escopo dessa função. O escopo define quais variáveis e instruções são acessíveis dentro da função.
Sem as chaves, o bloco de código seria considerado apenas a primeira instrução após a declaração da função. Isso significa que apenas essa instrução seria parte do escopo da função, e o restante do código seria executado fora do escopo da função. Isso pode levar a resultados inesperados e comportamento indesejado do programa.
No exemplo fornecido inicialmente, a função draw()
estava sem as chaves, o que fazia com que apenas a instrução background(0);
fosse considerada parte do escopo da função draw()
, enquanto as demais funções e instruções ficavam fora do escopo da função. Ao adicionar as chaves corretamente, todas as instruções e funções passam a fazer parte do escopo da função draw()
.
Aqui está o exemplo corrigido com as chaves corretamente adicionadas:
function draw() {
background(0);
mostraBolinha();
movimentaBola();
verificaColisaoBorda();
mostraRaquete(xRaquete, yRaquete);
movimentaMinhaRaquete();
verificaColisaoRaquete();
colisaoMinhaRaqueteBiblioteca();
mostraRaquete(xRaqueteOponente, yRaqueteOponente);
movimentaRaqueteOponente();
}
Neste exemplo, todas as instruções e chamadas de função estão dentro das chaves {}
da função draw()
, indicando que fazem parte do escopo dessa função.
No geral era isso, espero ter explicado tudo bem!
Se tiver mais alguma dúvida, estou aqui para ajudar.
Abraços e bons estudos.