diff --git a/src/engine/enginefactory.h b/src/engine/enginefactory.h index 560384c1..c67ac32a 100644 --- a/src/engine/enginefactory.h +++ b/src/engine/enginefactory.h @@ -20,10 +20,18 @@ #ifndef ENGINEFACTORY_H #define ENGINEFACTORY_H +class HandInterface; +class BoardInterface; +class PlayerInterface; + class EngineFactory{ public: virtual ~EngineFactory(); + + virtual HandInterface* createHand() =0; + virtual BoardInterface* createBoard() =0; + virtual PlayerInterface* createPlayer() =0; }; diff --git a/src/engine/local_engine/localenginefactory.cpp b/src/engine/local_engine/localenginefactory.cpp index afd21535..7e83d890 100644 --- a/src/engine/local_engine/localenginefactory.cpp +++ b/src/engine/local_engine/localenginefactory.cpp @@ -19,6 +19,16 @@ ***************************************************************************/ #include "localenginefactory.h" +#include "localhand.h" +#include "handinterface.h" + +#include "localboard.h" +#include "boardinterface.h" + +#include "localplayer.h" +#include "playerinterface.h" + + LocalEngineFactory::LocalEngineFactory() : EngineFactory() { @@ -30,3 +40,23 @@ LocalEngineFactory::~LocalEngineFactory() } +HandInterface* LocalEngineFactory::createHand() { + + HandInterface *hi = new LocalHand(); + return hi; +} + + +BoardInterface* LocalEngineFactory::createBoard() { + + BoardInterface *bi = new LocalBoard(); + return bi; +} + + +PlayerInterface* LocalEngineFactory::createPlayer() { + + PlayerInterface *pi = new LocalPlayer(); + return pi; + +} diff --git a/src/engine/local_engine/localenginefactory.h b/src/engine/local_engine/localenginefactory.h index 4e8a8c5a..dd135d25 100644 --- a/src/engine/local_engine/localenginefactory.h +++ b/src/engine/local_engine/localenginefactory.h @@ -22,9 +22,6 @@ #include -/** - @author FThauer FHammer -*/ class LocalEngineFactory : public EngineFactory { public: @@ -32,6 +29,10 @@ public: ~LocalEngineFactory(); + HandInterface* createHand(); + BoardInterface* createBoard(); + PlayerInterface* createPlayer(); + }; #endif