Main Page   Class Hierarchy   Compound List   File List   Compound Members  

tile.h

00001 #ifndef __TILE_H
00002 #define __TILE_H
00003 
00004 #include "building.h"
00005 #include "tool.h"
00006 #include "util.h"
00007 
00008 enum Resource {CHEMICALS, ENERGY, PLATES, MONEY, OIL, IRON, FOOD, WATER, NUMRESOURCES};
00009 enum TileType {ROCK, WATER_T, NO_TYPE_TILE};
00010 
00011 class Tile {
00012  public:
00013   Tile(TileType t=NO_TYPE_TILE, bool occupiable=false);
00014   ~Tile();
00015 
00016   Tile& operator=(const Tile& t);
00017   TileType getType();
00018   bool isOccupiable();
00019   bool isResourceAvail(Resource r);
00020   int getResource(Resource r);
00021   Building& getBuilding();
00022   ToolType getToolType() const {return tool_type;};
00023 
00024   void setType(TileType t);
00025   void setOccupiable(bool o);
00026   void setResourceAvail(Resource r, bool b);
00027   void setResource(Resource r, int amount);
00028   void decreaseResource(Resource r, int amount);
00029   void setBuilding(Building& b);
00030   void setToolType(ToolType t);
00031 
00032  private:
00033   static Building nullBuilding;
00034   TileType type;
00035   ToolType tool_type;
00036   bool occupiable;
00037   bool resources[NUMRESOURCES];
00038   int amountOfResources[NUMRESOURCES];
00039   Building& building;
00040 };
00041 
00042 #endif

Generated on Thu Jun 6 17:22:20 2002 for Perihelion by doxygen1.2.15