-
Estamos de volta com Winston.
-
Agora temos ambas as variáveis X e Y para
-
a posição do Winston.
-
Então podemos movê-lo para os lados,
-
para cima e para baixo, wooo!
-
Muito bom.
-
Bom, vamos redefinir essas variáveis
-
para 200 e 200
-
e recapitular como este programa funciona.
-
Então, aqui temos a variável “eyeSize”,
-
é usada pra controlar o tamanho dos olhos,
-
pois ambos têm 40 pixels de largura
-
e 40 pixels de altura.
-
Também temos estas variáveis X e Y
-
e elas definem o centro da face.
-
Podem vê-las usadas
-
no comando desta elipse aqui
-
que desenha o grande círculo amarelo.
-
E aqui embaixo,
-
para os olhos,
-
X e Y são usados novamente.
-
E aqui,
-
os olhos são posicionados
-
de acordo com o centro do rosto.
-
Então, este aqui tem
-
cinquenta pixels
-
à esquerda do centro,
-
e este outro tem cem pixels
-
à direita do centro
-
Okay, muito bem
-
é a razão pela qual podemos
-
mover Winston para cima e para baixo.
-
Agora, eu quero poder controlar
-
mais coisas no rosto do Winston
-
usando variáveis.
-
Então eu quero descobrir
-
o que mais no programa podemos
-
controlar usando variáveis.
-
Para isso,
-
eu irei em
-
cada linha de código
-
e procurar pelo que chamamos de
-
números "hard-coded"
-
Esses números são simplesmente
-
números literais, e não
-
variáveis ou dependentes de variáveis
-
Vamos começar aqui
-
na primeira elipse,
-
nós temos 300 e 300
-
para a largura e altura.
-
Estes são apenas números literais
-
então vamos criar
-
uma variável para eles,
-
chamada "faceSize"
-
e dar a ela um valor de 300
-
Agora vamos escrever "faceSize"...
-
faceSize...
-
Okay, continuando
-
e pulando as cores
-
agora os comandos da elipse são ambos...
-
Eles são variáveis ou
-
dependentes de variáveis
-
Então, irei deixá-los
-
assim por enquanto.
-
Temos também o comando da boca,
-
eles são dependentes de X e Y,
-
mas estes aqui
-
são apenas números literais
-
150 e 150
-
Então iremos chamá-lo
-
"mouthSize", esse é um bom nome,
-
que recebe 150.
-
Vamos substituir estes por "mouthSize"
-
e "mouthSize".
-
ótimo, agora
-
temos os tamanhos das formas
-
definidos por variáveis, no topo
-
que significa que é realmente fácil
-
para nós mudarmos os tamanhos,
-
dessa forma, tipo
-
Wooo! Winston está com fome
-
e... Você sabe,
-
quando Winston fica com fome
-
ele come muitos donuts
-
e acaba enorme.
-
Certo,
-
mas tem algo
-
que eu não gosto no programa agora.
-
Se eu diminuo o tamanho do rosto
-
ele começa a ficar engraçado
-
por que os olhos e a boca
-
saem do rosto
-
e num determinado ponto nem
-
parece mesmo que estão
-
conectados à ele
-
ou nem é um mais rosto, é?
-
Então o que eu quero que aconteça
-
é que quando eu mude o valor de “faceSize”
-
eu quero que os olhos e a boca...
-
Quero que seus tamanhos mudem igualmente,
-
então se eu diminuir faceSize pela metade,
-
eu quero que a boca diminua igualmente.
-
Isso significa que
-
eu quero calcular mouthSize e eyeSize
-
como frações de faceSize.
-
Vamos redefinir essas variáveis
-
e eu mostro o que quero dizer.
-
Vamos começar com mouthSize
-
Agora,
-
faceSize recebe 300 e mouthSize recebe 150
-
Então se pensamos neles
-
como valores relacionados,
-
podemos dizer que faceSize é o dobro
-
do tamanho de mouthSize,
-
ou que mouthSize é a metade
-
de faceSize,
-
e podemos escrever isso em código, assim
-
Um meio vezes faceSize.
-
Okay, essa linha de código diz
-
que pegamos o valor de faceSize,
-
multiplicamos por um meio
-
e armazenamos o resultado em mouthSize.
-
Então se mudarmos isso aqui,
-
isso calcularia quanto metade daquilo vale
-
e isso seria o valor de mouthSize.
-
Perfeito! É o que nós queremos
-
Então agora eyeSize,
-
faceSize é 300
-
e eyeSize é 40,
-
então queremos que isso seja
-
quarenta trezentos avos de faceSize
-
o que é, vamos ver...
-
Quatro sobre trinta, que podemos
-
simplificar para dois quinze avos,
-
então vamos dizer
-
dois quinze avos vezes faceSize
-
A propósito,
-
se você é novo em frações
-
e matemática é complicado pra você,
-
você pode aprender mais sobre frações
-
na Khan Academy
-
e retornar aqui quando você
-
estiver pronto.
-
Aqui, vejam
-
Okay,
-
vamos tentar dimensionar a face novamente
-
Haha! Dêem uma olhada
-
A boca e os olhos redimensionam
-
proporcionalmente ao rosto.
-
Mas você provavelmente notou
-
algo errado,
-
os olhos e a boca
-
ainda estão pulando para fora do rosto,
-
mesmo que ambos estejam
-
redimensionados adequadamente.
-
Isso acontece porque ainda temos
-
alguns números "hard-coded"
-
nos nossos comandos da elipse.
-
Alguns números que na verdade deveriam
-
ser frações ou variáveis.
-
Aqui, vou mostrá-los...
-
Então, para as elipses dos olhos,
-
X menos cinquenta para a posição X,
-
significa que isso será sempre X menos 50
-
mesmo que façamos faceSize
-
menor do que 50 pixels,
-
e isso não faz sentido
-
pois quer dizer que o olho esquerdo
-
não estará
-
mais no rosto.
-
Então isso deve ser X menos uma fração
-
o tamanho da nossa face,
-
e nós podemos descobrir a fração
-
da mesma maneira.
-
50 relativo ao 300 original,
-
então 50 sobre 300, 5 sobre 30, 1 sobre 6,
-
então, 1/6 vezes faceSize
-
e podemos ver outros 50 aqui
-
podemos fazer a mesma coisa,
-
a mesma expressão,
-
aqui temos 100 sobre 300,
-
isso será
-
um terço vezes faceSize,
-
isso é sessenta,
-
esse aqui é
-
um quinto vezes faceSize,
-
e aqui tem outro cinquenta,
-
então um sexto novamente,
-
e quarenta,
-
é o que descobrimos acima
-
dois sobre quinze,
-
então dois quinze avos vezes faceSize.
-
Bem, então vamos tentar novamente...
-
Oh, vejam só!
-
Olhem isso, está lindo!
-
Muito bem
-
Certo, então vamos recapitular:
-
nós criamos esta variável
-
que armazenou o tamanho da face,
-
e isso armazena um número;
-
Então temos essas variáveis, mouthSize
-
e eyeSize
-
e nós os calculamos baseados em frações
-
de faceSize
-
para termos certeza
-
que seus valores sempre mudam
-
baseados neste valor inicial
-
então todos os deslocamentos são
-
calculados com base em faceSize
-
para ter certeza que a posição
-
dentro dos rostos mudam
-
quando faceSize muda.
-
Wooo! Muito bom.
-
Então agora que entendemos
-
como criar variáveis
-
dependentes do valor de outras variáveis,
-
podemos fazer muito com nossos programas.
-
Vamos celebrar fazendo o Winston
-
grande! Yeah, vai Winston!