Olá Zalmir!
O código apresentado não está necessariamente errado, mas pode ser otimizado para melhorar sua legibilidade e organização. Atualmente, as funções mostrarBola()
, movimentarBola()
e verificarBorda()
estão declaradas separadamente fora da função draw()
. Embora funcione dessa maneira, o professor provavelmente está sugerindo uma reatribuição dos comandos diretamente dentro da função draw()
, o que torna o código mais compacto e mais fácil de ler.
Aqui está o código otimizado com os comandos dentro da função draw()
:
let xBola = 300;
let yBola = 200;
let raio = 20;
let velocidadeXBola = 5;
let velocidadeyBola = 5;
let dDiametro = raio * 2;
function setup() {
createCanvas(600, 400);
}
function draw() {
background(0);
circle(xBola, yBola, dDiametro);
xBola += velocidadeXBola;
yBola += velocidadeyBola;
if (xBola + raio > width || xBola - raio < 0) {
velocidadeXBola *= -1;
}
if (yBola + raio > height || yBola - raio < 0) {
velocidadeyBola *= -1;
}
}
Neste código, os comandos das funções mostrarBola()
, movimentarBola()
e verificarBorda()
foram movidos diretamente para a função draw()
. Essa abordagem é válida e pode ser mais clara em projetos pequenos como este.
No entanto, se o seu projeto estiver se tornando maior e mais complexo, você pode optar por manter as funções separadas para manter o código mais organizado e facilitar a manutenção. A escolha entre essas abordagens depende da preferência pessoal e das necessidades específicas do seu projeto. Ambas as formas são aceitáveis e funcionarão corretamente.vvvvvvvvv