fix: fixed Information Mode, fixed Bowie, fixed docs

This commit is contained in:
moonleay 2025-01-19 04:32:35 +01:00
parent c856139997
commit b49868a8ef
Signed by: moonleay
GPG key ID: 82667543CCD715FB
3 changed files with 16 additions and 7 deletions

View file

@ -35,7 +35,15 @@ namespace game {
if (maze.is_pos_free(target_position, false))
this->pos = target_position;
else
{
this->move_left = !this->move_left;
if (this->move_left)
target_position.change_x(-1);
else
target_position.change_x(1);
if (maze.is_pos_free(target_position, false))
this->pos = target_position;
}
}
bool Entity::connelly_move_up(const Maze& maze) {

View file

@ -40,7 +40,7 @@ namespace game
return true;
}
void Maze::render(const Player& player, const vector<Entity> entities, const bool& infomode_enabled)
void Maze::render(const Player& player, const vector<Entity>& entities, const bool& infomode_enabled)
{
for (int y = 0; y < field.size(); ++y)
{
@ -62,9 +62,9 @@ namespace game
}
if (y == 0 && infomode_enabled)
{
int steps = this->calculate_steps_until_win(player.get_pos(), 5);
if (steps > 999)
cout << steps << "Schritte bis zum Ziel";
const int steps = this->calculate_steps_until_win(player.get_pos(), 5);
if (steps < 999)
cout << steps << " Schritte bis zum Ziel";
}
cout << "\n";
}
@ -92,7 +92,7 @@ namespace game
return {x_diff, y_diff};
}
int Maze::calculate_steps_until_win(const Vector2d& position, const int& steps) {
int Maze::calculate_steps_until_win(Vector2d position, const int& steps) {
if (!this->is_pos_free(position, false))
return 999;
if (this->get_field(position) == 'Z')

View file

@ -43,8 +43,9 @@ namespace game
/// Zeige das Spielfeld in der Konsole an
/// @param player Der Spieler
/// @param entities Die Entities auf dem Spielfeld
/// @param infomode_enabled Ob der Infomode aktiv ist
void render(const Player& player, vector<Entity> entities, const bool& infomode_enabled);
void render(const Player& player, const vector<Entity>& entities, const bool& infomode_enabled);
/// Kriege den Wert einer Position
/// @param pos Die gewollte Position
@ -69,7 +70,7 @@ namespace game
/// @param position Die Startposition
/// @param steps Wie viele Schritte maximal gegangen werden sollten
/// @returns Wie viele Schritte benötigt werden
int calculate_steps_until_win(const Vector2d& position, const int& steps);
int calculate_steps_until_win(Vector2d position, const int& steps);
/// Kriege alle eingelesenen Entities
vector<Entity> get_entities();