Platform játék
3D-s megjelenítés, véletlenszerű pályagenerálás, jutalmazó játékélmény
Functions | Variables
menuFSM.c File Reference
#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
 

Function Documentation

◆ 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.

Parameters
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.

Variable Documentation

◆ currentOptions

int currentOptions[] = {2000, 2000, 3, 450, 6000}

◆ currentSpawnRate

int currentSpawnRate

◆ cursorBlinking

int cursorBlinking = 0

◆ elapsedTime

int elapsedTime = 0

◆ fadeStartTime

int fadeStartTime

◆ gameState

states gameState = mainMenu

Kezdőállapot.

◆ isDollying

bool isDollying

◆ name

Uint16 name[100] = {0}

◆ nameIndex

int nameIndex = 0

◆ prematureClick

bool prematureClick

◆ saved

bool saved = false

◆ topList

FILE* topList