diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/game.c | 21 | ||||
-rw-r--r-- | src/game.h | 11 | ||||
-rw-r--r-- | src/gameCommon.h | 2 | ||||
-rw-r--r-- | src/gameScreen.c | 15 | ||||
-rw-r--r-- | src/gameScreen.h | 13 | ||||
-rw-r--r-- | src/mainMenu.c | 14 | ||||
-rw-r--r-- | src/mainMenu.h | 13 |
7 files changed, 82 insertions, 7 deletions
@@ -3,19 +3,36 @@ void initGame(Game* game) { InitWindow(WINDOW_WIDTH, WINDOW_HEIGHT, "Penguin Yippies!"); + + // Screens. + game->currentScreen = MAIN_MENU_SCREEN; + initMainMenu(&game->mainMenu, game); + initGameScreen(&game->gameScreen, game); } void updateGame(Game* game) { BeginDrawing(); - ClearBackground(RAYWHITE); - DrawFPS(0, 0); + switch (game->currentScreen) + { + case MAIN_MENU_SCREEN: + updateMainMenu(&game->mainMenu, game); + break; + case GAME_SCREEN: + updateGameScreen(&game->gameScreen, game); + break; + default: + break; + } EndDrawing(); } void closeGame(Game* game) { + closeMainMenu(&game->mainMenu); + closeGameScreen(&game->gameScreen); + CloseWindow(); } @@ -1,16 +1,19 @@ #include "gameCommon.h" +#include "mainMenu.h" +#include "gameScreen.h" #ifndef GAME_H #define GAME_H -typedef enum ScreenId -{ +typedef enum ScreenId { MAIN_MENU_SCREEN, GAME_SCREEN } ScreenId; -typedef struct Game -{ +typedef struct Game { + ScreenId currentScreen; + MainMenu mainMenu; + GameScreen gameScreen; } Game; void initGame(Game* game); diff --git a/src/gameCommon.h b/src/gameCommon.h index c825873..fd6f999 100644 --- a/src/gameCommon.h +++ b/src/gameCommon.h @@ -11,6 +11,6 @@ #ifndef GAME_COMMON_H #define GAME_COMMON_H -typedef struct Game game; +typedef struct Game Game; #endif diff --git a/src/gameScreen.c b/src/gameScreen.c new file mode 100644 index 0000000..23e12cf --- /dev/null +++ b/src/gameScreen.c @@ -0,0 +1,15 @@ +#include "gameScreen.h" +#include "game.h" + +void initGameScreen(GameScreen* gameScreen, Game* game) +{ +} + +void updateGameScreen(GameScreen* gameScreen, Game* game) +{ +} + +void closeGameScreen(GameScreen* gameScreen) +{ +} + diff --git a/src/gameScreen.h b/src/gameScreen.h new file mode 100644 index 0000000..9b4191e --- /dev/null +++ b/src/gameScreen.h @@ -0,0 +1,13 @@ +#include "gameCommon.h" + +#ifndef GAME_SCREEN_H +#define GAME_SCREEN_H + +typedef struct GameScreen { +} GameScreen; + +void initGameScreen(GameScreen* gameScreen, Game* game); +void updateGameScreen(GameScreen* gameScreen, Game* game); +void closeGameScreen(GameScreen* gameScreen); + +#endif diff --git a/src/mainMenu.c b/src/mainMenu.c new file mode 100644 index 0000000..ec8bd95 --- /dev/null +++ b/src/mainMenu.c @@ -0,0 +1,14 @@ +#include "mainMenu.h" +#include "game.h" + +void initMainMenu(MainMenu* mainMenu, Game* game) +{ +} + +void updateMainMenu(MainMenu* mainMenu, Game* game) +{ +} + +void closeMainMenu(MainMenu* mainMenu) +{ +} diff --git a/src/mainMenu.h b/src/mainMenu.h new file mode 100644 index 0000000..c8b9fb3 --- /dev/null +++ b/src/mainMenu.h @@ -0,0 +1,13 @@ +#include "gameCommon.h" + +#ifndef MAIN_MENU_H +#define MAIN_MENU_H + +typedef struct MainMenu { +} MainMenu; + +void initMainMenu(MainMenu* mainMenu, Game* game); +void updateMainMenu(MainMenu* mainMenu, Game* game); +void closeMainMenu(MainMenu* mainMenu); + +#endif |