1 00:00:01,316 --> 00:00:04,872 Kolejna animacja! Tym razem po ekranie lata piłka. 2 00:00:04,933 --> 00:00:06,803 Wiecie, dlaczego. 3 00:00:06,903 --> 00:00:09,659 Mamy zmienną „x” określającą pozycję piłki, 4 00:00:09,759 --> 00:00:13,792 zmienną „speed”, która mówi o prędkości 5 00:00:13,892 --> 00:00:17,275 i znajomą pętlę rysowania. Za każdym razem robimy tło, 6 00:00:17,375 --> 00:00:19,922 wybieramy kolory i rysujemy elipsę w „x”. 7 00:00:20,022 --> 00:00:23,196 Zawsze zamieniamy „x” na starą wartość „x” 8 00:00:23,296 --> 00:00:24,961 plus zmienną „speed”. 9 00:00:25,510 --> 00:00:27,445 Jeśli zmniejszę „speed”, 10 00:00:27,545 --> 00:00:30,093 wcisnę „restart”, by piłka wróciła... 11 00:00:30,193 --> 00:00:31,695 Porusza się wolniej. 12 00:00:31,795 --> 00:00:34,969 Przy wartości ujemnej będzie się cofać, 13 00:00:35,069 --> 00:00:38,034 a przy zerze się zatrzyma. 14 00:00:38,134 --> 00:00:40,443 Przy każdej prędkości niezerowej 15 00:00:40,543 --> 00:00:42,887 piłka w końcu zniknie z ekranu. 16 00:00:42,987 --> 00:00:46,695 Mogę ją odzyskać, wciskając „restart”, 17 00:00:47,240 --> 00:00:48,924 ale to męczy. 18 00:00:49,024 --> 00:00:52,128 Restartujesz, restartujesz... 19 00:00:52,228 --> 00:00:55,439 A może tak? Gdy piłka dociera do prawej krawędzi ekranu, 20 00:00:55,539 --> 00:00:59,419 zamiast zniknąć, niech zawróci. 21 00:01:00,375 --> 00:01:06,200 Wiem, jak to zrobić. Wystarczy, że „speed” zyska wartość -5. 22 00:01:06,300 --> 00:01:09,752 Przy prędkości ujemnej piłka będzie się poruszać wstecz. 23 00:01:09,852 --> 00:01:11,321 Jest jednak problem. 24 00:01:11,421 --> 00:01:15,650 Prędkość chcę zmieniać tylko wtedy, gdy piłka dotrze do prawej krawędzi. 25 00:01:17,995 --> 00:01:19,455 Już to mówiłam. 26 00:01:19,555 --> 00:01:24,683 Chcę zmienić prędkość, jeśli piłka dotrze do prawej krawędzi. 27 00:01:25,208 --> 00:01:27,283 Potrzebna jest instrukcja warunkowa. 28 00:01:27,383 --> 00:01:31,533 Do tej pory komputer wykonywał polecenia bez względu na wszystko. 29 00:01:31,633 --> 00:01:33,192 Teraz mogę powiedzieć: 30 00:01:33,292 --> 00:01:38,150 „Uruchom ten program, ale w konkretnych okolicznościach. 31 00:01:38,250 --> 00:01:42,539 Zmień prędkość piłki, jeśli dotrze ona do krawędzi”. 32 00:01:42,639 --> 00:01:46,788 Tak to wygląda w programie. Wpisujemy „if”, 33 00:01:46,888 --> 00:01:50,888 nawiasy okrągłe i klamry. 34 00:01:50,988 --> 00:01:53,940 W nawiasie umieszczamy warunek. 35 00:01:54,040 --> 00:01:57,446 W klamrach - program do uruchomienia. 36 00:01:57,546 --> 00:02:00,232 Jest tak: „Jeśli zachodzi ta sytuacja, 37 00:02:00,332 --> 00:02:03,297 uruchom program. Inaczej - nie trudź się”. 38 00:02:03,895 --> 00:02:07,152 Tu warunkiem jest dotarcie piłki do prawej krawędzi. 39 00:02:07,252 --> 00:02:09,722 Skąd mamy wiedzieć, czy to się stało? 40 00:02:09,822 --> 00:02:13,421 Zmienna „x” mówi, gdzie jest piłka. 41 00:02:13,521 --> 00:02:19,296 I wiem, że krawędź pola znajduje się w pozycji 400. 42 00:02:20,248 --> 00:02:22,338 Zatem zobaczmy. 43 00:02:22,723 --> 00:02:26,076 Gdy „x” jest większe od 400, 44 00:02:26,176 --> 00:02:29,838 to wiemy, że piłka wyleciała poza krawędź. 45 00:02:29,938 --> 00:02:32,973 Zobaczmy, jak to działa. W programie 46 00:02:33,073 --> 00:02:37,640 tylko zmienimy prędkość. Na -5. 47 00:02:38,127 --> 00:02:41,192 Wciśniemy „restart” i zobaczymy. 48 00:02:41,292 --> 00:02:45,372 Teraz kiedy piłka dotrze do prawej krawędzi, odbije się. 49 00:02:45,472 --> 00:02:49,684 I znów znika z ekranu. To nic: zrobimy to samo z drugiej strony. 50 00:02:49,784 --> 00:02:52,862 Zobaczmy, czy piłka dotarła do lewej krawędzi. 51 00:02:52,962 --> 00:02:56,494 To przy „x” mniejszym od 0. 52 00:02:57,771 --> 00:03:03,066 Wtedy prędkość ma być dodatnia, dajmy więc 5. 53 00:03:04,007 --> 00:03:07,640 Wcisnę „restart” i teraz... 54 00:03:07,740 --> 00:03:09,315 bang... 55 00:03:09,415 --> 00:03:11,959 bang... 56 00:03:12,059 --> 00:03:13,909 bang... 57 00:03:14,722 --> 00:03:16,603 Udało się! 58 00:03:17,171 --> 00:03:20,500 Sprawdzamy, czy piłka wydostała się za krawędzie. 59 00:03:20,600 --> 00:03:23,474 Chyba za daleko! 60 00:03:23,574 --> 00:03:26,007 Jeśli pamiętacie, te parametry 61 00:03:26,107 --> 00:03:29,211 wyznaczają środek elipsy. 62 00:03:29,311 --> 00:03:32,698 Gdy środek dotrze do krawędzi, 63 00:03:32,798 --> 00:03:35,365 połowa elipsy jest już za nią. 64 00:03:35,465 --> 00:03:39,498 Żeby temu zaradzić, zatrzymamy elipsę wcześniej. 65 00:03:39,598 --> 00:03:44,792 Krawędź jest tu, na 400, a my chcemy zatrzymać elipsę tu. 66 00:03:44,892 --> 00:03:50,504 Widzimy w funkcji, że elipsa ma szerokość 50, 67 00:03:51,967 --> 00:03:56,773 czyli od środka do krawędzi będzie 25. 68 00:03:57,934 --> 00:04:01,417 Zatrzymamy, gdy środek dotrze do... 69 00:04:01,517 --> 00:04:04,691 375. Bo to 400 minus 25. 70 00:04:05,365 --> 00:04:10,589 Nie sprawdzamy więc, czy „x” jest większe od 400, ale od 375. 71 00:04:10,689 --> 00:04:14,792 Ani nie sprawdzamy, czy „x” jest mniejsze od 0, ale od 25. 72 00:04:16,882 --> 00:04:20,781 Teraz jest doskonale! Patrzcie, jak się odbija!