#include "game/gameplay/difficulty.hpp" #include // Para ranges::find_if #include // Para vector namespace Difficulty { static std::vector difficulties_list; void init() { difficulties_list = { {.code = Code::EASY, .name = "Easy"}, {.code = Code::NORMAL, .name = "Normal"}, {.code = Code::HARD, .name = "Hard"}}; } auto getDifficulties() -> std::vector& { return difficulties_list; } auto getNameFromCode(Code code) -> std::string { const auto it = std::ranges::find_if(difficulties_list, [code](const auto& difficulty) { return difficulty.code == code; }); if (it != difficulties_list.end()) { return it->name; } return !difficulties_list.empty() ? difficulties_list.front().name : "Unknown"; } auto getCodeFromName(const std::string& name) -> Code { const auto it = std::ranges::find_if(difficulties_list, [&name](const auto& difficulty) { return difficulty.name == name; }); if (it != difficulties_list.end()) { return it->code; } return !difficulties_list.empty() ? difficulties_list.front().code : Code::NORMAL; } } // namespace Difficulty