Website Summary Files Commits Branches @commit @diff @stats
path: root / Sem. 15 / Chess / ChessBoard
diff options
context:
space:
mode:
Commit9a86536fb579b244b29aa03fbefcce54746546dc (patch)
Author
 angeld55 <angel_dimitriev@abv.bg>
2021-06-12 19:02:26 +0300
Committer
 angeld55 <angel_dimitriev@abv.bg>
2021-06-12 19:02:26 +0300
Filescf5bce7cce7c692b111ac441e688f43b658f5bd3 /Sem. 15/Chess/ChessBoard
Object-oriented_programming_FMI-9a86536fb579b244b29aa03fbefcce54746546dc.tar
Object-oriented_programming_FMI-9a86536fb579b244b29aa03fbefcce54746546dc.tar.gz
Object-oriented_programming_FMI-9a86536fb579b244b29aa03fbefcce54746546dc.zip
Parent9603d0847a01c555c2c9286294b3ccdea3e38be8 (diff)
fixes
2 files changed, 0 insertions, 109 deletions
-rw-r--r--Sem. 15/Chess/ChessBoard/ChessBoard.cpp66
-rw-r--r--Sem. 15/Chess/ChessBoard/ChessBoard.h43
diff --git a/Sem. 15/Chess/ChessBoard/ChessBoard.cpp b/Sem. 15/Chess/ChessBoard/ChessBoard.cpp
deleted file mode 100644
index 2c618bd..0000000
--- a/Sem. 15/Chess/ChessBoard/ChessBoard.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-#include "ChessBoard.h"
-#include "../FigureFactory/FigureFactory.h"
-
-ChessBoard::ChessBoard()
-{
-
- for (int i = 0; i < BOARD_SIZE; i++)
- {
- board[1][i].f = FigureFactory::createFigure(false, PawnFigure);
- board[6][i].f = FigureFactory::createFigure(true, PawnFigure);
- }
-
- board[0][0].f = FigureFactory::createFigure(false, RookFigure);
- board[0][7].f = FigureFactory::createFigure(false, RookFigure);
-
- board[7][0].f = FigureFactory::createFigure(true, RookFigure);
- board[7][7].f = FigureFactory::createFigure(true, RookFigure);
-
-
- board[0][1].f = FigureFactory::createFigure(false, KnightFigure);
- board[0][6].f = FigureFactory::createFigure(false, KnightFigure);
- board[7][1].f = FigureFactory::createFigure(true, KnightFigure);;
- board[7][6].f = FigureFactory::createFigure(true, KnightFigure);
-
- board[0][2].f = FigureFactory::createFigure(false, BishopFigure);
- board[0][5].f = FigureFactory::createFigure(false, BishopFigure);;
- board[7][2].f = FigureFactory::createFigure(true, BishopFigure);
- board[7][5].f = FigureFactory::createFigure(true, BishopFigure);
-
- board[0][3].f = FigureFactory::createFigure(false, KingFigure);
- board[0][4].f = FigureFactory::createFigure(false, QueenFigure);
- board[7][4].f = FigureFactory::createFigure(true, QueenFigure);
- board[7][3].f = FigureFactory::createFigure(true, KingFigure);
-}
-
-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;
- }
-}
-
-void ChessBoard::move(size_t x, size_t y, size_t destX, size_t destY)
-{
-
- Figure* current = board[x][y].f;
-
- if (current->getType() == PawnFigure)
- {
- //Some logic.....
- }
- else
- {
- if (board[x][y].f && board[x][y].f->canBeMoved(x, y, destX, destY))
- {
- board[destX][destY].f = board[x][y].f;
- board[x][y].f = nullptr;
- }
- }
-
-} \ No newline at end of file
diff --git a/Sem. 15/Chess/ChessBoard/ChessBoard.h b/Sem. 15/Chess/ChessBoard/ChessBoard.h
deleted file mode 100644
index e38acd5..0000000
--- a/Sem. 15/Chess/ChessBoard/ChessBoard.h
+++ /dev/null
@@ -1,43 +0,0 @@
-#pragma once
-#include "../Figures/FigureBase/Figure.h"
-
-const size_t BOARD_SIZE = 8;
-class ChessBoard
-{
- struct Cell
- {
- Figure* f = nullptr;
- Cell() = default;
-
- Cell(const Cell& other) = delete;
- Cell& operator=(const Cell& other) = delete;
- bool isEmpty()
- {
- return f == nullptr;
- }
-
- void print() const
- {
- if (f != nullptr)
- f->print();
- else
- std::cout << ' ';
- }
-
- ~Cell()
- {
- delete f;
- }
- };
- Cell board[BOARD_SIZE][BOARD_SIZE];
-
-public:
- ChessBoard();
- ChessBoard(const ChessBoard& other) = delete;
- ChessBoard& operator=(const ChessBoard&) = delete;
-
- void print() const;
-
- void move(size_t x, size_t y, size_t destX, size_t destY);
-
-};