예제 #1
0
        public ResultadoActividad ingresarLetraUsuario(string letra)
        {
            ResultadoActividad result = new ResultadoActividad();
            comparación        comparaciónLetraUsuario;
            cargar             resultCarga = cargar.cargada;

            if (swHayPalabraNueva == true)
            {
                swHayPalabraNueva = false;                            //si la anterior fue palabra nueva, se resetea
            }
            if (this.swHayLecciónNueva == true)
            {
                this.swHayLecciónNueva = false;                                 //si la anterior fue lección nueva, se resetea
            }
            comparaciónLetraUsuario = chequearLetraUsuario(letra);

            if (comparaciónLetraUsuario == comparación.igual) //se chequea si la letra del usuario es correcta
            {
                palabraActualUsuario += letra;
                resultCarga           = cargarSiguienteLetraLección();
                result.letraCorrecta  = true;
            }
            else
            {
                if (auxLetras.esLetraConAcento(letraActualLección))
                {
                    result.esperarPorAcento = true;                                                 //si antes se escribió el acento correctamente y se esperaba por la vocal correcta, pero el usuario apretó una errónea, no se le pide que escriba de nuevo el acento, sólo la vocal
                }
                result.letraCorrecta = false;
            }

            if (comparaciónLetraUsuario == comparación.esperarAcento)
            {
                result.esperarPorAcento = true;
                result.letraCorrecta    = true;
            }

            if (this.swHayLecciónNueva) //si hay una lección nueva dentro de la misma actividad
            {
                result.nuevaLección = true;
            }
            else
            {
                result.nuevaLección = false;
            }

            //si hay aún letras en la lección o lecciones en la actividad
            if (resultCarga == cargar.cargada)
            {
                result.continúaActividad = true;
            }
            else
            {
                result.continúaActividad = false;
            }

            return(result);
        }
예제 #2
0
        private cargar cargarSiguienteLetraLección()
        {
            cargar result = cargar.cargada;

            if (textoLecciónAúnNoEscrito.Length == 0) //si ya no hay texto en la lección, se intenta cargar una siguiente
            {
                result = cargarLecciónSiguiente();
            }
            else
            {
                //if (textoLecciónAúnNoEscrito.Substring(0, 1) != " ") //si el primer carácter no es espacio
                //    textoLecciónAúnNoEscrito = " " + textoLecciónAúnNoEscrito;
                if (textoLecciónAúnNoEscrito != "")
                {
                    if (textoLecciónAúnNoEscrito.Substring(0, 1) == " ") //si hay más de un espacio
                    {
                        do                                               //se le quitan todos los espacios
                        {
                            textoLecciónAúnNoEscrito = textoLecciónAúnNoEscrito.Substring(1, textoLecciónAúnNoEscrito.Length - 1);
                            if (textoLecciónAúnNoEscrito == "")
                            {
                                break;                                 //si ya no hay más texto, se sale del bucle
                            }
                        } while (textoLecciónAúnNoEscrito.Substring(0, 1) == " ");

                        textoLecciónAúnNoEscrito = " " + textoLecciónAúnNoEscrito; //se le agrega un espacio
                    }
                }
            }


            if (result != cargar.noQuedanLecciones && !this.swHayLecciónNueva) //si todavía hay lecciones en la actividad y no es que recién se está cargando la última letra de la actividad
            {
                letraAnteriorLección     = letraActualLección;
                textoLecciónYaEscrito   += letraAnteriorLección;
                letraActualLección       = textoLecciónAúnNoEscrito.Substring(0, 1);
                textoLecciónAúnNoEscrito = textoLecciónAúnNoEscrito.Substring(1, textoLecciónAúnNoEscrito.Length - 1);
                if (letraAnteriorLección == " ")
                {
                    swHayPalabraNueva = true;
                    cargarSiguientePalabraLección();
                }
                else
                {
                    swHayPalabraNueva = false;
                }
            }

            return(result);
        }