JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
core::TileMap Class Reference

Grille dense de tuiles typées (EX-GP-001), origine haut-gauche. More...

#include <TileMap.h>

Public Member Functions

 TileMap (int width, int height)
 Construit une grille de dimensions données, entièrement Empty.
int width () const noexcept
int height () const noexcept
bool inBounds (int column, int row) const noexcept
 Indique si une case est dans les bornes de la grille.
TileType tile (int column, int row) const
 Type de la tuile à une case.
void setTile (int column, int row, TileType type)
 Change le type de la tuile à une case.
bool isSolid (int column, int row) const
 Indique si la tuile à une case est statiquement solide.

Private Attributes

int _width
int _height
std::vector< TileType_tiles

Detailed Description

Grille dense de tuiles typées (EX-GP-001), origine haut-gauche.

Toutes les cases sont initialisées à TileType::Empty. C'est la représentation en mémoire du décor d'un niveau : le chargeur la remplit à partir du fichier, le gameplay (à venir) l'interroge pour les collisions (EX-GP-002). Donnée pure, sans dépendance rendu ni fichier (EX-ARCH-011), testable sans fenêtre ni GPU.

Constructor & Destructor Documentation

◆ TileMap()

core::TileMap::TileMap ( int width,
int height )

Construit une grille de dimensions données, entièrement Empty.

Parameters
widthLargeur en cases (> 0).
heightHauteur en cases (> 0).

Member Function Documentation

◆ height()

int core::TileMap::height ( ) const
inlinenodiscardnoexcept
Returns
Hauteur de la grille, en cases.

◆ inBounds()

bool core::TileMap::inBounds ( int column,
int row ) const
nodiscardnoexcept

Indique si une case est dans les bornes de la grille.

Parameters
columnColonne visée.
rowLigne visée.
Returns
true si 0 ≤ column < width et 0 ≤ row < height.

◆ isSolid()

bool core::TileMap::isSolid ( int column,
int row ) const
nodiscard

Indique si la tuile à une case est statiquement solide.

Parameters
columnColonne (doit être dans les bornes).
rowLigne (doit être dans les bornes).
Returns
true si la tuile bloque le déplacement (cf. isSolid(TileType)).

◆ setTile()

void core::TileMap::setTile ( int column,
int row,
TileType type )

Change le type de la tuile à une case.

Parameters
columnColonne (doit être dans les bornes).
rowLigne (doit être dans les bornes).
typeNouveau type de tuile.

◆ tile()

TileType core::TileMap::tile ( int column,
int row ) const
nodiscard

Type de la tuile à une case.

Parameters
columnColonne (doit être dans les bornes).
rowLigne (doit être dans les bornes).
Returns
Le type de la tuile.

◆ width()

int core::TileMap::width ( ) const
inlinenodiscardnoexcept
Returns
Largeur de la grille, en cases.

Member Data Documentation

◆ _height

int core::TileMap::_height
private

◆ _tiles

std::vector<TileType> core::TileMap::_tiles
private

◆ _width

int core::TileMap::_width
private

The documentation for this class was generated from the following files:
  • /home/runner/work/JustAnotherDnDGame/JustAnotherDnDGame/Source/Core/Levels/TileMap.h
  • /home/runner/work/JustAnotherDnDGame/JustAnotherDnDGame/Source/Core/Levels/TileMap.cpp