Website Summary Files Commits Branches @commit @diff @stats
path: root / Sem. 15 / Chess / Figures / Queen / Queen.cpp
diff options
context:
space:
mode:
1 files changed, 18 insertions, 0 deletions
-rw-r--r--Sem. 15/Chess/Figures/Queen/Queen.cpp18
diff --git a/Sem. 15/Chess/Figures/Queen/Queen.cpp b/Sem. 15/Chess/Figures/Queen/Queen.cpp
new file mode 100644
index 0000000..da49c1c
--- /dev/null
+++ b/Sem. 15/Chess/Figures/Queen/Queen.cpp
@@ -0,0 +1,18 @@
+#include "Queen.h"
+
+Queen::Queen(bool isWhite) : Bishop(isWhite), Rook(isWhite), Figure(isWhite)
+{}
+
+bool Queen::canBeMoved(size_t currentX, size_t currentY, size_t destX, size_t destY) const
+{
+ return Bishop::canBeMoved(currentX, currentY, destX, destY)
+ || Rook::canBeMoved(currentX, currentY, destX, destY);
+}
+
+void Queen::print() const
+{
+ if (getIsWhite())
+ std::cout << 'Q';
+ else
+ std::cout << 'q';
+} \ No newline at end of file