1 00:00:00,642 --> 00:00:02,229 Wracamy do Winstona. 2 00:00:02,329 --> 00:00:07,244 Mamy już zmienne "x" i "y" określające jego pozycję. 3 00:00:07,344 --> 00:00:10,193 Możemy przesuwać go na boki, 4 00:00:10,293 --> 00:00:13,440 w górę i w dół... Świetnie! 5 00:00:13,540 --> 00:00:18,992 Zmodyfikujmy wartości zmiennych. Dajmy 200 i 200. 6 00:00:19,092 --> 00:00:22,755 Zobaczmy jeszcze raz, jak ten program działa. 7 00:00:22,855 --> 00:00:24,404 Zaczynamy tutaj. 8 00:00:24,504 --> 00:00:28,049 Jest zmienna "eyeSize" określająca wielkość oczu. 9 00:00:28,149 --> 00:00:32,374 Mają 40 pikseli szerokości i 40 pikseli wysokości. 10 00:00:32,473 --> 00:00:35,481 Są też zmienne "x" i "y". 11 00:00:35,581 --> 00:00:38,564 Określają środek twarzy. 12 00:00:39,569 --> 00:00:44,475 Widzimy je w poleceniu "ellipse", które rysuje duże żółte koło. 13 00:00:45,735 --> 00:00:50,642 Zmienne "x" i "y" przydają się też przy oczach. 14 00:00:50,742 --> 00:00:53,939 Tutaj oczy są rozmieszczone 15 00:00:54,039 --> 00:00:56,447 względem środka twarzy, 16 00:00:56,547 --> 00:01:01,376 to znajduje się 50 pikseli w lewo od środka, 17 00:01:01,476 --> 00:01:04,813 a to - 100 pikseli w prawo. 18 00:01:05,659 --> 00:01:07,570 No dobrze. 19 00:01:07,670 --> 00:01:11,759 Dzięki temu możemy przesuwać Winstona w górę i w dół. 20 00:01:11,859 --> 00:01:16,964 Chcę kontrolować więcej elementów jego twarzy, z użyciem zmiennych. 21 00:01:17,064 --> 00:01:21,084 Zastanawiam się, co jeszcze możemy przechowywać jako zmienne. 22 00:01:21,184 --> 00:01:24,009 Przyjrzę się każdej linii kodu 23 00:01:24,109 --> 00:01:28,019 i poszukam ręcznie wpisanych liczb. 24 00:01:28,150 --> 00:01:30,902 To po prostu liczby, 25 00:01:31,002 --> 00:01:34,302 a nie zmienne. Nie zależą od zmiennych. 26 00:01:34,390 --> 00:01:37,773 Zacznijmy od pierwszego przywołania elipsy. 27 00:01:37,873 --> 00:01:41,197 Mamy 300 i 300 dla szerokości i wysokości. 28 00:01:41,793 --> 00:01:43,375 To po prostu liczby. 29 00:01:43,475 --> 00:01:48,344 Zróbmy z nich zmienną o nazwie "faceSize" 30 00:01:48,444 --> 00:01:50,782 i niech przechowuje 300. 31 00:01:50,882 --> 00:01:53,847 Wpiszę "faceSize"... 32 00:01:53,947 --> 00:01:56,076 "faceSize". Dobrze. 33 00:01:56,176 --> 00:01:58,229 I dalej. Kolory opuścimy. 34 00:01:58,359 --> 00:02:00,657 Teraz polecenia dotyczące elipsy 35 00:02:00,757 --> 00:02:04,786 są zmiennymi lub zależą od zmiennych. Na razie tak je zostawię. 36 00:02:04,886 --> 00:02:09,428 W poleceniu dotyczącym ust te wartości zależą od "x" i "y" 37 00:02:09,527 --> 00:02:12,632 a te - to po prostu liczby. 38 00:02:12,732 --> 00:02:14,095 150 i 150. 39 00:02:15,047 --> 00:02:17,743 Napiszemy więc "mouthSize"... 40 00:02:18,716 --> 00:02:21,005 Wartość: 150. 41 00:02:22,252 --> 00:02:24,915 Zastąpimy to "mouthSize". 42 00:02:25,015 --> 00:02:28,236 I... "mouthSize". W porządku. 43 00:02:28,336 --> 00:02:33,205 Mamy wielkości figur przechowane jako zmienne u góry. 44 00:02:33,305 --> 00:02:36,061 Dzięki temu będzie łatwo je zmieniać. 45 00:02:36,161 --> 00:02:38,805 O, tak. Winston jest głodny! 46 00:02:39,486 --> 00:02:41,498 A teraz... 47 00:02:41,598 --> 00:02:44,817 Zgłodniał, najadł się pączków 48 00:02:44,917 --> 00:02:46,760 i jest teraz olbrzymi! 49 00:02:47,356 --> 00:02:52,129 Ale nie podoba mi się coś w programie. 50 00:02:52,229 --> 00:02:55,513 Jeśli zmienię "faceSize" 51 00:02:55,613 --> 00:02:58,802 tak, żeby twarz była malutka, 52 00:02:59,536 --> 00:03:04,900 uzyskam coś dziwnego. Usta i oczy wystają. 53 00:03:05,000 --> 00:03:10,705 Wydaje się, że nie są nawet z nią połączone. To już nie twarz! 54 00:03:11,860 --> 00:03:16,464 Chcę, żeby przy zmianie wielkości twarzy 55 00:03:16,564 --> 00:03:21,549 usta i oczy także się zmieniały. 56 00:03:21,649 --> 00:03:24,405 Jeśli zmniejszę twarz o połowę, 57 00:03:24,505 --> 00:03:27,532 to niech usta zmaleją proporcjonalnie. 58 00:03:27,632 --> 00:03:29,401 To oznacza, że... 59 00:03:29,501 --> 00:03:32,810 chcę przedstawić wielkość oczu i ust 60 00:03:32,910 --> 00:03:35,798 jako ułamek wielkości twarzy. 61 00:03:36,711 --> 00:03:37,826 Dobrze. 62 00:03:37,926 --> 00:03:41,727 Określmy zmienne i pokażę, o co chodzi. 63 00:03:41,827 --> 00:03:44,235 Zacznijmy od "mouthSize". 64 00:03:44,335 --> 00:03:47,509 Teraz "faceSize" wynosi 300, 65 00:03:47,609 --> 00:03:50,643 a "mouthSize" to 150. 66 00:03:50,743 --> 00:03:53,081 Zestawiając te wartości, 67 00:03:53,181 --> 00:03:57,307 powiemy, że "faceSize" jest 2 razy większe od "faceSize". 68 00:03:57,407 --> 00:04:01,951 Albo że "mouthSize" jest połową "faceSize". 69 00:04:02,051 --> 00:04:04,064 Napiszemy to tak. 70 00:04:04,164 --> 00:04:08,075 Jedna druga razy "faceSize". 71 00:04:08,175 --> 00:04:12,122 Dobrze. Ta linia mówi, że bierzemy wartość "faceSize", 72 00:04:12,222 --> 00:04:15,698 mnożymy ją przez 0,5 i przechowujemy w "mouthSize". 73 00:04:15,798 --> 00:04:18,182 Jeśli więc zmienimy to, 74 00:04:18,281 --> 00:04:22,292 program wyliczy połowę i zrobi mniejsze usta. 75 00:04:22,392 --> 00:04:24,870 Doskonale. O to chodziło. 76 00:04:24,970 --> 00:04:27,447 Teraz wielkość oczu. 77 00:04:27,547 --> 00:04:31,278 "FaceSize" wynosi 300, a "eyeSize" 40. 78 00:04:31,378 --> 00:04:37,083 Zatem interesuje nas 40/300 wartości "faceSize". 79 00:04:37,183 --> 00:04:41,193 Czyli... zobaczmy... 4 przez 30... 80 00:04:41,293 --> 00:04:43,973 i skrócimy do 2/15. 81 00:04:44,080 --> 00:04:49,390 Mamy więc 2/15 "faceSize". 82 00:04:50,179 --> 00:04:52,594 Jeśli to sprawia wam trudność, 83 00:04:52,694 --> 00:04:56,947 bo nie znacie jeszcze ułamków, obejrzyjcie filmy w Khan Academy 84 00:04:57,047 --> 00:05:01,462 i wróćcie tutaj, gdy będziecie gotowi. 85 00:05:02,857 --> 00:05:06,934 No dobrze. Spróbujmy jeszcze raz zmienić wielkość twarzy. 86 00:05:07,034 --> 00:05:12,270 Ha! Patrzcie! Usta i oczy zmieniają się proporcjonalnie! 87 00:05:12,370 --> 00:05:15,495 Ale widzicie, że coś jest nie tak. 88 00:05:15,595 --> 00:05:19,463 Oczy i usta nadal wystają poza twarz, 89 00:05:19,563 --> 00:05:23,221 choć mają już odpowiednią wielkość. 90 00:05:23,321 --> 00:05:28,658 To dlatego, że zostały jeszcze liczby w "ellipse". 91 00:05:28,758 --> 00:05:32,191 A powinny być ułamkami zmiennych. 92 00:05:33,537 --> 00:05:34,878 Pokażę. 93 00:05:34,978 --> 00:05:37,711 Zatem elipsa-oko 94 00:05:37,811 --> 00:05:41,194 ma pozycję "x - 50". 95 00:05:41,294 --> 00:05:47,347 I zawsze tyle, nawet jeśli twarz jest mniejsza niż 50 pikseli. 96 00:05:47,447 --> 00:05:52,069 To bez sensu, bo lewe oko nie zmieści się w twarzy. 97 00:05:53,006 --> 00:05:57,424 Powinno być "x" minus ułamek wielkości twarzy. 98 00:05:57,524 --> 00:06:00,141 Ułamek wyliczymy tak samo. 99 00:06:00,241 --> 00:06:03,903 50 podzielić przez 300. 100 00:06:04,003 --> 00:06:06,016 A 50 przez 300... 101 00:06:06,116 --> 00:06:08,384 to 5/30 czyli 1/6. 102 00:06:08,484 --> 00:06:11,426 1/6 razy "faceSize". 103 00:06:12,218 --> 00:06:14,305 Tutaj też jest jeszcze 50, 104 00:06:14,405 --> 00:06:17,007 więc mamy to samo wyrażenie. 105 00:06:17,926 --> 00:06:20,039 Tu jest 100 przez 300. 106 00:06:20,139 --> 00:06:23,268 Czyli 1/3 razy "faceSize". 107 00:06:23,368 --> 00:06:25,149 Tutaj mamy 60, 108 00:06:25,249 --> 00:06:29,491 więc będzie 1/5 razy "faceSize", 109 00:06:29,591 --> 00:06:34,437 a tu znowu 50, więc 1/6. 110 00:06:34,537 --> 00:06:38,322 I jeszcze 40. To obliczyliśmy tutaj. 111 00:06:38,422 --> 00:06:39,849 2/15. 112 00:06:39,968 --> 00:06:44,863 2/15 razy "faceSize". 113 00:06:45,471 --> 00:06:48,289 Dobrze. Spróbujmy jeszcze raz. 114 00:06:48,389 --> 00:06:51,620 Patrzcie tylko! Pięknie! 115 00:06:51,720 --> 00:06:54,754 Bardzo dobrze. Powtórzmy. 116 00:06:54,854 --> 00:06:58,135 Stworzyliśmy zmienną przechowującą wielkość twarzy. 117 00:06:58,235 --> 00:07:00,281 Przechowuje ją jako liczbę. 118 00:07:00,381 --> 00:07:03,272 Mamy też zmienne "mouthSize" i "eyeSize", 119 00:07:03,372 --> 00:07:07,038 które przedstawiamy w postaci ułamków "faceSize", 120 00:07:07,138 --> 00:07:09,615 by ich wartości zmieniały się 121 00:07:09,715 --> 00:07:13,054 zależnie od wartości początkowej. 122 00:07:13,154 --> 00:07:17,371 Całą resztę także obliczamy na podstawie "faceSize", 123 00:07:17,471 --> 00:07:21,968 by zmieniała się pozycja elementów w twarzy. 124 00:07:22,068 --> 00:07:27,541 Już umiemy robić zmienne zależne od innych zmiennych. 125 00:07:27,641 --> 00:07:30,122 Mamy mnóstwo nowych możliwości. 126 00:07:30,222 --> 00:07:34,500 Uczcijmy to, sprawiając, że Winston będzie wielki! 127 00:07:34,600 --> 00:07:36,815 Tak, Winston!