1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-03-25 21:38:59 +02:00

Nullkiller AI: add Analyzers folder, add BuildingBehavior

This commit is contained in:
Andrii Danylchenko 2021-05-16 14:14:17 +03:00 committed by Andrii Danylchenko
parent af9261d428
commit de2361650b
8 changed files with 113 additions and 3 deletions

View File

@ -0,0 +1,19 @@
/*
* BuildAnalyzer.cpp, part of VCMI engine
*
* Authors: listed in file AUTHORS in main folder
*
* License: GNU General Public License v2.0 or later
* Full text of license available in license.txt file, in main folder
*
*/
#include "StdInc.h"
#include "BuildAnalyzer.h"
#include "lib/mapping/CMap.h" //for victory conditions
extern boost::thread_specific_ptr<CCallback> cb;
extern boost::thread_specific_ptr<VCAI> ai;
void BuildAnalyzer::reset()
{
}

View File

@ -0,0 +1,22 @@
/*
* BuildAnalyzer.h, part of VCMI engine
*
* Authors: listed in file AUTHORS in main folder
*
* License: GNU General Public License v2.0 or later
* Full text of license available in license.txt file, in main folder
*
*/
#pragma once
#include "../VCAI.h"
#include "../../../lib/ResourceSet.h"
class BuildAnalyzer
{
private:
TResources requiredResources;
public:
void reset();
};

View File

@ -0,0 +1,38 @@
/*
* BuyArmyBehavior.cpp, part of VCMI engine
*
* Authors: listed in file AUTHORS in main folder
*
* License: GNU General Public License v2.0 or later
* Full text of license available in license.txt file, in main folder
*
*/
#include "StdInc.h"
#include "BuildingBehavior.h"
#include "../VCAI.h"
#include "../AIhelper.h"
#include "../AIUtility.h"
#include "../Goals/BuyArmy.h"
#include "../Goals/VisitTile.h"
#include "lib/mapping/CMap.h" //for victory conditions
#include "lib/CPathfinder.h"
#include "../Engine/Nullkiller.h"
extern boost::thread_specific_ptr<CCallback> cb;
extern boost::thread_specific_ptr<VCAI> ai;
extern FuzzyHelper * fh;
using namespace Goals;
std::string BuildingBehavior::toString() const
{
return "Build";
}
Goals::TGoalVec BuildingBehavior::getTasks()
{
Goals::TGoalVec tasks;
return tasks;
}

View File

@ -0,0 +1,26 @@
/*
* BuildingBehavior.h, part of VCMI engine
*
* Authors: listed in file AUTHORS in main folder
*
* License: GNU General Public License v2.0 or later
* Full text of license available in license.txt file, in main folder
*
*/
#pragma once
#include "lib/VCMI_Lib.h"
#include "Behavior.h"
#include "../AIUtility.h"
class BuildingBehavior : public Behavior
{
public:
BuildingBehavior()
{
}
virtual Goals::TGoalVec getTasks() override;
virtual std::string toString() const override;
};

View File

@ -51,13 +51,15 @@ set(VCAI_SRCS
Goals/ExchangeSwapTownHeroes.cpp
Engine/Nullkiller.cpp
Engine/PriorityEvaluator.cpp
Engine/DangerHitMapAnalyzer.cpp
Analyzers/DangerHitMapAnalyzer.cpp
Analyzers/BuildAnalyzer.cpp
Behaviors/Behavior.cpp
Behaviors/CaptureObjectsBehavior.cpp
Behaviors/RecruitHeroBehavior.cpp
Behaviors/BuyArmyBehavior.cpp
Behaviors/DefenceBehavior.cpp
Behaviors/StartupBehavior.cpp
Behaviors/BuildingBehavior.cpp
main.cpp
VCAI.cpp
)
@ -119,13 +121,15 @@ set(VCAI_HEADERS
Goals/Goals.h
Engine/Nullkiller.h
Engine/PriorityEvaluator.h
Engine/DangerHitMapAnalyzer.h
Analyzers/DangerHitMapAnalyzer.h
Analyzers/BuildAnalyzer.h
Behaviors/Behavior.h
Behaviors/CaptureObjectsBehavior.h
Behaviors/RecruitHeroBehavior.h
Behaviors/BuyArmyBehavior.h
Behaviors/DefenceBehavior.h
Behaviors/StartupBehavior.h
Behaviors/BuildingBehavior.h
VCAI.h
)

View File

@ -10,7 +10,8 @@
#pragma once
#include "PriorityEvaluator.h"
#include "DangerHitMapAnalyzer.h"
#include "../Analyzers/DangerHitMapAnalyzer.h"
#include "../Analyzers/BuildAnalyzer.h"
#include "../Goals/AbstractGoal.h"
#include "../Behaviors/Behavior.h"