diff options
sem 16
2 files changed, 19 insertions, 32 deletions
| -rw-r--r-- | Sem. 15/Chess/FigureFactory/FigureFactory.cpp | 43 | ||||
| -rw-r--r-- | Sem. 15/Chess/FigureFactory/FigureFactory.h | 8 |
diff --git a/Sem. 15/Chess/FigureFactory/FigureFactory.cpp b/Sem. 15/Chess/FigureFactory/FigureFactory.cpp index db70d1e..e9db605 100644 --- a/Sem. 15/Chess/FigureFactory/FigureFactory.cpp +++ b/Sem. 15/Chess/FigureFactory/FigureFactory.cpp @@ -6,31 +6,22 @@ #include "../Figures/Queen/Queen.h" #include "../Figures/Pawn/Pawn.h" -Figure* FigureFactory::createPawn(bool isWhite) +Figure* FigureFactory::createFigure(bool isWhite, FigureType type) { - 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); + + switch (type) + { + case KingFigure: + return new King(isWhite); + case QueenFigure: + return new Queen(isWhite); + case KnightFigure: + return new Knight(isWhite); + case BishopFigure: + return new Bishop(isWhite); + case PawnFigure: + return new Pawn(isWhite); + case RookFigure: + return new Rook(isWhite); + } }
\ No newline at end of file diff --git a/Sem. 15/Chess/FigureFactory/FigureFactory.h b/Sem. 15/Chess/FigureFactory/FigureFactory.h index da5b4db..012a60c 100644 --- a/Sem. 15/Chess/FigureFactory/FigureFactory.h +++ b/Sem. 15/Chess/FigureFactory/FigureFactory.h @@ -1,13 +1,9 @@ #pragma once #include "../Figures/FigureBase/Figure.h" +#include "../ConfigEnums/ConfigEnums.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); + static Figure* createFigure(bool isWhite, FigureType); //enum };
\ No newline at end of file |
