-
V tomto průvodci se podíváme na něco,
co už dávno používate.
-
Jsou to funkce.
-
Kdykoli, když používáte
příkazy jako "rect", "fill" nebo "text",
-
voláte funkce.
-
A tyto funkce nakreslí,
co jim řeknete.
-
A co to vlastně funkce je?
-
Je to kus kódu, který jsme dali
dohromady a nějak jsme ho pojmenovali.
-
A tuto funkci můžeme
opakovaně používat.
-
Vezměte si třeba "rect".
-
Co vlastně "rect" dělá?
-
Jednoduše nakreslí
čtyři čáry.
-
To samé bychom
zvládli udělat i pomocí funkce "line".
-
Vidíme, že třeba pomocí 4 takových funkcí
vykreslíme obdélník.
-
Je ale pravda,
že obdélník budeme kreslit docela často.
-
A počítat pokaždé nakreslení
všech čtyř čar, to je celkem otrava.
-
Namísto toho
tedy máme funkci "rect".
-
A ta dělá to samé,
jako tyto čtyři řádky kódu.
-
Ale za použití
méně kódu!
-
Funkce "rect" je funkcí dostupnou
ve všech programech na Khan Academy.
-
Můžete si ale udělat
i své vlastní funkce,
-
které pak můžete
používat ve svých programech.
-
Dám vám příklad.
-
Řekněme, že chceme program,
který bude opakovaně kreslit Winstona.
-
Třeba bychom chtěli vyprávět
Winstonův životní příběh
-
A chtěli bychom ukázat
každou etapu jeho života.
-
Takhle by mohl vypadat
počáteční Winstonův kód.
-
Máme zde proměnné
faceX a faceY.
-
Ty označují střed obličeje, vůči
kterému se vykreslí oči a ústa.
-
V této chvíli program
vidí kód bez jakékoli funkce.
-
Program tedy kód spustí,
ale pouze jednou.
-
Zkusíme z toho teď
udělat funkci.
-
Princip je velmi podobný tomu,
jak se definují proměnné.
-
Už to vlastně skoro umíme.
-
Napíšeme tedy
"var drawWinston".
-
Tedy název bude "nakresli Winstona"
-
A pak napíšeme rovná se.
-
Ale tady namísto čísla nebo řetězce
napíšeme "function" a "prázdné závorky".
-
Pak napíšeme otevřenou složenou závorku,
zavřenou složenou závorku a středník.
-
Teď musíme vložit všechno,
co chceme ve funkci mít,
-
mezi složené závorky.
-
Čili vezmeme tento kód
a vložíme ho do naší funkce.
-
Pěkně to ještě odsadíme.
-
Takže teď tady máme proměnnou,
která obsahuje naši funkci.
-
V podstatě jsme tento shluk
kódu označili proto,
-
abychom ho později
během programu mohli přivolat.
-
Upravili jsme si to, abychom tento kód
mohli opakovaně používat.
-
Ale teď si všimněte, že
nám zmizel Winston!
-
Ztratili jsme ho.
-
Stalo se to,
-
že při vložení kódu do funkce
jsme našemu programu řekli:
-
"Tady máš nějaký kód k přivolání,
ale jenom když ti to řeknu."
-
Musíme tedy programu
říct, aby kód spustil.
-
A to znamená, že
musíme přivolat funkci.
-
Úplně stejně jako
s elipsami, čárami a obdélníky.
-
Napíšeme název funkce
"drawWinston".
-
Doplníme závorky.
-
A samozřejmě středník.
-
A máme Winstona!
-
Mně se to dost líbí!
-
Vám asi úplně ne, protože náš
program dělá to samé, co předtím.
-
Ale v čem je to teď lepší?
-
Smysl funkcí je ten,
že je můžeme použít opakovaně.
-
Tak pojďme na to.
-
Jednoduše zkopírujeme
a vložíme přivolání funkce.
-
Znovu a ještě jednou.
-
No, ale to pořád vypadá stejně.
-
Funguje to, kreslí to
několik Winstonů.
-
Problémem je, že jsou
všichni na tom samém místě.
-
Kdybychom měli rentgen,
-
ozářili bychom plátno
a viděli bychom tři Winstony.
-
Nevím jak vy, ale já
rentgen nemám.
-
Můžeme ale naši funkci
trochu upravit.
-
A pak už to vidět bude.
-
Jak vidíte, faceX a faceY
jsou vždy 202 a 208.
-
To můžeme změnit
použitím funkce "random".
-
Určíme náhodná čísla
od 50 do 350.
-
Vygeneruje mi to náhodná
čísla v tomto rozmezí.
-
Tady uděláme to samé.
-
Takže při každém přivolání
funkce se generují náhodná čísla.
-
Při opětovném spuštění
dostaneme náhodné Winstony.
-
Podle mě je to skvělý,
-
protože bez funkce
bychom museli napsat hromadu kódu.
-
Museli bychom napsat
třikrát tolik kódu.
-
Pořád to ale není tak
praktické, jak by to mohlo být.
-
My totiž nechceme
náhodné Winstony,
-
ale Winstony na
specifické pozici.
-
Takže se těšte na příště,
-
protože se naučíme něco o tom,
jak naší funkci předávat parametry.