De onde vem esse máximo? se não foi criado nenhuma variavel com esse nome e como ele sabe que o valor maximo de x e y é 600 e 400?
function sorteiaPosicao(maximo) {
return Math.floor(Math.random() * maximo);
}
De onde vem esse máximo? se não foi criado nenhuma variavel com esse nome e como ele sabe que o valor maximo de x e y é 600 e 400?
function sorteiaPosicao(maximo) {
return Math.floor(Math.random() * maximo);
}
Olá, Bruno, o máximo de x e y é definido quando incluímos essa linha no início do código:
<canvas width="600" height="400"></canvas>
Ou seja a largura (width) da tela (canvas) vai de 0 a 600 (eixo x) e a altura (height), de 0 a 400 (eixo y).
No código, "maximo" se refere ao parâmetro que passamos para a função "sorteiaPosicao" quando a criamos:
function sorteiaPosicao(maximo) {
return Math.floor(Math.random() * maximo);
}
Até aqui, "maximo" não tem valor algum definido. E poderia ser qualquer outro nome, como por exemplo, "valor" e funcionaria da mesma forma. O importante é deixar o código o mais claro possível para todos que o leiam. No exemplo, ao criarmos essa função, dizemos para o sistema que o valor que o parâmetro "maximo" deverá assumir na função será declarado posteriormente (quando chamarmos essa função, por exemplo), como neste caso, em que ela foi chamada durante a declaração de uma variável:
var xAleatorio = sorteiaPosicao(600);
Assim, ao declararmos a variável "xAleatorio", dizemos para o sistema: "quero que essa variável receba o valor resultante da execução da função sorteiaPosicao, sendo que o parametro 'maximo' deve assumir o valor de 600". Então, em todos os lugares dessa função em que o parâmetro "maximo" aparecer, ele será substituído pelo valor 600. Portanto, a variável "xAleatório" receberá o valor sorteado por "Math.random()" multiplicado por 600:
return Math.floor(Math.random() * maximo);
O mesmo raciocínio é válido para a variável "yAleatorio".
Espero ter contribuído para o esclarecimento da sua dúvida. Bons estudos!