teamroster2/common/Team.hh

00001 /*
00002 ** TowBowlTactics, an adaptation of the tabletop game Blood Bowl.
00003 ** 
00004 ** Copyright (C) 2006 The TBT Team.
00005 ** 
00006 ** This program is free software; you can redistribute it and/or
00007 ** modify it under the terms of the GNU General Public License
00008 ** as published by the Free Software Foundation; either version 2
00009 ** of the License, or (at your option) any later version.
00010 ** 
00011 ** The complete GNU General Public Licence Notice can be found as the
00012 ** `NOTICE' file in the root directory.
00013 ** 
00014 ** The TBT Team consists of people listed in the `AUTHORS' file.
00015 */
00016 #ifndef TEAM_HH_
00017 #define TEAM_HH_
00018 
00019 #include "Race.hh"
00020 #include "Player.hh"
00021 #include <string>
00022 
00023 #define TEAM_SIZE             16
00024 
00025 #define APOTHECARY_COST       50000
00026 #define FAN_FACTOR_COST       10000
00027 #define CHEERLEADER_COST      10000
00028 #define ASSISTANT_COACH_COST  10000
00029 
00030 class Team
00031 {
00032 public:
00033     // -----------------------------------------------------------------------
00034     //  Constructors
00035     // -----------------------------------------------------------------------
00036     Team(Race *race);
00037     virtual ~Team();
00038     
00039     void validateTeam();
00040     
00041     // -----------------------------------------------------------------------
00042     //  Getters & Setters
00043     // -----------------------------------------------------------------------
00044     Player* getPlayer(unsigned int number);
00045     void setPlayer(unsigned int number, Player* player);
00046     const char* getName();
00047     void setName(const char *name);
00048     const char* getEmblem();
00049     void setEmblem(const char *emblem);
00050     Race* getRace(); 
00051     void setRace(Race *race);
00052     long getBank();
00053     void setBank(long bank);
00054     const char* getHeadCoach();
00055     void setHeadCoach(const char *coach);
00056     int getReroll();
00057     void setReroll(int reroll);
00058     int getFanFactor();
00059     void setFanFactor(int fanFactor);
00060     int getAssistantCoach();
00061     void setAssistantCoach(int assistantCoach);
00062     int getCheerleader();
00063     void setCheerleader(int cheerleader);
00064     int getApothecary();
00065     void setApothecary(int apothecary);
00066     const char* getBackground();
00067     void setBackground(const char *bg);
00068     
00069     long getRerollUnitaryCost();
00070     long getRerollTotalCost();
00071     long getFanFactorCost();
00072     long getAssistantCoachCost();
00073     long getCheerleaderCost();
00074     long getApothecaryCost();
00075     long getTotalValueCost();
00076     
00077 private:
00078     // -----------------------------------------------------------------------
00079     //  Private data members
00080     // -----------------------------------------------------------------------
00081     Player* players_[TEAM_SIZE];
00082     
00083     std::string teamName_;
00084     std::string emblem_;
00085     Race *race_;
00086     long bank_; 
00087     std::string headCoach_;
00088     int reroll_;
00089     int fanFactor_;
00090     int assistantCoach_;
00091     int cheerleader_;
00092     int apothecary_;
00093     std::string background_;
00094 };
00095 
00096 #endif /*TEAM_HH_*/

Generated on Sat Jun 23 16:07:24 2007 for Stechec/TBT by  doxygen 1.4.7