showMenu() | | |
| | načítanie definícií levelov |
| restart: | |
| | zobrazenie grafického menu pomocou funkcie showMenu2, ktorá vráti číslo vybranej položky; potom podľa výsledku: |
| | 0) spustenie aktuálneho levelu (playLevel), po návrate z funkcie môže dôjsť k aktualizovaniu najvyššieho dosiahnutého levela |
| | 1) zobrazenie dialógu na výber levelu (showLevelSelect) |
| | 2) zobrazenie dialógu na zmenu nastavení (showSettings). Ak sa zmenili kritické nastavenia, funkcia vráti hodnotu 1, čím spôsobí novú inicializáciu SDL. |
| | 3) koniec funkcie (návratová hodnota 0 spôsobí ukončenie programu) |
| | skok na restart |
playLevel() | | |
| | načítanie grafických objektov |
| | načítanie mapy |
| | zobrazenie uvítacej obrazovky levelu |
| | inicializácia uživateľského prostredia |
| hlavná slučka: | |
| | vykreslenie levela, všetkých objektov a grafického prostredia |
| | spracovanie správ z grafického prostredia (klávesnica, myš, uzatváranie okna) - tu je možné vyskočiť z hlavnej slučky. V tejto časti sa aj nastavujú akcie llamám. |
| | nastavenie rýchlosti vypúštania llám |
| | simulácia "jedného životného kroku" mapy (Map::iterate) |
| ukončenie: | |
| | uvoľnenie prostriedkov |
| | volajúcej funkcii je vrátená informácia, či uživateľ prešiel level |