#ifndef _GAME_H_ #define _GAME_H_ #ifndef GAME_C # define EXT extern # define VALUE(...) #else # define EXT # define VALUE(...) = __VA_ARGS__ #endif #include #include "lua.h" #include "menu.h" typedef enum _GameStatus GameStatus/*{+{*/; enum _GameStatus { STATUS_MENU, STATUS_GAME, STATUS_EOG, STATUS_EXIT_LOOP, STATUS_ERROR, STATUS_COUNT };/*}_}*/ typedef int (*Loop)(void); int error_loop(); int end_game(); EXT lua_State *g_lua; EXT GameStatus g_status; EXT Loop g_loops[STATUS_COUNT] /*g_loops {+{*/VALUE({ menu_loop, NULL, /* game playing */ end_game, /* End of game */ NULL, /* exit loop */ error_loop });/*}_}*/ #endif/*_GAME_H_*/