Website Summary Files Commits Branches @commit @diff @stats
path: root / Sem. 15 / Chess / Figures / Pawn / Pawn.cpp
diff options
context:
space:
mode:
Commit50444e86ea5048e05b8eb74055e0f7c4d2c5d7b7 (patch)
Author
 angeld55 <angel_dimitriev@abv.bg>
2021-06-10 18:54:25 +0300
Committer
 angeld55 <angel_dimitriev@abv.bg>
2021-06-10 18:54:25 +0300
Files098cf947bc45b4b747d3da5259fc8044c5724d8b /Sem. 15/Chess/Figures/Pawn/Pawn.cpp
Object-oriented_programming_FMI-50444e86ea5048e05b8eb74055e0f7c4d2c5d7b7.tar
Object-oriented_programming_FMI-50444e86ea5048e05b8eb74055e0f7c4d2c5d7b7.tar.gz
Object-oriented_programming_FMI-50444e86ea5048e05b8eb74055e0f7c4d2c5d7b7.zip
Parentd1e6ffd0fef9ebc7a8baae5e0b75b468ad8ed11a (diff)
sem 15
1 files changed, 31 insertions, 0 deletions
-rw-r--r--Sem. 15/Chess/Figures/Pawn/Pawn.cpp31
diff --git a/Sem. 15/Chess/Figures/Pawn/Pawn.cpp b/Sem. 15/Chess/Figures/Pawn/Pawn.cpp
new file mode 100644
index 0000000..fd04dad
--- /dev/null
+++ b/Sem. 15/Chess/Figures/Pawn/Pawn.cpp
@@ -0,0 +1,31 @@
+#include "Pawn.h"
+#include <cmath>
+Pawn::Pawn(bool isWhite) : Figure(isWhite), isFirstMove(true)
+{}
+bool Pawn::canBeMoved(size_t currentX, size_t currentY, size_t destX, size_t destY) const
+{
+ /*if (currentX != destX)
+ return false;
+
+ int diff = destY - currentY;
+
+ if (abs(diff) > 2)
+ return false;
+
+ if (diff < 0 && getIsWhite() || diff > 0 && !getIsWhite())
+ return false;
+
+ if (!abs(diff) == 2 || isFirstMove)
+ {
+ return true;
+ }
+ return false;*/
+ return false;
+}
+void Pawn::print() const
+{
+ if (getIsWhite())
+ std::cout << 'P';
+ else
+ std::cout << 'p';
+} \ No newline at end of file