MXVK Vulkan Framework
0.33.1
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
5
namespace
mutatris
{
6
7
GameGrid::GameGrid
()
8
:
gamePiece
(this) {
9
}
10
11
void
GameGrid::initGrid
(
int
width
,
int
height
) {
12
gridWidth =
width
;
13
gridHeight =
height
;
14
cells.assign(
static_cast<
std::size_t
>
(
width
*
height
), {});
15
gamePiece
.
reset
();
16
}
17
18
Block
*
GameGrid::at
(
int
x,
int
y) {
19
if
(x < 0 || x >= gridWidth || y < 0 || y >= gridHeight) {
20
return
nullptr
;
21
}
22
return
&cells[
static_cast<
std::size_t
>
(y * gridWidth + x)];
23
}
24
25
const
Block
*
GameGrid::at
(
int
x,
int
y)
const
{
26
if
(x < 0 || x >= gridWidth || y < 0 || y >= gridHeight) {
27
return
nullptr
;
28
}
29
return
&cells[
static_cast<
std::size_t
>
(y * gridWidth + x)];
30
}
31
32
bool
GameGrid::canMoveDown
()
const
{
33
return
gamePiece
.
getDirection
() == 3 ||
gamePiece
.
checkLocation
(
gamePiece
.
getX
(),
gamePiece
.
getY
()) ||
gamePiece
.
getY
() != 0;
34
}
35
36
}
// namespace mutatris
mutatris::GameGrid::width
int width() const
Definition
game_grid.hpp:18
mutatris::GameGrid::canMoveDown
bool canMoveDown() const
Definition
game_grid.cpp:32
mutatris::GameGrid::initGrid
void initGrid(int width, int height)
Definition
game_grid.cpp:11
mutatris::GameGrid::gamePiece
Piece gamePiece
Definition
game_grid.hpp:22
mutatris::GameGrid::height
int height() const
Definition
game_grid.hpp:19
mutatris::GameGrid::GameGrid
GameGrid()
Definition
game_grid.cpp:7
mutatris::GameGrid::at
Block * at(int x, int y)
Definition
game_grid.cpp:18
mutatris::Piece::getY
int getY() const
Definition
piece.hpp:28
mutatris::Piece::checkLocation
bool checkLocation(int next_x, int next_y) const
Definition
piece.cpp:33
mutatris::Piece::getX
int getX() const
Definition
piece.hpp:27
mutatris::Piece::getDirection
int getDirection() const
Definition
piece.hpp:29
mutatris::Piece::reset
void reset()
Definition
piece.cpp:15
game_grid.hpp
mutatris
Definition
common.hpp:6
mutatris::Block
Definition
common.hpp:43
examples
mutatris
game_grid.cpp
Generated by
1.18.0