BWAPI
Functions
Skynet/Skynet/BuildOrderManager.cpp File Reference
#include "BuildOrderManager.h"
#include "Logger.h"
#include "MacroManager.h"
#include "SquadManager.h"
#include <ctime>
#include <boost/random.hpp>
Include dependency graph for BuildOrderManager.cpp:

Go to the source code of this file.

Functions

BuildOrderID getRandomBuild (const std::vector< BuildOrderID > &builds)

Function Documentation

BuildOrderID getRandomBuild ( const std::vector< BuildOrderID > &  builds)

Definition at line 25 of file BuildOrderManager.cpp.

References BuildOrderIDDef::Unknown.

Referenced by BuildOrderManagerClass::update().

{
        if(builds.empty())
                return BuildOrderID::Unknown;

        static boost::mt19937 rng(static_cast<unsigned int>(std::time(0)));
        boost::uniform_int<> dist(0, builds.size() - 1);
        boost::variate_generator<boost::mt19937, boost::uniform_int<>> randIndex(rng, dist);

        return builds[randIndex()];
}

Here is the caller graph for this function:

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines