Figure.h 690 B

123456789101112131415161718192021222324252627282930
  1. #ifndef _FIGURE_H
  2. #define _FIGURE_H
  3. #include "Position.h"
  4. #include <utility>
  5. #include <vector>
  6. using namespace std;
  7. class Figure
  8. {
  9. protected:
  10. Position position;
  11. char color;
  12. public:
  13. // Получить возможные движения фигуры на доске
  14. // вернёт moves_count - количество возможных ходов
  15. // и список из char[2] - сами ходы (вида A5, B3 и т.п.)
  16. virtual vector<Position> get_moves() = 0;
  17. virtual const char* print() = 0;
  18. Position get_position(){return position;}
  19. void set_position(Position pos){position = pos;}
  20. char get_color(){return color;}
  21. };
  22. #endif