From 7f3c8a860848c16c8c2f78e3929a65a54ef4c04c Mon Sep 17 00:00:00 2001 From: floty Date: Sun, 2 Mar 2014 00:50:28 +0100 Subject: [PATCH] bugfix for #275: remove dealerPosition from constructor of localBoard and transmit when it's needed --- src/engine/boardinterface.h | 2 +- src/engine/enginefactory.h | 2 +- src/engine/game.cpp | 2 +- src/engine/local_engine/localbero.cpp | 2 +- src/engine/local_engine/localbero.h | 16 ++-------------- src/engine/local_engine/localberopostriver.cpp | 2 +- src/engine/local_engine/localboard.cpp | 4 ++-- src/engine/local_engine/localboard.h | 5 ++--- src/engine/local_engine/localenginefactory.cpp | 4 ++-- src/engine/local_engine/localenginefactory.h | 2 +- src/engine/network_engine/clientboard.cpp | 6 +++--- src/engine/network_engine/clientboard.h | 5 ++--- .../network_engine/clientenginefactory.cpp | 4 ++-- src/engine/network_engine/clientenginefactory.h | 2 +- 14 files changed, 22 insertions(+), 36 deletions(-) diff --git a/src/engine/boardinterface.h b/src/engine/boardinterface.h index 7de565fd..6231e8ee 100644 --- a/src/engine/boardinterface.h +++ b/src/engine/boardinterface.h @@ -59,7 +59,7 @@ public: virtual void collectSets() =0; virtual void collectPot() =0; - virtual void distributePot() =0; + virtual void distributePot(unsigned) =0; virtual void determinePlayerNeedToShowCards() =0; virtual std::list getWinners() const =0; diff --git a/src/engine/enginefactory.h b/src/engine/enginefactory.h index e720e019..71c93198 100644 --- a/src/engine/enginefactory.h +++ b/src/engine/enginefactory.h @@ -45,7 +45,7 @@ public: virtual ~EngineFactory(); virtual boost::shared_ptr createHand(boost::shared_ptr f, GuiInterface *g, boost::shared_ptr b, Log *l, PlayerList sl, PlayerList apl, PlayerList rpl, int id, int sP, int dP, int sB,int sC) =0; - virtual boost::shared_ptr createBoard(unsigned dp) =0; + virtual boost::shared_ptr createBoard() =0; virtual boost::shared_ptr createPlayer(int id, unsigned uniqueId, PlayerType type, std::string name, std::string avatar, int sC, bool aS, bool sotS, int mB) =0; virtual std::vector > createBeRo(HandInterface *hi, unsigned dP, int sB) =0; }; diff --git a/src/engine/game.cpp b/src/engine/game.cpp index 8d1fe4dc..9f2a6e74 100755 --- a/src/engine/game.cpp +++ b/src/engine/game.cpp @@ -77,7 +77,7 @@ Game::Game(GuiInterface* gui, boost::shared_ptr factory, throw LocalException(__FILE__, __LINE__, ERR_DEALER_NOT_FOUND); // create board - currentBoard = myFactory->createBoard(dealerPosition); + currentBoard = myFactory->createBoard(); // create player lists seatsList.reset(new std::list >); diff --git a/src/engine/local_engine/localbero.cpp b/src/engine/local_engine/localbero.cpp index a7769119..ace5b3f2 100644 --- a/src/engine/local_engine/localbero.cpp +++ b/src/engine/local_engine/localbero.cpp @@ -38,7 +38,7 @@ using namespace std; LocalBeRo::LocalBeRo(HandInterface* hi, unsigned dP, int sB, GameState gS) - : BeRoInterface(), myHand(hi), myBeRoID(gS), dealerPosition(dP), smallBlindPosition(0), dealerPositionId(dP), smallBlindPositionId(0), bigBlindPositionId(0), smallBlind(sB), highestSet(0), minimumRaise(2*sB), fullBetRule(false), firstRun(true), firstRunGui(true), firstRound(true), firstHeadsUpRound(true), currentPlayersTurnId(0), firstRoundLastPlayersTurnId(0), logBoardCardsDone(false) + : BeRoInterface(), myHand(hi), myBeRoID(gS), dealerPosition(dP), smallBlindPosition(0), smallBlindPositionId(0), bigBlindPositionId(0), smallBlind(sB), highestSet(0), minimumRaise(2*sB), fullBetRule(false), firstRun(true), firstRunGui(true), firstRound(true), firstHeadsUpRound(true), currentPlayersTurnId(0), firstRoundLastPlayersTurnId(0), logBoardCardsDone(false) { currentPlayersTurnIt = myHand->getRunningPlayerList()->begin(); lastPlayersTurnIt = myHand->getRunningPlayerList()->begin(); diff --git a/src/engine/local_engine/localbero.h b/src/engine/local_engine/localbero.h index 0dd1b80a..a8be1ca1 100644 --- a/src/engine/local_engine/localbero.h +++ b/src/engine/local_engine/localbero.h @@ -81,12 +81,9 @@ protected: return myHand; } - int getDealerPosition() const { + unsigned getDealerPosition() const { return dealerPosition; } - void setDealerPosition(int theValue) { - dealerPosition = theValue; - } void setCurrentPlayersTurnId(unsigned theValue) { currentPlayersTurnId = theValue; @@ -137,14 +134,6 @@ protected: return firstRound; } - - void setDealerPositionId(unsigned theValue) { - dealerPositionId = theValue; - } - unsigned getDealerPositionId() const { - return dealerPositionId; - } - void setSmallBlindPositionId(unsigned theValue) { smallBlindPositionId = theValue; } @@ -182,10 +171,9 @@ private: HandInterface* myHand; const GameState myBeRoID; - int dealerPosition; + unsigned dealerPosition; int smallBlindPosition; - unsigned dealerPositionId; unsigned smallBlindPositionId; unsigned bigBlindPositionId; diff --git a/src/engine/local_engine/localberopostriver.cpp b/src/engine/local_engine/localberopostriver.cpp index 506727b0..a9a2aca5 100644 --- a/src/engine/local_engine/localberopostriver.cpp +++ b/src/engine/local_engine/localberopostriver.cpp @@ -91,7 +91,7 @@ void LocalBeRoPostRiver::postRiverRun() getMyHand()->getBoard()->determinePlayerNeedToShowCards(); // Pot-Verteilung - getMyHand()->getBoard()->distributePot(); + getMyHand()->getBoard()->distributePot(getDealerPosition()); //Pot auf 0 setzen getMyHand()->getBoard()->setPot(0); diff --git a/src/engine/local_engine/localboard.cpp b/src/engine/local_engine/localboard.cpp index 1242c33a..9c154146 100755 --- a/src/engine/local_engine/localboard.cpp +++ b/src/engine/local_engine/localboard.cpp @@ -37,7 +37,7 @@ #include "localexception.h" #include "engine_msg.h" -LocalBoard::LocalBoard(unsigned dp) : BoardInterface(), pot(0), sets(0), dealerPosition(dp), allInCondition(false), lastActionPlayerID(0) +LocalBoard::LocalBoard() : BoardInterface(), pot(0), sets(0), allInCondition(false), lastActionPlayerID(0) { myCards[0] = myCards[1] = myCards[2] = myCards[3] = myCards[4] = 0; } @@ -78,7 +78,7 @@ void LocalBoard::collectPot() } -void LocalBoard::distributePot() +void LocalBoard::distributePot(unsigned dealerPosition) { winners.clear(); diff --git a/src/engine/local_engine/localboard.h b/src/engine/local_engine/localboard.h index 5dfd9e48..47155432 100755 --- a/src/engine/local_engine/localboard.h +++ b/src/engine/local_engine/localboard.h @@ -45,7 +45,7 @@ class HandInterface; class LocalBoard : public BoardInterface { public: - LocalBoard(unsigned dealerPosition); + LocalBoard(); ~LocalBoard(); void setPlayerLists(PlayerList, PlayerList, PlayerList); @@ -82,7 +82,7 @@ public: void collectSets() ; void collectPot() ; - void distributePot(); + void distributePot(unsigned dealerPosition); void determinePlayerNeedToShowCards(); std::list getWinners() const { @@ -111,7 +111,6 @@ private: int myCards[5]; int pot; int sets; - unsigned dealerPosition; bool allInCondition; unsigned lastActionPlayerID; diff --git a/src/engine/local_engine/localenginefactory.cpp b/src/engine/local_engine/localenginefactory.cpp index db99bf77..a270f224 100644 --- a/src/engine/local_engine/localenginefactory.cpp +++ b/src/engine/local_engine/localenginefactory.cpp @@ -61,9 +61,9 @@ LocalEngineFactory::createHand(boost::shared_ptr f, GuiInterface } boost::shared_ptr -LocalEngineFactory::createBoard(unsigned dp) +LocalEngineFactory::createBoard() { - return boost::shared_ptr(new LocalBoard(dp)); + return boost::shared_ptr(new LocalBoard()); } boost::shared_ptr diff --git a/src/engine/local_engine/localenginefactory.h b/src/engine/local_engine/localenginefactory.h index 30f37249..e357a19d 100644 --- a/src/engine/local_engine/localenginefactory.h +++ b/src/engine/local_engine/localenginefactory.h @@ -50,7 +50,7 @@ public: ~LocalEngineFactory(); virtual boost::shared_ptr createHand(boost::shared_ptr f, GuiInterface *g, boost::shared_ptr b, Log *l, PlayerList sl, PlayerList apl, PlayerList rpl, int id, int sP, int dP, int sB,int sC); - virtual boost::shared_ptr createBoard(unsigned dp); + virtual boost::shared_ptr createBoard(); virtual boost::shared_ptr createPlayer(int id, unsigned uniqueId, PlayerType type, std::string name, std::string avatar, int sC, bool aS, bool sotS, int mB); virtual std::vector > createBeRo(HandInterface *hi, unsigned dP, int sB); diff --git a/src/engine/network_engine/clientboard.cpp b/src/engine/network_engine/clientboard.cpp index 95b2a858..2e797882 100644 --- a/src/engine/network_engine/clientboard.cpp +++ b/src/engine/network_engine/clientboard.cpp @@ -36,8 +36,8 @@ using namespace std; -ClientBoard::ClientBoard(unsigned dp) - : pot(0), sets(0), dealerPosition(dp), allInCondition(false), lastActionPlayerID(0) +ClientBoard::ClientBoard() + : pot(0), sets(0), allInCondition(false), lastActionPlayerID(0) { myCards[0] = myCards[1] = myCards[2] = myCards[3] = myCards[4] = 0; } @@ -134,7 +134,7 @@ ClientBoard::collectPot() } void -ClientBoard::distributePot() +ClientBoard::distributePot(unsigned) { } diff --git a/src/engine/network_engine/clientboard.h b/src/engine/network_engine/clientboard.h index d4019ce9..a4b7dc12 100644 --- a/src/engine/network_engine/clientboard.h +++ b/src/engine/network_engine/clientboard.h @@ -44,7 +44,7 @@ class HandInterface; class ClientBoard : public BoardInterface { public: - ClientBoard(unsigned dealerPosition); + ClientBoard(); ~ClientBoard(); void setPlayerLists(PlayerList, PlayerList, PlayerList); @@ -63,7 +63,7 @@ public: void collectSets(); void collectPot(); - void distributePot(); + void distributePot(unsigned); void determinePlayerNeedToShowCards(); std::list getWinners() const; @@ -85,7 +85,6 @@ private: int myCards[5]; int pot; int sets; - unsigned dealerPosition; bool allInCondition; unsigned lastActionPlayerID; }; diff --git a/src/engine/network_engine/clientenginefactory.cpp b/src/engine/network_engine/clientenginefactory.cpp index 0a2e3533..3bc581bc 100644 --- a/src/engine/network_engine/clientenginefactory.cpp +++ b/src/engine/network_engine/clientenginefactory.cpp @@ -55,9 +55,9 @@ ClientEngineFactory::createHand(boost::shared_ptr f, GuiInterface } boost::shared_ptr -ClientEngineFactory::createBoard(unsigned dp) +ClientEngineFactory::createBoard() { - return boost::shared_ptr(new ClientBoard(dp)); + return boost::shared_ptr(new ClientBoard()); } boost::shared_ptr diff --git a/src/engine/network_engine/clientenginefactory.h b/src/engine/network_engine/clientenginefactory.h index 86986a1a..8eb31e9f 100644 --- a/src/engine/network_engine/clientenginefactory.h +++ b/src/engine/network_engine/clientenginefactory.h @@ -52,7 +52,7 @@ public: ~ClientEngineFactory(); virtual boost::shared_ptr createHand(boost::shared_ptr f, GuiInterface *g, boost::shared_ptr b, Log *l, PlayerList sl, PlayerList apl, PlayerList rpl, int id, int sP, int dP, int sB,int sC); - virtual boost::shared_ptr createBoard(unsigned dp); + virtual boost::shared_ptr createBoard(); virtual boost::shared_ptr createPlayer(int id, unsigned uniqueId, PlayerType type, std::string name, std::string avatar, int sC, bool aS, bool sotS, int mB); virtual std::vector > createBeRo(HandInterface *hi, unsigned dP, int sB); };