aboutsummaryrefslogtreecommitdiff
path: root/src/games/tetris/Board.cpp
diff options
context:
space:
mode:
authorfschildt <florian.schildt@protonmail.com>2025-10-06 09:25:04 +0200
committerfschildt <florian.schildt@protonmail.com>2025-10-06 09:25:04 +0200
commit606d028dac5118329e7561af33b15988db84465f (patch)
tree8a5b92b51a88714fee71d7f908283426f70b7dc1 /src/games/tetris/Board.cpp
parent7d9500d27fc91356c580e365351ff6e1bc1c95e1 (diff)
make everything prettier
Diffstat (limited to 'src/games/tetris/Board.cpp')
-rw-r--r--src/games/tetris/Board.cpp52
1 files changed, 30 insertions, 22 deletions
diff --git a/src/games/tetris/Board.cpp b/src/games/tetris/Board.cpp
index 1e57b2f..c1af5e1 100644
--- a/src/games/tetris/Board.cpp
+++ b/src/games/tetris/Board.cpp
@@ -1,23 +1,27 @@
-#include <games/tetris/Tetromino.hpp>
#include <games/tetris/Board.hpp>
+#include <games/tetris/Tetromino.hpp>
#include <renderer/Renderer.hpp>
-Board::Board() {
+void
+Board::Reset()
+{
for (int y = 0; y < 2; y++) {
- m_Bitmap[y] = 0xffff; // 1111111111111111
+ m_bitmap[y] = 0xffff; // 1111111111111111
}
for (int y = 2; y < 24; y++) {
- m_Bitmap[y] = 0xe007; // 1110000000000111
+ m_bitmap[y] = 0xe007; // 1110000000000111
}
for (int y = 0; y < 22; y++) {
for (int x = 0; x < 10; x++) {
- m_Idmap[y][x] = Tetromino::tetromino_id_none;
+ m_idmap[y][x] = Tetromino::id_none;
}
}
}
-int32_t Board::PlaceTetromino(Tetromino &tetromino) {
+int32_t
+Board::PlaceTetromino(Tetromino &tetromino)
+{
BoardPos pos = tetromino.GetPos();
Tetromino::TetrominoId id = tetromino.GetId();
uint16_t tetromino_bitmap[4];
@@ -25,10 +29,10 @@ int32_t Board::PlaceTetromino(Tetromino &tetromino) {
// place in Board's Bitmap
- m_Bitmap[pos.y+0] |= tetromino_bitmap[0];
- m_Bitmap[pos.y+1] |= tetromino_bitmap[1];
- m_Bitmap[pos.y+2] |= tetromino_bitmap[2];
- m_Bitmap[pos.y+3] |= tetromino_bitmap[3];
+ m_bitmap[pos.y+0] |= tetromino_bitmap[0];
+ m_bitmap[pos.y+1] |= tetromino_bitmap[1];
+ m_bitmap[pos.y+2] |= tetromino_bitmap[2];
+ m_bitmap[pos.y+3] |= tetromino_bitmap[3];
// place in Board's Idmap
@@ -38,7 +42,7 @@ int32_t Board::PlaceTetromino(Tetromino &tetromino) {
if (tetromino_bitmap[y] & bitmap_x) {
int32_t idmap_x = pos.x + x - 3;
int32_t idmap_y = pos.y + y - 2;
- m_Idmap[idmap_y][idmap_x] = id;
+ m_idmap[idmap_y][idmap_x] = id;
}
}
}
@@ -47,7 +51,9 @@ int32_t Board::PlaceTetromino(Tetromino &tetromino) {
return rows_cleared;
}
-int32_t Board::ClearRows(int32_t y0) {
+int32_t
+Board::ClearRows(int32_t y0)
+{
int32_t rows_cleared = 0;
int32_t y1 = y0 + 3;
@@ -57,28 +63,30 @@ int32_t Board::ClearRows(int32_t y0) {
}
for (int32_t y = y0; y <= y1; y++) {
- if (m_Bitmap[y] == 0xffff) {
+ if (m_bitmap[y] == 0xffff) {
rows_cleared++;
}
else {
- m_Bitmap[y-rows_cleared] = m_Bitmap[y];
- std::copy(m_Idmap[y-2], m_Idmap[y-2] + 10, m_Idmap[y-2-rows_cleared]);
+ m_bitmap[y-rows_cleared] = m_bitmap[y];
+ std::copy(m_idmap[y-2], m_idmap[y-2] + 10, m_idmap[y-2-rows_cleared]);
}
}
for (int32_t y = y1+1; y < 24; y++) {
- m_Bitmap[y-rows_cleared] = m_Bitmap[y];
- std::copy(m_Idmap[y-2], m_Idmap[y-2] + 10, m_Idmap[y-2-rows_cleared]);
+ m_bitmap[y-rows_cleared] = m_bitmap[y];
+ std::copy(m_idmap[y-2], m_idmap[y-2] + 10, m_idmap[y-2-rows_cleared]);
}
for (int32_t y = 24-rows_cleared; y < 24; y++) {
- m_Bitmap[y] = 0xe007;
- std::fill(m_Idmap[y-2], m_Idmap[y-2] + 10, Tetromino::tetromino_id_none);
+ m_bitmap[y] = 0xe007;
+ std::fill(m_idmap[y-2], m_idmap[y-2] + 10, Tetromino::id_none);
}
return rows_cleared;
}
-void Board::Draw(int32_t level) {
+void
+Board::Draw(int32_t level)
+{
float world_width = 4.0f;
float world_height = 3.0f;
float tetromino_size_with_border = world_height / 20.0f;
@@ -113,8 +121,8 @@ void Board::Draw(int32_t level) {
// tetromino parts
for (size_t y = 0; y < 20; y++) {
for (size_t x = 0; x < 10; x++) {
- Tetromino::TetrominoId tetromino_id = (Tetromino::TetrominoId)m_Idmap[y][x];
- if (tetromino_id < Tetromino::tetromino_id_count) {
+ Tetromino::TetrominoId tetromino_id = (Tetromino::TetrominoId)m_idmap[y][x];
+ if (tetromino_id < Tetromino::id_count) {
V2F32 local_pos = {
(float)x * tetromino_size_with_border + tetromino_offset,
(float)y * tetromino_size_with_border + tetromino_offset