From 50444e86ea5048e05b8eb74055e0f7c4d2c5d7b7 Mon Sep 17 00:00:00 2001 From: angeld55 Date: Thu, 10 Jun 2021 18:54:25 +0300 Subject: sem 15 --- Sem. 15/Chess/FigureFactory/FigureFactory.cpp | 36 +++++++++++++++++++++++++++ Sem. 15/Chess/FigureFactory/FigureFactory.h | 13 ++++++++++ 2 files changed, 49 insertions(+) create mode 100644 Sem. 15/Chess/FigureFactory/FigureFactory.cpp create mode 100644 Sem. 15/Chess/FigureFactory/FigureFactory.h (limited to 'Sem. 15/Chess/FigureFactory') 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 -- cgit v1.3.1-23-gd82d