Esempio n. 1
0
bool TicTacToe::checkDraw() {
    bool draw = false;
    if (checkThreeInARow("X"))
        draw = false;
    if (checkThreeInARow("O"))
        draw = false;
    if (ui->Grid1->text() == "X" | ui->Grid1->text() == "O"){
        if (ui->Grid2->text() == "X" | ui->Grid2->text() == "O") {
            if (ui->Grid3->text() == "X" | ui->Grid3->text() == "O") {
                if (ui->Grid4->text() == "X" | ui->Grid4->text() == "O") {
                    if (ui->Grid5->text() == "X" | ui->Grid5->text() == "O") {
                        if (ui->Grid6->text() == "X" | ui->Grid6->text() == "O") {
                            if (ui->Grid7->text() == "X" | ui->Grid7->text() == "O") {
                                if (ui->Grid8->text() == "X" | ui->Grid8->text() == "O") {
                                    if (ui->Grid9->text() == "X" | ui->Grid9->text() == "O")
                                        draw = true;
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    if (draw) {
        QMessageBox *popUpBox =new QMessageBox(this);
        popUpBox->setText("game drawn");
        popUpBox->exec();
        return true;
    }
    else
        return false;
}
Esempio n. 2
0
bool TicTacToe::checkComputerWin() {
    if (checkThreeInARow("O")) {
        QMessageBox *popUpBox =new QMessageBox(this);
        popUpBox->setText("Sorry, you lost. Better luck next time");
        popUpBox->exec();
        return true;
    }
    else
        return false;
}
Esempio n. 3
0
bool TicTacToe::checkUserWin() {
    if (checkThreeInARow("X")) {
        QMessageBox *popUpBox =new QMessageBox(this);
        popUpBox->setText("Congratulations, you win");
        popUpBox->exec();
        return true;
    }
    else
        return false;
}
Esempio n. 4
0
/**
 * Check state of the active game
 *
 * @param Ui      Pointer zu ui
 * @param QObject Clicked Object (Sender von Slot )
 */
void CTicTacToe::checkGameState(QObject *sender)
{
    if (!checkThreeInARow(sender))
    {
        if (hasFreeFields())
        {
            switchToNextPlayer();
        }
    }
}