void MinimiseOpponentMovementRule::doTurn(Gameboard board, int player)
{
    calculateMove(board, player);
    if(_asked)
    {
        int x = _x;
        int y = _y;
        deleteMove();
        emit turn(x,y);
        return;
    }
    else
    {
        possibleMove move = getPossibleTurn(board, player);
        if(move.possible)
        {
            emit turn(move.x, move.y);
        }
        else
        {
            qCritical() << "FATAL ERROR in " __FILE__ << " " << __LINE__ << ": No possible move";
        }
    }
}
void MaximiseOwnMovementRule::doTurn(Gameboard board, int player)
{
    calculateMove(board, player);
    if(_asked)
    {
        int x = _x;
        int y = _y;
        deleteMove();
        emit turn(x,y);
        return;
    }
    else
    {
        possibleMove move = getPossibleTurn(board, player);
        if(move.possible)
        {
            emit turn(move.x, move.y);
        }
        else
        {
            REVERSI_ERROR_MSG("No possible move");
        }
    }
}