implement frame for list of player who need to show their cards at the end of the hand

This commit is contained in:
floty
2010-07-15 22:37:46 +00:00
parent e2cef18b57
commit 756e92aeab
7 changed files with 78 additions and 3 deletions
@@ -78,6 +78,9 @@ void LocalBeRoPostRiver::postRiverRun() {
//Pot auf 0 setzen
getMyHand()->getBoard()->setPot(0);
// Spieler ermitteln, welche die Karten auf jeden Fall umdrehen müssen
getMyHand()->getBoard()->determinePlayerNeedToShowCards();
//starte die Animaionsreihe
getMyHand()->getGuiInterface()->postRiverRunAnimation1();
+39
View File
@@ -236,3 +236,42 @@ void LocalBoard::distributePot() {
sum += (*it_c)->getMyCash();
}
}
void LocalBoard::determinePlayerNeedToShowCards() {
// all winners have to show their cards
playerNeedToShowCards = winners;
// // the player who has done the last action has to show his cards first
// playerNeedToShowCards.push_back(currentHand->getCurrentBeRo()->getLastActionPlayer());
//
// // get position und cardsValue of the player who show his cards first
// PlayerListConstIterator lastActionPlayerIt = currentHand->getActivePlayerIt(currentHand->getCurrentBeRo()->getLastActionPlayer());
// int highestCardsValueInt = (*lastActionPlayerIt)->getMyCardsValueInt();
//
// // search for more player who have to show their cards (perhaps not all situation are considered yet)
// PlayerListConstIterator it_c;
// for(it_c = ++lastActionPlayerIt; it_c!=activePlayerList->end(); it_c++) {
// if((*it_c)->getMyCardsValueInt() >= highestCardsValueInt) {
// playerNeedToShowCards.push_back((*it_c)->getMyUniqueID());
// highestCardsValueInt = (*it_c)->getMyCardsValueInt();
// }
// }
//
// for(it_c = activePlayerList->begin(); it_c!=lastActionPlayerIt; it_c++) {
// if((*it_c)->getMyCardsValueInt() >= highestCardsValueInt) {
// playerNeedToShowCards.push_back((*it_c)->getMyUniqueID());
// highestCardsValueInt = (*it_c)->getMyCardsValueInt();
// }
// }
//
// // sort and unique the list
// playerNeedToShowCards.sort();
// playerNeedToShowCards.unique();
//
// for(it_c = activePlayerList->begin(); it_c!=activePlayerList->end(); it_c++) {
// cout << (*it_c)->getMyUniqueID() << '\t';
// }
// cout << endl;
}
+5
View File
@@ -50,10 +50,14 @@ public:
void collectPot() ;
void distributePot();
void determinePlayerNeedToShowCards();
std::list<unsigned> getWinners() const { return winners; }
void setWinners(const std::list<unsigned> &w) { winners = w; }
std::list<unsigned> getPlayerNeedToShowCards() const { return playerNeedToShowCards; }
void setPlayerNeedToShowCards(const std::list<unsigned> &p) { playerNeedToShowCards = p; }
private:
PlayerList seatsList;
@@ -63,6 +67,7 @@ private:
HandInterface *currentHand;
std::list<unsigned> winners;
std::list<unsigned> playerNeedToShowCards;
int myCards[5];
int pot;
+3 -3
View File
@@ -96,9 +96,9 @@ private:
GuiInterface *myGui;
BoardInterface *myBoard;
PlayerList seatsList;
PlayerList activePlayerList;
PlayerList runningPlayerList;
PlayerList seatsList; // all player
PlayerList activePlayerList; // all player who are not folded and not out
PlayerList runningPlayerList; // all player who are not folded, not all in and not out
std::vector<boost::shared_ptr<BeRoInterface> > myBeRo;