diff options
-rw-r--r-- | src/main/game/game.c | 26 | ||||
-rw-r--r-- | src/main/game/game.h | 6 | ||||
-rw-r--r-- | src/main/main.c | 14 |
3 files changed, 34 insertions, 12 deletions
diff --git a/src/main/game/game.c b/src/main/game/game.c index 117cf45..0aa4888 100644 --- a/src/main/game/game.c +++ b/src/main/game/game.c @@ -17,7 +17,33 @@ * along with Tris Game. If not, see <http://www.gnu.org/licenses/>. */ +#include <stdlib.h> #include "../engine/engine.h" +#include "game.h" +#include "../util.h" +#include "../engine/ui/ui.h" + +TrisGame * +game_init(int width, int height) +{ + TrisGame *game = malloc(sizeof(TrisGame)); + if (game == NULL) { + log_error("Error allocating memory for the game"); + exit(EXIT_FAILURE); + } + engine_init(width, height); + ui_set_title("Tris Game"); + + game_draw_field(0.5, 0, 0); + + return game; +} + +void +game_start() +{ + engine_loop(); +} void game_draw_field(float box_size, float x, float y) diff --git a/src/main/game/game.h b/src/main/game/game.h index e98e109..298cafb 100644 --- a/src/main/game/game.h +++ b/src/main/game/game.h @@ -20,6 +20,12 @@ #ifndef __GAME_H__ #define __GAME_H__ +typedef struct TrisGame { + int width, height; +} TrisGame; + +TrisGame *game_init(int width, int height); +void game_start(void); void game_draw_field(float box_size, float x, float y); #endif /* __GAME_H__ */ diff --git a/src/main/main.c b/src/main/main.c index 9014c3a..0f39200 100644 --- a/src/main/main.c +++ b/src/main/main.c @@ -21,25 +21,15 @@ #include <GL/glx.h> #include <stdio.h> #include <stdlib.h> -#include "engine/ui/ui.h" #include "engine/engine.h" #include "game/game.h" #define WIDTH 640 #define HEIGHT 480 -void -draw_frame() -{ - game_draw_field(0.5, 0, 0); -} - int main(void) { - engine_init(WIDTH, HEIGHT); - ui_set_title("Tris Game"); - draw_frame(); - - engine_loop(); + game_init(WIDTH, HEIGHT); + game_start(); return EXIT_SUCCESS; } |