From e696fb42576d37229c0f88e7fc295129461def7a Mon Sep 17 00:00:00 2001 From: doitux Date: Tue, 7 Aug 2007 23:59:34 +0000 Subject: [PATCH] BeRo refactoring --- src/engine/berointerface.h | 2 +- src/engine/local_engine/localbero.h | 25 +++--- .../local_engine/localberopostriver.cpp | 80 ++++++++----------- src/engine/local_engine/localberopostriver.h | 2 +- src/engine/local_engine/localberopreflop.cpp | 56 ++++++------- src/engine/network_engine/clientbero.cpp | 29 +++---- src/engine/network_engine/clientbero.h | 1 - src/game_defs.h | 6 +- src/gui/qt/mainwindow/mainwindowimpl.cpp | 4 +- src/net/common/serverrecvstate.cpp | 2 +- 10 files changed, 99 insertions(+), 108 deletions(-) diff --git a/src/engine/berointerface.h b/src/engine/berointerface.h index 2eb8c5e0..50795402 100644 --- a/src/engine/berointerface.h +++ b/src/engine/berointerface.h @@ -24,6 +24,7 @@ public: virtual GameState getMyBeRoID() const =0; + virtual void setPlayersTurn(int) =0; virtual int getPlayersTurn() const =0; @@ -37,7 +38,6 @@ public: virtual void nextPlayer() =0; virtual void run() =0; - virtual void postRiverRun() =0; }; #endif diff --git a/src/engine/local_engine/localbero.h b/src/engine/local_engine/localbero.h index c9c62da1..63d6f0bd 100644 --- a/src/engine/local_engine/localbero.h +++ b/src/engine/local_engine/localbero.h @@ -27,10 +27,22 @@ public: ~LocalBeRo(); GameState getMyBeRoID() const { return myBeRoID; } - - int getHighestCardsValue() const {return 0;} + + int getHighestCardsValue() const {return 0; } void setHighestCardsValue(int theValue) {} + void resetFirstRun() { firstRun = false; } + + void nextPlayer(); + void run(); + +protected: + + HandInterface* getMyHand() const { return myHand; } + + int getDealerPosition() const {return dealerPosition; } + void setDealerPosition(int theValue) { dealerPosition = theValue; } + void setPlayersTurn(int theValue) { playersTurn = theValue; } int getPlayersTurn() const { return playersTurn; } @@ -45,14 +57,9 @@ public: void setSmallBlind(int theValue) { smallBlind = theValue; } int getSmallBlind() const { return smallBlind; } + - void resetFirstRun() { firstRun = false; } - - void nextPlayer(); - void run(); - void postRiverRun() {} - -protected: +private: HandInterface* myHand; diff --git a/src/engine/local_engine/localberopostriver.cpp b/src/engine/local_engine/localberopostriver.cpp index 840f12a3..08d0d65c 100644 --- a/src/engine/local_engine/localberopostriver.cpp +++ b/src/engine/local_engine/localberopostriver.cpp @@ -34,55 +34,43 @@ LocalBeRoPostRiver::~LocalBeRoPostRiver() } -void LocalBeRoPostRiver::postRiverRun() { - +void LocalBeRoPostRiver::run() { + int i; - // für die Engine die durchschnittlichen Sets von Player 0 setzen --> UNUSED !!! -// if(myID < 5) { -// myHand->getPlayerArray()[0]->setMyAverageSets(((myHand->getPlayerArray()[0]->getMyAverageSets())*(myID-1))/myID + (myHand->getPlayerArray()[0]->getMyRoundStartCash()-myHand->getPlayerArray()[0]->getMyCash())/myID); -// } else { -// myHand->getPlayerArray()[0]->setMyAverageSets(((myHand->getPlayerArray()[0]->getMyAverageSets())*4)/5 + (myHand->getPlayerArray()[0]->getMyRoundStartCash()-myHand->getPlayerArray()[0]->getMyCash())/5); -// } - -// cout << myHand->getPlayerArray()[0]->getMyAverageSets() << endl; - //berechnen welcher Spieler gewonnen hat for(i=0; igetPlayerArray()[i]->getMyCardsValueInt() << endl; - - if(myHand->getPlayerArray()[i]->getMyActiveStatus() && myHand->getPlayerArray()[i]->getMyAction() != 1 && myHand->getPlayerArray()[i]->getMyCardsValueInt() > highestCardsValue ) { - highestCardsValue = myHand->getPlayerArray()[i]->getMyCardsValueInt(); + if(getMyHand()->getPlayerArray()[i]->getMyActiveStatus() && getMyHand()->getPlayerArray()[i]->getMyAction() != PLAYER_ACTION_FOLD && getMyHand()->getPlayerArray()[i]->getMyCardsValueInt() > highestCardsValue ) { + highestCardsValue = getMyHand()->getPlayerArray()[i]->getMyCardsValueInt(); } } // Durchschnittsets des human player ermitteln - myHand->getPlayerArray()[0]->setMyAverageSets(((myHand->getPlayerArray()[0]->getMyRoundStartCash())-(myHand->getPlayerArray()[0]->getMyCash()))/(myHand->getBettingRoundsPlayed()+1)); -// cout << myHand->getPlayerArray()[0]->getMyAverageSets() << endl; + getMyHand()->getPlayerArray()[0]->setMyAverageSets(((getMyHand()->getPlayerArray()[0]->getMyRoundStartCash())-(getMyHand()->getPlayerArray()[0]->getMyCash()))/(getMyHand()->getBettingRoundsPlayed()+1)); // Aggressivität des human player ermitteln // anzahl der player die möglichkeit haben am pot teilzuhaben int potPlayers = 0; for(i=0; igetPlayerArray()[i]->getMyActiveStatus() && myHand->getPlayerArray()[i]->getMyAction() != 1) { + if(getMyHand()->getPlayerArray()[i]->getMyActiveStatus() && getMyHand()->getPlayerArray()[i]->getMyAction() != PLAYER_ACTION_FOLD) { potPlayers++; } } // prüfen ob nur noch der human player an der verteilung teilnimmt und myAggressive für human player setzen - myHand->getPlayerArray()[0]->setMyAggressive(potPlayers == 1 && myHand->getPlayerArray()[0]->getMyActiveStatus() && myHand->getPlayerArray()[0]->getMyAction() != 1); + getMyHand()->getPlayerArray()[0]->setMyAggressive(potPlayers == 1 && getMyHand()->getPlayerArray()[0]->getMyActiveStatus() && getMyHand()->getPlayerArray()[0]->getMyAction() != PLAYER_ACTION_FOLD); -// cout << "myAggressive: " << myHand->getPlayerArray()[0]->getMyAggressive() << endl; +// cout << "myAggressive: " << getMyHand()->getPlayerArray()[0]->getMyAggressive() << endl; // Pot-Verteilung distributePot(); //Pot auf 0 setzen - myHand->getBoard()->setPot(0); + getMyHand()->getBoard()->setPot(0); //starte die Animaionsreihe - myHand->getGuiInterface()->postRiverRunAnimation1(); + getMyHand()->getGuiInterface()->postRiverRunAnimation1(); } void LocalBeRoPostRiver::distributePot() { @@ -117,8 +105,8 @@ void LocalBeRoPostRiver::distributePot() { // Standardwert fr nicht mehr aktive roundSetArray[i] = 0; // nur fr die Spieler ermitteln, die noch aktiv sind (inkl. der gefoldeten) - if(myHand->getPlayerArray()[i]->getMyActiveStatus()) { - roundSetArray[i] = myHand->getPlayerArray()[i]->getMyRoundStartCash()-myHand->getPlayerArray()[i]->getMyCash(); + if(getMyHand()->getPlayerArray()[i]->getMyActiveStatus()) { + roundSetArray[i] = getMyHand()->getPlayerArray()[i]->getMyRoundStartCash()-getMyHand()->getPlayerArray()[i]->getMyCash(); } } @@ -129,9 +117,9 @@ void LocalBeRoPostRiver::distributePot() { for(i=0; igetPlayerArray()[i]->getMyActiveStatus() && myHand->getPlayerArray()[i]->getMyAction() != 1) { + if(getMyHand()->getPlayerArray()[i]->getMyActiveStatus() && getMyHand()->getPlayerArray()[i]->getMyAction() != 1) { // nur bei den Spielen den Kartenwert eintragen, die an der Potverteilung teilnehmen - cardsValueArray[i] = myHand->getPlayerArray()[i]->getMyCardsValueInt(); + cardsValueArray[i] = getMyHand()->getPlayerArray()[i]->getMyCardsValueInt(); playerWantsPotCounter++; } } @@ -161,7 +149,7 @@ void LocalBeRoPostRiver::distributePot() { // aktuellen highestCardsValueTemp berechnen, von denen die noch an der Potverteilung teilnehmen for(i=0; i highestCardsValueTemp ) { - highestCardsValueTemp = myHand->getPlayerArray()[i]->getMyCardsValueInt(); + highestCardsValueTemp = getMyHand()->getPlayerArray()[i]->getMyCardsValueInt(); } } @@ -184,10 +172,10 @@ void LocalBeRoPostRiver::distributePot() { winner = winnersArray[0]; // Winner ist nicht All In gegangen -> bekommt den gesamten Pot -// if(myHand->getPlayerArray()[winner]->getMyAction() != 6) { +// if(getMyHand()->getPlayerArray()[winner]->getMyAction() != 6) { // -// myHand->getPlayerArray()[winner]->setMyCash(myHand->getPlayerArray()[winner]->getMyCash()+myHand->getBoard()->getPot()); -// myHand->getBoard()->setPot(0); +// getMyHand()->getPlayerArray()[winner]->setMyCash(getMyHand()->getPlayerArray()[winner]->getMyCash()+getMyHand()->getBoard()->getPot()); +// getMyHand()->getBoard()->setPot(0); // playerWantsPotCounter = 1; // // } @@ -198,12 +186,12 @@ void LocalBeRoPostRiver::distributePot() { for(i=0; igetPlayerArray()[i]->getMyAction() == 1) { + if(i != winner && getMyHand()->getPlayerArray()[i]->getMyAction() == 1) { // diesen Teil aus dem Pot holen - myHand->getPlayerArray()[winner]->setMyCash(myHand->getPlayerArray()[winner]->getMyCash()+roundSetArray[i]); + getMyHand()->getPlayerArray()[winner]->setMyCash(getMyHand()->getPlayerArray()[winner]->getMyCash()+roundSetArray[i]); // Pot dementsprechend verkleinern - myHand->getBoard()->setPot(myHand->getBoard()->getPot() - roundSetArray[i]); + getMyHand()->getBoard()->setPot(getMyHand()->getBoard()->getPot() - roundSetArray[i]); // deren Sets auf Null seztzen -> in den nᅵhsten Potverteilungsrunden nimmt der Winner dann von diesen Spielern 0 Dollar aus dem Pot roundSetArray[i] = 0; @@ -216,9 +204,9 @@ void LocalBeRoPostRiver::distributePot() { if(roundSetArray[winner] >= roundSetArray[i]) { // von denen alles holen - myHand->getPlayerArray()[winner]->setMyCash(myHand->getPlayerArray()[winner]->getMyCash()+roundSetArray[i]); + getMyHand()->getPlayerArray()[winner]->setMyCash(getMyHand()->getPlayerArray()[winner]->getMyCash()+roundSetArray[i]); // Pot dementsprechend verkleinern - myHand->getBoard()->setPot(myHand->getBoard()->getPot() - roundSetArray[i]); + getMyHand()->getBoard()->setPot(getMyHand()->getBoard()->getPot() - roundSetArray[i]); // diese Spieler dann von der weiteren Potverteilung ausschlieᅵn cardsValueArray[i] = 0; playerWantsPotCounter--; @@ -230,8 +218,8 @@ void LocalBeRoPostRiver::distributePot() { else { // den eigenen Setanteil aus dem Pot holen - myHand->getPlayerArray()[winner]->setMyCash(myHand->getPlayerArray()[winner]->getMyCash()+roundSetArray[winner]); - myHand->getBoard()->setPot(myHand->getBoard()->getPot() - roundSetArray[winner]); + getMyHand()->getPlayerArray()[winner]->setMyCash(getMyHand()->getPlayerArray()[winner]->getMyCash()+roundSetArray[winner]); + getMyHand()->getBoard()->setPot(getMyHand()->getBoard()->getPot() - roundSetArray[winner]); // den Set des Gegners um den bereits abgenommenen Setanteil verkleinern roundSetArray[i] = roundSetArray[i] - roundSetArray[winner]; // diese Spieler nehmen an der weiteren Potverteilung teil @@ -242,8 +230,8 @@ void LocalBeRoPostRiver::distributePot() { // // } // zum Scluss noch eingenen Set wieder holen - myHand->getPlayerArray()[winner]->setMyCash(myHand->getPlayerArray()[winner]->getMyCash()+roundSetArray[winner]); - myHand->getBoard()->setPot(myHand->getBoard()->getPot() - roundSetArray[winner]); + getMyHand()->getPlayerArray()[winner]->setMyCash(getMyHand()->getPlayerArray()[winner]->getMyCash()+roundSetArray[winner]); + getMyHand()->getBoard()->setPot(getMyHand()->getBoard()->getPot() - roundSetArray[winner]); // nicht mehr an der weiteren Potverteilung teilnehmen, da man sich alles geholt hat was einem zusteht cardsValueArray[winner] = 0; playerWantsPotCounter--; @@ -284,12 +272,12 @@ void LocalBeRoPostRiver::distributePot() { } // zuerst prfen ob ein gefoldeter Spieler was gesetzt hatte - if(!playerIsWinner && myHand->getPlayerArray()[i]->getMyAction() == 1) { + if(!playerIsWinner && getMyHand()->getPlayerArray()[i]->getMyAction() == 1) { // diesen Teil aus dem Pot holen und dem winnersPot geben winnersPot += roundSetArray[i]; // Pot dementsprechend verkleinern - myHand->getBoard()->setPot(myHand->getBoard()->getPot() - roundSetArray[i]); + getMyHand()->getBoard()->setPot(getMyHand()->getBoard()->getPot() - roundSetArray[i]); // deren Sets auf Null seztzen -> in den nᅵhsten Potverteilungsrunden nehmen die Winner dann von diesen Spielern 0 Dollar aus dem Pot roundSetArray[i] = 0; @@ -304,7 +292,7 @@ void LocalBeRoPostRiver::distributePot() { // von denen alles holen winnersPot += roundSetArray[i]; // Pot dementsprechend verkleinern - myHand->getBoard()->setPot(myHand->getBoard()->getPot() - roundSetArray[i]); + getMyHand()->getBoard()->setPot(getMyHand()->getBoard()->getPot() - roundSetArray[i]); // diese Spieler dann von der weiteren Potverteilung ausschlieᅵn cardsValueArray[i] = 0; playerWantsPotCounter--; @@ -317,7 +305,7 @@ void LocalBeRoPostRiver::distributePot() { // den eigenen Setanteil aus dem Pot holen winnersPot += winnersMaxSet; - myHand->getBoard()->setPot(myHand->getBoard()->getPot() - winnersMaxSet); + getMyHand()->getBoard()->setPot(getMyHand()->getBoard()->getPot() - winnersMaxSet); // den Set des Gegners um den bereits abgenommenen Setanteil verkleinern roundSetArray[i] = roundSetArray[i] - winnersMaxSet; // diese Spieler nehmen an der weiteren Potverteilung teil @@ -328,11 +316,11 @@ void LocalBeRoPostRiver::distributePot() { // zum Schluss noch die eingenen Set aus dem Pot holen winnersPot += winnersSets; - myHand->getBoard()->setPot(myHand->getBoard()->getPot() - winnersSets); + getMyHand()->getBoard()->setPot(getMyHand()->getBoard()->getPot() - winnersSets); // winnersPot verteilen (anteilmᅵig) for(i=0; igetPlayerArray()[winnersArray[i]]->setMyCash(myHand->getPlayerArray()[winnersArray[i]]->getMyCash()+((roundSetArray[winnersArray[i]]*winnersPot)/winnersSets)); + getMyHand()->getPlayerArray()[winnersArray[i]]->setMyCash(getMyHand()->getPlayerArray()[winnersArray[i]]->getMyCash()+((roundSetArray[winnersArray[i]]*winnersPot)/winnersSets)); } @@ -348,7 +336,7 @@ void LocalBeRoPostRiver::distributePot() { } } - if(myHand->getBoard()->getPot() != 0) cout << "!!! Pot: " << myHand->getBoard()->getPot() << endl; + if(getMyHand()->getBoard()->getPot() != 0) cout << "!!! Pot: " << getMyHand()->getBoard()->getPot() << endl; delete[] winnersArray; delete[] roundSetArray; diff --git a/src/engine/local_engine/localberopostriver.h b/src/engine/local_engine/localberopostriver.h index 0e867124..b38f9db8 100644 --- a/src/engine/local_engine/localberopostriver.h +++ b/src/engine/local_engine/localberopostriver.h @@ -34,7 +34,7 @@ public: void setHighestCardsValue(int theValue) { highestCardsValue = theValue;} int getHighestCardsValue() const { return highestCardsValue;} - void postRiverRun(); + void run(); void distributePot(); private: diff --git a/src/engine/local_engine/localberopreflop.cpp b/src/engine/local_engine/localberopreflop.cpp index ef09de68..2c4ff117 100644 --- a/src/engine/local_engine/localberopreflop.cpp +++ b/src/engine/local_engine/localberopreflop.cpp @@ -27,18 +27,18 @@ using namespace std; LocalBeRoPreflop::LocalBeRoPreflop(HandInterface* hi, int id, int qP, int dP, int sB) : LocalBeRo(hi, id, qP, dP, sB, GAME_STATE_PREFLOP), bigBlindPosition(0) { - highestSet = 2*smallBlind; + setHighestSet(2*getSmallBlind()); // // BigBlind ermitteln - bigBlindPosition = dealerPosition; - while (myHand->getPlayerArray()[bigBlindPosition]->getMyButton() != 3) { + bigBlindPosition = getDealerPosition(); + while (getMyHand()->getPlayerArray()[bigBlindPosition]->getMyButton() != BUTTON_BIG_BLIND) { bigBlindPosition = (bigBlindPosition+1)%(MAX_NUMBER_OF_PLAYERS); } // // erste Spielernummer fr preflopRun() setzen - playersTurn = bigBlindPosition; + setPlayersTurn(bigBlindPosition); - cout << "LocalBeroPreflop erstellt - " << myBeRoID << endl; + cout << "LocalBeroPreflop erstellt - " << getMyBeRoID() << endl; } @@ -60,38 +60,38 @@ void LocalBeRoPreflop::run() { // prfe, ob alle Sets gleich sind ( falls nicht, dann allHighestSet = 0 ) for(i=0; igetPlayerArray()[i]->getMyActiveStatus() && myHand->getPlayerArray()[i]->getMyAction() != 1 && myHand->getPlayerArray()[i]->getMyAction() != 6) { - if(highestSet != myHand->getPlayerArray()[i]->getMySet()) { allHighestSet=0; } + if(getMyHand()->getPlayerArray()[i]->getMyActiveStatus() && getMyHand()->getPlayerArray()[i]->getMyAction() != PLAYER_ACTION_FOLD && getMyHand()->getPlayerArray()[i]->getMyAction() != PLAYER_ACTION_ALLIN) { + if(getHighestSet() != getMyHand()->getPlayerArray()[i]->getMySet()) { allHighestSet=0; } } } // BigBlind ermitteln - bigBlindPosition = dealerPosition; - while (myHand->getPlayerArray()[bigBlindPosition]->getMyButton() != 3) { + bigBlindPosition = getDealerPosition(); + while (getMyHand()->getPlayerArray()[bigBlindPosition]->getMyButton() != BUTTON_BIG_BLIND) { bigBlindPosition = (bigBlindPosition+1)%(MAX_NUMBER_OF_PLAYERS); } // prfen, ob Preflop wirklich dran ist - if(!firstRound && allHighestSet) { + if(!getFirstRound() && allHighestSet) { // Preflop nicht dran, weil wir nicht mehr in erster PreflopRunde und alle Sets gleich sind //also gehe in Flop - myHand->setActualRound(GAME_STATE_FLOP); + getMyHand()->setActualRound(GAME_STATE_FLOP); //Action loeschen und ActionButtons refresh for(i=0; igetPlayerArray()[i]->getMyAction() != 1 && myHand->getPlayerArray()[i]->getMyAction() != 6) myHand->getPlayerArray()[i]->setMyAction(0); + if(getMyHand()->getPlayerArray()[i]->getMyAction() != PLAYER_ACTION_FOLD && getMyHand()->getPlayerArray()[i]->getMyAction() != PLAYER_ACTION_ALLIN) getMyHand()->getPlayerArray()[i]->setMyAction(PLAYER_ACTION_NONE); } //Sets in den Pot verschieben und Sets = 0 und Pot-refresh - myHand->getBoard()->collectSets(); - myHand->getBoard()->collectPot(); - myHand->getGuiInterface()->refreshPot(); + getMyHand()->getBoard()->collectSets(); + getMyHand()->getBoard()->collectPot(); + getMyHand()->getGuiInterface()->refreshPot(); - myHand->getGuiInterface()->refreshSet(); - myHand->getGuiInterface()->refreshCash(); - for(i=0; igetGuiInterface()->refreshAction(i,0); } + getMyHand()->getGuiInterface()->refreshSet(); + getMyHand()->getGuiInterface()->refreshCash(); + for(i=0; igetGuiInterface()->refreshAction(i,PLAYER_ACTION_NONE); } - myHand->switchRounds(); + getMyHand()->switchRounds(); } else { // Preflop ist wirklich dran @@ -99,25 +99,25 @@ void LocalBeRoPreflop::run() { // naechsten Spieler ermitteln do { - playersTurn = (playersTurn+1)%(MAX_NUMBER_OF_PLAYERS); + setPlayersTurn((getPlayersTurn()+1)%(MAX_NUMBER_OF_PLAYERS)); // falls BigBlind, dann PreflopFirstRound zuende - if(myHand->getPlayerArray()[playersTurn]->getMyButton() == 3) firstRound = 0; + if(getMyHand()->getPlayerArray()[getPlayersTurn()]->getMyButton() == BUTTON_BIG_BLIND) setFirstRound(0); - } while(!(myHand->getPlayerArray()[playersTurn]->getMyActiveStatus()) || myHand->getPlayerArray()[playersTurn]->getMyAction() == 1 || myHand->getPlayerArray()[playersTurn]->getMyAction() == 6); + } while(!(getMyHand()->getPlayerArray()[getPlayersTurn()]->getMyActiveStatus()) || getMyHand()->getPlayerArray()[getPlayersTurn()]->getMyAction() == PLAYER_ACTION_FOLD || getMyHand()->getPlayerArray()[getPlayersTurn()]->getMyAction() == PLAYER_ACTION_ALLIN); - myHand->getPlayerArray()[playersTurn]->setMyTurn(1); + getMyHand()->getPlayerArray()[getPlayersTurn()]->setMyTurn(1); //highlight active players groupbox and clear action - myHand->getGuiInterface()->refreshGroupbox(playersTurn,2); - myHand->getGuiInterface()->refreshAction(playersTurn,0); + getMyHand()->getGuiInterface()->refreshGroupbox(getPlayersTurn(),2); + getMyHand()->getGuiInterface()->refreshAction(getPlayersTurn(),PLAYER_ACTION_NONE); - if(playersTurn == 0) { + if(getPlayersTurn() == 0) { // Wir sind dran - myHand->getGuiInterface()->meInAction(); + getMyHand()->getGuiInterface()->meInAction(); } else { //Gegner sind dran // cout << "NextPlayerSpeed3 start" << endl; - myHand->getGuiInterface()->beRoAnimation2(myBeRoID); + getMyHand()->getGuiInterface()->beRoAnimation2(getMyBeRoID()); } } } diff --git a/src/engine/network_engine/clientbero.cpp b/src/engine/network_engine/clientbero.cpp index 1e9b1104..323a602a 100644 --- a/src/engine/network_engine/clientbero.cpp +++ b/src/engine/network_engine/clientbero.cpp @@ -30,84 +30,84 @@ ClientBeRo::getMyBeRoID() const int ClientBeRo::getHighestCardsValue() const { - boost::recursive_mutex::scoped_lock lock(m_syncMutex); + boost::recursive_mutex::scoped_lock lock(m_syncMutex); return highestCardsValue; } void ClientBeRo::setHighestCardsValue(int theValue) { - boost::recursive_mutex::scoped_lock lock(m_syncMutex); + boost::recursive_mutex::scoped_lock lock(m_syncMutex); highestCardsValue = theValue; } void ClientBeRo::setPlayersTurn(int theValue) { - boost::recursive_mutex::scoped_lock lock(m_syncMutex); + boost::recursive_mutex::scoped_lock lock(m_syncMutex); playersTurn = theValue; } int ClientBeRo::getPlayersTurn() const { - boost::recursive_mutex::scoped_lock lock(m_syncMutex); + boost::recursive_mutex::scoped_lock lock(m_syncMutex); return playersTurn; } void ClientBeRo::setHighestSet(int theValue) { - boost::recursive_mutex::scoped_lock lock(m_syncMutex); + boost::recursive_mutex::scoped_lock lock(m_syncMutex); highestSet = theValue; } int ClientBeRo::getHighestSet() const { - boost::recursive_mutex::scoped_lock lock(m_syncMutex); + boost::recursive_mutex::scoped_lock lock(m_syncMutex); return highestSet; } void ClientBeRo::setFirstRound(bool theValue) { - boost::recursive_mutex::scoped_lock lock(m_syncMutex); + boost::recursive_mutex::scoped_lock lock(m_syncMutex); firstRound = theValue; } bool ClientBeRo::getFirstRound() const { - boost::recursive_mutex::scoped_lock lock(m_syncMutex); + boost::recursive_mutex::scoped_lock lock(m_syncMutex); return firstRound; } void ClientBeRo::setSmallBlindPosition(int theValue) { - boost::recursive_mutex::scoped_lock lock(m_syncMutex); + boost::recursive_mutex::scoped_lock lock(m_syncMutex); smallBlindPosition = theValue; } int ClientBeRo::getSmallBlindPosition() const { - boost::recursive_mutex::scoped_lock lock(m_syncMutex); + boost::recursive_mutex::scoped_lock lock(m_syncMutex); return smallBlindPosition; } void ClientBeRo::setSmallBlind(int theValue) { - boost::recursive_mutex::scoped_lock lock(m_syncMutex); + boost::recursive_mutex::scoped_lock lock(m_syncMutex); smallBlind = theValue; } int ClientBeRo::getSmallBlind() const { - boost::recursive_mutex::scoped_lock lock(m_syncMutex); + boost::recursive_mutex::scoped_lock lock(m_syncMutex); return smallBlind; } @@ -126,8 +126,3 @@ ClientBeRo::run() { } -void -ClientBeRo::postRiverRun() -{ -} - diff --git a/src/engine/network_engine/clientbero.h b/src/engine/network_engine/clientbero.h index f6814889..ad71b448 100644 --- a/src/engine/network_engine/clientbero.h +++ b/src/engine/network_engine/clientbero.h @@ -49,7 +49,6 @@ public: void nextPlayer(); void run(); - void postRiverRun(); private: diff --git a/src/game_defs.h b/src/game_defs.h index 6d32c559..61a5ddb5 100644 --- a/src/game_defs.h +++ b/src/game_defs.h @@ -45,7 +45,9 @@ enum PlayerAction { PLAYER_ACTION_ALLIN }; enum Button { - BUTTON_SMALL_BLIND = 2, - BUTTON_BIG_BLIND = 3 }; + BUTTON_NONE = 0, + BUTTON_DEALER, + BUTTON_SMALL_BLIND, + BUTTON_BIG_BLIND }; #endif diff --git a/src/gui/qt/mainwindow/mainwindowimpl.cpp b/src/gui/qt/mainwindow/mainwindowimpl.cpp index 3fec91b4..18d8fd13 100755 --- a/src/gui/qt/mainwindow/mainwindowimpl.cpp +++ b/src/gui/qt/mainwindow/mainwindowimpl.cpp @@ -1875,7 +1875,7 @@ void mainWindowImpl::riverAnimation2() { riverAnimation2Timer->start(nextPlayerS void mainWindowImpl::riverAnimation2Action() { mySession->getCurrentGame()->getCurrentHand()->getRiver()->nextPlayer(); } void mainWindowImpl::postRiverAnimation1() { postRiverAnimation1Timer->start(nextPlayerSpeed2); } -void mainWindowImpl::postRiverAnimation1Action() { mySession->getCurrentGame()->getCurrentHand()->getRiver()->postRiverRun(); } +void mainWindowImpl::postRiverAnimation1Action() { mySession->getCurrentGame()->getCurrentHand()->getCurrentBeRo()->run(); } void mainWindowImpl::postRiverRunAnimation1() { @@ -1982,7 +1982,7 @@ void mainWindowImpl::postRiverRunAnimation3() { HandInterface *currentHand = mySession->getCurrentGame()->getCurrentHand(); //Alle Winner erhellen und "Winner" schreiben for(i=0; igetPlayerArray()[i]->getMyActiveStatus() && currentHand->getPlayerArray()[i]->getMyAction() != 1 && currentHand->getPlayerArray()[i]->getMyCardsValueInt() == currentHand->getRiver()->getHighestCardsValue() ) { + if(currentHand->getPlayerArray()[i]->getMyActiveStatus() && currentHand->getPlayerArray()[i]->getMyAction() != 1 && currentHand->getPlayerArray()[i]->getMyCardsValueInt() == currentHand->getCurrentBeRo()->getHighestCardsValue() ) { // QPalette tempPalette = groupBoxArray[i]->palette(); // tempPalette.setColor(QPalette::Window, highlight); diff --git a/src/net/common/serverrecvstate.cpp b/src/net/common/serverrecvstate.cpp index c4643341..00819f17 100644 --- a/src/net/common/serverrecvstate.cpp +++ b/src/net/common/serverrecvstate.cpp @@ -614,7 +614,7 @@ ServerRecvStateStartRound::Process(ServerRecvThread &server) else // hand is over { // Let the engine find out the winner(s). - curGame.getCurrentHand()->getRiver()->postRiverRun(); + curGame.getCurrentHand()->getCurrentBeRo()->run(); // Retrieve active players. If only one player is left, no cards are shown. std::list activePlayers = GetActivePlayers(curGame);