From 558086f56fdacac187f44fe3cc58bf23f2765227 Mon Sep 17 00:00:00 2001 From: David Husicka Date: Tue, 14 Dec 2021 19:24:51 +0100 Subject: [PATCH] add gui for game over --- res/game_over.png | Bin 0 -> 18916 bytes res/game_over.svg | 89 ++++++++++++++++++++++++++++++++++++++++++++++ src/2048.c | 24 ++++++------- src/gui.c | 11 +++--- 4 files changed, 108 insertions(+), 16 deletions(-) create mode 100644 res/game_over.png create mode 100644 res/game_over.svg diff --git a/res/game_over.png b/res/game_over.png new file mode 100644 index 0000000000000000000000000000000000000000..c90afc77253a91da06e0446010d869c5f4d7f14d GIT binary patch literal 18916 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 + + + + + + + + + + + + Game Over + + diff --git a/src/2048.c b/src/2048.c index 36ef090..6ec828b 100644 --- a/src/2048.c +++ b/src/2048.c @@ -3,30 +3,30 @@ #include #include -void game_add_block(Game game) { +void game_add_block(Game *game) { bool is_full = true; - for (int i = 0; i < game.field_size_y; i++) { - for (int j = 0; j < game.field_size_x; j++) { - if (game.field[j][i] == 0) { + for (int i = 0; i < game->field_size_y; i++) { + for (int j = 0; j < game->field_size_x; j++) { + if (game->field[j][i] == 0) { is_full = false; break; } } } if (is_full) { - game.game_over = true; - return 1; + game->game_over = true; + return; } size_t x, y; int value; do { - x = rand() % game.field_size_x; - y = rand() % game.field_size_y; + x = rand() % game->field_size_x; + y = rand() % game->field_size_y; value = (rand() % 2) + 1; - } while (game.field[x][y] != 0); - game.field[x][y] = value * 2; + } while (game->field[x][y] != 0); + game->field[x][y] = value * 2; } Game game_init(size_t field_size_x, size_t field_size_y) { @@ -42,7 +42,7 @@ Game game_init(size_t field_size_x, size_t field_size_y) { time_t t; srand((unsigned) time(&t)); - game_add_block(game); + game_add_block(&game); return game; } @@ -170,5 +170,5 @@ void game_move(Game *game, Direction direction) { } } - game_add_block(*game); + game_add_block(game); } \ No newline at end of file diff --git a/src/gui.c b/src/gui.c index 83c7435..933f226 100644 --- a/src/gui.c +++ b/src/gui.c @@ -14,6 +14,7 @@ SDL_Renderer *window_renderer = NULL; SDL_Texture* tile_texture = NULL; SDL_Texture* tile_textures[13]; SDL_Rect tile_size; +SDL_Texture* game_over_texture = NULL; SDL_Texture *texture_from_png(char *n) { SDL_Surface *s = IMG_Load(n); @@ -63,6 +64,8 @@ void gui_init() { tile_size.x = 0; tile_size.y = 0; SDL_QueryTexture(tile_texture, NULL, NULL, &tile_size.w, &tile_size.h); + + game_over_texture = texture_from_png("res/game_over.png"); } void gui_destroy() { @@ -72,6 +75,7 @@ void gui_destroy() { for (int i = 0; i < 13; i++) { SDL_DestroyTexture(tile_textures[i]); } + SDL_DestroyTexture(game_over_texture); //Quit SDL subsystems SDL_Quit(); @@ -117,8 +121,6 @@ void gui_loop(Game *game) { break; } break; - - /* SDL_QUIT event (window close) */ case SDL_QUIT: quit = 1; break; @@ -129,9 +131,9 @@ void gui_loop(Game *game) { SDL_RenderClear(window_renderer); SDL_Rect tile_rect = tile_size; for (int i = 0; i < game->field_size_x; i++) { - tile_rect.x = i * 175; + tile_rect.x = i * 175 + 50; for (int j = 0; j < game->field_size_y; j++) { - tile_rect.y = j * 175; + tile_rect.y = j * 175 + 150; // get texture index from value for (int k = 0; k < 13; k++) { @@ -145,6 +147,7 @@ void gui_loop(Game *game) { } if (game->game_over) { // render game over screen + SDL_RenderCopy(window_renderer, game_over_texture, NULL, NULL); } SDL_RenderPresent(window_renderer); needs_redraw = false;