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
+4
View File
@@ -52,10 +52,14 @@ public:
virtual void collectPot() =0;
virtual void distributePot() =0;
virtual void determinePlayerNeedToShowCards() =0;
virtual std::list<unsigned> getWinners() const =0;
virtual void setWinners(const std::list<unsigned> &winners) =0;
virtual std::list<unsigned> getPlayerNeedToShowCards() const =0;
virtual void setPlayerNeedToShowCards(const std::list<unsigned> &playerNeedToShowCards) =0;
};
#endif
@@ -79,6 +79,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;
+19
View File
@@ -118,6 +118,12 @@ ClientBoard::distributePot()
}
void
ClientBoard::determinePlayerNeedToShowCards()
{
}
std::list<unsigned>
ClientBoard::getWinners() const
{
@@ -132,3 +138,16 @@ ClientBoard::setWinners(const std::list<unsigned> &w)
winners = w;
}
std::list<unsigned>
ClientBoard::getPlayerNeedToShowCards() const
{
boost::recursive_mutex::scoped_lock lock(m_syncMutex);
return playerNeedToShowCards;
}
void
ClientBoard::setPlayerNeedToShowCards(const std::list<unsigned> &p)
{
boost::recursive_mutex::scoped_lock lock(m_syncMutex);
playerNeedToShowCards = p;
}
+5
View File
@@ -49,10 +49,14 @@ public:
void collectPot();
void distributePot();
void determinePlayerNeedToShowCards();
std::list<unsigned> getWinners() const;
void setWinners(const std::list<unsigned> &winners);
std::list<unsigned> getPlayerNeedToShowCards() const;
void setPlayerNeedToShowCards(const std::list<unsigned> &playerNeedToShowCards);
private:
mutable boost::recursive_mutex m_syncMutex;
@@ -63,6 +67,7 @@ private:
HandInterface *currentHand;
std::list<unsigned> winners;
std::list<unsigned> playerNeedToShowCards;
int myCards[5];
int pot;