#include "Client.h" #include int main(int argc, char *argv[]) { bool isScenario = false; std::string nickname; std::string scenarioFile; for (int i = 1; i < argc; ++i) { std::string arg = argv[i]; if (arg == "--scenario" && i + 1 < argc) { isScenario = true; scenarioFile = argv[++i]; } else { nickname = arg; } } try { boost::asio::io_context io_context; const char *env_host = std::getenv("SERVER_HOST"); const char *env_port = std::getenv("SERVER_PORT"); std::string host = env_host ? env_host : "127.0.0.1"; std::string port = env_port ? env_port : "30000"; if (isScenario) { if (scenarioFile.empty()) { std::cerr << "시나리오 파일명이 필요합니다. 사용법: --scenario <파일경로>" << std::endl; return 1; } ScenarioClient client(io_context, host, port, scenarioFile); client.Run(); } else { InteractiveClient client(io_context, host, port); client.Run(); } } catch (std::exception &e) { std::cerr << "Exception: " << e.what() << "\n"; } return 0; }