Website Summary Files Commits Branches @commit @diff @stats
path: root / Sem. 15 / Chess / FigureFactory
diff options
context:
space:
mode:
2 files changed, 49 insertions, 0 deletions
-rw-r--r--Sem. 15/Chess/FigureFactory/FigureFactory.cpp36
-rw-r--r--Sem. 15/Chess/FigureFactory/FigureFactory.h13
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