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 @@"+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; i- 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; i