Website Summary Files Commits Branches @commit @diff @stats
path: root / Sem. 15 / Chess / ChessBoard / ChessBoard.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/ChessBoard/ChessBoard.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, 46 insertions, 0 deletions
-rw-r--r--Sem. 15/Chess/ChessBoard/ChessBoard.cpp46
diff --git a/Sem. 15/Chess/ChessBoard/ChessBoard.cpp b/Sem. 15/Chess/ChessBoard/ChessBoard.cpp
new file mode 100644
index 0000000..dc809cc
--- /dev/null
+++ b/Sem. 15/Chess/ChessBoard/ChessBoard.cpp
@@ -0,0 +1,46 @@
+#include "ChessBoard.h"
+#include "../FigureFactory/FigureFactory.h"
+
+ChessBoard::ChessBoard()
+{
+ FigureFactory factory;
+ for (int i = 0; i < BOARD_SIZE; i++)
+ {
+ board[1][i].f = factory.createPawn(false);
+ board[6][i].f = factory.createPawn(true);
+ }
+
+ board[0][0].f = factory.createRook(false);
+ board[0][7].f = factory.createRook(false);
+
+ board[7][0].f = factory.createRook(true);
+ board[7][7].f = factory.createRook(true);
+
+
+ board[0][1].f = factory.createKnight(false);
+ board[0][6].f = factory.createKnight(false);
+ board[7][1].f = factory.createKnight(true);
+ board[7][6].f = factory.createKnight(true);
+
+ board[0][2].f = factory.createBishop(false);
+ board[0][5].f = factory.createBishop(false);
+ board[7][2].f = factory.createBishop(true);
+ board[7][5].f = factory.createBishop(true);
+
+ board[0][3].f = factory.createKnig(false);
+ board[0][4].f = factory.createQueen(false);
+ board[7][4].f = factory.createQueen(true);
+ board[7][3].f = factory.createKnig(true);
+}
+
+void ChessBoard::print() const
+{
+ for (int i = 0; i < BOARD_SIZE; i++)
+ {
+ for (int j = 0; j < BOARD_SIZE; j++)
+ {
+ board[i][j].print();
+ }
+ std::cout << std::endl;
+ }
+} \ No newline at end of file