Yo tengo dudas acerca de las pistas en la actividad de poner las palabras al revés.

Si hago el código de que la pista se convierta en una "?", en caso de fallo saldrían todas interrogaciones. Como no sabía como hacer, le dije que en caso de fallo volviese a la frase original y empieza de nuevo.

Me gustaría saber cómo hacer para conservar las letras que estén bien y volver a colocar las originales.

Visitas: 599

Archivos adjuntos

Respuestas a esta discusión

Nani lo que quiere saber es ¿cómo quietar una o varias letras de un texto? Si esto dímelo y te lo explico.

Nani dijo:

Roger, como no tengo ni idea de hacer una actividad para poder poner las "h" donde hagan falta, se me ocurrió hacer dos matrices, una para la palabra sin "h" y otra con la solución, de tal manera que pudiese relacionar mediante un "if", la palabra incorrecta con la correcta.

Las otras opciones: quitar acentos, espacios, etc son más fáciles de hacer porque tienen un procedimiento claro, pero no sé cómo hacer para quitar la "h" en un sitio determinado.

Así que, ahí ando atascada.

Si me pudieses echar una mano.

Gracias.

A ver, quiero hacer una actividad similar a la de los acentos. Hay unas palabras sin h y la tienen que colocar correctamente en su sitio.

Nueva ayuda. Roger tengo los siguientes problemas con la aplicación:

1º.-No me funciona que se active un clip que se llama correcto, cuando todas las letras están colocadas correctamente (el código en la capa aciertos)

2º.-Al heredar las letras las propiedades del clip, se siguen pudiendo mover aunque se hallan quedado en su sitio, aún cambiandolas el nombre. También la función de detectar la colisión me hubiese gustado hacerla con un bucle, pero no me funciona. Está el código en el clip letra

3º.-En este ejercicio si hay dos letras iguales deberían poder ponerse indistintamente en cualquiera de los cajetines que le corresponden, pero no sé como hacer eso.

Un saludo.

 

Archivos adjuntos
Nani,  mira como lo tengo yo por si te vale.
Archivos adjuntos

Gracias Juan Manuel, pero ese ejercicio ya sé hacerlo. Quiero aprender a hacer uno que me corrija las "h", quien dice las "h", puede ser las v, b, c, z, etc. Sería muy útil.

Gracias.

 

 

P.D.: Roger, aquí falta añadir unos emoticonesssssssssssss.

Mira Nani en el código siguiente tienes una solución:

 

function quitar_letras() {
    _root.solucion = frase[random(4)];
    _root.palabra_nueva = "";
    for (n=0; n<_root.solucion.length; n++) {


        if (_root.solucion.substr(n, 1)<>"a" and _root.solucion.substr(n, 1)<>" " ) {

            _root.palabra_nueva += _root.solucion.substr(n, 1);
        } else {_root.palabra_nueva+=" "}
    }
}

Si quieres quitar más letras repites más sentencias condicionales.

Nani dijo:

Gracias Juan Manuel, pero ese ejercicio ya sé hacerlo. Quiero aprender a hacer uno que me corrija las "h", quien dice las "h", puede ser las v, b, c, z, etc. Sería muy útil.

Gracias.

 

 

P.D.: Roger, aquí falta añadir unos emoticonesssssssssssss.

Hola Javier,

He modificado creando un código más abstracto pero más potente. Ya que con pocas líneas puede servir para palabras que tengan cualquier longitud. Si te fijas construyo los nombres de variables y clips utilizando partes de las cadenas. Y utiizo el operador this para referirme al clip donde he hecho clic con el ratón.

Si hay algon que no entienas me lo dices

 

 

 

on (press) {
    if (this._name.substr(0, 1) == "l") { // Solo se arrastrará si el clip empieza por "l" de letra

        this.startDrag();
    }
}

on (release) {
   
    if (this.hitTest(_root["cuadro"+this._name.substr(5, 1)])) { // Si este clip (this) colisiona con el cuadro correspodiente
        this._x = _root["cuadro"+this._name.substr(5, 1)]._x+18;
        this._y = _root["cuadro"+this._name.substr(5, 1)]._y;
        this.stopDrag();
        _root.aciertos++;
        if (_root.aciertos==_root.longitud){_root.correcto.gotoAndStop(2);}
                       
        this._name = "borrada"+this._name.substr(5, 1);// para cambiar el nombre.
    } else {
       
       
        if (this._name.substr(0, 1) == "l") {this._x = random(400)+70;this._y = random(200)+80;}//Para evitar que al hacer clic en una letra ya colocada se vaya de sus sitio
    }

   

}

Respecto al al clip correcto lo tenías en aplha y  te lo he integrrado en este mismo código.

Respecto que si hay dos letras iguales lo puedes solucionar añadiendo un or  al if para que compruebe mediante un substr que esa letra (clip.campo_de_texto) es la misma que la palabra. No lo he hecho pero tengo la idea. Podría ser este tema el comienzo de tutorial 24.

 

 

 

 

 

 

 

 

 

 


Javier de la Cruz dijo:

Nueva ayuda. Roger tengo los siguientes problemas con la aplicación:

1º.-No me funciona que se active un clip que se llama correcto, cuando todas las letras están colocadas correctamente (el código en la capa aciertos)

2º.-Al heredar las letras las propiedades del clip, se siguen pudiendo mover aunque se hallan quedado en su sitio, aún cambiandolas el nombre. También la función de detectar la colisión me hubiese gustado hacerla con un bucle, pero no me funciona. Está el código en el clip letra

3º.-En este ejercicio si hay dos letras iguales deberían poder ponerse indistintamente en cualquiera de los cajetines que le corresponden, pero no sé como hacer eso.

Un saludo.

 

Gracias Roger. Lo probaré. De momento me he copiado el código. Lo de tener Internet tan limitado me supone un auténtico sufrimiento.

Hola Roger. Gracias por la respuesta. No se me había ocurrido que al igual que recorremos el contenido de una variable se puede recorrer el nombre de un movieclip.

 

Ahora funciona. Respecto a lo de las letras iguales entiendo lo que me quieres decir, pero no consigo hacerlo. He hecho muchas pruebas, pero no lo consigo. Mi duda es como leer la letra de un movieclip que solo tiene una letra, ya que no es una variable.

por ejemplo ¿como la leemos del this?  this.susbstr(0,1) ¿sería correcto? lo he probado pero no lo consigo. De todas formas si lo vamos a ver en el tutorial 24 ya lo veremos en su momento,

Un saludo.

Javier se debe utilizar la propiedad _name de this. Es decir this._name. Ahora sí podrás.

Pero lo que leo, con esa expresión, es el nombre del clip  no la letra que contiene el clip.

Tienes razón. Si la variable va dentro dl clip sería this.variable   y si quieres substraer pues this.variable.substr(0,1).

RSS

© 2024   Creado por roger.   Tecnología de

Emblemas  |  Reportar un problema  |  Términos de servicio