From 4539b2db8c45c302cc9feae35888b336b9556dc4 Mon Sep 17 00:00:00 2001 From: "Amine B. Hassouna" Date: Tue, 20 Nov 2018 19:00:37 +0100 Subject: [PATCH] Add falling brick --- src/game.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/src/game.c b/src/game.c index 2a33595..143ee19 100644 --- a/src/game.c +++ b/src/game.c @@ -67,6 +67,14 @@ bool Game_start(SDL_Renderer *renderer, int w, int h) SDL_initFramerate(&fpsmanager); SDL_setFramerate(&fpsmanager, 30); + // Initialize start time (in ms) + long long last = Utils_time(); + + // Falling brick coordinates + int fallingBrickX = grid.xCells / 2; + int fallingBrickY = -1; + int fallingBrickSpeed = 4; + // Event loop exit flag bool quit = false; @@ -87,6 +95,32 @@ bool Game_start(SDL_Renderer *renderer, int w, int h) } } + // Move the falling brick + if(Utils_time() - last >= 1000 / fallingBrickSpeed) + { + if(fallingBrickY >= 0) + { + // Un-color the falling brick last position + grid.cells[fallingBrickX][fallingBrickY].rectColor = grid.backgroundColor; + } + + if(fallingBrickY < grid.yCells - 1) + { + // Go to next position + fallingBrickY++; + + // Color the falling brick new position + grid.cells[fallingBrickX][fallingBrickY].rectColor = COLOR_RED; + } + else + { + // Reset position + fallingBrickY = -1; + } + + last = Utils_time(); + } + // Set background color Utils_setBackgroundColor(renderer, COLOR_DARK_GRAY);