Platform játék
3D-s megjelenítés, véletlenszerű pályagenerálás, jutalmazó játékélmény
menuFSM.h fájlreferencia
#include "../global.h"
#include "menuDraw.h"
#include "../world.h"
#include "../saves.h"
#include "../auxiliary/auxSDL.h"
#include "../auxiliary/unicodePrint.h"

Ugrás a fájl forráskódjához.

Makródefiníciók

#define fadeTime   1750
 
#define slowMoMult   0.3
 

Függvények

states getGameState ()
 Visszaadja a jelenlegi állapotot, a quit-hez kell a mainnek. Részletek...
 
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. Részletek...
 
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. Részletek...
 
void whatToDoOnEscape ()
 Az ESC billenytű lenyomását kezeli. Részletek...
 
void processTyping (SDL_Event event)
 A szöveges bemenetet továbbítja egy Uint16-os stringbe. Részletek...
 

Makródefiníciók dokumentációja

◆ fadeTime

#define fadeTime   1750

Halál esetén meddig tartson a sötétítés?

◆ slowMoMult

#define slowMoMult   0.3

A slowMo (jobb egérgomb), mennyiszeresére lassítsa az időt?

Függvények dokumentációja

◆ doStuff()

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.

Paraméterek
egérgombbal
egérgombjobb
prematureClicka 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.

◆ getGameState()

states getGameState ( )

Visszaadja a jelenlegi állapotot, a quit-hez kell a mainnek.

◆ handleClicks()

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.

◆ processTyping()

void processTyping ( SDL_Event  event)

A szöveges bemenetet továbbítja egy Uint16-os stringbe.

◆ whatToDoOnEscape()

void whatToDoOnEscape ( )

Az ESC billenytű lenyomását kezeli.