51 lines
1.2 KiB
C
51 lines
1.2 KiB
C
|
//
|
||
|
// Created by moonleay on 12/13/24.
|
||
|
//
|
||
|
#include "std_lib_inc.h"
|
||
|
#include "PositionVector.h"
|
||
|
|
||
|
#ifndef MAZE_H
|
||
|
#define MAZE_H
|
||
|
|
||
|
namespace game
|
||
|
{
|
||
|
class Maze
|
||
|
{ // class -> members private by default
|
||
|
/// Das Spielfeld
|
||
|
vector<vector<char>> field = {
|
||
|
{'#', '.', '.', '.', '.'},
|
||
|
{'#', '.', '#', '.', '.'},
|
||
|
{'.', 'Z', '#', '.', '.'},
|
||
|
{'.', '#', '#', '#', '.'},
|
||
|
{'.', '.', '.', '.', '.'}
|
||
|
// ^ Spieler startet hier (4,0)
|
||
|
};
|
||
|
/* Legende
|
||
|
* S - Spieler
|
||
|
* Z - Ziel
|
||
|
* . - Leerer Raum (begehbar)
|
||
|
* # - Wand
|
||
|
*/
|
||
|
|
||
|
public:
|
||
|
/// Das Spielfeld
|
||
|
Maze();
|
||
|
|
||
|
/// Kontrolliere, ob der Spieler am Ziel ist
|
||
|
/// @param pos Die Position des Spielers
|
||
|
/// @return Ob der Spieler am Ziel ist
|
||
|
bool is_player_at_goal(PositionVector pos) const;
|
||
|
|
||
|
/// Kontrolliere, ob eine bestimmte Position begehbar ist
|
||
|
/// @param pos Die Position, die überprüft werden soll
|
||
|
/// @return Ob die Position begehbar ist
|
||
|
bool is_pos_free(PositionVector pos) const;
|
||
|
|
||
|
/// Zeige das Spielfeld in der Konsole an
|
||
|
/// @param pos Die Position des Spielers
|
||
|
void render(PositionVector pos) const;
|
||
|
};
|
||
|
} // game
|
||
|
|
||
|
#endif //MAZE_H
|