diff --git a/src/gui/qt/log.cpp b/src/gui/qt/log.cpp index b23f2d09..415ed545 100644 --- a/src/gui/qt/log.cpp +++ b/src/gui/qt/log.cpp @@ -83,7 +83,7 @@ Log::Log(mainWindowImpl* w) : myW(w) } } - + } Log::~Log() @@ -140,7 +140,7 @@ void Log::logNewGameHandMsg(int gameID, int handID) { QTextStream stream( myLogFile ); for(i=0; i<=linesInFile; i++) { stream.readLine(); } - stream << "

##### Game: "+QString::number(gameID,10)+" | Hand: "+QString::number(handID,10)+" #####
"; + stream << "

####################   Game: "+QString::number(gameID,10)+" | Hand: "+QString::number(handID,10)+"   ####################
"; stream << "CASH: "; int k = 0; @@ -224,17 +224,17 @@ void Log::logNewGameHandMsg(int gameID, int handID) { } -void Log::logPlayerWinsMsg(int playerID) { +void Log::logPlayerWinsMsg(int playerID, int pot) { int i; - myW->textBrowser_Log->append(QString::fromStdString(myW->getActualHand()->getPlayerArray()[playerID]->getMyName())+" wins!!! "); + myW->textBrowser_Log->append(QString::fromStdString(myW->getActualHand()->getPlayerArray()[playerID]->getMyName())+" wins "+QString::number(pot,10)+"$!!! "); myLogFile->open( QIODevice::ReadWrite ); QTextStream stream( myLogFile ); for(i=0; i<=linesInFile; i++) { stream.readLine(); } - QString msg("
"+QString::fromStdString(myW->getActualHand()->getPlayerArray()[playerID]->getMyName())+" wins!!!

\n"); + QString msg("
"+QString::fromStdString(myW->getActualHand()->getPlayerArray()[playerID]->getMyName())+" wins "+QString::number(pot,10)+"$!!!

\n"); stream << msg; myLogFile->close(); @@ -242,18 +242,102 @@ void Log::logPlayerWinsMsg(int playerID) { linesInFile++; } -void Log::logDealBoardCardsMsg(int roundID, int card1, int card2, int card3) { +void Log::logDealBoardCardsMsg(int roundID, int card1, int card2, int card3, int card4, int card5) { + int i; + + myLogFile->open( QIODevice::ReadWrite ); + QTextStream stream( myLogFile ); + for(i=0; i<=linesInFile; i++) { stream.readLine(); } + QString round; switch (roundID) { case 1: round = "Flop"; + myW->textBrowser_Log->append("--- "+round+" --- "+"["+translateCardCode(card1).at(0)+translateCardCode(card1).at(1)+","+translateCardCode(card2).at(0)+translateCardCode(card2).at(1)+","+translateCardCode(card3).at(0)+translateCardCode(card3).at(1)+"]"); + stream << "
"+round.toUpper()+" [board cards "+translateCardCode(card1).at(0)+""+translateCardCode(card1).at(1)+","+translateCardCode(card2).at(0)+""+translateCardCode(card2).at(1)+","+translateCardCode(card3).at(0)+""+translateCardCode(card3).at(1)+"]"+"
\n"; break; case 2: round = "Turn"; + myW->textBrowser_Log->append("--- "+round+" --- "+"["+translateCardCode(card1).at(0)+translateCardCode(card1).at(1)+","+translateCardCode(card2).at(0)+translateCardCode(card2).at(1)+","+translateCardCode(card3).at(0)+translateCardCode(card3).at(1)+","+translateCardCode(card4).at(0)+translateCardCode(card4).at(1)+"]"); + stream << "
"+round.toUpper()+" [board cards "+translateCardCode(card1).at(0)+""+translateCardCode(card1).at(1)+","+translateCardCode(card2).at(0)+""+translateCardCode(card2).at(1)+","+translateCardCode(card3).at(0)+""+translateCardCode(card3).at(1)+","+translateCardCode(card4).at(0)+""+translateCardCode(card4).at(1)+"]"+"
\n"; break; case 3: round = "River"; + myW->textBrowser_Log->append("--- "+round+" --- "+"["+translateCardCode(card1).at(0)+translateCardCode(card1).at(1)+","+translateCardCode(card2).at(0)+translateCardCode(card2).at(1)+","+translateCardCode(card3).at(0)+translateCardCode(card3).at(1)+","+translateCardCode(card4).at(0)+translateCardCode(card4).at(1)+","+translateCardCode(card5).at(0)+translateCardCode(card5).at(1)+"]"); + stream << "
"+round.toUpper()+" [board cards "+translateCardCode(card1).at(0)+""+translateCardCode(card1).at(1)+","+translateCardCode(card2).at(0)+""+translateCardCode(card2).at(1)+","+translateCardCode(card3).at(0)+""+translateCardCode(card3).at(1)+","+translateCardCode(card4).at(0)+""+translateCardCode(card4).at(1)+","+translateCardCode(card5).at(0)+""+translateCardCode(card5).at(1)+"]"+"
\n"; break; default: round = "ERROR"; } + myLogFile->close(); + linesInFile++; + +} + +void Log::logFlipHoleCardsMsg(std::string playerName, int card1, int card2) { + + int i; + + myLogFile->open( QIODevice::ReadWrite ); + QTextStream stream( myLogFile ); + for(i=0; i<=linesInFile; i++) { stream.readLine(); } + + myW->textBrowser_Log->append(QString::fromStdString(playerName)+" shows "+"["+translateCardCode(card1).at(0)+translateCardCode(card1).at(1)+","+translateCardCode(card2).at(0)+translateCardCode(card2).at(1)+"]"); + stream << QString::fromStdString(playerName)+" shows [ "+translateCardCode(card1).at(0)+""+translateCardCode(card1).at(1)+","+translateCardCode(card2).at(0)+""+translateCardCode(card2).at(1)+"]"+"
\n"; + + myLogFile->close(); + linesInFile++; +} + +QStringList Log::translateCardCode(int cardCode) { + + int value = cardCode%13; + int color = cardCode/13; + + QStringList cardString; + + switch (value) { + + case 0: cardString << "2"; + break; + case 1: cardString << "3"; + break; + case 2: cardString << "4"; + break; + case 3: cardString << "5"; + break; + case 4: cardString << "6"; + break; + case 5: cardString << "7"; + break; + case 6: cardString << "8"; + break; + case 7: cardString << "9"; + break; + case 8: cardString << "10"; + break; + case 9: cardString << "J"; + break; + case 10: cardString << "D"; + break; + case 11: cardString << "K"; + break; + case 12: cardString << "A"; + break; + default: cardString << "ERROR"; + } + + switch (color) { + + case 0: cardString << "d"; + break; + case 1: cardString << "h"; + break; + case 2: cardString << "s"; + break; + case 3: cardString << "c"; + break; + default: cardString << "ERROR"; + } + + return cardString; } diff --git a/src/gui/qt/log.h b/src/gui/qt/log.h index 799ce66a..1ca0b4c3 100644 --- a/src/gui/qt/log.h +++ b/src/gui/qt/log.h @@ -38,12 +38,13 @@ public: ~Log(); - void logPlayerActionMsg(std::string playName, int action, int setValue); + void logPlayerActionMsg(std::string playerName, int action, int setValue); void logNewGameHandMsg(int gameID, int handID); - void logPlayerWinsMsg(int playerID); - void logDealBoardCardsMsg(int roundID, int card1, int card2 = -1, int card3 = -1); + void logPlayerWinsMsg(int playerID, int pot); + void logDealBoardCardsMsg(int roundID, int card1, int card2, int card3, int card4 = -1, int card5 = -1); + void logFlipHoleCardsMsg(std::string playerName, int card1, int card2); - void closeLogFile(); + QStringList translateCardCode(int cardCode); private: diff --git a/src/gui/qt/mainwindow/mainwindow.ui b/src/gui/qt/mainwindow/mainwindow.ui index 07659a4b..0c92f687 100644 --- a/src/gui/qt/mainwindow/mainwindow.ui +++ b/src/gui/qt/mainwindow/mainwindow.ui @@ -1315,7 +1315,11 @@ 0 - + + + Qt::AlignCenter + + @@ -2918,6 +2922,9 @@ 0 + + Qt::AlignCenter + @@ -3395,6 +3402,9 @@ 0 + + Qt::AlignCenter + @@ -3685,6 +3695,9 @@ 0 + + Qt::AlignCenter + @@ -3975,6 +3988,9 @@ 0 + + Qt::AlignCenter + diff --git a/src/gui/qt/mainwindow/mainwindowimpl.cpp b/src/gui/qt/mainwindow/mainwindowimpl.cpp index 46dd4f25..01b1612c 100755 --- a/src/gui/qt/mainwindow/mainwindowimpl.cpp +++ b/src/gui/qt/mainwindow/mainwindowimpl.cpp @@ -92,6 +92,7 @@ mainWindowImpl::mainWindowImpl(QMainWindow *parent) textLabel_handNumber->setFont(tmpFont); textLabel_gameNumber->setFont(tmpFont); textLabel_Sets->setFont(tmpFont); + textLabel_Cash0->setFont(tmpFont); tmpFont.setPixelSize(15); textLabel_Pot->setFont(tmpFont); tmpFont.setPixelSize(21); @@ -683,11 +684,11 @@ void mainWindowImpl::refreshCash() { if(actualHand->getPlayerArray()[i]->getMyActiveStatus()) { if (i==0) { - cashLabelArray[0]->setText("

"+QString::number(actualHand->getPlayerArray()[i]->getMyCash(),10)+" $

"); + cashLabelArray[0]->setText(QString::number(actualHand->getPlayerArray()[i]->getMyCash(),10)+" $"); cashTopLabelArray[0]->setText("

Cash:

"); } else { - cashLabelArray[i]->setText("

"+QString::number(actualHand->getPlayerArray()[i]->getMyCash(),10)+" $

"); + cashLabelArray[i]->setText(QString::number(actualHand->getPlayerArray()[i]->getMyCash(),10)+" $"); cashTopLabelArray[i]->setText("

Cash:

"); } } else { @@ -916,7 +917,8 @@ void mainWindowImpl::dealFlopCards6() { //ohne Eye-Candy boardCardsArray[2]->setPixmap(card, FALSE); } - + + myLog->logDealBoardCardsMsg(1, tempBoardCardsArray[0], tempBoardCardsArray[1], tempBoardCardsArray[2]); // stable // wenn alle All In if(actualHand->getAllInCondition()) { dealFlopCards6Timer->start(AllInDealCardsSpeed); } @@ -952,6 +954,7 @@ void mainWindowImpl::dealTurnCards2() { boardCardsArray[3]->setPixmap(card, FALSE); } + myLog->logDealBoardCardsMsg(2, tempBoardCardsArray[0], tempBoardCardsArray[1], tempBoardCardsArray[2], tempBoardCardsArray[3]); // stable // wenn alle All In if(actualHand->getAllInCondition()) { dealTurnCards2Timer->start(AllInDealCardsSpeed); @@ -988,6 +991,7 @@ void mainWindowImpl::dealRiverCards2() { boardCardsArray[4]->setPixmap(card, FALSE); } + myLog->logDealBoardCardsMsg(3, tempBoardCardsArray[0], tempBoardCardsArray[1], tempBoardCardsArray[2], tempBoardCardsArray[3], tempBoardCardsArray[4]); // stable // wenn alle All In if(actualHand->getAllInCondition()) { dealRiverCards2Timer->start(AllInDealCardsSpeed); } @@ -1373,17 +1377,23 @@ void mainWindowImpl::postRiverRunAnimation2() { int tempCardsIntArray[2]; int i, j; - + for(i=1; igetPlayerArray()[i]->getMyCards(tempCardsIntArray); - for(j=0; j<2; j++) { - if(actualHand->getPlayerArray()[i]->getMyActiveStatus() && actualHand->getPlayerArray()[i]->getMyAction() != 1) { - + if(actualHand->getPlayerArray()[i]->getMyActiveStatus() && actualHand->getPlayerArray()[i]->getMyAction() != 1) { + for(j=0; j<2; j++) { + holeCardsArray[i][j]->startFlipCards(guiGameSpeed, QPixmap(":/cards/graphics/cards/"+QString::number(tempCardsIntArray[j], 10)+".png"), flipside); } + //Karten umdrehen Loggen + myLog->logFlipHoleCardsMsg(actualHand->getPlayerArray()[i]->getMyName(), tempCardsIntArray[0], tempCardsIntArray[1]); + } } + //Karten umdrehen für Human PlayerLoggen + actualHand->getPlayerArray()[0]->getMyCards(tempCardsIntArray); + myLog->logFlipHoleCardsMsg(actualHand->getPlayerArray()[0]->getMyName(), tempCardsIntArray[0], tempCardsIntArray[1]); } else { //Ohne Eye-Candy @@ -1398,16 +1408,23 @@ void mainWindowImpl::postRiverRunAnimation2() { int i, j; for(i=1; igetPlayerArray()[i]->getMyCards(tempCardsIntArray); - for(j=0; j<2; j++) { - if(actualHand->getPlayerArray()[i]->getMyActiveStatus() && actualHand->getPlayerArray()[i]->getMyAction() != 1) { - + if(actualHand->getPlayerArray()[i]->getMyActiveStatus() && actualHand->getPlayerArray()[i]->getMyAction() != 1) { + for(j=0; j<2; j++) { tempCardsPixmapArray[j].load(":/cards/graphics/cards/"+QString::number(tempCardsIntArray[j], 10)+".png"); holeCardsArray[i][j]->setPixmap(tempCardsPixmapArray[j], FALSE); } + //Karten umdrehen Loggen + myLog->logFlipHoleCardsMsg(actualHand->getPlayerArray()[i]->getMyName(), tempCardsIntArray[0], tempCardsIntArray[1] ); } } + //Karten umdrehen für Human PlayerLoggen + actualHand->getPlayerArray()[0]->getMyCards(tempCardsIntArray); + myLog->logFlipHoleCardsMsg(actualHand->getPlayerArray()[0]->getMyName(), tempCardsIntArray[0], tempCardsIntArray[1]); } + + + //Wenn einmal umgedreht dann fertig!! flipHolecardsAllInAlreadyDone = TRUE; } @@ -1432,8 +1449,6 @@ void mainWindowImpl::postRiverRunAnimation3() { groupBoxArray[i]->setPalette(tempPalette); actionLabelArray[i]->setText("

- Winner -

"); - myLog->logPlayerWinsMsg(i); - //nicht gewonnene Karten ausblenden if ( actualHand->getActivePlayersCounter() != 1 && myConfig->readConfigInt("ShowFadeOutCardsAnimation")) { @@ -1483,6 +1498,12 @@ void mainWindowImpl::postRiverRunAnimation3() { } if (index6) { boardCardsArray[4]->startFadeOut(guiGameSpeed); /*cout << "Fade Out index6" << endl;*/} } + + //Pot-Verteilung Loggen + //Pro Spieler den Cash aus dem Player und dem Label auslesen. Player_cash - Label_cash = Gewinnsumme + bool toIntBool = TRUE; + int pot = actualHand->getPlayerArray()[i]->getMyCash() - cashLabelArray[i]->text().remove(" $").toInt(&toIntBool,10) ; + myLog->logPlayerWinsMsg(i, pot); } else { @@ -1493,6 +1514,8 @@ void mainWindowImpl::postRiverRunAnimation3() { holeCardsArray[i][0]->startFadeOut(guiGameSpeed); holeCardsArray[i][1]->startFadeOut(guiGameSpeed); } + + } } @@ -1564,6 +1587,7 @@ void mainWindowImpl::postRiverRunAnimation5() { void mainWindowImpl::postRiverRunAnimation6() { + int i; refreshCash(); refreshPot(); @@ -1609,14 +1633,18 @@ void mainWindowImpl::flipHolecardsAllIn() { for(i=1; igetPlayerArray()[i]->getMyCards(tempCardsIntArray); - for(j=0; j<2; j++) { - if(actualHand->getPlayerArray()[i]->getMyActiveStatus() && actualHand->getPlayerArray()[i]->getMyAction() != 1) { - + if(actualHand->getPlayerArray()[i]->getMyActiveStatus() && actualHand->getPlayerArray()[i]->getMyAction() != 1) { + for(j=0; j<2; j++) { holeCardsArray[i][j]->startFlipCards(guiGameSpeed, QPixmap(":/cards/graphics/cards/"+QString::number(tempCardsIntArray[j], 10)+".png"), flipside); - - } + } + //Karten umdrehen Loggen + myLog->logFlipHoleCardsMsg(actualHand->getPlayerArray()[i]->getMyName(), tempCardsIntArray[0], tempCardsIntArray[1]); + } } + //Karten umdrehen für Human PlayerLoggen + actualHand->getPlayerArray()[0]->getMyCards(tempCardsIntArray); + myLog->logFlipHoleCardsMsg(actualHand->getPlayerArray()[0]->getMyName(), tempCardsIntArray[0], tempCardsIntArray[1]); } else { //Ohne Eye-Candy @@ -1631,18 +1659,24 @@ void mainWindowImpl::flipHolecardsAllIn() { int i, j; for(i=1; igetPlayerArray()[i]->getMyCards(temp2CardsIntArray); - for(j=0; j<2; j++) { - if(actualHand->getPlayerArray()[i]->getMyActiveStatus() && actualHand->getPlayerArray()[i]->getMyAction() != 1) { + if(actualHand->getPlayerArray()[i]->getMyActiveStatus() && actualHand->getPlayerArray()[i]->getMyAction() != 1) { + for(j=0; j<2; j++) { tempCardsPixmapArray[j].load(":/cards/graphics/cards/"+QString::number(temp2CardsIntArray[j], 10)+".png"); holeCardsArray[i][j]->setPixmap(tempCardsPixmapArray[j], FALSE); } + //Karten umdrehen Loggen + myLog->logFlipHoleCardsMsg(actualHand->getPlayerArray()[i]->getMyName(), temp2CardsIntArray[0], temp2CardsIntArray[1] ); } } + //Karten umdrehen für Human PlayerLoggen + actualHand->getPlayerArray()[0]->getMyCards(temp2CardsIntArray); + myLog->logFlipHoleCardsMsg(actualHand->getPlayerArray()[0]->getMyName(), temp2CardsIntArray[0], temp2CardsIntArray[1]); } - } - } + } + } + //Wenn einmal umgedreht dann fertig!! flipHolecardsAllInAlreadyDone = TRUE; }