diff options
author | 2025-05-22 12:34:20 +0200 | |
---|---|---|
committer | 2025-05-22 12:34:20 +0200 | |
commit | 0c7a2228b73f48ce58159af77fdf55cf9c682422 (patch) | |
tree | 1c3dd7b2e01768b43a3463607d1bd4bd978ba7ca | |
parent | 4c3cee6bf51ecba1cd03c457e3facc1947e9fedc (diff) | |
download | tris-0c7a2228b73f48ce58159af77fdf55cf9c682422.tar.gz tris-0c7a2228b73f48ce58159af77fdf55cf9c682422.zip |
Add some default background
-rw-r--r-- | src/main/engine/engine.c | 6 | ||||
-rw-r--r-- | src/main/engine/engine.h | 1 | ||||
-rw-r--r-- | src/main/game/domain/board.c | 4 | ||||
-rw-r--r-- | src/main/game/game.c | 3 | ||||
-rw-r--r-- | src/main/game/game.h | 2 |
5 files changed, 15 insertions, 1 deletions
diff --git a/src/main/engine/engine.c b/src/main/engine/engine.c index fb0875a..3b77b40 100644 --- a/src/main/engine/engine.c +++ b/src/main/engine/engine.c @@ -314,3 +314,9 @@ engine_set_rendering_background(Engine *engine, float r, float g, float b, float color_set_rgba(engine->rendering_background, r, g, b, a); } } + +void +engine_set_rendering_background_c(Engine *engine, Color *color) +{ + engine_set_rendering_background(engine, color->r, color->g, color->b, color->a); +} diff --git a/src/main/engine/engine.h b/src/main/engine/engine.h index 1e26f05..b70c8c2 100644 --- a/src/main/engine/engine.h +++ b/src/main/engine/engine.h @@ -39,6 +39,7 @@ typedef struct { Engine *engine_new(int width, int height); void engine_set_rendering_background(Engine *engine, float r, float g, float b, float a); +void engine_set_rendering_background_c(Engine *engine, Color *color); void engine_draw_circle(float cx, float cy, float r, int num_segments, int outline); void engine_draw_line(float x1, float y1, float x2, float y2); void engine_loop(void); diff --git a/src/main/game/domain/board.c b/src/main/game/domain/board.c index 6859eae..f169c7e 100644 --- a/src/main/game/domain/board.c +++ b/src/main/game/domain/board.c @@ -41,5 +41,9 @@ board_new(void) exit(EXIT_FAILURE); } + board->default_color = color_new(0.0f, 0.0f, 0.2f, 1.0f); + board->wining_color = color_new(0.0f, 0.5f, 0.0f, 1.0f); + board->draft_color; + return board; } diff --git a/src/main/game/game.c b/src/main/game/game.c index ee35f7d..788b5b2 100644 --- a/src/main/game/game.c +++ b/src/main/game/game.c @@ -73,7 +73,7 @@ check_win(TrisGame *game) if (game->cells[i0]->sign != '\0' && game->cells[i0]->sign == game->cells[i1]->sign && game->cells[i1]->sign == game->cells[i2]->sign) { - engine_set_rendering_background(game->engine, 0.0f, 0.5f, 0.0f, 1.0f); + engine_set_rendering_background_c(game->engine, game->board->wining_color); } } } @@ -136,6 +136,7 @@ game_init(int width, int height) game->sign = SIGN_CIRCLE; game->moves = 0; game->engine = engine_new(width, height); + game->board = board_new(); ui_set_title("Tris Game"); engine_set_mouse_button_listener(game_mouse_button_pressed, game); diff --git a/src/main/game/game.h b/src/main/game/game.h index d119f67..f30296c 100644 --- a/src/main/game/game.h +++ b/src/main/game/game.h @@ -24,9 +24,11 @@ #include "cell.h" #include "../engine/engine.h" +#include "domain/board.h" typedef struct TrisGame { int width, height; + Board *board; Cell *cells[BOARD_SIZE]; char sign; /* x = cross and o = circle */ int moves; |