4 Copyright (c) 2010 Lode Vandevenne
7 This file is part of OOPoker.
9 OOPoker is free software: you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation, either version 3 of the License, or
12 (at your option) any later version.
14 OOPoker is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
19 You should have received a copy of the GNU General Public License
20 along with OOPoker. If not, see <http://www.gnu.org/licenses/>.
37 int Table::getNumActivePlayers() const
40 for(size_t i
= 0; i
< players
.size(); i
++)
42 if(!players
[i
].folded
) result
++;
47 int Table::getNumDecidingPlayers() const
49 return ::getNumActivePlayers(players
);
52 int Table::getPot() const
55 for(size_t i
= 0; i
< players
.size(); i
++)
57 result
+= players
[i
].wager
;
62 int Table::wrap(int index
) const
64 return ::wrap(index
, players
.size());
67 int Table::getSmallBlindIndex() const
69 if(players
.size() == 2)
75 return wrap(dealer
+ 1);
79 int Table::getBigBlindIndex() const
81 if(players
.size() == 2)
83 return wrap(dealer
+ 1);
87 return wrap(dealer
+ 2);
91 bool Table::hasHumanPlayer() const
93 for(size_t i
= 0; i
< players
.size(); i
++) if(players
[i
].isHuman()) return true;
99 int Table::getHighestWager() const
102 for(size_t i
= 0; i
< players
.size(); i
++)
104 if(players
[i
].wager
> result
) result
= players
[i
].wager
;
109 int Table::getCallAmount() const
111 int result
= getHighestWager() - players
[current
].wager
;
113 if(players
[current
].stack
< result
) result
= players
[current
].stack
;