From a9a2d33e3f3ef2677bc3d873d73d438ccd8bff06 Mon Sep 17 00:00:00 2001 From: doitux Date: Fri, 10 Aug 2007 23:16:21 +0000 Subject: [PATCH] buggy!!! --- src/engine/boardinterface.h | 5 +++- src/engine/enginefactory.h | 4 +-- src/engine/handinterface.h | 2 +- src/engine/local_engine/localboard.cpp | 2 +- src/engine/local_engine/localboard.h | 5 ++-- .../local_engine/localenginefactory.cpp | 4 +-- src/engine/local_engine/localenginefactory.h | 7 +++-- src/engine/local_engine/localhand.cpp | 2 +- src/engine/local_engine/localhand.h | 6 ++--- .../network_engine/clientenginefactory.cpp | 4 +-- .../network_engine/clientenginefactory.h | 6 ++++- src/game.cpp | 27 ++++++++++--------- src/game.h | 7 ++--- 13 files changed, 48 insertions(+), 33 deletions(-) diff --git a/src/engine/boardinterface.h b/src/engine/boardinterface.h index 6e3e58a1..1943b607 100644 --- a/src/engine/boardinterface.h +++ b/src/engine/boardinterface.h @@ -20,6 +20,9 @@ #ifndef BOARDINTERFACE_H #define BOARDINTERFACE_H +#include +#include + class PlayerInterface; class HandInterface; @@ -29,7 +32,7 @@ public: virtual ~BoardInterface(); // - virtual void setPlayer(PlayerInterface**) =0; + virtual void setPlayer(std::vector >) =0; virtual void setHand(HandInterface*) =0; // virtual void setMyCards(int* theValue) =0; diff --git a/src/engine/enginefactory.h b/src/engine/enginefactory.h index 7140ffb4..f6594504 100644 --- a/src/engine/enginefactory.h +++ b/src/engine/enginefactory.h @@ -33,9 +33,9 @@ public: virtual ~EngineFactory(); - virtual HandInterface* createHand(boost::shared_ptr f, GuiInterface *g, BoardInterface *b, PlayerInterface **p, int id, int sP, int aP, int dP, int sB,int sC) =0; + virtual HandInterface* createHand(boost::shared_ptr f, GuiInterface *g, BoardInterface *b, std::vector > p, int id, int sP, int aP, int dP, int sB,int sC) =0; virtual BoardInterface* createBoard() =0; - virtual PlayerInterface* createPlayer(BoardInterface *b, int id, unsigned uniqueId, PlayerType type, std::string name, std::string avatar, int sC, bool aS, int mB) =0; + virtual boost::shared_ptr createPlayer(BoardInterface *b, int id, unsigned uniqueId, PlayerType type, std::string name, std::string avatar, int sC, bool aS, int mB) =0; virtual std::vector > createBeRo(HandInterface* hi, int id, int aP, int dP, int sB) =0; }; diff --git a/src/engine/handinterface.h b/src/engine/handinterface.h index 6ebc4990..7d96698b 100644 --- a/src/engine/handinterface.h +++ b/src/engine/handinterface.h @@ -36,7 +36,7 @@ public: virtual void start() = 0; - virtual PlayerInterface** getPlayerArray() const =0; + virtual std::vector > getPlayerArray() const =0; virtual BoardInterface* getBoard() const =0; virtual boost::shared_ptr getPreflop() const =0; virtual boost::shared_ptr getFlop() const =0; diff --git a/src/engine/local_engine/localboard.cpp b/src/engine/local_engine/localboard.cpp index eb2260ad..cc861ac3 100755 --- a/src/engine/local_engine/localboard.cpp +++ b/src/engine/local_engine/localboard.cpp @@ -33,7 +33,7 @@ LocalBoard::~LocalBoard() { } -void LocalBoard::setPlayer(PlayerInterface** p) { playerArray = p; } +void LocalBoard::setPlayer(std::vector > p) { playerArray = p; } void LocalBoard::setHand(HandInterface* br) { currentHand = br; } diff --git a/src/engine/local_engine/localboard.h b/src/engine/local_engine/localboard.h index e4374792..7989a314 100755 --- a/src/engine/local_engine/localboard.h +++ b/src/engine/local_engine/localboard.h @@ -22,6 +22,7 @@ #include #include +#include #include @@ -34,7 +35,7 @@ public: LocalBoard(); ~LocalBoard(); - void setPlayer(PlayerInterface**); + void setPlayer(std::vector >); void setHand(HandInterface*); void setMyCards(int* theValue) { int i; for(i=0; i<5; i++) myCards[i] = theValue[i]; } @@ -52,7 +53,7 @@ public: private: - PlayerInterface **playerArray; + std::vector > playerArray; HandInterface *currentHand; int myCards[5]; diff --git a/src/engine/local_engine/localenginefactory.cpp b/src/engine/local_engine/localenginefactory.cpp index bafa3c1e..3288fc03 100644 --- a/src/engine/local_engine/localenginefactory.cpp +++ b/src/engine/local_engine/localenginefactory.cpp @@ -42,11 +42,11 @@ LocalEngineFactory::~LocalEngineFactory() } -HandInterface* LocalEngineFactory::createHand(boost::shared_ptr f, GuiInterface *g, BoardInterface *b, PlayerInterface **p, int id, int sP, int aP, int dP, int sB,int sC) { return new LocalHand(f, g, b, p, id, sP, aP, dP, sB, sC); } +HandInterface* LocalEngineFactory::createHand(boost::shared_ptr f, GuiInterface *g, BoardInterface *b, std::vector > p, int id, int sP, int aP, int dP, int sB,int sC) { return new LocalHand(f, g, b, p, id, sP, aP, dP, sB, sC); } BoardInterface* LocalEngineFactory::createBoard() { return new LocalBoard; } -PlayerInterface* LocalEngineFactory::createPlayer(BoardInterface *b, int id, unsigned uniqueId, PlayerType type, std::string name, std::string avatar, int sC, bool aS, int mB) { return new LocalPlayer(myConfig, b, id, uniqueId, type, name, avatar, sC, aS, mB); } +boost::shared_ptr LocalEngineFactory::createPlayer(BoardInterface *b, int id, unsigned uniqueId, PlayerType type, std::string name, std::string avatar, int sC, bool aS, int mB) { return new LocalPlayer(myConfig, b, id, uniqueId, type, name, avatar, sC, aS, mB); } std::vector > LocalEngineFactory::createBeRo(HandInterface* hi, int id, int aP, int dP, int sB) { diff --git a/src/engine/local_engine/localenginefactory.h b/src/engine/local_engine/localenginefactory.h index d9e0f550..9cea3f93 100644 --- a/src/engine/local_engine/localenginefactory.h +++ b/src/engine/local_engine/localenginefactory.h @@ -26,6 +26,9 @@ #include #include +#include +#include + class ConfigFile; class LocalEngineFactory : public EngineFactory @@ -34,9 +37,9 @@ public: LocalEngineFactory(ConfigFile*); ~LocalEngineFactory(); - HandInterface* createHand(boost::shared_ptr f, GuiInterface *g, BoardInterface *b, PlayerInterface **p, int id, int sP, int aP, int dP, int sB,int sC); + HandInterface* createHand(boost::shared_ptr f, GuiInterface *g, BoardInterface *b, std::vector > p, int id, int sP, int aP, int dP, int sB,int sC); BoardInterface* createBoard(); - PlayerInterface* createPlayer(BoardInterface *b, int id, unsigned uniqueId, PlayerType type, std::string name, std::string avatar, int sC, bool aS, int mB); + boost::shared_ptr createPlayer(BoardInterface *b, int id, unsigned uniqueId, PlayerType type, std::string name, std::string avatar, int sC, bool aS, int mB); std::vector > createBeRo(HandInterface* hi, int id, int aP, int dP, int sB); private: diff --git a/src/engine/local_engine/localhand.cpp b/src/engine/local_engine/localhand.cpp index 1fb50aff..ca90a2a7 100755 --- a/src/engine/local_engine/localhand.cpp +++ b/src/engine/local_engine/localhand.cpp @@ -26,7 +26,7 @@ using namespace std; -LocalHand::LocalHand(boost::shared_ptr f, GuiInterface *g, BoardInterface *b, PlayerInterface **p, int id, int sP, int aP, int dP, int sB,int sC) +LocalHand::LocalHand(boost::shared_ptr f, GuiInterface *g, BoardInterface *b, std::vector > p, int id, int sP, int aP, int dP, int sB,int sC) : myFactory(f), myGui(g), myBoard(b), playerArray(p), myBeRo(0), myID(id), actualQuantityPlayers(aP), startQuantityPlayers(sP), dealerPosition(dP), actualRound(0), smallBlind(sB), startCash(sC), activePlayersCounter(aP), lastPlayersTurn(0), allInCondition(0), cardsShown(false), bettingRoundsPlayed(0) { diff --git a/src/engine/local_engine/localhand.h b/src/engine/local_engine/localhand.h index 04a491a2..22bdd0bc 100755 --- a/src/engine/local_engine/localhand.h +++ b/src/engine/local_engine/localhand.h @@ -34,12 +34,12 @@ class LocalHand : public HandInterface{ public: - LocalHand(boost::shared_ptr f, GuiInterface*, BoardInterface*, PlayerInterface**, int, int, int, int, int, int); + LocalHand(boost::shared_ptr f, GuiInterface*, BoardInterface*, std::vector >, int, int, int, int, int, int); ~LocalHand(); void start(); - PlayerInterface** getPlayerArray() const { return playerArray; } + std::vector > getPlayerArray() const { return playerArray; } BoardInterface* getBoard() const { return myBoard; } boost::shared_ptr getPreflop() const { return myBeRo[GAME_STATE_PREFLOP]; } boost::shared_ptr getFlop() const { return myBeRo[GAME_STATE_FLOP]; } @@ -94,7 +94,7 @@ private: boost::shared_ptr myFactory; GuiInterface *myGui; BoardInterface *myBoard; - PlayerInterface **playerArray; + std::vector > playerArray; std::vector > myBeRo; int myID; diff --git a/src/engine/network_engine/clientenginefactory.cpp b/src/engine/network_engine/clientenginefactory.cpp index b17025a1..126b7609 100644 --- a/src/engine/network_engine/clientenginefactory.cpp +++ b/src/engine/network_engine/clientenginefactory.cpp @@ -35,7 +35,7 @@ ClientEngineFactory::~ClientEngineFactory() } -HandInterface* ClientEngineFactory::createHand(boost::shared_ptr f, GuiInterface *g, BoardInterface *b, PlayerInterface **p, int id, int sP, int aP, int dP, int sB,int sC) +HandInterface* ClientEngineFactory::createHand(boost::shared_ptr f, GuiInterface *g, BoardInterface *b, std::vector > p, int id, int sP, int aP, int dP, int sB,int sC) { return new ClientHand(f, g, b, p, id, sP, aP, dP, sB, sC); } @@ -45,7 +45,7 @@ BoardInterface* ClientEngineFactory::createBoard() return new ClientBoard; } -PlayerInterface* ClientEngineFactory::createPlayer(BoardInterface *b, int id, unsigned uniqueId, PlayerType type, std::string name, std::string avatar, int sC, bool aS, int mB) +boost::shared_ptr ClientEngineFactory::createPlayer(BoardInterface *b, int id, unsigned uniqueId, PlayerType type, std::string name, std::string avatar, int sC, bool aS, int mB) { return new ClientPlayer(NULL, b, id, uniqueId, type, name, avatar, sC, aS, mB); } diff --git a/src/engine/network_engine/clientenginefactory.h b/src/engine/network_engine/clientenginefactory.h index cb88ec33..2fb38c59 100644 --- a/src/engine/network_engine/clientenginefactory.h +++ b/src/engine/network_engine/clientenginefactory.h @@ -25,6 +25,10 @@ #include #include +#include +#include + + class ConfigFile; class ClientEngineFactory : public EngineFactory @@ -35,7 +39,7 @@ public: HandInterface* createHand(boost::shared_ptr f, GuiInterface *g, BoardInterface *b, PlayerInterface **p, int id, int sP, int aP, int dP, int sB,int sC); BoardInterface* createBoard(); - PlayerInterface* createPlayer(BoardInterface *b, int id, unsigned uniqueId, PlayerType type, std::string name, std::string avatar, int sC, bool aS, int mB); + boost::shared_ptr createPlayer(BoardInterface *b, int id, unsigned uniqueId, PlayerType type, std::string name, std::string avatar, int sC, bool aS, int mB); std::vector > createBeRo(HandInterface* hi, int id, int aP, int dP, int sB); }; diff --git a/src/game.cpp b/src/game.cpp index 741e5122..ffdc88f0 100755 --- a/src/game.cpp +++ b/src/game.cpp @@ -43,9 +43,9 @@ Game::Game(GuiInterface* gui, boost::shared_ptr factory, actualHandID = 0; - for(i=0; i factory, } //PlayerObjekte erzeugen - playerArray[i] = myFactory->createPlayer(actualBoard, i, uniqueId, type, myName, myAvatarFile, startCash, startQuantityPlayers > i, 0); + playerArray.push_back(myFactory->createPlayer(actualBoard, i, uniqueId, type, myName, myAvatarFile, startCash, startQuantityPlayers > i, 0)); + + +// playerArray[i] = myFactory->createPlayer(actualBoard, i, uniqueId, type, myName, myAvatarFile, startCash, startQuantityPlayers > i, 0); playerArray[i]->setNetSessionData(myNetSession); } actualBoard->setPlayer(playerArray); @@ -110,12 +113,12 @@ Game::~Game() delete actualHand; actualHand = 0; - PlayerInterface *tempPlayer; - for(i=0; istart(); } -PlayerInterface *Game::getPlayerByUniqueId(unsigned id) +boost::shared_ptr Game::getPlayerByUniqueId(unsigned id) { - PlayerInterface *tmpPlayer = NULL; + boost::shared_ptr tmpPlayer; for (int i = 0; i < startQuantityPlayers; i++) { if (playerArray[i]->getMyUniqueID() == id) diff --git a/src/game.h b/src/game.h index 9a21cbd4..575503d4 100755 --- a/src/game.h +++ b/src/game.h @@ -49,7 +49,7 @@ public: HandInterface *getCurrentHand(); - PlayerInterface** getPlayerArray() {return playerArray;} + std::vector > getPlayerArray() {return playerArray;} //Zufgriff Startvariablen void setStartQuantityPlayers(int theValue) { startQuantityPlayers = theValue; } @@ -73,7 +73,7 @@ public: void setActualHandID(int theValue) { actualHandID = theValue; } int getActualHandID() const { return actualHandID; } - PlayerInterface * getPlayerByUniqueId(unsigned id); + boost::shared_ptr getPlayerByUniqueId(unsigned id); private: boost::shared_ptr myFactory; @@ -81,7 +81,8 @@ private: GuiInterface *myGui; HandInterface *actualHand; BoardInterface *actualBoard; - PlayerInterface *playerArray[MAX_NUMBER_OF_PLAYERS]; + std::vector > playerArray; +// PlayerInterface *playerArray[MAX_NUMBER_OF_PLAYERS]; //Startvariablen int startQuantityPlayers;