aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorfschildt <florian.schildt@protonmail.com>2025-09-28 13:19:22 +0200
committerfschildt <florian.schildt@protonmail.com>2025-09-28 13:19:22 +0200
commitb62865965ee798d8fd82c685faa105b04c129218 (patch)
treecff92d89990aa00a7c0d36742be9c228eb4a21d5 /src
parent4537e9bee3d054786857fa92824e2d9e8385bb36 (diff)
tetris: fix game over condition
Diffstat (limited to 'src')
-rw-r--r--src/games/tetris/Board.cpp6
-rw-r--r--src/games/tetris/Tetris.cpp5
2 files changed, 3 insertions, 8 deletions
diff --git a/src/games/tetris/Board.cpp b/src/games/tetris/Board.cpp
index 87a0e22..ab70cd5 100644
--- a/src/games/tetris/Board.cpp
+++ b/src/games/tetris/Board.cpp
@@ -24,12 +24,6 @@ int32_t Board::PlaceTetromino(Tetromino &tetromino) {
tetromino.GetBitmap(tetromino_bitmap);
- // check if Tetromino cannot be placed (Game Over)
- if (tetromino.IsCollisionWithBoard()) {
- return -1;
- }
-
-
// place in Board's Bitmap
m_Bitmap[pos.y+0] |= tetromino_bitmap[0];
m_Bitmap[pos.y+1] |= tetromino_bitmap[1];
diff --git a/src/games/tetris/Tetris.cpp b/src/games/tetris/Tetris.cpp
index 8f07df0..331e8a6 100644
--- a/src/games/tetris/Tetris.cpp
+++ b/src/games/tetris/Tetris.cpp
@@ -122,10 +122,11 @@ void Tetris::UpdatePauseState(SDL_Event &event) {
void Tetris::HandleTetrominoPlacement() {
int32_t rows_cleared = m_Board.PlaceTetromino(m_ActiveTetromino);
+
m_ActiveTetromino = m_NextTetromino;
- m_NextTetromino = Tetromino(m_Board);
+ m_NextTetromino = Tetromino{m_Board};
- if (rows_cleared == -1) {
+ if (m_ActiveTetromino.IsCollisionWithBoard()) {
HandleGameOver();
return;
}