From 8dda24464f8a02b643734cb298c712baabd41e48 Mon Sep 17 00:00:00 2001 From: Michael Andreen Date: Tue, 5 Mar 2002 23:20:59 +0000 Subject: [PATCH] Some fixes.. --- bs/fleet.h | 16 ++-- bs/ui/battlesumbase.ui | 114 +++---------------------- bs/unittype.cpp | 186 ++++++++++++++++++++++++++++++++++++++++- bs/unittype.h | 107 +++++++++++++++++++++++- 4 files changed, 312 insertions(+), 111 deletions(-) diff --git a/bs/fleet.h b/bs/fleet.h index 7a2f489..7c2f817 100644 --- a/bs/fleet.h +++ b/bs/fleet.h @@ -21,10 +21,12 @@ #include #include -/** +#include "unittype.h" + +//!This is the engine for the whole battlesystem. +/**This is the engine for the whole battlesystem. + * One of the few parts that I plan make fully portable. *@author Michael Andreen - *This is the engine for the whole battlesystem. - *One of the few parts that I plan make fully portable. */ class Fleet @@ -34,9 +36,11 @@ public: ~Fleet(); private: - string m_name; - string m_race; - map + std::string m_Name; + std::string m_Race; + std::map > m_Fleet; + + static std::map m_Units; }; #endif diff --git a/bs/ui/battlesumbase.ui b/bs/ui/battlesumbase.ui index a0935de..216757c 100644 --- a/bs/ui/battlesumbase.ui +++ b/bs/ui/battlesumbase.ui @@ -64,122 +64,34 @@ Total + + + L/S + + + Total + + + L/S - - - - Interceptors - - - - - Pheonix - - - - - Warfrigate - - - - - Devistator - - - - - Starcruiser - - - - - Dreadnaught - - - - - Spider - - - - - Ghost - - - - - Tarantula - - - - - Spectre - - - - - Astropod - - - - - Meson - - - - - Hyperon - - - - - Neutron - - - - - Photon + + - - - - ION - - - - - Resource - - - - - Metal - - - - - Crystal - - - - - Eonium - - + fleetTable @@ -187,7 +99,7 @@ Default - 20 + 0 4 diff --git a/bs/unittype.cpp b/bs/unittype.cpp index 3b57cc1..38af1da 100644 --- a/bs/unittype.cpp +++ b/bs/unittype.cpp @@ -16,8 +16,192 @@ ***************************************************************************/ #include "unittype.h" +#include +using namespace std; -UnitType::UnitType(){ +UnitType::UnitType() +{ } UnitType::~UnitType(){ } + + +void UnitType::setName(string sName) +{ + m_sName = sName; +} + +string UnitType::Name() +{ + return m_sName; +} + +void UnitType::setRace(int iRace) +{ + m_iRace = iRace; +} + +int UnitType::Race() +{ + return m_iRace; +} + +void UnitType::setClass(int iClass) +{ + m_iClass = iClass; +} + +int UnitType::iClass() +{ + return m_iClass; +} + +void UnitType::setTarget(vector Target) +{ + m_vTarget = Target; +} + +void UnitType::addTarget(int iTarget) +{ + m_vTarget.push_back(iTarget); +} + +/** This function iterates through the list until it finds the right positition. If it finds the position it inserts the target there, if it reaches the end before it finds the correct possition it adds the target to the end. + */ +void UnitType::insTarget(int iTarget, int index = 0) +{ + + vector::iterator i = m_vTarget.begin(); + + for (int j = 0; j < index; j++, i++) + { + if (i == m_vTarget.end()) + { + m_vTarget.push_back(iTarget); + return; + } + } + + m_vTarget.insert(i, iTarget); +} + +vector UnitType::Target() +{ + return m_vTarget; +} + +int UnitType::Target(int index) +{ + return m_vTarget[index]; +} + +void UnitType::setInitiative(int iInit) +{ + m_iInitiative = iInit; +} + +int UnitType::Initiative() +{ + return m_iInitiative; +} + +void UnitType::setAgility (int iAgil) +{ + m_iAgility = iAgil; +} + +int UnitType::Agility() +{ + return m_iAgility; +} + +void UnitType::setWeaponSpeed(int iWPSP) +{ + m_iWeaponSpeed = iWPSP; +} + +int UnitType::WeaponSpeed() +{ + return m_iWeaponSpeed; +} + +void UnitType::setGuns(int iGuns) +{ + m_iGuns = iGuns; +} + +int UnitType::Guns() +{ + return m_iGuns; +} + +void UnitType::setPower(int iPower) +{ + m_iPower = iPower; +} + +int UnitType::Power() +{ + return m_iPower; +} + +void UnitType::setArmor(int iArmor) +{ + m_iArmor = iArmor; +} + +int UnitType::Armor() +{ + return m_iArmor; +} + +void UnitType::setEMP(int iEMP) +{ + m_iEMP = iEMP; +} + +int UnitType::EMP() +{ + return m_iEMP; +} + +void UnitType::setTotalResources(int iTR) +{ + m_iTotalResources = iTR; +} + +int UnitType::TotRes() +{ + return m_iTotalResources; +} + +void UnitType::setFuel(int iFuel) +{ + m_iFuel = iFuel; +} + +int UnitType::Fuel() +{ + return m_iFuel; +} + +void UnitType::setETA(int iETA) +{ + m_iETA = iETA; +} + +int UnitType::ETA() +{ + return m_iETA; +} + +void UnitType::setType(int iType) +{ + m_iType = iType; +} + +int UnitType::Type() +{ + return m_iType; +} + diff --git a/bs/unittype.h b/bs/unittype.h index 5c66e01..428588b 100644 --- a/bs/unittype.h +++ b/bs/unittype.h @@ -18,15 +18,116 @@ #ifndef UNITTYPE_H #define UNITTYPE_H +#include +#include +#include -/** - *@author Michael Andreen +//!This class contains a unittype, with all it's attributes + the number you got. +// +/**This class contains a unittype, with all it's attributes + the number you got. + * Maybe this actually should be a struct, since this class doen't have much to do, since i want it to be as generic as possible. + * It got some data need need to be taken care of which makes me put it as a class. + *@author Michael Andreen + *@see Fleet */ -class UnitType { +class UnitType +{ public: UnitType(); ~UnitType(); + + /*! This function sets the name for this unittype (ie. interceptor) */ + void setName(std::string sName); + /** Returns the name of this unittype */ + std::string Name(); + + /** This functions sets which race this unittype is, the race is represented with a integer. */ + void setRace(int iRace); + /** Returns the race this unittype belongs to*/ + int Race(); + + /** Sets the class for the unittype, it's represented as a integer */ + void setClass(int iClass); + int iClass(); + + /** Sets the classes that this unittype targets. a vector is used. */ + void setTarget(std::vector Target); + /** This function adds a target class to the end of the target list. */ + void addTarget(int iTarget); + /** This function inserts a target class into the target list. The default is in the beginning. + * \param iTarget an integer that represents the target's class. + * \param index where to place the target. 0 being the default and first place. */ + void insTarget(int iTarget, int index = 0); + /** Returns all targets from the target list */ + std::vector Target(); + /** Returns a specific target + * \param index An index value that represents the target. 0 being the first*/ + int Target(int index); + + /** Sets the initiatve, the lower it is the earlier the unit shots */ + void setInitiative(int iInit); + int Initiative(); + + /** Sets the agility, the higher it is the harder it is to hit the unit */ + void setAgility (int iAgil); + int Agility(); + + /** Sets the weaponspeed.. just a simple integer that shows how good it is at hitting things */ + void setWeaponSpeed(int iWPSP); + int WeaponSpeed(); + + /** Sets the number of guns. */ + void setGuns(int iGuns); + int Guns(); + + /** Sets the how much power the guns have.. or in other words: the damage they do. */ + void setPower(int iPower); + int Power(); + + /** Sets the armor, this is how much damage the unittype can take before it's destroyed */ + void setArmor(int iArmor); + int Armor(); + + /** Sets the emp resistance, the lower value the easier it is to block it */ + void setEMP(int iEMP); + int EMP(); + + /** Sets the resource cost for this unittype. Used for example for score calculation and so on. */ + void setTotalResources(int iTR); + /** Returns the number of total resources this unittype cost. */ + int TotRes(); + + /** Sets the fuelcost for this unittype */ + void setFuel(int iFuel); + /** Returns the fuelcost */ + int Fuel(); + + /** Sets the ETA, the speed in a sort of inverted form.. the lower ETA, the faster is the unit */ + void setETA(int iETA); + int ETA(); + + /** Sets the type of the unit. What the types do must be specified in the real battle engine (Fleet) though. + * \param iType An integer to symbolise the type. */ + void setType(int iType); + /** What type of ship this is. */ + int Type(); +protected: + std::string m_sName; + int m_iRace; //!< Not really the race, but an indiaction on what race can use it.. + int m_iClass; + std::vector m_vTarget; + int m_iInitiative; + int m_iAgility; + int m_iWeaponSpeed; + int m_iGuns; + int m_iPower; + int m_iArmor; + int m_iEMP; + int m_iTotalResources; + int m_iType; //!< normal,emp,cloak,steal,pod + int m_iETA; + int m_iFuel; }; #endif -- 2.39.2