Exemple #1
0
/**
 * @brief Instanciates and starts all listeners thread (chat, online players).
 * @pre The client have to be connected before to call this function.
 */
void MainWindow::startListeners()
{
    // Start a thread for listening server requests.
    _listener = new Listener(_player.socket, this);

    connect(_listener, SIGNAL(pseudoAlreadyExists(QString)), this, SLOT(pseudoAlreadyExists(QString)));

    connect(_listener, SIGNAL(addMsg(QString)), this, SLOT(addMsg(QString)));

    connect(_listener, SIGNAL(addPlayerToView(player)), this, SIGNAL(askAddPlayer(player)));
    connect(_listener, SIGNAL(removePlayerFromView(player)), this, SIGNAL(askRmPlayer(player)));

    connect(_listener,  SIGNAL(advisePlayerForGame(QString)), this, SLOT(adviseForGame(QString)));
    connect(_listener, SIGNAL(advisePlayerForAbortedGame(QString)), this, SLOT(adviseForAbortedGame(QString)));

    connect(_listener, SIGNAL(startGame()), this, SLOT(startGame()));

    connect(_listener, SIGNAL(clientBusy(player)), ui->rightMenuWidget, SIGNAL(askSetBusy(player)));
    connect(_listener, SIGNAL(clientFree(player)), ui->rightMenuWidget, SIGNAL(askSetFree(player)));

    connect(_listener, SIGNAL(setOpponent(player)), this, SLOT(setOpponent(player)));
    connect(_listener, SIGNAL(opponentQuit(player)), this, SLOT(opponentQuit(player)));

    connect(_listener, SIGNAL(receiveCheckerboard(checkerboard)), ui->checkerboardwidget, SLOT(receiveCheckerboard(checkerboard)));
    connect(_listener, SIGNAL(receiveWinner(player)), this, SLOT(displayWinner(player)));
}
Exemple #2
0
void GApp::onRender(void)
{
    Surface::draw(surfGrid, display, 0, 0);

    for (int i = 0; i < 9; ++i)
    {
        int x = (i % 3) * 200;
        int y = (i / 3) * 200;

        if (gameBoard.getCell(i) == TicTacToe::GRID_X) {
            Surface::draw(surfX, display, x, y);
        }
        else if (gameBoard.getCell(i) == TicTacToe::GRID_O) {
            Surface::draw(surfO, display, x, y);
        }

        TicTacToe::GridType winner = gameBoard.getWinner();
        if (winner != TicTacToe::GRID_NONE) {
            displayWinner(winner);
        }

    }

    SDL_Flip(display);
}