29 lines
969 B
C
29 lines
969 B
C
|
#pragma once
|
||
|
|
||
|
#include <stdlib.h>
|
||
|
#include <BWAPI.h>
|
||
|
#include "CUnit.h"
|
||
|
#include "Macro.h"
|
||
|
|
||
|
using namespace BWAPI;
|
||
|
|
||
|
class Military
|
||
|
{
|
||
|
public:
|
||
|
static void addSquadlessUnits(int squadIndex);
|
||
|
static void checkAttack();
|
||
|
static void checkDefense();
|
||
|
static double checkEnemiesAt(CBase base);
|
||
|
static void checkSquads();
|
||
|
static std::pair<TilePosition, int> getAttackLocation();
|
||
|
static double getBaseDefense(CBase b, std::string type, int playerID);
|
||
|
static TilePosition getChokepointCenter(const BWEM::Area* area, const BWEM::Area* neighborArea);
|
||
|
static int getClosestSquad(TilePosition tp);
|
||
|
static int getIdleSquad();
|
||
|
static std::pair<int, int> getMostVulnerableBase(int playerID);
|
||
|
static bool inThreatRange(TilePosition tp, CUnit unit);
|
||
|
static bool isThreatened(TilePosition tp);
|
||
|
static double likelihoodToAttack();
|
||
|
static void sendDefense(TilePosition tp, int attackerScore, int defenseScore);
|
||
|
static bool shouldAttackNonMaxed();
|
||
|
};
|