#include #include "GrayTileBehavior.h" #include "RedTileBehavior.h" #include "Tile.h" using namespace std; GrayTileBehavior GrayTileBehavior::instance { GrayTileBehavior::type }; void GrayTileBehavior::update(Tile & tile) { if (this->interactions < 3) return; tile.set_type(RedTileBehavior::type); } unique_ptr GrayTileBehavior::clone(Museum & museum) { auto instance = new GrayTileBehavior(); instance->museum = &museum; return unique_ptr(instance); }