diff options
sem 15
2 files changed, 49 insertions, 0 deletions
| -rw-r--r-- | Sem. 15/Chess/FigureFactory/FigureFactory.cpp | 36 | ||||
| -rw-r--r-- | Sem. 15/Chess/FigureFactory/FigureFactory.h | 13 |
diff --git a/Sem. 15/Chess/FigureFactory/FigureFactory.cpp b/Sem. 15/Chess/FigureFactory/FigureFactory.cpp new file mode 100644 index 0000000..db70d1e --- /dev/null +++ b/Sem. 15/Chess/FigureFactory/FigureFactory.cpp @@ -0,0 +1,36 @@ +#include "FigureFactory.h" +#include "../Figures/Bishop/Bishop.h" +#include "../Figures/King/King.h" +#include "../Figures/Knight/Knight.h" +#include "../Figures/Rook/Rook.h" +#include "../Figures/Queen/Queen.h" +#include "../Figures/Pawn/Pawn.h" + +Figure* FigureFactory::createPawn(bool isWhite) +{ + return new Pawn(isWhite); +} +Figure* FigureFactory::createBishop(bool isWhite) +{ + return new Bishop(isWhite); +} +Figure* FigureFactory::createRook(bool isWhite) +{ + return new Rook(isWhite); +} +Figure* createQueen(bool isWhite) +{ + return new Queen(isWhite); +} +Figure* FigureFactory::createKnight(bool isWhite) +{ + return new Knight(isWhite); +} +Figure* FigureFactory::createKnig(bool isWhite) +{ + return new King(isWhite); +} +Figure* FigureFactory::createQueen(bool isWhite) +{ + return new Queen(isWhite); +}
\ No newline at end of file diff --git a/Sem. 15/Chess/FigureFactory/FigureFactory.h b/Sem. 15/Chess/FigureFactory/FigureFactory.h new file mode 100644 index 0000000..da5b4db --- /dev/null +++ b/Sem. 15/Chess/FigureFactory/FigureFactory.h @@ -0,0 +1,13 @@ +#pragma once +#include "../Figures/FigureBase/Figure.h" + +class FigureFactory +{ +public: + Figure* createPawn(bool isWhite); + Figure* createBishop(bool isWhite); + Figure* createRook(bool isWhite); + Figure* createQueen(bool isWhite); + Figure* createKnight(bool isWhite); + Figure* createKnig(bool isWhite); +};
\ No newline at end of file |
