new distributePot function

This commit is contained in:
doitux
2007-08-10 18:44:41 +00:00
parent cf656d4ac2
commit 4ba33e88fb
6 changed files with 82 additions and 75 deletions
@@ -64,8 +64,8 @@ void LocalBeRoPostRiver::run() {
// cout << "myAggressive: " << getMyHand()->getPlayerArray()[0]->getMyAggressive() << endl;
// Pot-Verteilung
// getMyHand()->getBoard()->distributePot();
distributePot();
getMyHand()->getBoard()->distributePot();
// distributePot();
//Pot auf 0 setzen
getMyHand()->getBoard()->setPot(0);
+1 -1
View File
@@ -96,7 +96,7 @@ void LocalBeRoPreflop::run() {
// Preflop ist wirklich dran
// naechsten Spieler ermitteln
for(i=0; (MAX_NUMBER_OF_PLAYERS && (!(getMyHand()->getPlayerArray()[getPlayersTurn()]->getMyActiveStatus()) || getMyHand()->getPlayerArray()[getPlayersTurn()]->getMyAction() == PLAYER_ACTION_FOLD || getMyHand()->getPlayerArray()[getPlayersTurn()]->getMyAction() == PLAYER_ACTION_ALLIN)) || i==0; i++) {
for(i=0; (i<MAX_NUMBER_OF_PLAYERS && (!(getMyHand()->getPlayerArray()[getPlayersTurn()]->getMyActiveStatus()) || getMyHand()->getPlayerArray()[getPlayersTurn()]->getMyAction() == PLAYER_ACTION_FOLD || getMyHand()->getPlayerArray()[getPlayersTurn()]->getMyAction() == PLAYER_ACTION_ALLIN)) || i==0; i++) {
setPlayersTurn((getPlayersTurn()+1)%(MAX_NUMBER_OF_PLAYERS));
// falls BigBlind, dann PreflopFirstRound zuende
+8 -6
View File
@@ -54,7 +54,7 @@ void LocalBoard::collectPot() {
void LocalBoard::distributePot() {
size_t i,j,k;
size_t i,j,k,l;
// filling player sets vector
vector<int> playerSets;
@@ -105,7 +105,7 @@ void LocalBoard::distributePot() {
// level winners
for(j=0; j<MAX_NUMBER_OF_PLAYERS; j++) {
if(highestCardsValue == playerArray[j]->getMyCardsValueInt() && playerArray[j]->getMyActiveStatus() && playerArray[j]->getMyAction() != PLAYER_ACTION_FOLD) {
if(highestCardsValue == playerArray[j]->getMyCardsValueInt() && playerArray[j]->getMyActiveStatus() && playerArray[j]->getMyAction() != PLAYER_ACTION_FOLD && playerSets[j] >= potLevel[0]) {
potLevel.push_back(playerArray[j]->getMyID());
}
}
@@ -130,17 +130,19 @@ void LocalBoard::distributePot() {
for(j=0; j<winnerCount; j++) {
do {
winnerHit = false;
for(k=0; k<MAX_NUMBER_OF_PLAYERS && !winnerHit; k++){
winnerPointer = (winnerPointer+1)%(MAX_NUMBER_OF_PLAYERS);
winnerHit = false;
for(k=2; k<potLevel.size(); k++) {
if(winnerPointer == potLevel[k]) winnerHit = true;
for(l=2; l<potLevel.size(); l++) {
if(winnerPointer == potLevel[l]) winnerHit = true;
}
} while(!winnerHit);
}
if(j<mod) {
playerArray[winnerPointer]->setMyCash(playerArray[winnerPointer]->getMyCash() + (int)((potLevel[1])/winnerCount) + 1);
+67 -62
View File
@@ -27,7 +27,7 @@
using namespace std;
LocalHand::LocalHand(boost::shared_ptr<EngineFactory> f, GuiInterface *g, BoardInterface *b, PlayerInterface **p, int id, int sP, int aP, int dP, int sB,int sC)
: myFactory(f), myBeRo(0), myGui(g), myBoard(b), playerArray(p), myID(id), actualQuantityPlayers(aP), startQuantityPlayers(sP), dealerPosition(dP), actualRound(0), smallBlind(sB), startCash(sC), activePlayersCounter(aP), lastPlayersTurn(0), allInCondition(0),
: myFactory(f), myGui(g), myBoard(b), playerArray(p), myBeRo(0), myID(id), actualQuantityPlayers(aP), startQuantityPlayers(sP), dealerPosition(dP), actualRound(0), smallBlind(sB), startCash(sC), activePlayersCounter(aP), lastPlayersTurn(0), allInCondition(0),
cardsShown(false), bettingRoundsPlayed(0)
{
@@ -98,69 +98,75 @@ LocalHand::LocalHand(boost::shared_ptr<EngineFactory> f, GuiInterface *g, BoardI
}
delete[] cardsArray;
// // // !!!!!!!!!!!!!!!!!!!!!!!!!!!!! testing !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! //
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!! testing !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! //
// // int *temp5Array;
// //
// // tempBoardArray[0] = 25;
// // tempBoardArray[1] = 50;
// // tempBoardArray[2] = 24;
// // tempBoardArray[3] = 22;
// // tempBoardArray[4] = 51;
// //
// // myBoard->setMyCards(tempBoardArray);
// //
// // tempPlayerAndBoardArray[2] = tempBoardArray[0];
// // tempPlayerAndBoardArray[3] = tempBoardArray[1];
// // tempPlayerAndBoardArray[4] = tempBoardArray[2];
// // tempPlayerAndBoardArray[5] = tempBoardArray[3];
// // tempPlayerAndBoardArray[6] = tempBoardArray[4];
// //
// // tempPlayerArray[0] = 12;
// // tempPlayerArray[1] = 27;
// // tempPlayerAndBoardArray[0] = tempPlayerArray[0];
// // tempPlayerAndBoardArray[1] = tempPlayerArray[1];
// //
// // playerArray[0]->setMyCards(tempPlayerArray);
// // playerArray[0]->setMyCardsValueInt(myCardsValue.cardsValue(tempPlayerAndBoardArray,playerArray[0]->getMyBestHandPosition()));
// //
// // temp5Array = playerArray[0]->getMyBestHandPosition();
// //
// // // for(i=0; i<5; i++) {
// // // cout << temp5Array[i] << " ";
// // // }
// // // cout << endl;
// //
// // tempPlayerArray[0] = 23;
// // tempPlayerArray[1] = 2;
// // tempPlayerAndBoardArray[0] = tempPlayerArray[0];
// // tempPlayerAndBoardArray[1] = tempPlayerArray[1];
// //
// // playerArray[1]->setMyCards(tempPlayerArray);
// // playerArray[1]->setMyCardsValueInt(myCardsValue.cardsValue(tempPlayerAndBoardArray,playerArray[1]->getMyBestHandPosition()));
// //
// // tempPlayerArray[0] = 20;
// // tempPlayerArray[1] = 38;
// // tempPlayerAndBoardArray[0] = tempPlayerArray[0];
// // tempPlayerAndBoardArray[1] = tempPlayerArray[1];
// //
// // playerArray[2]->setMyCards(tempPlayerArray);
// // playerArray[2]->setMyCardsValueInt(myCardsValue.cardsValue(tempPlayerAndBoardArray,playerArray[2]->getMyBestHandPosition()));
// //
// // tempPlayerArray[0] = 19;
// // tempPlayerArray[1] = 10;
// // tempPlayerAndBoardArray[0] = tempPlayerArray[0];
// // tempPlayerAndBoardArray[1] = tempPlayerArray[1];
// //
// // playerArray[3]->setMyCards(tempPlayerArray);
// // playerArray[3]->setMyCardsValueInt(myCardsValue.cardsValue(tempPlayerAndBoardArray,playerArray[3]->getMyBestHandPosition()));
// //
// // for(i=0; i<4; i++) {
// // cout << i << ": " << playerArray[i]->getMyCardsValueInt() << endl;
// // }
int temp5Array[5];
tempBoardArray[0] = 8;
tempBoardArray[1] = 9;
tempBoardArray[2] = 10;
tempBoardArray[3] = 11;
tempBoardArray[4] = 13;
myBoard->setMyCards(tempBoardArray);
tempPlayerAndBoardArray[2] = tempBoardArray[0];
tempPlayerAndBoardArray[3] = tempBoardArray[1];
tempPlayerAndBoardArray[4] = tempBoardArray[2];
tempPlayerAndBoardArray[5] = tempBoardArray[3];
tempPlayerAndBoardArray[6] = tempBoardArray[4];
tempPlayerArray[0] = 13;
tempPlayerArray[1] = 25;
tempPlayerAndBoardArray[0] = tempPlayerArray[0];
tempPlayerAndBoardArray[1] = tempPlayerArray[1];
playerArray[0]->setMyCards(tempPlayerArray);
playerArray[0]->setMyCardsValueInt(myCardsValue.cardsValue(tempPlayerAndBoardArray,temp5Array));
playerArray[0]->setMyBestHandPosition(temp5Array);
// for(i=0; i<5; i++) {
// cout << temp5Array[i] << " ";
// }
// cout << endl;
tempPlayerArray[0] = 23;
tempPlayerArray[1] = 15;
tempPlayerAndBoardArray[0] = tempPlayerArray[0];
tempPlayerAndBoardArray[1] = tempPlayerArray[1];
playerArray[1]->setMyCards(tempPlayerArray);
playerArray[1]->setMyCardsValueInt(myCardsValue.cardsValue(tempPlayerAndBoardArray,temp5Array));
playerArray[1]->setMyBestHandPosition(temp5Array);
tempPlayerArray[0] = 20;
tempPlayerArray[1] = 38;
tempPlayerAndBoardArray[0] = tempPlayerArray[0];
tempPlayerAndBoardArray[1] = tempPlayerArray[1];
playerArray[2]->setMyCards(tempPlayerArray);
playerArray[2]->setMyCardsValueInt(myCardsValue.cardsValue(tempPlayerAndBoardArray,temp5Array));
playerArray[2]->setMyBestHandPosition(temp5Array);
tempPlayerArray[0] = 19;
tempPlayerArray[1] = 21;
tempPlayerAndBoardArray[0] = tempPlayerArray[0];
tempPlayerAndBoardArray[1] = tempPlayerArray[1];
playerArray[3]->setMyCards(tempPlayerArray);
playerArray[3]->setMyCardsValueInt(myCardsValue.cardsValue(tempPlayerAndBoardArray,temp5Array));
playerArray[3]->setMyBestHandPosition(temp5Array);
// for(i=0; i<4; i++) {
// cout << i << ": " << playerArray[i]->getMyCardsValueInt() << endl;
// }
// // // ----------------------------------------
// ----------------------------------------
// Dealer, SB, BB bestimmen
assignButtons();
@@ -351,7 +357,6 @@ void LocalHand::switchRounds() {
// /*/*/*/*cout <<*/*/*/*/ "NextPlayerSpeed1 stop" << endl;
//
int currentRound = actualRound;
// cout << "NextPlayerSpeed2 start" << endl;
switch(actualRound) {
+3 -3
View File
@@ -40,9 +40,9 @@ LocalPlayer::LocalPlayer(ConfigFile *c, BoardInterface *b, int id, unsigned uniq
// if(myID==1) {
// myCash=6130;
// }
// if(myID==2) {
// myCash=2850;
// }
if(myID==2) {
myCash=37;
}
////////////////////////////
// myBestHandPosition mit -1 initialisieren
+1 -1
View File
@@ -56,7 +56,7 @@
using namespace std;
mainWindowImpl::mainWindowImpl(ConfigFile *c, QMainWindow *parent)
: QMainWindow(parent), myConfig(c), gameSpeed(0), myActionIsBet(0), myActionIsRaise(0), debugMode(0), breakAfterActualHand(FALSE)
: QMainWindow(parent), myConfig(c), gameSpeed(0), myActionIsBet(0), myActionIsRaise(0), debugMode(1), breakAfterActualHand(FALSE)
{
int i;