MXVK Vulkan Framework 0.35.0
C++20 Vulkan rendering framework for practical 2D and 3D application development with SDL3.
Loading...
Searching...
No Matches
game_grid.cpp
Go to the documentation of this file.
1#include "game_grid.hpp"
2
3#include <cstddef>
4
5namespace mutatris {
6
8
10 gridWidth = width;
11 gridHeight = height;
12 cells.assign(static_cast<std::size_t>(width * height), {});
14 }
15
16 Block *GameGrid::at(int x, int y) {
17 if (x < 0 || x >= gridWidth || y < 0 || y >= gridHeight) {
18 return nullptr;
19 }
20 return &cells[static_cast<std::size_t>(y * gridWidth + x)];
21 }
22
23 const Block *GameGrid::at(int x, int y) const {
24 if (x < 0 || x >= gridWidth || y < 0 || y >= gridHeight) {
25 return nullptr;
26 }
27 return &cells[static_cast<std::size_t>(y * gridWidth + x)];
28 }
29
31
32} // namespace mutatris
int width() const
Definition game_grid.hpp:18
bool canMoveDown() const
Definition game_grid.cpp:30
void initGrid(int width, int height)
Definition game_grid.cpp:9
int height() const
Definition game_grid.hpp:19
Block * at(int x, int y)
Definition game_grid.cpp:16
int getY() const
Definition piece.hpp:28
bool checkLocation(int next_x, int next_y) const
Definition piece.cpp:31
int getX() const
Definition piece.hpp:27
int getDirection() const
Definition piece.hpp:29
void reset()
Definition piece.cpp:13