diff options
Diffstat (limited to 'frontend/cmd')
-rw-r--r-- | frontend/cmd/query.cpp | 14 | ||||
-rw-r--r-- | frontend/cmd/search.cpp | 16 |
2 files changed, 27 insertions, 3 deletions
diff --git a/frontend/cmd/query.cpp b/frontend/cmd/query.cpp index e1e45a1..23d2a42 100644 --- a/frontend/cmd/query.cpp +++ b/frontend/cmd/query.cpp @@ -1,5 +1,6 @@ #include "backend/Location.h" #include "backend/Object.h" +#include "backend/Enemy.h" #include "../Player.h" #include "../print.h" @@ -43,7 +44,18 @@ FollowupAction Player::cmd_query(string &) { lprtf("\n"); } - // TODO: enemies + { + lprtf("Vijanden: "); + size_t enemies = 0; + for (Enemy * enemy : this->location.get_enemies()) { + if (enemies > 0) lprtf(", "); + lprtf("%s", enemy->get_name()); + enemies++; + } + if (enemies == 0) + lprtf("(geen)"); + lprtf("\n"); + } return FollowupAction::NONE; } diff --git a/frontend/cmd/search.cpp b/frontend/cmd/search.cpp index 4646ddc..67b0bf1 100644 --- a/frontend/cmd/search.cpp +++ b/frontend/cmd/search.cpp @@ -1,9 +1,21 @@ #include "../Player.h" +#include "../print.h" + +#include "backend/Location.h" using namespace std; -FollowupAction Player::cmd_search(string & argv) { - // TODO +FollowupAction Player::cmd_search(string &) { + bool found = false; + for (Object * object : this->location.get_objects()) { + if (object->get_hidden() == false) continue; + if (!found) lprtf("Je vindt:\n"); + lprtf("- %s\n", object->get_displayname()); + object->set_hidden(false); + found = true; + } + if (!found) + lprtf("Je hebt niks gevonden.\n"); return FollowupAction::UPDATE; } |