From f7eaf201c10c2cbaa668f02e6d0ad0465c6a1fa1 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 9 Oct 2020 14:22:08 +0800 Subject: [PATCH] 1 --- server/rankserver/main.cc | 75 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) diff --git a/server/rankserver/main.cc b/server/rankserver/main.cc index 7dffbf1..35c79c5 100644 --- a/server/rankserver/main.cc +++ b/server/rankserver/main.cc @@ -1,8 +1,83 @@ #include "precompile.h" + +#include +#include #include "app.h" int main(int argc, char* argv[]) { + #if 0 + srand(time(nullptr)); + { + struct GuildBasic + { + long long guild_id_ = 0; + int guild_lv_ = 0; + int guild_exp_ = 0; + + void set_guild_id(long long guild_id) + { + guild_id_ = guild_id; + } + long long guild_id() + { + return guild_id_; + } + + void set_guild_lv(int guild_lv) + { + guild_lv_ = guild_lv; + } + int guild_lv() + { + return guild_lv_; + } + + void set_guild_exp(int guild_exp) + { + guild_exp_ = guild_exp; + } + int guild_exp() + { + return guild_exp_; + } + + }; + + std::vector rank_list; + for (int i = 0; i < 100; i++) { + GuildBasic* guild = new GuildBasic(); + guild->set_guild_id(App::Instance()->NewUuid()); +#if 1 + guild->set_guild_lv(rand() % 1000); + guild->set_guild_exp(rand() % 1000); +#endif + rank_list.push_back(guild); + } + for (auto itr = rank_list.begin(); itr != rank_list.end(); ++itr) { + printf("%lld %d %d\n", (*itr)->guild_id(), (*itr)->guild_lv(), (*itr)->guild_exp()); + } + std::sort(rank_list.begin(), + rank_list.end(), + [] (GuildBasic* a, GuildBasic* b) -> bool + { + if (a == b) { + abort(); + } + if (a->guild_lv() > b->guild_lv()) { + return true; + } + if (a->guild_exp() > b->guild_exp()) { + return true; + } + if (a->guild_id() == b->guild_id()) { + abort(); + } + return a->guild_id() > b->guild_id(); + }); + printf("ok\n"); + } +#endif int exitcode = 0; App::Instance()->Init(argc, argv); exitcode = App::Instance()->Run();