Pojďme si říct něco o cyklech.
Máme tady while cyklus s několika řádky kódu,
pomocí kterých mohu napsat tuto zprávu přes celou obrazovku.
Pokud zprávu změním a vylepším ji, všechny její části se změní.
Jak to tedy funguje?
K tomuto kódu se můžeme za chvíli vrátit znovu.
Teď se ale vraťme zpět a zamysleme se nad tím,
jak bychom mohli tento program napsat za použití jen toho, co známe.
Tedy bez použití cyklů.
Abychom to dokázali, budeme psát spoustu textu pořád dokola.
Napíšeme "text(message)", umístíme to a nyní je to jen otázka opakování a času.
Nakonec se chceme dostat až na dolní část stránky.
A to bude vyžadovat spoustu práce.
Jelikož spodek je opravdu daleko.
A je to ještě horší, když si uvědomíme,
že tohle vlastně nebylo 70, musí to být blíže, musí to být tak 60.
A nyní to ovlivňuje taky tento kód, protože musí být také menší.
A situace se opakuje, čím více textových příkazů máme.
Takže to bude trvat celkem dlouho, než se dostaneme na spodek.
Je to hodně otravné.
Ale naštěstí máme cykly, které nám pomohou.
Od této chvíle, kdykoli uvidíte podobný opakující se kód,
vaše první myšlenka by měla být:
"Můžu použít cyklus?"
Cyklus nám umožní opakovat část kódu znovu, znovu a znovu.
Pokaždé jen s malými změnami.
Zde bychom mohli kód přepsat cyklem.
Abychom mohli začít, musíme napsat "while", závorky a složené závorky.
Dostaneme tuto zprávu.
Ale to jen proto, že jsme to ještě celé nedokončili,
takže se nebojte, zpráva nakonec zmizí.
Pokaždé, když píšete cyklus, musíte si odpovědět na tři klíčové otázky.
První otázka zní: „Co chci opakovat?“
To, co chceme opakovat, musí být mezi těmito složenými závorkami.
Takže v tomto případě chceme opakovat "text".
Tak se do toho dejme a vložme to tam.
Je to ale trochu divné,
protože se nyní bude opakovat stejný textový příkaz dokola.
My ale musíme něco změnit.
To nás přivádí k otázce druhé: „Co chceme pokaždé změnit?“
Chceme změnit pozici "y", a to tak, aby byla 60 a pak 80.
Takže z toho uděláme proměnnou.
Nazvala jsem ji y, protože je to pozice y.
Teď deklarujeme proměnnou zde nahoře.
Začne na hodnotě 40.
A teď už jen musíme upravit proměnnou y.
Můžeme to udělat tak, že napíšeme "y = y + 20;".
Pokaždé se bude zvětšovat.
Můžeme zde využít naši znalost z lekce Incrementing Shortcuts.
Stačí použít zkratku.
Je to super a zbývá nám zodpovědět už jenom otázku číslo tři:
"Jak dlouho bychom to měli opakovat?"
Chceme to dělat dokola, ale nechceme to dělat navždy.
V případě, že to budeme dělat donekonečna,
zabere to opravdu hodně času a taky to může zmrazit prohlížeč.
Cyklus chceme opakovat do té doby, než se dostaneme na konec stránky.
Což znamená,
že ho cheme opakovat, dokud je y je menší než 400.
Takže to prostě dáme sem a máme to!
Máme tuto zprávu napsanou přes celou obrazovku.
A vidíte, že je to mnohem snazší, než náš předchozí postup.
U toho jsme se za stejnou dobu nedostali ani do čtvrtiny.
Můžeme se toho tedy zbavit a tady máme náš program.
Nyní se pokusíme lépe porozumět tomu, co se děje.
Pro demonstraci si budu vypisovat y.
Napíšu "y je nyní".
Na konec zprávy připíšu y, abychom to mohli vidět.
V tuto chvíli se hodnota mění o 20.
Změníme to jen úpravou proměnné zde.
Nebo to můžeme nastavit na 50 a teď se to mění o 50.
Podobně můžete pokračovat a hrát si i s ostatními hodnotami a měnit je.
Můžete vidět, jak to ovlivňuje místo, kde se program zastaví.
Abyste tomu rozuměli lépe, můžete si to představit jako podmínku if.
Máme zde booleovský výraz, který jste se již naučili.
Poté vytvoříme tělo výrazu, tuto část zde.
Pokračujeme pouze pokud je booleovská podmínka pravdivá.
Jinak prostě skočíme na konec.
Zajímavé je to, že u while cyklu máme na konci tuto tajnou věcičku.
Ta nám říká: "Vrať se na začátek!"
Tato tajná instrukce značí,
že místo toho, aby cyklus jednoduše pokračoval jako u "if",
vrátí se po každém provedení cyklu na začátek a zkontroluje pravdivost podmínky.
Pokud je podmínka pravdivá, zopakujeme to ještě jednou.
A asi tušíte, že se podruhé opakuje úplně to samé.
Nejdříve jdeme na začátek.
Je y stále menší než 279?
Pokud ano, zopakujeme to ještě jednou a budeme pokračovat v kontrole.
Až když tomu tak není, jdeme zpět na začátek.
Potom nás to hodí na konec cyklu a budeme pokračovat v našem programu.
Existuje mnohem více zajímavých způsobů, jak cykly používat.
Brzy se o nich dozvíte.
Zatím jste na dobré cestě.