Esempio n. 1
0
RUniforme::RUniforme(QWidget *parent, Imagen image) :
    QWidget(parent),
    ui(new Ui::RUniforme)
{
    ui->setupUi(this);

    setValues(image);

    connect(ui->ButtonCancelar, SIGNAL(clicked()), this, SLOT(cancelar()));
    connect(ui->ButtonAceptar, SIGNAL(clicked()), this, SLOT(aceptar()));

    //cambios de spinbox cambian imagen directamente
    connect(ui->doubleSpinBoxP, SIGNAL(editingFinished()), this, SLOT(cambiarImagen()));
    connect(ui->spinBoxN1, SIGNAL(editingFinished()), this, SLOT(cambiarImagen()));
    connect(ui->spinBoxN2, SIGNAL(editingFinished()), this, SLOT(cambiarImagen()));

    connect(ui->checkBoxHistR, SIGNAL(pressed()), this, SLOT(verHistRuido()));
    connect(ui->checkBoxImagenR, SIGNAL(pressed()), this, SLOT(verImagenRuido()));


    connect(ui->spinBoxN1, SIGNAL(editingFinished()), this, SLOT(comprobarRango()));
    connect(ui->spinBoxN2, SIGNAL(editingFinished()), this, SLOT(comprobarRango()));
    //cambiarImagen(); //por defecto ya se ve un ruido hecho
    //emit(changed());

}
void VentanaPrincipal::comparadorCeldas()
{
    if (dosUltimas.size()==0) // si es nula entonces asigne
    {
        dosUltimas.push_back(clickedButton);
        std::cout << "Tiene 0" << std::endl;
    }
    else if(dosUltimas.size()==1)
    {
        dosUltimas.push_back(clickedButton);

    }
    else if(dosUltimas.size()==2)
    {
        std::cout << "Tiene 2" << std::endl;
        if((dosUltimas.at(0))->nomb == dosUltimas.at(1)->nomb
           && dosUltimas.at(0)->id != dosUltimas.at(1)->id) //ya que las parejas son iguales, entonces....
        {
            dosUltimas.at(0)->setPixmap(*pixMaps[nul]);
            dosUltimas.at(1)->setPixmap(*pixMaps[nul]);
            dosUltimas.at(0)->nomb= tr("%1").arg(nul);
            dosUltimas.at(1)->nomb= tr("%1").arg(nul);
            std::cout << "Son iguales" << std::endl;
            numeroParejas--;
            objControlador->asignarPuntajeJugador(10);
            if(numeroParejas==0)
            {
                bool ok;
                QString ganador =
                        QInputDialog::getText(this,
                                                  tr("Ganador"),
                                                  tr("Has ganado en %1 segundos \n Jugador:").arg(objControlador->tiempoTotal()),
                                                  QLineEdit::Normal,"", &ok);
                objControlador->asignarNombreJugador(ganador.toStdString());
            }
        }
        else
        {
            cambiarImagen(0, dosUltimas.at(0));
            cambiarImagen(0, dosUltimas.at(1));
            dosUltimas.at(0)->hasidoClickeada = false;
            dosUltimas.at(1)->hasidoClickeada = false;
            std::cout << "Son distintas" << std::endl;
            objControlador->siguienteJugador();
            turno= (turno+1)%numerojugadores;
        }        

        bool nueva = (clickedButton->id != dosUltimas.at(0)->id &&
           clickedButton->id != dosUltimas.at(1)->id);
        dosUltimas.clear();
        if(nueva)
            dosUltimas.push_back(clickedButton);
        labelTurno->setText(tr("Turno de %1").arg(turno+1));
    }else{std::cout << "Error" << std::endl;}
}
Esempio n. 3
0
void Mesa::ctxMenu(const QPoint &pos) {
    QMenu *menu = new QMenu;
    menu->addAction(tr("Cambiar imagen"), this, SLOT(cambiarImagen()));
    menu->addAction(tr("Cambiar nombre"), this, SLOT(cambiarNombre()));
    menu->addAction(tr("Abrir Mesa"), this, SLOT(abrirMesa()));
    menu->addAction(tr("Aumentar Escala"), this, SLOT(abrirMesa()));
    menu->addAction(tr("Disminuir Escala"), this, SLOT(abrirMesa()));
    menu->exec(mapToGlobal(pos));
}
void VentanaPrincipal::manejadorBoton()
{
    clickedButton = qobject_cast<Celda *>(sender());
    int a = (clickedButton->nomb).toInt(); // numero correspondiente a la pareja
    if(a!=nul)          
    {
        if(clickedButton->hasidoClickeada && dosUltimas.size()==1)  
        {
            cambiarImagen(0, clickedButton);
            clickedButton->hasidoClickeada = false;
            dosUltimas.clear();
            std::cout << "Click sobre si misma" << std::endl;
        }else{
            cambiarImagen(a, clickedButton);
            clickedButton->hasidoClickeada = true;
            comparadorCeldas();
            std::cout << "Click sobre otra" << std::endl;
        }
    }
}