From adf3b7635326af20e0e77d37c080ef08c64e9e91 Mon Sep 17 00:00:00 2001 From: nathansmith117 Date: Wed, 14 Feb 2024 16:05:18 -0700 Subject: Screens added --- src/game.c | 21 +++++++++++++++++++-- src/game.h | 11 +++++++---- src/gameCommon.h | 2 +- src/gameScreen.c | 15 +++++++++++++++ src/gameScreen.h | 13 +++++++++++++ src/mainMenu.c | 14 ++++++++++++++ src/mainMenu.h | 13 +++++++++++++ 7 files changed, 82 insertions(+), 7 deletions(-) create mode 100644 src/gameScreen.c create mode 100644 src/gameScreen.h create mode 100644 src/mainMenu.c create mode 100644 src/mainMenu.h (limited to 'src') diff --git a/src/game.c b/src/game.c index a093269..899b3f2 100644 --- a/src/game.c +++ b/src/game.c @@ -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(); } diff --git a/src/game.h b/src/game.h index 5d4e58d..a5b8cb6 100644 --- a/src/game.h +++ b/src/game.h @@ -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 -- cgit v1.2.3