diff --git a/src/engine/local_engine/localberopreflop.cpp b/src/engine/local_engine/localberopreflop.cpp index 9e1134d7..f4c69372 100644 --- a/src/engine/local_engine/localberopreflop.cpp +++ b/src/engine/local_engine/localberopreflop.cpp @@ -59,10 +59,9 @@ void LocalBeRoPreflop::run() { int i; bool allHighestSet = true; PlayerListIterator it; - PlayerList runningPlayerList = getMyHand()->getRunningPlayerList(); // test if all running players have same sets (else allHighestSet = false) - for(it=runningPlayerList->begin(); it!=runningPlayerList->end(); it++) { + for(it=getMyHand()->getRunningPlayerList()->begin(); it!=getMyHand()->getRunningPlayerList()->end(); it++) { if(getHighestSet() != (*it)->getMySet()) { allHighestSet = false; } diff --git a/src/engine/local_engine/localhand.cpp b/src/engine/local_engine/localhand.cpp index a18c7e96..00b866a1 100755 --- a/src/engine/local_engine/localhand.cpp +++ b/src/engine/local_engine/localhand.cpp @@ -360,6 +360,13 @@ void LocalHand::switchRounds() { int i; PlayerListIterator it; + // refresh runningPlayerList + for(it=runningPlayerList->begin(); it!=runningPlayerList->end(); it++) { + if((*it)->getMyAction() == 1 || (*it)->getMyAction() == 6) { + it = runningPlayerList->erase(it); + } + } + // Anzahl der Spieler ermitteln, welche All In sind int allInPlayersCounter = 0; for (it=activePlayerList->begin(); it!=activePlayerList->end(); it++) { diff --git a/src/engine/local_engine/localplayer.cpp b/src/engine/local_engine/localplayer.cpp index 6aa64542..fe91641d 100755 --- a/src/engine/local_engine/localplayer.cpp +++ b/src/engine/local_engine/localplayer.cpp @@ -969,16 +969,6 @@ void LocalPlayer::action() { myTurn = 0; // cout << "jetzt" << endl; - - if(myAction == 1 || myAction == 6) { - PlayerListIterator it; - for(it=actualHand->getRunningPlayerList()->begin(); it!=actualHand->getRunningPlayerList()->end(); it++) { - if((*it)->getMyID() == myID) { - (*it).reset(); - it = actualHand->getRunningPlayerList()->erase(it); - } - } - } //set that i was the last active player. need this for unhighlighting groupbox actualHand->setLastPlayersTurn(myID); diff --git a/src/game.cpp b/src/game.cpp index 56265c16..691ac27a 100755 --- a/src/game.cpp +++ b/src/game.cpp @@ -101,7 +101,6 @@ Game::Game(GuiInterface* gui, boost::shared_ptr factory, playerArray.push_back(tmpPlayer); if(startQuantityPlayers > i) { activePlayerList->push_back(tmpPlayer); -// runningPlayerList->push_back(tmpPlayer); } (*runningPlayerList) = (*activePlayerList); @@ -164,10 +163,7 @@ void Game::initHand() } runningPlayerList->clear(); - - for(it=activePlayerList->begin(); it!=activePlayerList->end(); it++) { - runningPlayerList->push_back(*it); - } + (*runningPlayerList) = (*activePlayerList); // Hand erstellen actualHand = myFactory->createHand(myFactory, myGui, actualBoard, playerArray, activePlayerList, runningPlayerList, actualHandID, startQuantityPlayers, dealerPosition, actualSmallBlind, startCash);