/* Blind, Heavy class module stores special actions (Blind and Heavy) and changes method implementation */ #ifndef _SPECIALACTION_H_ #define _SPECIALACTION_H_ #include "boardDecorator.h" class Board; class BiquadrisModel; class Blind: public BoardDecorator { public: Blind(std::shared_ptr<Board> component, BiquadrisModel *model); char getType(int row, int col) override; }; class Heavy: public BoardDecorator { public: Heavy(std::shared_ptr<Board> component, BiquadrisModel *model); void move(char direction, int n, int weight) override; void rotate(bool isClockwise, int n, int weight) override; }; #endif