diff --git a/src/config/configfile.cpp b/src/config/configfile.cpp index 3ab2e4a2..15b9eac6 100644 --- a/src/config/configfile.cpp +++ b/src/config/configfile.cpp @@ -34,7 +34,7 @@ using namespace std; ConfigFile::ConfigFile() { // !!!! Revisionsnummer der Configdefaults !!!!! - configRev = 16; + configRev = 17; // Pfad und Dateinamen setzen #ifdef _WIN32 @@ -115,6 +115,9 @@ void ConfigFile::createDefaultConfig() { TiXmlElement * confElement22 = new TiXmlElement( "ShowRightToolBox" ); config->LinkEndChild( confElement22 ); confElement22->SetAttribute("value", 1); + TiXmlElement * confElement43 = new TiXmlElement( "ShowStatusbarMessages" ); + config->LinkEndChild( confElement43 ); + confElement43->SetAttribute("value", 1); TiXmlElement * confElement13 = new TiXmlElement( "ShowIntro" ); config->LinkEndChild( confElement13 ); confElement13->SetAttribute("value", 1); diff --git a/src/engine/local_engine/localplayer.cpp b/src/engine/local_engine/localplayer.cpp index 6d546182..426b346f 100755 --- a/src/engine/local_engine/localplayer.cpp +++ b/src/engine/local_engine/localplayer.cpp @@ -168,7 +168,7 @@ void LocalPlayer::preflopEngine() { // cout << myID << ": " << myHoleCardsValue << " - " << myNiveau[0] << " " << myNiveau[2] << " - " << myCards[0] << " " << myCards[1] << endl; // Aggresivität des humanPlayers auslesen - int aggValue = (int)(((actualHand->getPlayerArray()[0]->getMyAggressive()*1.0)/7.0 - 1.0/actualHand->getActualQuantityPlayers())*14.0); + int aggValue = (int)(((actualHand->getPlayerArray()[0]->getMyAggressive()*1.0)/7.0 - 1.0/actualHand->getActualQuantityPlayers())*21.0); // cout << aggValue << " "; @@ -277,6 +277,7 @@ void LocalPlayer::flopEngine() { int bet = 0; int i; int cBluff; + int pBluff; Tools myTool; int rand; @@ -288,9 +289,9 @@ void LocalPlayer::flopEngine() { // Niveaus setzen + Dude + Anzahl Gegenspieler // 1. Fold -- Call - myNiveau[0] = 45 + myDude4 - 6*(players - 2); + myNiveau[0] = 49 + myDude4 - 6*(players - 2); // 2. Check -- Bet - myNiveau[1] = 53 + myDude4 - 6*(players - 2); + myNiveau[1] = 54 + myDude4 - 6*(players - 2); // 3. Call -- Raise myNiveau[2] = 67 + myDude4 - 6*(players - 2); @@ -299,7 +300,7 @@ void LocalPlayer::flopEngine() { if(individualHighestSet > myCash) individualHighestSet = myCash; // Aggresivität des humanPlayers auslesen - int aggValue = (int)(((actualHand->getPlayerArray()[0]->getMyAggressive()*1.0)/7.0 - 1.0/actualHand->getActualQuantityPlayers())*14.0); + int aggValue = (int)(((actualHand->getPlayerArray()[0]->getMyAggressive()*1.0)/7.0 - 1.0/actualHand->getActualQuantityPlayers())*21.0); for(i=0; i<3; i++) { myNiveau[i] -= aggValue; @@ -400,9 +401,30 @@ void LocalPlayer::flopEngine() { if(cBluff > 60 && myOdds >= myNiveau[1] + 8) myAction = 2; if(cBluff > 50 && myOdds >= myNiveau[1] + 12) myAction = 2; } - // bet + // check else { myAction = 2; + // Position + if(myButton == 1) { + // Position-Bluff generieren + myTool.getRandNumber(1,100,1,&pBluff,0); + if(pBluff <= 16) { + bet = (pBluff/4)*2*actualHand->getSmallBlind(); + // bet zu klein + if(bet == 0) { + bet = 2*actualHand->getSmallBlind(); + } + // all in bei nur wenigen Chips + if(myCash/(2*actualHand->getSmallBlind()) <= 6) { + bet = myCash; + } + // all in bei knappem bet + if(bet > (myCash*4.0)/5.0) { + bet = myCash; + } + myAction = 4; + } + } } } @@ -743,6 +765,7 @@ void LocalPlayer::turnEngine() { int bet = 0; int i; int cBluff; + int pBluff; Tools myTool; int rand; @@ -750,14 +773,14 @@ void LocalPlayer::turnEngine() { // Niveaus setzen + Dude + Anzahl Gegenspieler // 1. Fold -- Call - myNiveau[0] = 46 + myDude4/* - 6*(actualHand->getActualQuantityPlayers() - 2)*/; + myNiveau[0] = 49 + myDude4/* - 6*(actualHand->getActualQuantityPlayers() - 2)*/; // 2. Check -- Bet myNiveau[1] = 54 + myDude4/* - 6*(actualHand->getActualQuantityPlayers() - 2)*/; // 3. Call -- Raise myNiveau[2] = 66 + myDude4/* - 6*(actualHand->getActualQuantityPlayers() - 2)*/; // Aggresivität des humanPlayers auslesen - int aggValue = (int)(((actualHand->getPlayerArray()[0]->getMyAggressive()*1.0)/7.0 - 1.0/actualHand->getActualQuantityPlayers())*14.0); + int aggValue = (int)(((actualHand->getPlayerArray()[0]->getMyAggressive()*1.0)/7.0 - 1.0/actualHand->getActualQuantityPlayers())*21.0); for(i=0; i<3; i++) { myNiveau[i] -= aggValue; @@ -866,6 +889,27 @@ void LocalPlayer::turnEngine() { // check else { myAction = 2; + // Position + if(myButton == 1) { + // Position-Bluff generieren + myTool.getRandNumber(1,100,1,&pBluff,0); + if(pBluff <= 16) { + bet = (pBluff/4)*2*actualHand->getSmallBlind(); + // bet zu klein + if(bet == 0) { + bet = 2*actualHand->getSmallBlind(); + } + // all in bei nur wenigen Chips + if(myCash/(2*actualHand->getSmallBlind()) <= 6) { + bet = myCash; + } + // all in bei knappem bet + if(bet > (myCash*4.0)/5.0) { + bet = myCash; + } + myAction = 4; + } + } } } @@ -960,19 +1004,20 @@ void LocalPlayer::riverEngine() { int i; Tools myTool; int rand; + int pBluff; readFile(); // Niveaus setzen + Dude + Anzahl Gegenspieler // 1. Fold -- Call - myNiveau[0] = 46 + myDude4/* - 6*(actualHand->getActualQuantityPlayers() - 2)*/; + myNiveau[0] = 49 + myDude4/* - 6*(actualHand->getActualQuantityPlayers() - 2)*/; // 2. Check -- Bet myNiveau[1] = 54 + myDude4/* - 6*(actualHand->getActualQuantityPlayers() - 2)*/; // 3. Call -- Raise myNiveau[2] = 66 + myDude4/* - 6*(actualHand->getActualQuantityPlayers() - 2)*/; // Aggresivität des humanPlayers auslesen - int aggValue = (int)(((actualHand->getPlayerArray()[0]->getMyAggressive()*1.0)/7.0 - 1.0/actualHand->getActualQuantityPlayers())*14.0); + int aggValue = (int)(((actualHand->getPlayerArray()[0]->getMyAggressive()*1.0)/7.0 - 1.0/actualHand->getActualQuantityPlayers())*21.0); for(i=0; i<3; i++) { myNiveau[i] -= aggValue; @@ -1045,12 +1090,8 @@ void LocalPlayer::riverEngine() { } } else { - // check - if(myOdds < myNiveau[1]) { - myAction = 2; - } // bet - else { + if(myOdds >= myNiveau[1]) { bet = (((int)myOdds-myNiveau[1])/3)*2*actualHand->getSmallBlind(); if(bet == 0) { bet = 2*actualHand->getSmallBlind(); @@ -1065,7 +1106,31 @@ void LocalPlayer::riverEngine() { } myAction = 4; } - + // check + else { + myAction = 2; + // Position + if(myButton == 1) { + // Position-Bluff generieren + myTool.getRandNumber(1,100,1,&pBluff,0); + if(pBluff <= 20) { + bet = (pBluff/4)*2*actualHand->getSmallBlind(); + // bet zu klein + if(bet == 0) { + bet = 2*actualHand->getSmallBlind(); + } + // all in bei nur wenigen Chips + if(myCash/(2*actualHand->getSmallBlind()) <= 6) { + bet = myCash; + } + // all in bei knappem bet + if(bet > (myCash*4.0)/5.0) { + bet = myCash; + } + myAction = 4; + } + } + } } // auf sBluffStatus testen --> raise statt call und bet statt check diff --git a/src/gui/qt/aboutpokerth.ui b/src/gui/qt/aboutpokerth.ui index 27b13f9c..bbd04fba 100755 --- a/src/gui/qt/aboutpokerth.ui +++ b/src/gui/qt/aboutpokerth.ui @@ -5,8 +5,8 @@ 0 0 - 485 - 291 + 487 + 365 @@ -97,8 +97,16 @@ p, li { white-space: pre-wrap; } <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Authors: </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> Felix Hammer (<a href="mailto:doitux@pokerth.net"><span style=" text-decoration: underline; color:#0000ff;">doitux@pokerth.net</span></a>)</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> - initial idea, basic architecture, gui implementation, webmaster@pokerth.net</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> Florian Thauer (<a href="mailto:floty@pokerth.net"><span style=" text-decoration: underline; color:#0000ff;">floty@pokerth.net</span></a>)</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> Lothar May (<a href="mailto:lotodore@pokerth.net"><span style=" text-decoration: underline; color:#0000ff;">lotodore@pokerth.net</span></a>)</p></body></html> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> - initial idea, basic architecture, engine development</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> Lothar May (<a href="mailto:lotodore@pokerth.net"><span style=" text-decoration: underline; color:#0000ff;">lotodore@pokerth.net</span></a>)</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> - network development</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> Oskar Lindqvist (<a href="mailto:tranberry@pokerth.net"><span style=" text-decoration: underline; color:#0000ff;">tranberry@pokerth.net</span></a>)</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> - gui graphics design, webdesign</p></body></html> + + + true diff --git a/src/gui/qt/log/log.cpp b/src/gui/qt/log/log.cpp index c0dec6b6..4d43923c 100644 --- a/src/gui/qt/log/log.cpp +++ b/src/gui/qt/log/log.cpp @@ -38,7 +38,7 @@ Log::Log(mainWindowImpl* w) : myW(w) myLogFile = new QFile(myLogDir->absolutePath()+"/pokerth-log-"+QDateTime::currentDateTime().toString("yyyy-MM-dd_hh.mm.ss")+".html"); //Logo-Pixmap extrahieren - QPixmap::QPixmap(":graphics/graphics/logo-140-100.png").save(myLogDir->absolutePath()+"/logo.png"); + QPixmap::QPixmap(":graphics/resources/graphics/logoChip3D.png").save(myLogDir->absolutePath()+"/logo.png"); // myW->textBrowser_Log->append(myLogFile->fileName()); @@ -132,7 +132,7 @@ void Log::logPlayerActionMsg(string playerName, int action, int setValue) { void Log::logNewGameHandMsg(int gameID, int handID) { - int i; + int i, j ,k; myW->textBrowser_Log->append("## Game: "+QString::number(gameID,10)+" | Hand: "+QString::number(handID,10)+" ##"); @@ -143,59 +143,54 @@ void Log::logNewGameHandMsg(int gameID, int handID) { stream << "

####################   Game: "+QString::number(gameID,10)+" | Hand: "+QString::number(handID,10)+"   ####################
"; stream << "CASH: "; - int k = 0; //Aktive Spieler zählen int activePlayersCounter = 0; for (k=0; kgetMaxQuantityPlayers(); k++) { if (myW->getActualHand()->getPlayerArray()[k]->getMyActiveStatus() == 1) activePlayersCounter++; } + k = 0; if(activePlayersCounter > 2) { for(i=0; igetActualHand()->getStartQuantityPlayers(); i++) { - - if(myW->getActualHand()->getPlayerArray()[i]->getMyButton() == 1) { - if(i == myW->getActualHand()->getStartQuantityPlayers()-1) { + + if(myW->getActualHand()->getPlayerArray()[i]->getMyActiveStatus()) { + //print cash only for active players + + + if(myW->getActualHand()->getPlayerArray()[i]->getMyButton() == 1) { + if(k==1) { stream << ", "; } + k=1; stream << QString::fromStdString(myW->getActualHand()->getPlayerArray()[i]->getMyName())+" (Dealer): "+QString::number(myW->getActualHand()->getPlayerArray()[i]->getMyCash(),10)+"$"; } else { - stream << QString::fromStdString(myW->getActualHand()->getPlayerArray()[i]->getMyName())+" (Dealer): "+QString::number(myW->getActualHand()->getPlayerArray()[i]->getMyCash(),10)+"$, "; - } - } - else { - if(i == myW->getActualHand()->getStartQuantityPlayers()-1) { + if(k==1) { stream << ", "; } + k=1; stream << QString::fromStdString(myW->getActualHand()->getPlayerArray()[i]->getMyName())+": "+QString::number(myW->getActualHand()->getPlayerArray()[i]->getMyCash()+myW->getActualHand()->getPlayerArray()[i]->getMySet(),10)+"$"; } - else { - stream << QString::fromStdString(myW->getActualHand()->getPlayerArray()[i]->getMyName())+": "+QString::number(myW->getActualHand()->getPlayerArray()[i]->getMyCash()+myW->getActualHand()->getPlayerArray()[i]->getMySet(),10)+"$, "; - } } } } else { for(i=0; igetActualHand()->getStartQuantityPlayers(); i++) { - - if(myW->getActualHand()->getPlayerArray()[i]->getMyButton() == 3) { - if(i == myW->getActualHand()->getStartQuantityPlayers()-1) { + if(myW->getActualHand()->getPlayerArray()[i]->getMyActiveStatus()) { + //print cash only for active players + if(myW->getActualHand()->getPlayerArray()[i]->getMyButton() == 3) { + if(k==1) { stream << ", "; } + k=1; stream << QString::fromStdString(myW->getActualHand()->getPlayerArray()[i]->getMyName())+" (Dealer): "+QString::number(myW->getActualHand()->getPlayerArray()[i]->getMyCash(),10)+"$"; } else { - stream << QString::fromStdString(myW->getActualHand()->getPlayerArray()[i]->getMyName())+" (Dealer): "+QString::number(myW->getActualHand()->getPlayerArray()[i]->getMyCash(),10)+"$, "; - } - } - else { - if(i == myW->getActualHand()->getStartQuantityPlayers()-1) { + if(k==1) { stream << ", "; } + k=1; stream << QString::fromStdString(myW->getActualHand()->getPlayerArray()[i]->getMyName())+": "+QString::number(myW->getActualHand()->getPlayerArray()[i]->getMyCash()+myW->getActualHand()->getPlayerArray()[i]->getMySet(),10)+"$"; } - else { - stream << QString::fromStdString(myW->getActualHand()->getPlayerArray()[i]->getMyName())+": "+QString::number(myW->getActualHand()->getPlayerArray()[i]->getMyCash()+myW->getActualHand()->getPlayerArray()[i]->getMySet(),10)+"$, "; - } } } } stream << "
BLINDS: "; for(i=0; igetMaxQuantityPlayers(); i++) { - int j,k = 0; + j = 0; //Aktive Spieler zählen int activePlayersCounter = 0; for (k=0; kgetMaxQuantityPlayers(); k++) { diff --git a/src/gui/qt/mainwindow/mainwindowimpl.cpp b/src/gui/qt/mainwindow/mainwindowimpl.cpp index 105d67dd..6a5dfd9c 100755 --- a/src/gui/qt/mainwindow/mainwindowimpl.cpp +++ b/src/gui/qt/mainwindow/mainwindowimpl.cpp @@ -472,7 +472,9 @@ mainWindowImpl::mainWindowImpl(QMainWindow *parent) this->setFocus(); //Statusbar - statusBar()->showMessage(tr("Ctrl+N to start a new Game")); + if(myConfig->readConfigInt("ShowStatusbarMessages")) { + statusBar()->showMessage(tr("Ctrl+N to start a new game")); + } //Dialoge myJoinNetworkGameDialog = new joinNetworkGameDialogImpl(this); @@ -1249,6 +1251,10 @@ void mainWindowImpl::dealRiverCards2() { void mainWindowImpl::meInAction() { + if(myConfig->readConfigInt("ShowStatusbarMessages")) { + statusBar()->showMessage(tr("F1 - Fold/All-In | F2 - Check/Call | F3 - Bet/Raise"), 15000); + } + switch (actualHand->getActualRound()) { case 0: { @@ -1353,6 +1359,8 @@ void mainWindowImpl::myFold(){ //set that i was the last active player. need this for unhighlighting groupbox actualHand->setLastPlayersTurn(0); + statusBar()->clearMessage(); + //Spiel läuft weiter nextPlayerAnimation(); } @@ -1370,6 +1378,8 @@ void mainWindowImpl::myCheck() { //set that i was the last active player. need this for unhighlighting groupbox actualHand->setLastPlayersTurn(0); + statusBar()->clearMessage(); + //Spiel läuft weiter nextPlayerAnimation(); } @@ -1413,6 +1423,8 @@ void mainWindowImpl::myCall(){ //set that i was the last active player. need this for unhighlighting groupbox actualHand->setLastPlayersTurn(0); + statusBar()->clearMessage(); + //Spiel läuft weiter nextPlayerAnimation(); } @@ -1502,6 +1514,8 @@ void mainWindowImpl::mySet(){ disableMyButtons(); + statusBar()->clearMessage(); + //set that i was the last active player. need this for unhighlighting groupbox actualHand->setLastPlayersTurn(0); @@ -1538,6 +1552,8 @@ void mainWindowImpl::myAllIn(){ disableMyButtons(); + statusBar()->clearMessage(); + //set that i was the last active player. need this for unhighlighting groupbox actualHand->setLastPlayersTurn(0); @@ -2151,16 +2167,19 @@ void mainWindowImpl::keyPressEvent ( QKeyEvent * event ) { bool ctrlPressed = FALSE; if (event->key() == 16777220) { if(spinBox_set->hasFocus()) pushButton_CallCheckSet->click(); } //ENTER - if (event->key() == 16777265) { switchLeftToolBox(); } //F2 - if (event->key() == 16777266) { switchRightToolBox(); } //F3 + if (event->key() == Qt::Key_F1) { pushButton_FoldAllin->click(); } + if (event->key() == Qt::Key_F2) { pushButton_CallCheckSet->click(); } + if (event->key() == Qt::Key_F3) { pushButton_BetRaise->click(); } + if (event->key() == Qt::Key_F10) { switchLeftToolBox(); } + if (event->key() == Qt::Key_F11) { switchRightToolBox(); } if (event->key() == Qt::Key_F) { switchFullscreen(); } //f - if (event->key() == Qt::Key_S) { showMyCards(); } //f +// if (event->key() == Qt::Key_S) { showMyCards(); } //f if (event->key() == 16777249) { pushButton_break->click(); ctrlPressed = TRUE; // QTimer::SingleShot } //CTRL - if (event->key() == 65) { pixmapLabel_card0a->setUpdatesEnabled(FALSE); } +// if (event->key() == 65) { pixmapLabel_card0a->setUpdatesEnabled(FALSE); } // if (event->key() == 66) { label_logo->hide(); } } diff --git a/src/gui/qt/settingsdialog.ui b/src/gui/qt/settingsdialog.ui index f9d542f0..958726ac 100644 --- a/src/gui/qt/settingsdialog.ui +++ b/src/gui/qt/settingsdialog.ui @@ -32,34 +32,6 @@ 6 - - - - Show Flip-Card Animation - - - - - - - Show Fade-Out Animation for Non-Winning Cards - - - - - - - Qt::Horizontal - - - - - - - Show right Toolbox (F3 to switch on/off) - - - @@ -73,14 +45,27 @@ - - + + + + Qt::Vertical + + + + 20 + 40 + + + + + + - Show Intro on Startup + Show Flip-Card Animation - + Flipside of Cards @@ -174,25 +159,47 @@ p, li { white-space: pre-wrap; } - - + + - Show left Toolbox (F2 to switch on/off) + Show Fade-Out Animation for Non-Winning Cards - - + + + + Show Intro on Startup + + + + + - Qt::Vertical + Qt::Horizontal - - - 20 - 40 - + + + + + + Show right Toolbox (F11 to switch on/off) - + + + + + + Show left Toolbox (F10 to switch on/off) + + + + + + + Show Statusbar Messages + + diff --git a/src/gui/qt/settingsdialog/settingsdialogimpl.cpp b/src/gui/qt/settingsdialog/settingsdialogimpl.cpp index 9e530ded..ccb0bd90 100644 --- a/src/gui/qt/settingsdialog/settingsdialogimpl.cpp +++ b/src/gui/qt/settingsdialog/settingsdialogimpl.cpp @@ -78,6 +78,7 @@ settingsDialogImpl::settingsDialogImpl(QWidget *parent) //Interface checkBox_showLeftToolbox->setChecked(myConfig.readConfigInt("ShowLeftToolBox")); checkBox_showRightToolbox->setChecked(myConfig.readConfigInt("ShowRightToolBox")); + checkBox_showStatusbarMessages->setChecked(myConfig.readConfigInt("ShowStatusbarMessages")); checkBox_showIntro->setChecked(myConfig.readConfigInt("ShowIntro")); checkBox_showFadeOutCardsAnimation->setChecked(myConfig.readConfigInt("ShowFadeOutCardsAnimation")); checkBox_showFlipCardsAnimation->setChecked(myConfig.readConfigInt("ShowFlipCardsAnimation")); @@ -221,6 +222,7 @@ void settingsDialogImpl::isAccepted() { // Interface myConfig.writeConfigInt("ShowLeftToolBox", checkBox_showLeftToolbox->isChecked()); myConfig.writeConfigInt("ShowRightToolBox", checkBox_showRightToolbox->isChecked()); + myConfig.writeConfigInt("ShowStatusbarMessages", checkBox_showStatusbarMessages->isChecked()); myConfig.writeConfigInt("ShowIntro", checkBox_showIntro->isChecked()); myConfig.writeConfigInt("ShowFadeOutCardsAnimation", checkBox_showFadeOutCardsAnimation->isChecked()); myConfig.writeConfigInt("ShowFlipCardsAnimation", checkBox_showFlipCardsAnimation->isChecked());