X-Git-Url: https://ruin.nu/git/?p=hbs.git;a=blobdiff_plain;f=bs%2Fplanet.h;h=c729ebf6d634e781ac76467d1d416e389f6d6dba;hp=e5c173e0cda880cf44b39c4e9134dcc6ddcbb39a;hb=7b5ccf741883c34b2ac96afe460a3d0eda3701bb;hpb=d2305e5235e09fa536616f71c095e390fe8cbf8b diff --git a/bs/planet.h b/bs/planet.h index e5c173e..c729ebf 100644 --- a/bs/planet.h +++ b/bs/planet.h @@ -33,23 +33,64 @@ typedef std::map > RoidList; * planets aren't available in this game). *@author Michael Andreen */ - -class Planet : public Fleet { +class Planet : public Fleet +{ public: Planet(); virtual ~Planet(); + /** The score for the current planet. + * \returns the score as an unsigned int. + * \todo add a param to specify what tick to use. + */ unsigned planetScore() const; - void setPlanetScore(unsigned i); + /** Sets the score for the current fleet. + * \param score this param is a unsigned int holding the score + * \todo add a param to specify what tick to use. + */ + void setPlanetScore(unsigned score); + + /** This function is used to get the number of roids of a specific type. + * \param type the for this roid (for pa: metal, crystal, eonium, uninit) + * \param tick what tick you want to get the number from. + * \returns the number of the specified type at the specified tick + */ int roids(std::string type, int tick = 0) const; + /** Used to set the number of roid at a specific tick + * \param type the for this roid (for pa: metal, crystal, eonium, uninit) + * \param tick what tick you want to get the number from. + * \param number the number of roids you want to set. + */ void setRoids(std::string type, int number, int tick = 0); + /** This function is used to remove a specific number of roids without + * knowing how many the total is. + * \param type the for this roid (for pa: metal, crystal, eonium, uninit) + * \param tick what tick you want to get the number from. + * \param number the number of roids you want to take. + */ void takeRoids(std::string type, int number, int tick = 0); + /** This function is used to start the batlle calculations on the current + * planet. It doesn't touch tick 0 on any of the fleet that fight in the + * battle, but all other ticks might be touched. + * \param friendly a vector with pointers to all friendly Fleet:s. + * \param hostile a vector with pointers to all hostile Fleet:s. + */ void runBattle(std::vector friendly, std::vector hostile); protected: - void calcOneTick(Planet* friendly, Fleet* Hostile, std::map >& stealfriendly, std::map >& stealhostile, int tick = 0); + /** This function is used to start the calculations of a single tick of the + * battle on the current planet. It's protected because it's not really meant + * to be used outside runBattle(), but I might reconsider it. + * \param friendly a pointer to the friendly fleet. + * \param hostile a pointer to the hostile fleet + * \param stealfriendly a container used to store all the stolen units the + * friendly side took this tick. + * \param stealhostile a cointainer used to store all the stole units the + * hostile side took this tick. + */ + void calcOneTick(Planet* friendly, Fleet* hostile, std::map >& stealfriendly, std::map >& stealhostile, int tick = 0); unsigned m_iScore; RoidList m_Roids;