Aqui está uma função que talvez você não conheça: random
Ela recebe dois parâmetros:
um limite inferior e um limite superior e retorna um número aleatório
entre esses dois limites.
Então aqui essa variável 'number' (número) terá um valor entre zero e um.
E então vamos desenhar esse número na tela usando esta função "text".
Aqueles dois últimos parâmetros são para as coordenadas "x" e "y" do texto
e usamos textSize e fill para escolher o preenchimento e a cor do texto.
Então, se eu apertar recomeçar algumas vezes, você pode ver
os números aleatórios sendo gerados.
E você vai ver que a precisão desses números é de três casas decimais.
Aqui vai uma pergunta: E se eu quisesse gerar apenas um número que é zero ou um?
Bem, podemos usar essa outra função chamada 'round', que recebe um número que
pode ter quantas casas decimais quiser e o arredonda para o inteiro mais próximo.
Então vou em frente e vou fazer uma nova variável chamada 'integer' (inteiro)
e atribuir a ela o que a função 'round' retornar.
E podemos também desenhar este inteiro na tela com a nossa função muito útil: text.
Então 'text', 'integer'... Vamos colocar em talvez 160 e 350. Bom.
Então isso nos mostra que 'round' de 0,2314 arredonda para baixo, pra zero.
E se eu colocar algo como 4,6 isso seria arredondado para 5.
Bacana.
Então se eu quisesse gerar aleatoriamente 0 ou 1, eu poderia pegar esse decimal
aleatório que estamos gerando que cai entre 0 e 1 e colocá-lo na função 'round'.
Assim desse modo: eu vou pegar esse 'number' e colocá-lo aqui embaixo.
E agora você pode ver que quando geramos um número que é menor que 0,5
- ele é arredondado pra zero.
E quando geramos um número que é maior ou igual a 0,5 - ele é arredondado para um.
Talvez você comece a ver o início de algum tipo de jogo de arremesso de moeda aqui
onde, se você tirar zero, seu amigo te dá um real.
E, se você tirar um, seu amigo te dá dez reais. Excelente jogo, certo?
Na verdade, vamos ilustrar esse jogo de lançar moedas
com algumas moedas super realísticas que por acaso parecem com elipses entediantes.
Assim: Eu vou desenhar uma elipse no meio da nossa tela e isso vai ser nossa moeda.
Ela está cobrindo o texto, vamos mover ele pra cima um pouco. Excelente.
E eu tenho essa ideia que se eu tirar zero eu vou mostrar o lado roxo da moeda
então para fazer a moeda roxa, eu posso apenas preencher com um pouco de roxo.
E se eu tirar um, eu vou mostrar o lado amarelo da moeda.
Então vai ser uma moeda com lados roxo e amarelo.
E, por sorte, com nosso conhecimento de declarações 'if', isso é super fácil.
Então podemos dizer: se 'integer' é igual a zero, - lembre-se que usamos
três sinais de igual para checar igualdade - então preenchemos a elipse de roxo.
E então se 'integer' é igual a um, nós temos um função 'fill' diferente
e vamos fazer essa aqui de amarelo.
Excelente. E funciona!
Mas vamos pensar sobre isso. 'Integer' aqui sempre será um ou zero, certo?
Nós programamos desse modo.
Então isso significa que ou esta condição vai ser verdade
ou esta condição aqui vai ser verdade. Sempre.
Cobrimos cada caso possível aqui, o que significa que podemos começar a pensar
sobre nossa tomada de decisão de um jeito diferente.
Isso é se 'integer' é igual a zero, colorimos de roxo - senão, de amarelo.
Então você vê como não precisamos dizer sobre 'integer' ser um no segundo caso?
Tudo que temos que dizer é se 'integer' é zero, faça isso; senão, faça aquilo.
E, em programação, dizemos "senão" como 'else'.
Então veja isso: eu vou substituir a segunda condição 'if' com a palavra 'else'
E o que isso significa é que se o que está dentro destes parênteses for verdade
então rode o código nestas chaves. Senão, rode o código nestas chaves.
E algumas vezes vamos até mesmo colocar o else na mesma linha da chave final do if
apenas para nos lembrar que esses dois blocos de código são muito conectados.
Você não pode ter um bloco 'else' a menos que você tenha um bloco 'if' logo antes.
Entendeu?
E isso também vai te ajudar a lembrar a não colocar algo entre esses dois blocos
como 'var y igual a 0' e isso apenas quebraria tudo! Então não faça isso.
Então agora que sabemos sobre 'if-else', o que é muito bom quando estamos
decidindo entre duas coisas possíveis a fazer.
Mas e se tivéssemos mais?
E se eu gerasse um inteiro entre zero e dois e então eu teria três possibilidades:
zero, um ou dois? E então?
Continua...
Legendado por [Alberto Oliveira]. Revisado por [Fernando dos Reis].