|
Platform játék
3D-s megjelenítés, véletlenszerű pályagenerálás, jutalmazó játékélmény
|
#include "menuFSM.h"Functions | |
| states | getGameState () |
| Visszaadja a jelenlegi állapotot, a quit-hez kell a mainnek. More... | |
| void | handleClicks (bool *prematureClick) |
| Minden állapothoz tartozó kattintós eventet kezel, a beállítások menü miatt kell a prematureClick, hogy a belépést ne érzékelje beállításmódosításnak. More... | |
| void | doStuff (bool isLMBDown, bool isRMBDown, bool prematureClick) |
| Ez igenis egy kifejező függyvény név. Az állapothoz megfelelő műveletek elvéűgzése, és a kimenet létrehozása. Tehát ha a játék magától csinál valamit, azt itt csinálja. Ez az egész egy nagy állapotgép. Igazából a mainben is lehetne, de szerintem így szebben néz ki. More... | |
| void | whatToDoOnEscape () |
| Az ESC billenytű lenyomását kezeli. More... | |
| void | processTyping (SDL_Event event) |
| A szöveges bemenetet továbbítja egy Uint16-os stringbe. More... | |
Variables | |
| int | currentOptions [] = {2000, 2000, 3, 450, 6000} |
| int | currentSpawnRate |
| int | fadeStartTime |
| int | elapsedTime = 0 |
| int | nameIndex = 0 |
| int | cursorBlinking = 0 |
| bool | prematureClick |
| bool | isDollying |
| bool | saved = false |
| Uint16 | name [100] = {0} |
| FILE * | topList |
| states | gameState = mainMenu |
| void doStuff | ( | bool | isLMBDown, |
| bool | isRMBDown, | ||
| bool | prematureClick | ||
| ) |
Ez igenis egy kifejező függyvény név. Az állapothoz megfelelő műveletek elvéűgzése, és a kimenet létrehozása. Tehát ha a játék magától csinál valamit, azt itt csinálja. Ez az egész egy nagy állapotgép. Igazából a mainben is lehetne, de szerintem így szebben néz ki.
| egérgomb | bal |
| egérgomb | jobb |
| prematureClick | a beállítás menünek A deltaTime a menüben kisebb, mint máshol, így egyszerűbben meg leeht oldani a hóesés lassítását. Amúgy az egész játék deltaTimera épült, ha c-ben megbízhatóan lehetne miliseces pontossággal lehetne időt mérni, akkor az FPS sokkal dinamikusabb lehetne (a jelenlegi fix 50-hez képest). Ilyet viszont nem lehet, de azért benne hagytam, egyrészről a menü miatt, másrészről az időlassítás miatt, meg esetleg azért is, mert később, más környezetben még lehet jól jön ez a megoldás. |
| states getGameState | ( | ) |
Visszaadja a jelenlegi állapotot, a quit-hez kell a mainnek.
| void handleClicks | ( | bool * | prematureClick | ) |
Minden állapothoz tartozó kattintós eventet kezel, a beállítások menü miatt kell a prematureClick, hogy a belépést ne érzékelje beállításmódosításnak.
| void processTyping | ( | SDL_Event | event | ) |
A szöveges bemenetet továbbítja egy Uint16-os stringbe.
| void whatToDoOnEscape | ( | ) |
Az ESC billenytű lenyomását kezeli.
| int currentOptions[] = {2000, 2000, 3, 450, 6000} |
| int currentSpawnRate |
| int cursorBlinking = 0 |
| int elapsedTime = 0 |
| int fadeStartTime |
| bool isDollying |
| Uint16 name[100] = {0} |
| int nameIndex = 0 |
| bool prematureClick |
| bool saved = false |
| FILE* topList |
1.8.13