Browse Source

feat(CAPI): update new props and update logger

tags/0.1.0
DragonAura 2 years ago
parent
commit
3612ba7985
7 changed files with 65 additions and 35 deletions
  1. +8
    -1
      CAPI/cpp/API/include/structures.h
  2. +8
    -2
      CAPI/cpp/API/include/utils.hpp
  3. +2
    -0
      CAPI/cpp/API/src/AI.cpp
  4. +1
    -0
      CAPI/cpp/API/src/DebugAPI.cpp
  5. +7
    -1
      CAPI/cpp/API/src/logic.cpp
  6. +31
    -26
      CAPI/cpp/proto/MessageType.pb.cc
  7. +8
    -5
      CAPI/cpp/proto/MessageType.pb.h

+ 8
- 1
CAPI/cpp/API/include/structures.h View File

@@ -51,7 +51,10 @@ namespace THUAI6
Key3 = 1, Key3 = 1,
Key5 = 2, Key5 = 2,
Key6 = 3, Key6 = 3,
PropType4 = 4,
AddSpeed = 4,
AddLifeOrAp = 5,
AddHpOrAp = 6,
ShieldOrSpear = 7,
}; };


enum class BulletType : unsigned char enum class BulletType : unsigned char
@@ -323,6 +326,10 @@ namespace THUAI6
{PropType::Key3, "Key3"}, {PropType::Key3, "Key3"},
{PropType::Key5, "Key5"}, {PropType::Key5, "Key5"},
{PropType::Key6, "Key6"}, {PropType::Key6, "Key6"},
{PropType::AddSpeed, "AddSpeed"},
{PropType::AddLifeOrAp, "AddLifeOrAp"},
{PropType::AddHpOrAp, "AddHpOrAp"},
{PropType::ShieldOrSpear, "ShieldOrSpear"},


}; };




+ 8
- 2
CAPI/cpp/API/include/utils.hpp View File

@@ -87,7 +87,10 @@ namespace Proto2THUAI6
{protobuf::PropType::KEY3, THUAI6::PropType::Key3}, {protobuf::PropType::KEY3, THUAI6::PropType::Key3},
{protobuf::PropType::KEY5, THUAI6::PropType::Key5}, {protobuf::PropType::KEY5, THUAI6::PropType::Key5},
{protobuf::PropType::KEY6, THUAI6::PropType::Key6}, {protobuf::PropType::KEY6, THUAI6::PropType::Key6},
{protobuf::PropType::PTYPE4, THUAI6::PropType::PropType4},
{protobuf::PropType::ADD_SPEED, THUAI6::PropType::AddSpeed},
{protobuf::PropType::ADD_HP_OR_AP, THUAI6::PropType::AddHpOrAp},
{protobuf::PropType::ADD_LIFE_OR_AP, THUAI6::PropType::AddLifeOrAp},
{protobuf::PropType::SHIELD_OR_SPEAR, THUAI6::PropType::ShieldOrSpear},
}; };


inline std::map<protobuf::PlayerType, THUAI6::PlayerType> playerTypeDict{ inline std::map<protobuf::PlayerType, THUAI6::PlayerType> playerTypeDict{
@@ -338,7 +341,10 @@ namespace THUAI62Proto
{THUAI6::PropType::Key3, protobuf::PropType::KEY3}, {THUAI6::PropType::Key3, protobuf::PropType::KEY3},
{THUAI6::PropType::Key5, protobuf::PropType::KEY5}, {THUAI6::PropType::Key5, protobuf::PropType::KEY5},
{THUAI6::PropType::Key6, protobuf::PropType::KEY6}, {THUAI6::PropType::Key6, protobuf::PropType::KEY6},
{THUAI6::PropType::PropType4, protobuf::PropType::PTYPE4},
{THUAI6::PropType::AddHpOrAp, protobuf::PropType::ADD_HP_OR_AP},
{THUAI6::PropType::AddLifeOrAp, protobuf::PropType::ADD_LIFE_OR_AP},
{THUAI6::PropType::AddSpeed, protobuf::PropType::ADD_SPEED},
{THUAI6::PropType::ShieldOrSpear, protobuf::PropType::SHIELD_OR_SPEAR},
}; };


inline std::map<THUAI6::PlayerType, protobuf::PlayerType> playerTypeDict{ inline std::map<THUAI6::PlayerType, protobuf::PlayerType> playerTypeDict{


+ 2
- 0
CAPI/cpp/API/src/AI.cpp View File

@@ -18,8 +18,10 @@ extern const THUAI6::StudentType studentType = THUAI6::StudentType::Athlete;
void AI::play(IStudentAPI& api) void AI::play(IStudentAPI& api)
{ {
api.Move(100, 1); api.Move(100, 1);
api.PrintSelfInfo();
} }


void AI::play(ITrickerAPI& api) void AI::play(ITrickerAPI& api)
{ {
api.Move(100, 1);
} }

+ 1
- 0
CAPI/cpp/API/src/DebugAPI.cpp View File

@@ -26,6 +26,7 @@ StudentDebugAPI::StudentDebugAPI(ILogic& logic, bool file, bool print, bool warn
if (warnOnly) if (warnOnly)
printLogger->set_level(spdlog::level::warn); printLogger->set_level(spdlog::level::warn);
logger = std::make_unique<spdlog::logger>("apiLogger", spdlog::sinks_init_list{fileLogger, printLogger}); logger = std::make_unique<spdlog::logger>("apiLogger", spdlog::sinks_init_list{fileLogger, printLogger});
logger->flush_on(spdlog::level::warn);
} }


TrickerDebugAPI::TrickerDebugAPI(ILogic& logic, bool file, bool print, bool warnOnly, int64_t playerID) : TrickerDebugAPI::TrickerDebugAPI(ILogic& logic, bool file, bool print, bool warnOnly, int64_t playerID) :


+ 7
- 1
CAPI/cpp/API/src/logic.cpp View File

@@ -324,7 +324,13 @@ void Logic::ProcessMessage()
} }
bufferState->gameMap = std::move(map); bufferState->gameMap = std::move(map);
currentState->gameMap = bufferState->gameMap; currentState->gameMap = bufferState->gameMap;
logger->info("Map loaded!");
} }
if (currentState->gameMap.empty())
{
logger->error("Map not loaded!");
throw std::runtime_error("Map not loaded!");
}
LoadBuffer(clientMsg); LoadBuffer(clientMsg);


AILoop = true; AILoop = true;
@@ -734,7 +740,6 @@ void Logic::Main(CreateAIFunc createAI, std::string IP, std::string port, bool f
if (file) if (file)
{ {
fileLogger->set_level(spdlog::level::trace); fileLogger->set_level(spdlog::level::trace);
spdlog::flush_every(std::chrono::seconds(1));
} }
else else
fileLogger->set_level(spdlog::level::off); fileLogger->set_level(spdlog::level::off);
@@ -745,6 +750,7 @@ void Logic::Main(CreateAIFunc createAI, std::string IP, std::string port, bool f
if (warnOnly) if (warnOnly)
printLogger->set_level(spdlog::level::warn); printLogger->set_level(spdlog::level::warn);
logger = std::make_unique<spdlog::logger>("logicLogger", spdlog::sinks_init_list{fileLogger, printLogger}); logger = std::make_unique<spdlog::logger>("logicLogger", spdlog::sinks_init_list{fileLogger, printLogger});
logger->flush_on(spdlog::level::warn);


// 打印当前的调试信息 // 打印当前的调试信息
logger->info("*********Basic Info*********"); logger->info("*********Basic Info*********");


+ 31
- 26
CAPI/cpp/proto/MessageType.pb.cc View File

@@ -39,36 +39,38 @@ const char descriptor_table_protodef_MessageType_2eproto[] PROTOBUF_SECTION_VARI
"SSROOM\020\004\022\010\n\004GATE\020\005\022\017\n\013HIDDEN_GATE\020\006\022\n\n\006W" "SSROOM\020\004\022\010\n\004GATE\020\005\022\017\n\013HIDDEN_GATE\020\006\022\n\n\006W"
"INDOW\020\007\022\t\n\005DOOR3\020\010\022\t\n\005DOOR5\020\t\022\t\n\005DOOR6\020\n" "INDOW\020\007\022\t\n\005DOOR3\020\010\022\t\n\005DOOR5\020\t\022\t\n\005DOOR6\020\n"
"\022\t\n\005CHEST\020\013*8\n\tShapeType\022\023\n\017NULL_SHAPE_T" "\022\t\n\005CHEST\020\013*8\n\tShapeType\022\023\n\017NULL_SHAPE_T"
"YPE\020\000\022\n\n\006CIRCLE\020\001\022\n\n\006SQUARE\020\002*H\n\010PropTyp"
"e\022\022\n\016NULL_PROP_TYPE\020\000\022\010\n\004KEY3\020\001\022\010\n\004KEY5\020"
"\002\022\010\n\004KEY6\020\003\022\n\n\006PTYPE4\020\004*f\n\017StudentBuffTy"
"pe\022\023\n\017NULL_SBUFF_TYPE\020\000\022\016\n\nSBUFFTYPE1\020\001\022"
"\016\n\nSBUFFTYPE2\020\002\022\016\n\nSBUFFTYPE3\020\003\022\016\n\nSBUFF"
"TYPE4\020\004*\251\002\n\013PlayerState\022\017\n\013NULL_STATUS\020\000"
"\022\010\n\004IDLE\020\001\022\014\n\010LEARNING\020\002\022\014\n\010ADDICTED\020\003\022\010"
"\n\004QUIT\020\004\022\r\n\tGRADUATED\020\005\022\013\n\007TREATED\020\006\022\013\n\007"
"RESCUED\020\007\022\013\n\007STUNNED\020\010\022\014\n\010TREATING\020\t\022\014\n\010"
"RESCUING\020\n\022\014\n\010SWINGING\020\013\022\r\n\tATTACKING\020\014\022"
"\013\n\007LOCKING\020\r\022\r\n\tRUMMAGING\020\016\022\014\n\010CLIMBING\020"
"\017\022\023\n\017OPENING_A_CHEST\020\020\022\027\n\023USING_SPECIAL_"
"SKILL\020\021\022\022\n\016OPENING_A_GATE\020\022*f\n\017TrickerBu"
"ffType\022\023\n\017NULL_TBUFF_TYPE\020\000\022\016\n\nTBUFFTYPE"
"1\020\001\022\016\n\nTBUFFTYPE2\020\002\022\016\n\nTBUFFTYPE3\020\003\022\016\n\nT"
"BUFFTYPE4\020\004*J\n\nPlayerType\022\024\n\020NULL_PLAYER"
"_TYPE\020\000\022\022\n\016STUDENT_PLAYER\020\001\022\022\n\016TRICKER_P"
"LAYER\020\002*g\n\013StudentType\022\025\n\021NULL_STUDENT_T"
"YPE\020\000\022\013\n\007ATHLETE\020\001\022\020\n\014STUDENTTYPE2\020\002\022\020\n\014"
"STUDENTTYPE3\020\003\022\020\n\014STUDENTTYPE4\020\004*h\n\013Tric"
"kerType\022\025\n\021NULL_TRICKER_TYPE\020\000\022\014\n\010ASSASS"
"IN\020\001\022\020\n\014TRICKERTYPE2\020\002\022\020\n\014TRICKERTYPE3\020\003"
"\022\020\n\014TRICKERTYPE4\020\004*P\n\tGameState\022\023\n\017NULL_"
"GAME_STATE\020\000\022\016\n\nGAME_START\020\001\022\020\n\014GAME_RUN"
"NING\020\002\022\014\n\010GAME_END\020\003b\006proto3";
"YPE\020\000\022\n\n\006CIRCLE\020\001\022\n\n\006SQUARE\020\002*\206\001\n\010PropTy"
"pe\022\022\n\016NULL_PROP_TYPE\020\000\022\r\n\tADD_SPEED\020\001\022\022\n"
"\016ADD_LIFE_OR_AP\020\002\022\020\n\014ADD_HP_OR_AP\020\003\022\023\n\017S"
"HIELD_OR_SPEAR\020\004\022\010\n\004KEY3\020\005\022\010\n\004KEY5\020\006\022\010\n\004"
"KEY6\020\007*f\n\017StudentBuffType\022\023\n\017NULL_SBUFF_"
"TYPE\020\000\022\016\n\nSBUFFTYPE1\020\001\022\016\n\nSBUFFTYPE2\020\002\022\016"
"\n\nSBUFFTYPE3\020\003\022\016\n\nSBUFFTYPE4\020\004*\251\002\n\013Playe"
"rState\022\017\n\013NULL_STATUS\020\000\022\010\n\004IDLE\020\001\022\014\n\010LEA"
"RNING\020\002\022\014\n\010ADDICTED\020\003\022\010\n\004QUIT\020\004\022\r\n\tGRADU"
"ATED\020\005\022\013\n\007TREATED\020\006\022\013\n\007RESCUED\020\007\022\013\n\007STUN"
"NED\020\010\022\014\n\010TREATING\020\t\022\014\n\010RESCUING\020\n\022\014\n\010SWI"
"NGING\020\013\022\r\n\tATTACKING\020\014\022\013\n\007LOCKING\020\r\022\r\n\tR"
"UMMAGING\020\016\022\014\n\010CLIMBING\020\017\022\023\n\017OPENING_A_CH"
"EST\020\020\022\027\n\023USING_SPECIAL_SKILL\020\021\022\022\n\016OPENIN"
"G_A_GATE\020\022*f\n\017TrickerBuffType\022\023\n\017NULL_TB"
"UFF_TYPE\020\000\022\016\n\nTBUFFTYPE1\020\001\022\016\n\nTBUFFTYPE2"
"\020\002\022\016\n\nTBUFFTYPE3\020\003\022\016\n\nTBUFFTYPE4\020\004*J\n\nPl"
"ayerType\022\024\n\020NULL_PLAYER_TYPE\020\000\022\022\n\016STUDEN"
"T_PLAYER\020\001\022\022\n\016TRICKER_PLAYER\020\002*g\n\013Studen"
"tType\022\025\n\021NULL_STUDENT_TYPE\020\000\022\013\n\007ATHLETE\020"
"\001\022\020\n\014STUDENTTYPE2\020\002\022\020\n\014STUDENTTYPE3\020\003\022\020\n"
"\014STUDENTTYPE4\020\004*h\n\013TrickerType\022\025\n\021NULL_T"
"RICKER_TYPE\020\000\022\014\n\010ASSASSIN\020\001\022\020\n\014TRICKERTY"
"PE2\020\002\022\020\n\014TRICKERTYPE3\020\003\022\020\n\014TRICKERTYPE4\020"
"\004*P\n\tGameState\022\023\n\017NULL_GAME_STATE\020\000\022\016\n\nG"
"AME_START\020\001\022\020\n\014GAME_RUNNING\020\002\022\014\n\010GAME_EN"
"D\020\003b\006proto3";
static ::_pbi::once_flag descriptor_table_MessageType_2eproto_once; static ::_pbi::once_flag descriptor_table_MessageType_2eproto_once;
const ::_pbi::DescriptorTable descriptor_table_MessageType_2eproto = { const ::_pbi::DescriptorTable descriptor_table_MessageType_2eproto = {
false, false,
false, false,
1348,
1411,
descriptor_table_protodef_MessageType_2eproto, descriptor_table_protodef_MessageType_2eproto,
"MessageType.proto", "MessageType.proto",
&descriptor_table_MessageType_2eproto_once, &descriptor_table_MessageType_2eproto_once,
@@ -171,6 +173,9 @@ namespace protobuf
case 2: case 2:
case 3: case 3:
case 4: case 4:
case 5:
case 6:
case 7:
return true; return true;
default: default:
return false; return false;


+ 8
- 5
CAPI/cpp/proto/MessageType.pb.h View File

@@ -155,16 +155,19 @@ namespace protobuf
enum PropType : int enum PropType : int
{ {
NULL_PROP_TYPE = 0, NULL_PROP_TYPE = 0,
KEY3 = 1,
KEY5 = 2,
KEY6 = 3,
PTYPE4 = 4,
ADD_SPEED = 1,
ADD_LIFE_OR_AP = 2,
ADD_HP_OR_AP = 3,
SHIELD_OR_SPEAR = 4,
KEY3 = 5,
KEY5 = 6,
KEY6 = 7,
PropType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<int32_t>::min(), PropType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<int32_t>::min(),
PropType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<int32_t>::max() PropType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<int32_t>::max()
}; };
bool PropType_IsValid(int value); bool PropType_IsValid(int value);
constexpr PropType PropType_MIN = NULL_PROP_TYPE; constexpr PropType PropType_MIN = NULL_PROP_TYPE;
constexpr PropType PropType_MAX = PTYPE4;
constexpr PropType PropType_MAX = KEY6;
constexpr int PropType_ARRAYSIZE = PropType_MAX + 1; constexpr int PropType_ARRAYSIZE = PropType_MAX + 1;


const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* PropType_descriptor(); const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* PropType_descriptor();


Loading…
Cancel
Save