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);
}
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!
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!