BeRo refactoring

This commit is contained in:
doitux
2007-08-07 23:59:34 +00:00
parent 829f094ce8
commit e696fb4257
10 changed files with 99 additions and 108 deletions
+1 -1
View File
@@ -24,6 +24,7 @@ public:
virtual GameState getMyBeRoID() const =0; virtual GameState getMyBeRoID() const =0;
virtual void setPlayersTurn(int) =0; virtual void setPlayersTurn(int) =0;
virtual int getPlayersTurn() const =0; virtual int getPlayersTurn() const =0;
@@ -37,7 +38,6 @@ public:
virtual void nextPlayer() =0; virtual void nextPlayer() =0;
virtual void run() =0; virtual void run() =0;
virtual void postRiverRun() =0;
}; };
#endif #endif
+14 -7
View File
@@ -28,9 +28,21 @@ public:
GameState getMyBeRoID() const { return myBeRoID; } GameState getMyBeRoID() const { return myBeRoID; }
int getHighestCardsValue() const {return 0;} int getHighestCardsValue() const {return 0; }
void setHighestCardsValue(int theValue) {} 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; } void setPlayersTurn(int theValue) { playersTurn = theValue; }
int getPlayersTurn() const { return playersTurn; } int getPlayersTurn() const { return playersTurn; }
@@ -46,13 +58,8 @@ public:
void setSmallBlind(int theValue) { smallBlind = theValue; } void setSmallBlind(int theValue) { smallBlind = theValue; }
int getSmallBlind() const { return smallBlind; } int getSmallBlind() const { return smallBlind; }
void resetFirstRun() { firstRun = false; }
void nextPlayer(); private:
void run();
void postRiverRun() {}
protected:
HandInterface* myHand; HandInterface* myHand;
+33 -45
View File
@@ -34,55 +34,43 @@ LocalBeRoPostRiver::~LocalBeRoPostRiver()
} }
void LocalBeRoPostRiver::postRiverRun() { void LocalBeRoPostRiver::run() {
int i; 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 //berechnen welcher Spieler gewonnen hat
for(i=0; i<MAX_NUMBER_OF_PLAYERS; i++) { for(i=0; i<MAX_NUMBER_OF_PLAYERS; i++) {
// cout << "Spieler: " << i << " hat: " << myHand->getPlayerArray()[i]->getMyCardsValueInt() << endl; if(getMyHand()->getPlayerArray()[i]->getMyActiveStatus() && getMyHand()->getPlayerArray()[i]->getMyAction() != PLAYER_ACTION_FOLD && getMyHand()->getPlayerArray()[i]->getMyCardsValueInt() > highestCardsValue ) {
highestCardsValue = getMyHand()->getPlayerArray()[i]->getMyCardsValueInt();
if(myHand->getPlayerArray()[i]->getMyActiveStatus() && myHand->getPlayerArray()[i]->getMyAction() != 1 && myHand->getPlayerArray()[i]->getMyCardsValueInt() > highestCardsValue ) {
highestCardsValue = myHand->getPlayerArray()[i]->getMyCardsValueInt();
} }
} }
// Durchschnittsets des human player ermitteln // Durchschnittsets des human player ermitteln
myHand->getPlayerArray()[0]->setMyAverageSets(((myHand->getPlayerArray()[0]->getMyRoundStartCash())-(myHand->getPlayerArray()[0]->getMyCash()))/(myHand->getBettingRoundsPlayed()+1)); getMyHand()->getPlayerArray()[0]->setMyAverageSets(((getMyHand()->getPlayerArray()[0]->getMyRoundStartCash())-(getMyHand()->getPlayerArray()[0]->getMyCash()))/(getMyHand()->getBettingRoundsPlayed()+1));
// cout << myHand->getPlayerArray()[0]->getMyAverageSets() << endl;
// Aggressivität des human player ermitteln // Aggressivität des human player ermitteln
// anzahl der player die möglichkeit haben am pot teilzuhaben // anzahl der player die möglichkeit haben am pot teilzuhaben
int potPlayers = 0; int potPlayers = 0;
for(i=0; i<MAX_NUMBER_OF_PLAYERS; i++) { for(i=0; i<MAX_NUMBER_OF_PLAYERS; i++) {
if(myHand->getPlayerArray()[i]->getMyActiveStatus() && myHand->getPlayerArray()[i]->getMyAction() != 1) { if(getMyHand()->getPlayerArray()[i]->getMyActiveStatus() && getMyHand()->getPlayerArray()[i]->getMyAction() != PLAYER_ACTION_FOLD) {
potPlayers++; potPlayers++;
} }
} }
// prüfen ob nur noch der human player an der verteilung teilnimmt und myAggressive für human player setzen // 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 // Pot-Verteilung
distributePot(); distributePot();
//Pot auf 0 setzen //Pot auf 0 setzen
myHand->getBoard()->setPot(0); getMyHand()->getBoard()->setPot(0);
//starte die Animaionsreihe //starte die Animaionsreihe
myHand->getGuiInterface()->postRiverRunAnimation1(); getMyHand()->getGuiInterface()->postRiverRunAnimation1();
} }
void LocalBeRoPostRiver::distributePot() { void LocalBeRoPostRiver::distributePot() {
@@ -117,8 +105,8 @@ void LocalBeRoPostRiver::distributePot() {
// Standardwert fr nicht mehr aktive // Standardwert fr nicht mehr aktive
roundSetArray[i] = 0; roundSetArray[i] = 0;
// nur fr die Spieler ermitteln, die noch aktiv sind (inkl. der gefoldeten) // nur fr die Spieler ermitteln, die noch aktiv sind (inkl. der gefoldeten)
if(myHand->getPlayerArray()[i]->getMyActiveStatus()) { if(getMyHand()->getPlayerArray()[i]->getMyActiveStatus()) {
roundSetArray[i] = myHand->getPlayerArray()[i]->getMyRoundStartCash()-myHand->getPlayerArray()[i]->getMyCash(); roundSetArray[i] = getMyHand()->getPlayerArray()[i]->getMyRoundStartCash()-getMyHand()->getPlayerArray()[i]->getMyCash();
} }
} }
@@ -129,9 +117,9 @@ void LocalBeRoPostRiver::distributePot() {
for(i=0; i<MAX_NUMBER_OF_PLAYERS; i++) { for(i=0; i<MAX_NUMBER_OF_PLAYERS; i++) {
// Standardwert // Standardwert
cardsValueArray[i] = 0; cardsValueArray[i] = 0;
if(myHand->getPlayerArray()[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 // 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++; playerWantsPotCounter++;
} }
} }
@@ -161,7 +149,7 @@ void LocalBeRoPostRiver::distributePot() {
// aktuellen highestCardsValueTemp berechnen, von denen die noch an der Potverteilung teilnehmen // aktuellen highestCardsValueTemp berechnen, von denen die noch an der Potverteilung teilnehmen
for(i=0; i<MAX_NUMBER_OF_PLAYERS; i++) { for(i=0; i<MAX_NUMBER_OF_PLAYERS; i++) {
if(cardsValueArray[i] > highestCardsValueTemp ) { if(cardsValueArray[i] > highestCardsValueTemp ) {
highestCardsValueTemp = myHand->getPlayerArray()[i]->getMyCardsValueInt(); highestCardsValueTemp = getMyHand()->getPlayerArray()[i]->getMyCardsValueInt();
} }
} }
@@ -184,10 +172,10 @@ void LocalBeRoPostRiver::distributePot() {
winner = winnersArray[0]; winner = winnersArray[0];
// Winner ist nicht All In gegangen -> bekommt den gesamten Pot // 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()); // getMyHand()->getPlayerArray()[winner]->setMyCash(getMyHand()->getPlayerArray()[winner]->getMyCash()+getMyHand()->getBoard()->getPot());
// myHand->getBoard()->setPot(0); // getMyHand()->getBoard()->setPot(0);
// playerWantsPotCounter = 1; // playerWantsPotCounter = 1;
// //
// } // }
@@ -198,12 +186,12 @@ void LocalBeRoPostRiver::distributePot() {
for(i=0; i<MAX_NUMBER_OF_PLAYERS; i++) { for(i=0; i<MAX_NUMBER_OF_PLAYERS; i++) {
// zuerst prfen ob ein gefoldeter Spieler was gesetzt hatte // zuerst prfen ob ein gefoldeter Spieler was gesetzt hatte
if(i != winner && myHand->getPlayerArray()[i]->getMyAction() == 1) { if(i != winner && getMyHand()->getPlayerArray()[i]->getMyAction() == 1) {
// diesen Teil aus dem Pot holen // 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 // 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 // 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; roundSetArray[i] = 0;
@@ -216,9 +204,9 @@ void LocalBeRoPostRiver::distributePot() {
if(roundSetArray[winner] >= roundSetArray[i]) { if(roundSetArray[winner] >= roundSetArray[i]) {
// von denen alles holen // 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 // 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 // diese Spieler dann von der weiteren Potverteilung ausschlieᅵn
cardsValueArray[i] = 0; cardsValueArray[i] = 0;
playerWantsPotCounter--; playerWantsPotCounter--;
@@ -230,8 +218,8 @@ void LocalBeRoPostRiver::distributePot() {
else { else {
// den eigenen Setanteil aus dem Pot holen // den eigenen Setanteil aus dem Pot holen
myHand->getPlayerArray()[winner]->setMyCash(myHand->getPlayerArray()[winner]->getMyCash()+roundSetArray[winner]); getMyHand()->getPlayerArray()[winner]->setMyCash(getMyHand()->getPlayerArray()[winner]->getMyCash()+roundSetArray[winner]);
myHand->getBoard()->setPot(myHand->getBoard()->getPot() - roundSetArray[winner]); getMyHand()->getBoard()->setPot(getMyHand()->getBoard()->getPot() - roundSetArray[winner]);
// den Set des Gegners um den bereits abgenommenen Setanteil verkleinern // den Set des Gegners um den bereits abgenommenen Setanteil verkleinern
roundSetArray[i] = roundSetArray[i] - roundSetArray[winner]; roundSetArray[i] = roundSetArray[i] - roundSetArray[winner];
// diese Spieler nehmen an der weiteren Potverteilung teil // diese Spieler nehmen an der weiteren Potverteilung teil
@@ -242,8 +230,8 @@ void LocalBeRoPostRiver::distributePot() {
// // } // // }
// zum Scluss noch eingenen Set wieder holen // zum Scluss noch eingenen Set wieder holen
myHand->getPlayerArray()[winner]->setMyCash(myHand->getPlayerArray()[winner]->getMyCash()+roundSetArray[winner]); getMyHand()->getPlayerArray()[winner]->setMyCash(getMyHand()->getPlayerArray()[winner]->getMyCash()+roundSetArray[winner]);
myHand->getBoard()->setPot(myHand->getBoard()->getPot() - 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 // nicht mehr an der weiteren Potverteilung teilnehmen, da man sich alles geholt hat was einem zusteht
cardsValueArray[winner] = 0; cardsValueArray[winner] = 0;
playerWantsPotCounter--; playerWantsPotCounter--;
@@ -284,12 +272,12 @@ void LocalBeRoPostRiver::distributePot() {
} }
// zuerst prfen ob ein gefoldeter Spieler was gesetzt hatte // 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 // diesen Teil aus dem Pot holen und dem winnersPot geben
winnersPot += roundSetArray[i]; winnersPot += roundSetArray[i];
// Pot dementsprechend verkleinern // 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 // 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; roundSetArray[i] = 0;
@@ -304,7 +292,7 @@ void LocalBeRoPostRiver::distributePot() {
// von denen alles holen // von denen alles holen
winnersPot += roundSetArray[i]; winnersPot += roundSetArray[i];
// Pot dementsprechend verkleinern // 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 // diese Spieler dann von der weiteren Potverteilung ausschlieᅵn
cardsValueArray[i] = 0; cardsValueArray[i] = 0;
playerWantsPotCounter--; playerWantsPotCounter--;
@@ -317,7 +305,7 @@ void LocalBeRoPostRiver::distributePot() {
// den eigenen Setanteil aus dem Pot holen // den eigenen Setanteil aus dem Pot holen
winnersPot += winnersMaxSet; 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 // den Set des Gegners um den bereits abgenommenen Setanteil verkleinern
roundSetArray[i] = roundSetArray[i] - winnersMaxSet; roundSetArray[i] = roundSetArray[i] - winnersMaxSet;
// diese Spieler nehmen an der weiteren Potverteilung teil // 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 // zum Schluss noch die eingenen Set aus dem Pot holen
winnersPot += winnersSets; winnersPot += winnersSets;
myHand->getBoard()->setPot(myHand->getBoard()->getPot() - winnersSets); getMyHand()->getBoard()->setPot(getMyHand()->getBoard()->getPot() - winnersSets);
// winnersPot verteilen (anteilmᅵig) // winnersPot verteilen (anteilmᅵig)
for(i=0; i<winnersCounter; i++) { for(i=0; i<winnersCounter; i++) {
myHand->getPlayerArray()[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[] winnersArray;
delete[] roundSetArray; delete[] roundSetArray;
+1 -1
View File
@@ -34,7 +34,7 @@ public:
void setHighestCardsValue(int theValue) { highestCardsValue = theValue;} void setHighestCardsValue(int theValue) { highestCardsValue = theValue;}
int getHighestCardsValue() const { return highestCardsValue;} int getHighestCardsValue() const { return highestCardsValue;}
void postRiverRun(); void run();
void distributePot(); void distributePot();
private: private:
+28 -28
View File
@@ -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) 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 // // BigBlind ermitteln
bigBlindPosition = dealerPosition; bigBlindPosition = getDealerPosition();
while (myHand->getPlayerArray()[bigBlindPosition]->getMyButton() != 3) { while (getMyHand()->getPlayerArray()[bigBlindPosition]->getMyButton() != BUTTON_BIG_BLIND) {
bigBlindPosition = (bigBlindPosition+1)%(MAX_NUMBER_OF_PLAYERS); bigBlindPosition = (bigBlindPosition+1)%(MAX_NUMBER_OF_PLAYERS);
} }
// // erste Spielernummer fr preflopRun() setzen // // 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 ) // prfe, ob alle Sets gleich sind ( falls nicht, dann allHighestSet = 0 )
for(i=0; i<MAX_NUMBER_OF_PLAYERS; i++) { for(i=0; i<MAX_NUMBER_OF_PLAYERS; i++) {
if(myHand->getPlayerArray()[i]->getMyActiveStatus() && myHand->getPlayerArray()[i]->getMyAction() != 1 && myHand->getPlayerArray()[i]->getMyAction() != 6) { if(getMyHand()->getPlayerArray()[i]->getMyActiveStatus() && getMyHand()->getPlayerArray()[i]->getMyAction() != PLAYER_ACTION_FOLD && getMyHand()->getPlayerArray()[i]->getMyAction() != PLAYER_ACTION_ALLIN) {
if(highestSet != myHand->getPlayerArray()[i]->getMySet()) { allHighestSet=0; } if(getHighestSet() != getMyHand()->getPlayerArray()[i]->getMySet()) { allHighestSet=0; }
} }
} }
// BigBlind ermitteln // BigBlind ermitteln
bigBlindPosition = dealerPosition; bigBlindPosition = getDealerPosition();
while (myHand->getPlayerArray()[bigBlindPosition]->getMyButton() != 3) { while (getMyHand()->getPlayerArray()[bigBlindPosition]->getMyButton() != BUTTON_BIG_BLIND) {
bigBlindPosition = (bigBlindPosition+1)%(MAX_NUMBER_OF_PLAYERS); bigBlindPosition = (bigBlindPosition+1)%(MAX_NUMBER_OF_PLAYERS);
} }
// prfen, ob Preflop wirklich dran ist // 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 // Preflop nicht dran, weil wir nicht mehr in erster PreflopRunde und alle Sets gleich sind
//also gehe in Flop //also gehe in Flop
myHand->setActualRound(GAME_STATE_FLOP); getMyHand()->setActualRound(GAME_STATE_FLOP);
//Action loeschen und ActionButtons refresh //Action loeschen und ActionButtons refresh
for(i=0; i<MAX_NUMBER_OF_PLAYERS; i++) { for(i=0; i<MAX_NUMBER_OF_PLAYERS; i++) {
if(myHand->getPlayerArray()[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 //Sets in den Pot verschieben und Sets = 0 und Pot-refresh
myHand->getBoard()->collectSets(); getMyHand()->getBoard()->collectSets();
myHand->getBoard()->collectPot(); getMyHand()->getBoard()->collectPot();
myHand->getGuiInterface()->refreshPot(); getMyHand()->getGuiInterface()->refreshPot();
myHand->getGuiInterface()->refreshSet(); getMyHand()->getGuiInterface()->refreshSet();
myHand->getGuiInterface()->refreshCash(); getMyHand()->getGuiInterface()->refreshCash();
for(i=0; i<MAX_NUMBER_OF_PLAYERS; i++) { myHand->getGuiInterface()->refreshAction(i,0); } for(i=0; i<MAX_NUMBER_OF_PLAYERS; i++) { getMyHand()->getGuiInterface()->refreshAction(i,PLAYER_ACTION_NONE); }
myHand->switchRounds(); getMyHand()->switchRounds();
} }
else { else {
// Preflop ist wirklich dran // Preflop ist wirklich dran
@@ -99,25 +99,25 @@ void LocalBeRoPreflop::run() {
// naechsten Spieler ermitteln // naechsten Spieler ermitteln
do { do {
playersTurn = (playersTurn+1)%(MAX_NUMBER_OF_PLAYERS); setPlayersTurn((getPlayersTurn()+1)%(MAX_NUMBER_OF_PLAYERS));
// falls BigBlind, dann PreflopFirstRound zuende // 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 //highlight active players groupbox and clear action
myHand->getGuiInterface()->refreshGroupbox(playersTurn,2); getMyHand()->getGuiInterface()->refreshGroupbox(getPlayersTurn(),2);
myHand->getGuiInterface()->refreshAction(playersTurn,0); getMyHand()->getGuiInterface()->refreshAction(getPlayersTurn(),PLAYER_ACTION_NONE);
if(playersTurn == 0) { if(getPlayersTurn() == 0) {
// Wir sind dran // Wir sind dran
myHand->getGuiInterface()->meInAction(); getMyHand()->getGuiInterface()->meInAction();
} }
else { else {
//Gegner sind dran //Gegner sind dran
// cout << "NextPlayerSpeed3 start" << endl; // cout << "NextPlayerSpeed3 start" << endl;
myHand->getGuiInterface()->beRoAnimation2(myBeRoID); getMyHand()->getGuiInterface()->beRoAnimation2(getMyBeRoID());
} }
} }
} }
-5
View File
@@ -126,8 +126,3 @@ ClientBeRo::run()
{ {
} }
void
ClientBeRo::postRiverRun()
{
}
-1
View File
@@ -49,7 +49,6 @@ public:
void nextPlayer(); void nextPlayer();
void run(); void run();
void postRiverRun();
private: private:
+4 -2
View File
@@ -45,7 +45,9 @@ enum PlayerAction {
PLAYER_ACTION_ALLIN }; PLAYER_ACTION_ALLIN };
enum Button { enum Button {
BUTTON_SMALL_BLIND = 2, BUTTON_NONE = 0,
BUTTON_BIG_BLIND = 3 }; BUTTON_DEALER,
BUTTON_SMALL_BLIND,
BUTTON_BIG_BLIND };
#endif #endif
+2 -2
View File
@@ -1875,7 +1875,7 @@ void mainWindowImpl::riverAnimation2() { riverAnimation2Timer->start(nextPlayerS
void mainWindowImpl::riverAnimation2Action() { mySession->getCurrentGame()->getCurrentHand()->getRiver()->nextPlayer(); } void mainWindowImpl::riverAnimation2Action() { mySession->getCurrentGame()->getCurrentHand()->getRiver()->nextPlayer(); }
void mainWindowImpl::postRiverAnimation1() { postRiverAnimation1Timer->start(nextPlayerSpeed2); } 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() { void mainWindowImpl::postRiverRunAnimation1() {
@@ -1982,7 +1982,7 @@ void mainWindowImpl::postRiverRunAnimation3() {
HandInterface *currentHand = mySession->getCurrentGame()->getCurrentHand(); HandInterface *currentHand = mySession->getCurrentGame()->getCurrentHand();
//Alle Winner erhellen und "Winner" schreiben //Alle Winner erhellen und "Winner" schreiben
for(i=0; i<MAX_NUMBER_OF_PLAYERS; i++) { for(i=0; i<MAX_NUMBER_OF_PLAYERS; i++) {
if(currentHand->getPlayerArray()[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(); // QPalette tempPalette = groupBoxArray[i]->palette();
// tempPalette.setColor(QPalette::Window, highlight); // tempPalette.setColor(QPalette::Window, highlight);
+1 -1
View File
@@ -614,7 +614,7 @@ ServerRecvStateStartRound::Process(ServerRecvThread &server)
else // hand is over else // hand is over
{ {
// Let the engine find out the winner(s). // 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. // Retrieve active players. If only one player is left, no cards are shown.
std::list<PlayerInterface *> activePlayers = GetActivePlayers(curGame); std::list<PlayerInterface *> activePlayers = GetActivePlayers(curGame);