From 4cf532da40bf2ba505bd460dda8c4cf06286fa0d Mon Sep 17 00:00:00 2001 From: _N3m0 <n3m0o7@hotmail.com> Date: Fri, 15 Mar 2024 11:30:53 +0100 Subject: [PATCH] ptit refacto --- main.c | 41 +++++++---------------------------------- 1 file changed, 7 insertions(+), 34 deletions(-) diff --git a/main.c b/main.c index ae6f367..18c9e26 100644 --- a/main.c +++ b/main.c @@ -20,17 +20,10 @@ typedef enum GameState { GameState game_state = PLAYING; -#if 1 int game_cap = 30*16; char game[30][16] = {0}; char discover[30][16] = {0}; char zero[30][16] = {0}; -#else -int game_cap = 30*16; -char game[16][30] = {0}; -char discover[16][30] = {0}; -char zero[16][30] = {0}; -#endif // I confused myself with game type, mode and diff, but it all mean the same // TODO: refactor it @@ -136,7 +129,7 @@ int count_bomb(int x, int y) if (x+i < 0 || x+i >= game_size.x) continue; for (int j=-1; j<=1; j++) { - if (y+j < 0 || y+j >= game_size.y) + if (y+j < 0 || y+j > game_size.y) continue; if (i == 0 && j == 0) continue; @@ -196,23 +189,6 @@ void fill_game(void) } } -void discover_empty_cell(int x, int y) -{ - int count = 0; - for (int i=-1; i<=1; i++) { - if (x+i < 0 || x+i >= game_size.x) - continue; - for (int j=-1; j<=1; j++) { - if (y+j < 0 || y+j >= game_size.y) - continue; - if (game[y+j][x+i] == '0' && discover[y+j][x+i]) - count++; - } - } - if (count > 0) - discover[y][x] = 1; -} - void zero_click(int x, int y) { if (x < 0 || x >= game_size.x || @@ -332,7 +308,6 @@ int main(void) .r = 0x8E, .g = 0x8E, .b = 0x8E, .a = 255 }); - if (IsKeyPressed(KEY_A)) { CloseWindow(); exit(0); @@ -429,8 +404,8 @@ int main(void) WHITE ); - for (int x=0; x<game_size.x; x++) { - for (int y=0; y<game_size.y; y++) { + for (int y=0; y<game_size.y; y++) { + for (int x=0; x<game_size.x; x++) { Texture *tex; if (discover[y][x]) { switch (game[y][x]) { @@ -461,14 +436,12 @@ int main(void) int mouse_x = GetMouseX(); int mouse_y = GetMouseY(); - int grid_x = (int) grid.x; - int grid_y = (int) grid.y; int mouse_in_grid = 0; int mouse_in_menu = 0; if (IsMouseButtonPressed(MOUSE_BUTTON_LEFT)) { - if (grid_x < mouse_x && mouse_x < grid_x + grid.width && - grid_y < mouse_y && mouse_y < grid_y + grid.height) + if (grid.x < mouse_x && mouse_x < grid.x + grid.width && + grid.y < mouse_y && mouse_y < grid.y + grid.height) { mouse_in_grid = 1; } else if (0 < mouse_x && mouse_x < menu.width && @@ -479,8 +452,8 @@ int main(void) } if (mouse_in_grid && game_state == PLAYING) { - mouse_x = ((float)(mouse_x - grid_x) / grid.width) * game_size.x; - mouse_y = ((float)(mouse_y - grid_y) / grid.height) * game_size.y; + mouse_x = ((mouse_x - grid.x) / grid.width) * game_size.x; + mouse_y = ((mouse_y - grid.y) / grid.height) * game_size.y; discover[mouse_y][mouse_x] = 1;