Programování pro hračičky/Měniči/Lekce 2: Porovnání verzí
Smazaný obsah Přidaný obsah
Řádek 22:
== Metody a příkazy ==
Abychom pochopili princip zacházení s herními objekty ještě o něco přesněji, musíme nahlédnout hlouběji do nitra objektů. Jak jsme si řekli výše, všechny akce s objekty se provádějí tak, že se objektu dá pokyn, aby spustil nějakou funkci, tedy určitý logicky ucelený kousek svého programového kódu. Takovéto na pokyn zvenčí spustitelné funkce nazýváme ''metody'', a o pokynu k jejich spuštění hovoříme jako o ''volání''.<ref>V programovém kódu objektu se mohou vyskytovat — a zpravidla také vyskytují — i funkce, které metodami nejsou, tedy
Jsou čtyři metody, které se v objektu volají automaticky:<ref>Přesněji řečeno volá tyto metody herní ovladač neboli driver, tedy program, který udržuje celou hru v chodu.</ref>
Řádek 28:
*Bezprostředně po vytvoření každého objektu se v něm zavolá metoda <code>create()</code>.<ref>Aby se názvy funkcí odlišily od jiných názvů, píší se za ně závorky. Mezi těmito závorkami případně mohou být i parametry funkce, ale tím se budeme zabývat až později.</ref> Ta zpravidla provede základní nastavení objektu — tedy definuje jeho vzhled, povrch, zápach, zvuk, hmotnost, cenu atd.
*V pravidelných časových odstupech (asi 40 minut reálného času) se v každém objektu zavolá metoda <code>reset()</code>. Ta zpravidla obnovuje ty vlastnosti objektu, které se mohou změnit následnou činností hráčů — například rostou-li na jabloni jablka, která mohou hráči otrhávat, může tato metoda obsahovat opětné doplnění jejich počtu.
*Při každém bezprostředním setkání objektu s živou bytostí se volá metoda <code>init()</code> — živou bytostí zde rozumíme objekt, kterému bylo povoleno vykonávat příkazy, což jsou typicky jednak hráči, jednak nehráčské postavy jako třeba Josef v úvodní místnosti hry, a bezprostředním setkáním zas míníme přesun objektu do inventáře živé bytosti, přesun objektu do inventáře jiného objektu, v němž se nachází živá bytost, nebo přesun živé bytosti do inventáře objektu. V této metodě se zpravidla definují příkazy, které mají být při zacházení s objektem živé bytosti k dispozici.
*Před zničením objektu (tedy jeho odstraněním ze hry) se v něm zavolá metoda <code>remove()</code> (či naopak, zavolání metody <code>remove()</code> způsobí zničení objektu, v němž byla zavolána). Ta se zpravidla stará o to, aby objekt dokončil nezbytné započaté akce, případně uložil nějaká data na disk.
Řádek 38:
{{doplnit}}
druhá dokáže hodnoty těchto vlastností vypsat (''query''), další je umí změnit (''set'')
{{doplnit|poznámku o inventářích během získání a ztráty místního příkazu}}
|