JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
RoomGrid.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2026 Valentin Eloy
2// SPDX-License-Identifier: GPL-3.0-or-later
3
4#pragma once
5
7
12
13namespace hmi {
14
16struct RoomBounds {
17 int column = 0;
18 int row = 0;
19 int width = 0;
20 int height = 0;
21};
22
40class RoomGrid {
41public:
47 static constexpr int ROOM_WIDTH_TILES = 24;
49 static constexpr int ROOM_HEIGHT_TILES = 14;
50
60 RoomGrid(int levelWidth, int levelHeight, int roomWidthTiles = ROOM_WIDTH_TILES,
62
64 [[nodiscard]] int roomWidthTiles() const noexcept {
65 return _roomWidthTiles;
66 }
67
69 [[nodiscard]] int roomHeightTiles() const noexcept {
70 return _roomHeightTiles;
71 }
72
74 [[nodiscard]] int columns() const noexcept {
75 return _columns;
76 }
77
79 [[nodiscard]] int rows() const noexcept {
80 return _rows;
81 }
82
92 [[nodiscard]] core::GridPosition roomIndexAt(core::GridPosition tile) const noexcept;
93
101 [[nodiscard]] RoomBounds roomBounds(core::GridPosition roomIndex) const noexcept;
102
103private:
109 int _rows;
110};
111
112} // namespace hmi
Position entière dans la grille d'un niveau (colonne, ligne).
int _levelHeight
Definition RoomGrid.h:105
int _rows
Definition RoomGrid.h:109
core::GridPosition roomIndexAt(core::GridPosition tile) const noexcept
Indice (colonne, ligne) de la salle contenant tile.
Definition RoomGrid.cpp:29
static constexpr int ROOM_HEIGHT_TILES
Hauteur de salle par défaut, en cases (EX-REN-015).
Definition RoomGrid.h:49
int rows() const noexcept
Definition RoomGrid.h:79
static constexpr int ROOM_WIDTH_TILES
Largeur de salle par défaut, en cases (EX-REN-015) — mêmes valeurs que core::DEFAULT_ROOM_WIDTH_TILES...
Definition RoomGrid.h:47
RoomGrid(int levelWidth, int levelHeight, int roomWidthTiles=ROOM_WIDTH_TILES, int roomHeightTiles=ROOM_HEIGHT_TILES)
Construit la partition pour un niveau de levelWidth × levelHeight cases.
Definition RoomGrid.cpp:20
int _columns
Definition RoomGrid.h:108
int roomWidthTiles() const noexcept
Definition RoomGrid.h:64
int columns() const noexcept
Definition RoomGrid.h:74
int _roomHeightTiles
Definition RoomGrid.h:107
int roomHeightTiles() const noexcept
Definition RoomGrid.h:69
int _roomWidthTiles
Definition RoomGrid.h:106
RoomBounds roomBounds(core::GridPosition roomIndex) const noexcept
Rectangle (en cases) de la salle d'indice roomIndex.
Definition RoomGrid.cpp:39
int _levelWidth
Definition RoomGrid.h:104
Definition AudioEngine.cpp:15
Position d'une case dans la grille d'un niveau, en coordonnées entières.
Definition GridPosition.h:20
Rectangle (en cases) d'une salle, borné aux dimensions réelles du niveau.
Definition RoomGrid.h:16
int row
Definition RoomGrid.h:18
int height
Definition RoomGrid.h:20
int column
Definition RoomGrid.h:17
int width
Definition RoomGrid.h:19