sword_game/client/main.cpp

44 lines
1.1 KiB
C++

#include "Client.h"
#include <iostream>
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;
}