From cec7467aee4c75ab1f9830a1005431cbeecc115a Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sat, 10 Oct 2020 10:38:54 +0800 Subject: [PATCH] 1 --- server/rankserver/guildmgr.cc | 8 +++- server/rankserver/main.cc | 72 ----------------------------------- 2 files changed, 6 insertions(+), 74 deletions(-) diff --git a/server/rankserver/guildmgr.cc b/server/rankserver/guildmgr.cc index 3f6a67c..325abcb 100644 --- a/server/rankserver/guildmgr.cc +++ b/server/rankserver/guildmgr.cc @@ -659,14 +659,12 @@ void GuildMgr::GenGuildRank() void GuildMgr::ResortRank(std::vector& rank_list) { - #if 0 std::sort(rank_list.begin(), rank_list.end(), [] (cs::MFGuildBasic* a, cs::MFGuildBasic* b) -> bool { return GuildMgr::Instance()->CmpGuild(a, b); }); - #endif } void GuildMgr::UpdateRank(std::vector& rank_list, cs::MFGuildBasic* guild) @@ -712,9 +710,15 @@ bool GuildMgr::CmpGuild(cs::MFGuildBasic* a, cs::MFGuildBasic* b) if (a->guild_lv() > b->guild_lv()) { return true; } + if (a->guild_lv() < b->guild_lv()) { + return false; + } if (a->guild_exp() > b->guild_exp()) { return true; } + if (a->guild_exp() < b->guild_exp()) { + return false; + } return a->guild_id() > b->guild_id(); } diff --git a/server/rankserver/main.cc b/server/rankserver/main.cc index 35c79c5..81d0bc0 100644 --- a/server/rankserver/main.cc +++ b/server/rankserver/main.cc @@ -6,78 +6,6 @@ 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();