WEBVTT 00:00:01.860 --> 00:00:10.076 Então nós já criamos essa variável legal para os olhos do Winston, a qual tem sido realmente útil porque nos salvou de digitar muito, quando queremos mudar o tamanho dos olhos 00:00:10.076 --> 00:00:15.497 Lembre-se que antes tínhamos que digitar o mesmo número quatro vezes, sempre que queríamos mudar o tamanhos dos olhos dele 00:00:15.497 --> 00:00:18.940 Mas nós podemos usar variáveis para substituir números quando eles não são iguais? 00:00:18.940 --> 00:00:21.496 E se eu quisesse mover o Winston um pouquinho? 00:00:21.496 --> 00:00:27.472 Nós poderíamos mudar cada uma dessas coordenadas x, mas elas não são iguais, então eu não posso substituí-las com alguma variável 00:00:27.472 --> 00:00:33.469 Mas espere! Uma vez que eu atribuir um número a uma variável, eu posso usar essa variável exatamente como se fosse aquele número 00:00:33.469 --> 00:00:36.693 O que significa, eu posso usar variáveis em expressões matemáticas 00:00:36.693 --> 00:00:40.462 Que tal isso, vamos criar uma variável para a posição x de Winston 00:00:40.462 --> 00:00:43.024 Vamos chamar de "var x" 00:00:43.024 --> 00:00:47.744 Simples o suficiente, okay, agora vamos da-la o valor da coordenada x da cara do Winston 00:00:47.744 --> 00:00:51.339 A cara dele está sendo desenhada na coordenada x 200 00:00:51.339 --> 00:00:54.423 Então nós dizemos var x recebe 200 (var x = 200;) 00:00:55.053 --> 00:01:02.398 Agora eu posso substituir esse número com a minha nova variável "x". E quando eu mudar o valor de x, a cara do Winston move 00:01:02.398 --> 00:01:04.896 Mas não seus olhos ou sua boca 00:01:04.896 --> 00:01:13.694 Para arrumar isso, nós teremos que definir a posição dos olhos deles e da boca, relativa a posição da cara. 00:01:13.694 --> 00:01:19.940 Então a coordenadas "x" serão os centros de todas as outras elipses, então a cara dele está sendo desenhada em... 00:01:19.940 --> 00:01:28.603 200, agora vamos fazer seu olho esquerdo primeiro, essa elipse é o olho esquerdo dele, e podemos ver que está desenhada em 150 00:01:28.603 --> 00:01:32.865 Então bem aqui é 150 00:01:32.865 --> 00:01:37.556 E eu sei que 150 é 200 menos 50 00:01:37.592 --> 00:01:42.360 Então seu olho esquerdo deverá estar sempre onde a cara dele está, menos 50 00:01:42.360 --> 00:01:46.894 Então vai ser "x", que é a posição da cara dele, menos 50 00:01:46.894 --> 00:01:52.950 E agora se eu mudar o valor dessa coordenada x, o olho dele se move junto com a cara 00:01:52.864 --> 00:01:54.206 Vamos fazer os outros. 00:01:54.206 --> 00:02:01.302 Então o olho direito dele é está desenhado em 300, eu posso ver, então aqui é 300 00:02:01.302 --> 00:02:05.214 E 300, eu sei que é 100 a mais que 200 00:02:05.214 --> 00:02:09.902 Então o olho direito deverá estar sempre aonde a cara estiver mais 100 00:02:09.902 --> 00:02:12.535 Isso é x+ 100 00:02:12.535 --> 00:02:16.302 Agora nós temos apenas a boca, que está sendo desenhada em 250 00:02:16.302 --> 00:02:22.993 É bem aqui, nós temos 250, e 250 é 200 mais 50 00:02:22.993 --> 00:02:29.635 Ela sempre estará onde a cara está x + 50 00:02:29.635 --> 00:02:37.052 Agora eu vou me livrar desses rabiscos. Sempre que eu mudar o valor de x, vai mover a cara inteira! 00:02:39.205 --> 00:02:42.697 Antes de você ir, você devia saber umas coisas a mais sobre variáveis 00:02:42.697 --> 00:02:45.558 Uma vez que você criou uma variável usando var x 00:02:45.558 --> 00:02:48.395 Você pode atribuir o valor quantas vezes você quiser. 00:02:48.395 --> 00:02:57.996 Então depois de dar a x o valor 198, eu posso dizer que x recebe 300, ou x recebe 150 00:02:57.996 --> 00:03:03.724 A partir daí, o computador tratará x como nós atribuímos por último 00:03:03.724 --> 00:03:05.529 Nesse caso 150 00:03:05.529 --> 00:03:08.235 Mas você só precisar digitar var uma vez por variável 00:03:08.235 --> 00:03:15.329 Se aqui eu digitar var x = 150; em vez disso, isso vai ter criado uma nova variável chamada x 00:03:15.329 --> 00:03:21.062 Completamente destruindo a velha variável x no processo, então todas essas variável terão indo para a lixeira 00:03:21.062 --> 00:03:24.432 E depois disso o computador apenas usará a nova variável 00:03:24.432 --> 00:03:28.951 Algumas vezes você pode fazer isso sem que coisas terríveis aconteçam, mas eu não aconselharia. 00:03:28.951 --> 00:03:32.448 Por hora eu só vou fazer isso uma vez ( var x = 150;) 00:03:32.448 --> 00:03:39.058 E agora convenientemente eu posso mover todo o Winston para fora da tela, então eu posso falar sobre o próximo assunto 00:03:39.058 --> 00:03:46.662 Então sempre que você tiver uma variável igual a algo, essa variável está num lugar seguro e feliz. 00:03:46.662 --> 00:03:53.269 Na verdade no lado esquerdo do sinal de igual está o único lugar onde uma variável pode verdadeira se sentir como uma 00:03:53.269 --> 00:03:57.173 porque este é o único lugar que o computador a considerará como variável. 00:03:57.173 --> 00:04:00.037 Em qualquer outro lugar, o computador apenas finge que é um valor 00:04:00.037 --> 00:04:05.949 Mesmo que façamos algo assim, var x recebe 10 (var x = 10;) 00:04:05.949 --> 00:04:11.760 E então, x recebe x (x = x;) Uau, confuso 00:04:11.760 --> 00:04:19.997 Bem, na esquerda, nós temos x, que é um variável livre e independente, que pode crescer, que pode mudar! 00:04:19.997 --> 00:04:24.997 Mas na esquerda é apenas 10 00:04:24.997 --> 00:04:29.167 Triste :( Mas isso significa que podemos fazer coisas realmente úteis como 00:04:29.167 --> 00:04:33.535 Eu posso dizer que x recebe x+1 (x = x+1;) 00:04:33.535 --> 00:04:43.034 Então nas esquerda temos nossa variável em um lugar seguro e feliz, e na direita nós temos essa variável, a qual nós sabemos que basicamente é só um número 00:04:43.034 --> 00:04:44.449 É só 10 00:04:44.449 --> 00:04:47.199 Então nós mentalmente substituímos esse x por 10 mais 1 00:04:47.199 --> 00:04:51.064 Que apenas significa x recebe 11 00:04:51.064 --> 00:04:57.453 Então essa linha inteira está basicamente dizendo x recebe 11, então de agora em diante o valor de x é 11 00:04:57.453 --> 00:05:00.831 Vamos ver o que acontece se trazermos outra variável para a equação 00:05:00.831 --> 00:05:06.448 Nós faremos var x recebe 10 (var x = 10;) 00:05:06.448 --> 00:05:10.500 var y recebe 20 (var y = 20;) 00:05:10.500 --> 00:05:12.733 x recebe y (x = y;) 00:05:12.733 --> 00:05:17.029 e y recebe 7 (y = 7;) 00:05:17.029 --> 00:05:21.203 Ok, o que eu quero saber é, qual o valor de x? 00:05:21.203 --> 00:05:23.531 Vamos descobrir 00:05:23.531 --> 00:05:28.604 Então neste ponto criamos uma nova variável x, e atribuímos o valor 10 00:05:28.604 --> 00:05:31.287 Então o valor de x é 10 00:05:31.287 --> 00:05:35.536 Nesse ponto aqui, criamos uma nova variável y e a demos o valor 20 00:05:35.536 --> 00:05:39.165 Então não fizemos nada em x, então o valor de x ainda é 10 00:05:39.165 --> 00:05:44.098 Aqui nós estamos dizendo x recebe y. Bem isso é muito confuso, mas se você pensar sobre isso 00:05:44.098 --> 00:05:47.869 nós sabemos que apenas uma dessa variáveis está no lugar seguro e feliz. 00:05:47.869 --> 00:05:52.204 E a outra variável está sendo tratada exatamente como se fosse um número 00:05:52.957 --> 00:06:00.188 Então aqui nós mentalmente substituímos esse y com o seu valor, que é 20, e nós sabemos o que aquele sinal realmente significa 00:06:00.188 --> 00:06:04.725 é que x recebe 20. Então o valor de x é 20! 00:06:04.725 --> 00:06:09.948 E aqui nós temos o y no lugar seguro e feliz dessa vez, mas esse não é realmente confuso 00:06:09.948 --> 00:06:12.698 porque nós temos um número do outro lado 00:06:12.698 --> 00:06:21.071 Aqui está a grande questão, quando eu mudo o valor do y aqui, isso muda o valor de x ali em cima? 00:06:21.071 --> 00:06:25.558 A resposta, NÃO!! 00:06:25.558 --> 00:06:31.166 Você tem que lembrar, aqui em cima y está sendo tratada apenas como um número 00:06:31.166 --> 00:06:35.864 O computador vai ignorar completamente que é uma variável, esquecer que de fato ela pode mudar 00:06:35.864 --> 00:06:41.614 e ele só vai dizer "oh, y o que você realmente significa é 20" 00:06:41.614 --> 00:06:49.224 Então bem qui, nós estamos atribuindo um número a x, não estamos atribuindo uma variável, estamos adicionando o valor de y, que é 20 00:06:49.224 --> 00:06:58.705 E isso significa que o valor de x continua 20, mesmo que depois nós mudemos o valor dessa variável y na última linha 00:06:58.705 --> 00:07:06.285 Ufa! Capisce? Bem agora vocês são especialistas em variáveis, parabéns!!