#pragma once #include "TileBehaviorStrategy.h" class BlueTileBehavior : public TileBehaviorStrategy { public: virtual void step(Artist &); virtual void update(Tile &); virtual std::unique_ptr clone(Museum &); static constexpr const char * type = "B"; private: using TileBehaviorStrategy::TileBehaviorStrategy; static BlueTileBehavior instance; BlueTileBehavior() = default; private: virtual void update_neighbor(Tile *); int dx = 0; int dy = 0; };