From 50444e86ea5048e05b8eb74055e0f7c4d2c5d7b7 Mon Sep 17 00:00:00 2001 From: angeld55 Date: Thu, 10 Jun 2021 18:54:25 +0300 Subject: sem 15 --- Sem. 15/Chess/Figures/Rook/Rook.cpp | 15 +++++++++++++++ Sem. 15/Chess/Figures/Rook/Rook.h | 11 +++++++++++ 2 files changed, 26 insertions(+) create mode 100644 Sem. 15/Chess/Figures/Rook/Rook.cpp create mode 100644 Sem. 15/Chess/Figures/Rook/Rook.h (limited to 'Sem. 15/Chess/Figures/Rook') diff --git a/Sem. 15/Chess/Figures/Rook/Rook.cpp b/Sem. 15/Chess/Figures/Rook/Rook.cpp new file mode 100644 index 0000000..19e84a6 --- /dev/null +++ b/Sem. 15/Chess/Figures/Rook/Rook.cpp @@ -0,0 +1,15 @@ +#include "Rook.h" + +Rook::Rook(bool isWhite) : Figure(isWhite) +{} +bool Rook::canBeMoved(size_t currentX, size_t currentY, size_t destX, size_t destY) const +{ + return currentX == destX || currentY == destY; +} +void Rook::print() const +{ + if (getIsWhite()) + std::cout << 'R'; + else + std::cout << 'r'; +} diff --git a/Sem. 15/Chess/Figures/Rook/Rook.h b/Sem. 15/Chess/Figures/Rook/Rook.h new file mode 100644 index 0000000..f6190a8 --- /dev/null +++ b/Sem. 15/Chess/Figures/Rook/Rook.h @@ -0,0 +1,11 @@ +#pragma once +#include "../FigureBase/Figure.h" + +class Rook : virtual public Figure +{ + +public: + Rook(bool isWhite); + bool canBeMoved(size_t currentX, size_t currentY, size_t destX, size_t destY) const override; + void print() const override; +}; \ No newline at end of file -- cgit v1.3.1-23-gd82d