#include "logger.hpp" #include "util.hpp" #include "db.hpp" #include "online.hpp" #include "room.hpp" #include "session.hpp" #include "matcher.hpp" using std::cout; using std::endl; #define HOST "127.0.0.1" #define USER "thj" #define PASSWD "Abcd1234@" #define DB "test_connection" #define PORT 4106 #define FILENAME "./makefile" void log_test() { LOG(NORMAL, "%s-%d", "hello", 10); LOG(DEBUG, "hello world"); } void mysql_test() { MYSQL *mysql = mysql_util::mysql_create(HOST, USER, PASSWD, DB, PORT); const std::string sql = "insert into user values(null, '王五', 25, '11133334444')"; mysql_util::mysql_execute(mysql, sql); mysql_util::mysql_destroy(mysql); } void json_test() { Json::Value root; root["姓名"] = "小明"; root["年龄"] = 18; root["成绩"].append(80); root["成绩"].append(90); root["成绩"].append(100); std::string str; json_util::serialize(root, str); cout << str << endl; Json::Value newroot; json_util::deserialize(str, newroot); cout << "姓名: " << newroot["姓名"].asString() << endl; cout << "年龄: " << newroot["年龄"].asInt() << endl; int size = newroot["成绩"].size(); for(int i = 0; i < size; i++) { cout << "成绩: " << newroot["成绩"][i].asFloat() << endl; } } void string_test() { std::string src = " abc dfef fe"; std::string sep = " "; std::vector res; string_util::split(src, sep, res); for(auto s : res) cout << s << endl; cout << endl; } void fileRead_test() { std::string data; file_util::read(FILENAME, data); cout << data << endl; } void db_test() { user_table ut(HOST, USER, PASSWD); Json::Value user; user["username"] = "zhangsan"; user["password"] = "123456"; // register // ut.registers(user); // user["username"] = "lisi"; // user["password"] = "123321"; // ut.registers(user); // login // ut.login(user); // user["password"] = "123321"; // ut.login(user); // win and lose ut.win(1); ut.lose(2); // select Json::Value data; if(ut.select_by_name("zhangsan", data)) { std::string msg; json_util::serialize(data, msg); LOG(DEBUG, "%s", msg.c_str()); } if(ut.select_by_id(2, data)) { std::string msg; json_util::serialize(data, msg); LOG(DEBUG, "%s", msg.c_str()); } } void online_test() { uint64_t id = 1; Json::Value user; user_table ut(HOST, USER, PASSWD); ut.select_by_id(id, user); std::string name = user["username"].asString(); online_manager om; wsserver_t::connection_ptr conn; om.enter_game_hall(id, conn); if(om.is_in_game_hall(id)) LOG(DEBUG, "%s enter game hall", name.c_str()); om.enter_game_room(id, conn); if(om.is_in_game_room(id)) LOG(DEBUG, "%s enter game room", name.c_str()); om.exit_game_room(id); if(om.is_in_game_room(id) == false) LOG(DEBUG, "%s exit game room", name.c_str()); om.exit_game_hall(id); if(om.is_in_game_hall(id) == false) LOG(DEBUG, "%s exit game hall", name.c_str()); } void room_test() { // 游戏房间 user_table ut(HOST, USER, PASSWD); online_manager om; // room r(10, &ut, &om); // 游戏房间管理 room_manager rm(&ut, &om); room_ptr rp = rm.create_room(10, 20); } void matcher_test() { user_table ut(HOST, USER, PASSWD); online_manager om; room_manager rm(&ut, &om); matcher mt(&ut, &om, &rm); } int main() { // log_test(); // mysql_test(); // json_test(); // string_test(); // fileRead_test(); // db_test(); // online_test(); // room_test(); matcher_test(); return 0; }