X-Git-Url: https://ruin.nu/git/index.pl?a=blobdiff_plain;f=bs%2Ffleet.h;h=f1d96affc4fb1264464f704c55db3262eb5b4646;hb=3ae63f013b2ac281d17acec43bc054a132861d35;hp=c156545971078d921634f96fddecc7c41dd87795;hpb=5940cfda3be2c7b4ecbd64c814948b29139177c0;p=hbs.git diff --git a/bs/fleet.h b/bs/fleet.h index c156545..f1d96af 100644 --- a/bs/fleet.h +++ b/bs/fleet.h @@ -28,8 +28,8 @@ typedef std::map > FleetList; typedef std::map UnitList; typedef std::map > RaceList; -//!This is the engine for the whole battlesystem. -/**This is the engine for the whole battlesystem. +//! An abstraction of a fleet and the engine for the battle simulation. +/**This class and it's derivates is the engine for the whole battlesystem. * One of the few parts that I plan make fully portable. *\todo LOTS (I think ;) *@author Michael Andreen @@ -85,15 +85,27 @@ public: * \param tick tells the function what tick you want the score from. 0 is * initial score before the fleet has landed. */ - virtual unsigned score(int tick = 0) const; + unsigned score(int tick = 0) const; + void setFleet(std::string unittype, int number); + int fleet(std::string unittype, int tick = 0); + static void setRaces(RaceList& races); static void setUnits(UnitList& units); static const RaceList& Races(); static const UnitList& Units(); + void addToThis(std::vector fleets, int tick = 0); + + void distributeLossesGains(std::vector fleets, int tick = 0); + + std::vector calculateSide(std::vector fleets, int stays = 0, int tick = 0); + + protected: + + std::string m_sName; std::string m_sRace; int m_iETA;