Jdeme na to s Urwigem - 7. Události

Napsal(a) mh.mail . Zveřejněno v Návody

V předchozích dílech seriálu jsme si popsali, z jakých nejdůležitějších částí se skládá wherigo hra. Něco tomu ale přece jenom chybělo. Chyběla tomu akce! Dnes si řekneme, jak tuhle otázku řeší wherigo.

Událostmi řízené programování

Na začátek ale ještě trochu teorie.

Je více způsobů, jak naprogramovat interakci programu s uživatelem. Pro wherigo byl zvolen v současné době velmi rozšířený princip událostmi řízeného programování. Ten spočívá v tom, že systém je většinu svého času v klidu a čeká na podněty z vnějšku - tzv. události. Jakmile k události dojde, je vyvolán kód, který na ni požadovaným způsobem zareaguje. Tomuto kódu se říká obsluha události.

Každý systém nabízí různé události, z nichž si autor programu vybírá ty, které potřebuje, a k nim vytvoří příslušnou obsluhu. Událostí může být např. start programu, klepnutí na tlačítko, výběr položky z menu, pohyb myši, stisknutí klávesy na klávesnici apod. Celý program je tedy napsán jako sada obsluh určitých událostí a je jenom na uživateli, v jakém pořadí k nim dojde, protože on se bude rozhodovat, kdy a na jaké tlačítko klepne, jakou položku z menu vybere, jakou klávesu stiskne, kam pohne myší.

Události a wherigo

Ve wherigu je tento princip uplatněn tak, že každý objekt má k dispozici několik událostí, ke kterým autor může přiřadit obslužný kód. Když pak hráč svojí činností konkrétní událost vyvolá, přiřazený kód se provede. Celé tajemství programování wherigo cartridgí tedy spočívá v tom k těm správným událostem napsat správný kód.

Události jednotlivých objektů

Při popisu vlastností jednotlivých typů objektů jsme doposud jejich události přehlíželi. Je na čase to napravit.

Cartridge

I cartridge jako objekt obsahuje několik událostí, na které může reagovat. Jsou to:

Zóny

U každé zóny jsou k dispozici tyto události:

Postavy, Předměty

U postav i předmětů je situace stejná. K dispozici je pouze jedna událost:

Příkazy u postav a předmětů

Každý příkaz definovaný u postav nebo předmětů nabízí jednu událost:

Úlohy

I úlohy mohou reagovat na události:

Výše uvedený výčet není kompletní. Existují ještě další objekty, které mají také svoje události, jako např. vstupy nebo časovače. O těch si ale povíme někdy příště.

Události v Urwigu

Ještě si ukážeme, jak se s událostmi pracuje v Urwigu. Události se normálně zobrazují na záložce nebo v panelu vlastností jako ostatní parametry objektu. Vedle jejich názvu však najdete modrý podtržený text, který může nabývat dvou hodnot: ošetřeno nebo neošetřeno. Neošetřeno znamená, že k této události není připojen žádný obslužný kód a pokud k ní dojde, nestane se nic. Ošetřeno naopak znamená, že k této události obslužný kód připojen je a pokud nastane, bude proveden.

Oba texty fungují jako klikací odkaz. Pokud na ně autor klepne myší, otevře se mu samostatná záložka s diagramem, ve kterém může nadefinovat požadovaný kód obsluhy této události.

Shrnutí

Možná se vám dnešní povídání zdálo více komplikované než ta předcházející. Zkusíme si to trochu shrnout:

Objekty ve wherigu dávají k dispozici události, které se vyvolají vždy, když dojde k určité situaci (např. obnova uložené hry, vstup do zóny, výběr příkazu apod.). Podstata programování cartridge pak spočívá v určení, ke kterým událostem napíšeme jaký obslužný kód.

 

Pokračování: Jdeme na to s Urwigem - 8. Diagramy kódů

Vytisknout