61 lines
1.4 KiB
C++
61 lines
1.4 KiB
C++
#ifndef HEXAGON_H
|
|
#define HEXAGON_H
|
|
|
|
#include<iostream>
|
|
|
|
#include "City.h"
|
|
#include "Ressource.h"
|
|
#include "Decoration.h"
|
|
|
|
class Hexagon {
|
|
private:
|
|
Hexagon* top_m;
|
|
Hexagon* top_right_m;
|
|
Hexagon* top_left_m;
|
|
Hexagon* bottom_right_m;
|
|
Hexagon* bottom_left_m;
|
|
Hexagon* bottom_m;
|
|
City city_m;
|
|
Ressource ressource_m;
|
|
Decoration decoration_m;
|
|
|
|
public:
|
|
// Constructors
|
|
Hexagon();
|
|
Hexagon(const City& city);
|
|
Hexagon(const Ressource& ressource);
|
|
Hexagon(const Decoration& decoration);
|
|
|
|
// Getters
|
|
Hexagon* getTop() const;
|
|
Hexagon* getTopRight() const;
|
|
Hexagon* getTopLeft() const;
|
|
Hexagon* getBottomRight() const;
|
|
Hexagon* getBottomLeft() const;
|
|
Hexagon* getBottom() const;
|
|
City getCity() const;
|
|
Ressource getRessource() const;
|
|
|
|
// Setters
|
|
void setTop(Hexagon* top);
|
|
void setTopRight(Hexagon* top_right);
|
|
void setTopLeft(Hexagon* top_left);
|
|
void setBottomRight(Hexagon* bottom_right);
|
|
void setBottomLeft(Hexagon* bottom_left);
|
|
void setBottom(Hexagon* bottom);
|
|
void setCity(City city);
|
|
void setRessource(Ressource ressource);
|
|
|
|
// Others
|
|
void printHexagon() const;
|
|
void printTopLeft() const;
|
|
void printTop() const;
|
|
void printTopRight() const;
|
|
void printBottomRight() const;
|
|
void printBottom() const;
|
|
void printBottomLeft() const;
|
|
void printAll() const;
|
|
};
|
|
|
|
#endif // HEXAGON_H
|