7 #include <boost/serialization/access.hpp>
8 #include <boost/serialization/vector.hpp>
15 #include "ResourceEnum.hpp"
16 #include "PerlinNoise.hpp"
17 #include "Hexagon.hpp"
26 std::vector<std::shared_ptr<Hexagon>> mapOfTheGame;
29 friend class boost::serialization::access ;
30 bool isInizialize =
false;
33 Map (
unsigned width = 15,
unsigned height = 11);
34 std::shared_ptr<Hexagon>
operator() (
unsigned x,
unsigned y);
35 unsigned getMapHeight ();
36 unsigned getMapWidth ();
37 void setMapHeight (
unsigned height);
38 void setMapWidth (
unsigned width);
39 void setWater (
int x,
int y);
42 void addResource (
int x,
int y,
int procent, ResourceEnum resource);
44 template <
class Archive>
void serialize (Archive & ar,
const unsigned int version);
45 template <
class Archive>
void save (Archive& ar,
const unsigned int version)
const;
46 template <
class Archive>
void load (Archive& ar,
const unsigned int version);
class Map -
Definition: Map.hpp:22
std::shared_ptr< Hexagon > operator()(unsigned x, unsigned y)
Operator to access a specific hexagon of the map.
Definition: Map.cpp:229
Map(unsigned width=15, unsigned height=11)
Map constructor.
Definition: Map.cpp:33
void generateRandomMap(int seed)
Function to generate a random map based on Perlin Noise.
Definition: Map.cpp:87