private void escoger_respuesta_correcta()
    {
        coneccion_db = conex_db.Abrir_DB();

        comando_db = coneccion_db.CreateCommand();

        string query = string.Format("SELECT DISTINCT r.cod_respuesta, r.respuesta_descripcion " +
                                     "FROM preguntas p " +
                                     "INNER JOIN res_pre rp ON p.cod_pregunta = rp.cod_pregunta " +
                                     "INNER JOIN respuesta r ON rp.cod_respuesta = r.cod_respuesta " +
                                     "WHERE r.respuesta_activo = 1 AND p.preguntas_activo = 1 AND p.cod_pregunta = \"{0}\" AND rp.respuesta_correcta = 1 " +
                                     "ORDER BY random() " +
                                     "LIMIT 1 ", Cod_Pregunta);

        //Debug.Log(query);

        comando_db.CommandText = query;
        lector_db = comando_db.ExecuteReader();

        if (lector_db.Read())
        {
            string cod_respuesta  = lector_db.GetString(0);
            string texto_pregunta = lector_db.GetString(1);
            //Debug.Log(cod_respuesta + " " + texto_pregunta);
            respuestas.Add(new Respuesta(cod_respuesta, texto_pregunta));
        }

        lector_db.Close();
        lector_db = null;
        comando_db.Dispose();
        comando_db = null;
        coneccion_db.Close();
        coneccion_db = null;
    }
    void desbloquear_nivel()
    {
        coneccion_db = conex_db.Abrir_DB();

        comando_db = coneccion_db.CreateCommand();

        string query = string.Format("UPDATE nivel_desbloqueado SET disponible = 1 WHERE (nombre_nivel, nombre_cuenta) IN (SELECT nj.nombre_nivel, nd.nombre_cuenta FROM nivel_desbloqueado nd INNER JOIN usuario u ON nd.nombre_cuenta = u.nombre_cuenta INNER JOIN nivel_juego nj ON nj.nombre_nivel = nd.nombre_nivel WHERE nd.nombre_cuenta = \"{0}\" AND nd.disponible = 0 AND nj.nivel_requerido <= u.nivel_cuenta);", Global_Session.Nombre_Usuario);

        comando_db.CommandText = query;

        int filas = comando_db.ExecuteNonQuery();

        if (filas <= 0)
        {
            //Debug.Log("No se actualizo nivel.");
        }
        else
        {
            //Debug.Log("Nivel actualizado");
        }

        comando_db.Dispose();
        comando_db = null;
        coneccion_db.Close();
        coneccion_db = null;
    }
    private void Responder(string cod_pregunta, string cod_res, string txt_res)
    {
        coneccion_db = conex_db.Abrir_DB();

        comando_db = coneccion_db.CreateCommand();

        bool   res_correcta = false;
        string query        = string.Format("SELECT RP.respuesta_correcta " +
                                            "FROM preguntas p " +
                                            "INNER JOIN res_pre rp ON p.cod_pregunta = rp.cod_pregunta " +
                                            "INNER JOIN respuesta r ON rp.cod_respuesta = r.cod_respuesta " +
                                            "WHERE p.cod_pregunta = \"{0}\" AND r.cod_respuesta = \"{1}\";", cod_pregunta, cod_res);

        comando_db.CommandText = query;
        lector_db = comando_db.ExecuteReader();

        if (lector_db.Read())
        {
            res_correcta = lector_db.GetBoolean(0);
        }

        lector_db.Close();
        lector_db = null;
        comando_db.Dispose();
        comando_db = null;
        coneccion_db.Close();
        coneccion_db = null;

        responder_pregunta(res_correcta, txt_res);
        //Debug.Log(res_correcta);
        //Debug.Log(EventSystem.current.currentSelectedGameObject.transform.GetChild(0).gameObject.GetComponent<Text>().text);
    }
    float getPorcentajeAcertado(DateTime fecha)
    {
        string strFecha = fecha.ToString("yyyy-MM-dd");

        db_conexion = conexion_db.Abrir_DB();

        db_comando = db_conexion.CreateCommand();
        string query = string.Format("SELECT (SUM(E.porcentaje_acertado) / COUNT(*)) AS porcentaje_Exito FROM estadistica e INNER JOIN usuario u ON e.nombre_cuenta = u.nombre_cuenta WHERE u.nombre_cuenta = \"{0}\" AND date(e.fecha_dia) = \"{1}\" GROUP BY e.fecha_dia;", Global_Session.Nombre_Usuario, strFecha);

        db_comando.CommandText = query;
        db_lector = db_comando.ExecuteReader();

        float porcentaje_acertado = 0;

        if (db_lector.Read())
        {
            porcentaje_acertado = db_lector.GetFloat(0);
        }

        db_lector.Close();
        db_lector = null;
        db_comando.Dispose();
        db_comando = null;
        conexion_db.Cerrar_DB();

        return(porcentaje_acertado);
    }
Exemple #5
0
    int puntaje_Total_Nivel()
    {
        coneccion_db = conex_db.Abrir_DB();

        comando_db = coneccion_db.CreateCommand();

        TimeSpan Tiempo_Optimo;
        string   query = string.Format("SELECT tiempo FROM nivel_juego WHERE nombre_nivel = \"{0}\" AND nivel_juego_activo = 1;", Global_Session.Nombre_Nivel);

        comando_db.CommandText = query;
        lector_db = comando_db.ExecuteReader();

        if (lector_db.Read())
        {
            Tiempo_Optimo = TimeSpan.Parse(lector_db.GetString(0));
        }

        lector_db.Close();
        lector_db = null;
        comando_db.Dispose();
        comando_db = null;
        coneccion_db.Close();
        coneccion_db = null;
        return(Convert.ToInt32(Math.Floor(Tiempo_Optimo.TotalSeconds)));
    }
Exemple #6
0
    bool iniciar_sesion_cuenta_db(string nombre_cuenta, string contraseña)
    {
        bool existe_cuenta = false;

        db_conexion = conexion_db.Abrir_DB();

        db_comando = db_conexion.CreateCommand();
        string query = string.Format("SELECT nombre_cuenta, contraseña FROM usuario WHERE usuario_cuenta_activo = 1 AND nombre_cuenta = \"{0}\" AND contraseña = \"{1}\";", nombre_cuenta, contraseña);

        db_comando.CommandText = query;

        db_lector = db_comando.ExecuteReader();

        while (db_lector.Read())
        {
            string nom_cuenta = db_lector.GetString(0);
            string con        = db_lector.GetString(1);
            if (nombre_cuenta == nom_cuenta && contraseña == con)
            {
                existe_cuenta = true;
                Global_Session.Nombre_Usuario = nom_cuenta;
                Global_Session.Contraseña     = con;
                break;
            }
        }

        conexion_db.Cerrar_DB();

        return(existe_cuenta);
    }
Exemple #7
0
    void buscar_logro_db()
    {
        lista_logro.Clear();

        coneccion_db = conex_db.Abrir_DB();

        comando_db = coneccion_db.CreateCommand();

        string query = string.Format("SELECT tl.nombre_tipo_logro, tl.descripcion_logro, ln.cantidad_objetivo_alcanzar, l.progreso_objetivo_actual, l.nivel_logro FROM logro l INNER JOIN tipo_logro tl ON l.nombre_tipo_logro = tl.nombre_tipo_logro INNER JOIN logro_niveles ln ON tl.nombre_tipo_logro = ln.nombre_tipo_logro INNER JOIN usuario u ON u.nombre_cuenta = l.nombre_cuenta WHERE l.nivel_logro = ln.nivel_logro AND u.nombre_cuenta = \"{0}\" AND u.usuario_cuenta_activo = 1;", Global_Session.Nombre_Usuario);

        Debug.Log(query);

        comando_db.CommandText = query;

        lector_db = comando_db.ExecuteReader();

        while (lector_db.Read())
        {
            string nombre_logro               = lector_db.GetString(0);
            string descripcion_logro          = lector_db.GetString(1);
            int    cantidad_objetivo_alcanzar = lector_db.GetInt32(2);
            int    progreso_objetivo_actual   = lector_db.GetInt32(3);
            int    nivel_logro = lector_db.GetInt32(4);
            Sprite img_logro   = lista_img_logro[1];

            for (int i = 0; i < lista_img_logro.Count; i++)
            {
                if (nombre_logro == lista_img_logro[i].name)
                {
                    img_logro = lista_img_logro[i];
                    //Debug.Log(lista_img_logro[i].name);
                }
            }

            logros_mensaje_debug.text = string.Format("{0}, {1}, {2}, {3}", nombre_logro, descripcion_logro, cantidad_objetivo_alcanzar, progreso_objetivo_actual);

            //Debug.Log(string.Format("{0} , {1} , {2} , {3}", nombre_logro, descripcion_logro, cantidad_objetivo_alcanzar, progreso_objetivo_actual));
            lista_logro.Add(new Logro(nombre_logro, descripcion_logro, cantidad_objetivo_alcanzar, progreso_objetivo_actual, img_logro, nivel_logro));
        }

        lector_db.Close();
        lector_db = null;
        comando_db.Dispose();
        comando_db = null;
        coneccion_db.Close();
        coneccion_db = null;
    }
    void actualizar_info()
    {
        db_conexion = conexion_db.Abrir_DB();

        db_comando = db_conexion.CreateCommand();

        string query = string.Format("SELECT nivel_cuenta, exp_actual, exp_sig_nivel, puntos, nombre_usuario, apellido_usuario FROM usuario WHERE nombre_cuenta = \"{0}\" and contraseña = \"{1}\";", Global_Session.Nombre_Usuario, Global_Session.Contraseña);
        //Debug.Log(query);

        int nivel_cuenta = 0;
        int puntos       = 0;

        db_comando.CommandText = query;
        db_lector = db_comando.ExecuteReader();

        if (db_lector.Read())
        {
            //Debug.Log(string.Format("{0}  :  {1}",Global_Session.Nombre_Usuario, Global_Session.Contraseña));
            //Debug.Log(string.Format("{0}, {1}, {2}, {3}", db_lector.GetInt32(0).ToString(), db_lector.GetInt32(1).ToString(), db_lector.GetInt32(2).ToString(), db_lector.GetInt32(3).ToString()));

            nivel_cuenta = db_lector.GetInt32(0);
            puntos       = db_lector.GetInt32(3);
            string nombre   = db_lector.GetString(4);
            string apellido = db_lector.GetString(5);

            txt_level.text = "NV. " + nivel_cuenta.ToString();
            txt_exp_total_y_sig_nivel.text = "E X P. " + db_lector.GetInt32(1).ToString() + "/" + db_lector.GetInt32(2).ToString();
            txt_puntos.text = puntos.ToString();
            img_barra_experiencia.fillAmount = (((100 * (float)db_lector.GetInt32(1)) / (float)db_lector.GetInt32(2)) / 100);
            Debug.Log((((100 * (float)db_lector.GetInt32(1)) / (float)db_lector.GetInt32(2))) / 100);

            Global_Session.Nombre   = nombre;
            Global_Session.Apellido = apellido;
            Global_Session.Puntos   = puntos.ToString();
        }

        db_lector.Close();
        db_lector = null;
        db_comando.Dispose();
        db_comando = null;
        db_conexion.Close();
        db_conexion = null;

        string[] nombres_logros = { "DINERO_PUNTOS", "NIVEL_ALCANZADO" };
        actualizar_logro(puntos, nombres_logros[0]);
        actualizar_logro(nivel_cuenta, nombres_logros[1]);
    }
Exemple #9
0
    public int buscar_cantidad_preguntas()
    {
        coneccion_db = conex_db.Abrir_DB();

        comando_db = coneccion_db.CreateCommand();

        string query = string.Format("SELECT cantidad_preguntas FROM nivel_juego nj WHERE nombre_nivel = \"{0}\" AND nivel_juego_activo = 1;", Global_Session.Nombre_Nivel);

        comando_db.CommandText = query;

        try
        {
            lector_db = comando_db.ExecuteReader();

            if (lector_db.Read())
            {
                int cant_preguntas = 0;
                cant_preguntas = lector_db.GetInt32(0);
                //Debug.Log(cant_preguntas);

                lector_db.Close();
                lector_db = null;
                comando_db.Dispose();
                comando_db = null;
                coneccion_db.Close();
                coneccion_db = null;
                return(cant_preguntas);
            }

            lector_db.Close();
            lector_db = null;
            comando_db.Dispose();
            comando_db = null;
            coneccion_db.Close();
            coneccion_db = null;
            return(0);
        }
        catch (System.Exception)
        {
            coneccion_db.Close();
            Debug.Log("Error buscar_cantidad_preguntas()");
            return(0);
        }
    }
    void añadir_cuenta_db(string nombre_cuenta, string nombre, string apellido, string contraseña)
    {
        db_conexion = conexion_db.Abrir_DB();

        db_comando = db_conexion.CreateCommand();
        string query = string.Format("INSERT INTO usuario Values( \"{0}\", \"{1}\", \"{2}\", \"{3}\", 1, 200, 0, 0, 1, DATE());", nombre_cuenta, nombre, apellido, contraseña);

        db_comando.CommandText = query;
        error.text             = query;
        Debug.Log(query);

        try
        {
            int filas = db_comando.ExecuteNonQuery();

            if (filas <= 0)
            {
                db_comando.Dispose();
                db_comando = null;
                conexion_db.Cerrar_DB();
                error.text = "Error, no se creo la cuenta IF.";
                Debug.Log("Error, no se creo la cuenta IF.");
            }
            else
            {
                db_comando.Dispose();
                db_comando = null;
                conexion_db.Cerrar_DB();
                error.text = "eXITO,se creo la cuenta.";
                añadir_logros_db(nombre_cuenta);
                añadir_nivel_desbloqueado_db(nombre_cuenta);
                añadir_respuestas_dadas(nombre_cuenta);
            }
        }
        catch (System.Exception)
        {
            error.text = "Error, no se creo la cuenta CATCH.";
            Debug.Log("Error, no se creo la cuenta CATCH.");
            throw;
        }
    }
    private void insertar_resultado_juego()
    {
        string hoy = DateTime.Now.ToString("yyyy-MM-dd");

        coneccion_db = conex_db.Abrir_DB();

        comando_db = coneccion_db.CreateCommand();

        string query = string.Format("INSERT INTO juego_resultados " +
                                     "VALUES( \"{0}\", \"{1}\", {2}, {3}, \"{4}\", {5}, {6}, \"{7}\");"
                                     , Global_Session.Nombre_Usuario, Global_Session.Nombre_Nivel, Cant_Preguntas_Correctas, Cant_Preguntas_Incorrectas, Preguntas_Tiempo_Total, Preguntas_Puntos, Experiencia_Obtenida, hoy);

        comando_db.CommandText = query;

        try
        {
            int filas = comando_db.ExecuteNonQuery();

            comando_db.Dispose();
            comando_db = null;
            coneccion_db.Close();
            coneccion_db = null;

            if (filas <= 0)
            {
                Debug.Log("No se guardo los resultados");
            }
            else
            {
                Debug.Log("Se guardo los resultados");
            }
        }
        catch (Exception)
        {
            Debug.Log("No se guardo los resultados CATCH");
            throw;
        }
    }
Exemple #12
0
    private void escoger_dato_extra(int cantidad_datos_extra)
    {
        coneccion_db = conex_db.Abrir_DB();

        comando_db = coneccion_db.CreateCommand();

        string query = string.Format("SELECT * " +
                                     "FROM (SELECT dn.cod_dato, dc.dato_texto " +
                                     "FROM dato_cisco dc " +
                                     "INNER JOIN dato_nivel dn ON dc.cod_dato = dn.cod_dato " +
                                     "INNER JOIN nivel_juego nj ON dn.nombre_nivel = nj.nombre_nivel " +
                                     "WHERE dn.nombre_nivel = \"{0}\" AND nj.nivel_juego_activo = 1 AND dc.dato_activo = 1 " +
                                     "ORDER BY dn.cantidad_veces_visto DESC LIMIT {1}) " +
                                     "ORDER BY random();", Global_Session.Nombre_Nivel, cantidad_datos_extra);

        Debug.Log(query);

        comando_db.CommandText = query;
        lector_db = comando_db.ExecuteReader();

        while (lector_db.Read())
        {
            string cod_dato   = lector_db.GetString(0);
            string dato_texto = lector_db.GetString(1);

            Debug.Log(cod_dato + " " + dato_texto);

            dato_extra.Add(new Datos_Extra_Cisco(cod_dato, dato_texto));
        }

        lector_db.Close();
        lector_db = null;
        comando_db.Dispose();
        comando_db = null;
        coneccion_db.Close();
        coneccion_db = null;
    }
Exemple #13
0
    void actualizar_info()
    {
        db_conexion = conexion_db.Abrir_DB();

        db_comando = db_conexion.CreateCommand();

        string query = string.Format("SELECT nivel_cuenta, exp_actual, exp_sig_nivel, puntos, nombre_usuario, apellido_usuario, nombre_cuenta FROM usuario WHERE nombre_cuenta = \"{0}\" and contraseña = \"{1}\";", Global_Session.Nombre_Usuario, Global_Session.Contraseña);

        db_comando.CommandText = query;
        db_lector = db_comando.ExecuteReader();

        if (db_lector.Read())
        {
            int    nivel_cuenta  = db_lector.GetInt32(0);
            int    puntos        = db_lector.GetInt32(3);
            string nombre        = db_lector.GetString(4);
            string apellido      = db_lector.GetString(5);
            string nombre_cuenta = db_lector.GetString(6);

            txt_Nombre_Cuenta.text           = nombre_cuenta.ToString();
            txt_level.text                   = nivel_cuenta.ToString();
            txt_exp_total_y_sig_nivel.text   = db_lector.GetInt32(1).ToString() + "/" + db_lector.GetInt32(2).ToString();
            txt_puntos.text                  = puntos.ToString();
            img_barra_experiencia.fillAmount = (((100 * (float)db_lector.GetInt32(1)) / (float)db_lector.GetInt32(2)) / 100);

            Global_Session.Nombre   = nombre;
            Global_Session.Apellido = apellido;
            Global_Session.Puntos   = puntos.ToString();
        }

        db_lector.Close();
        db_lector = null;
        db_comando.Dispose();
        db_comando = null;
        db_conexion.Close();
        db_conexion = null;
    }