Índice del curso de ES6

  1. Introducción al Curso de Javascript
  2. console.log
  3. Comentarios
  4. Variables
  5. Operadores
  6. Estructuras condicionales
  7. Bucle for
  8. Bucle while
  9. Break! - Gran día de repaso
  10. funciones
  11. Arrow functions
  12. Métodos para trabajo con cadenas
  13. Números aleatorios
  14. location.href
  15. Colección de ejercicios
  16. DOM
  17. Efecto Parallax
  18. innerHTML
  19. Propiedad style
  20. Cambiar atributo src
  21. Añadir clase, borrar clase, alternar clase, evaluar si tiene una clase
  22. Create Element
  23. Arrays
  24. Ejercicios avanzados
  25. LocalStorage
  26. Deconstrucción
  27. fetch
  28. Import, export
  29. Modernizr

Ejercicios avanzados

  1. Tres en raya - dos jugadores

    Hacer el juego del tres en raya para dos jugadores.

    Ver solución
  2. Ejercicio – Tres en raya - un solo jugador

    El método juegaPlayer1() quedará así:

    function juegaPlayer1(){
    	board[getComputerMove()] = "X";
    }

    Por tanto, debemos crear un método getComputerMove() que creará una copia del tablero, moverá la ficha sobre esta copia y en función del resultado decidirá dónde mover en el tablero real. Para realizar el movimiento:

    1. Comprobamos si la máquina puede hacer un movimiento y ganar la partida. (utilizaremos el método evaluateWin, creado en el ejercicio anterior).
    2. Comprobamos si tras mover, el humano puede hacer un movimiento y ganar la partida.
    3. Comprueba si hay alguna esquina libre. Si lo está, la máquina mueve a la esquina.
    4. Comprueba si el centro está libre. Si lo está, la máquina mueve al centro.
    5. Mueve a cualquiera de las casillas restantes.
    Ver solución
  3. Ahorcado

    Realizar el juego del ahorcado.

    • Al iniciar el programa, este deberá escoger una palabra al azar entre 4. Esta será la palabra secreta que el usuario deberá adivinar.
    • Utilizando el código
      var palabraConGuiones = secretWord.replace(/./g, "_ ");
      el programa creará una nueva palabra con tantos guiones bajos como letras tenga la palabra secreta.
    • El usuario deberá ir introduciendo letra a letra hasta adivinar la palabra secreta.
    • Javascript trabaja las palabras como arrays de letras.
    • Después de recoger la letra introducida por el usuario, iremos comparando con las letras que tiene la palabra secreta utilizando un bucle for. En caso de coincidencia utilizaremos la siguiente función no nativa para hacer el remplazo (debe estar definida al principio del script):
      String.prototype.replaceAt=function(index, character) {
      	return this.substr(0, index) + character + this.substr(index+character.length);
      }
      
      Uso: 	palabraConGuiones = palabraConGuiones.replaceAt(i*2, letra);
    • Finalmente utilizaremos if(currentWord.indexOf("_")==-1) para comprobar si el usuario ganó.
    diagrama de flujo del juego del ahorcado imagen de juego del ahorcado Ahorcado
    
    

    El siguiente código busca una letra dentro de una palabra y muestra un mensaje de alerta cada vez que la encuentra

    <script type="text/javascript"> let palabra = "elefante"; let letra = "e"; for(let i=0; i<palabra.length; i++){ if(palabra[i] == letra){ alert("Hay una a en la posición " + i) } } </script>
  4. Juego palabras

    1. Se escoge una frase aleatoriamente entre un array de frases.
    2. Desordenamos la frase. Para simplificar el proceso, tendremos otro array donde las frases desordenadas se almacenan en el mismo órden que en el primer array.
    3. Envolvemos las palabras del array en spans independientes a los que asociamos el class button para detectar la pulsación sobre ellos.
    4. Cuando pulsamos sobre uno de estos buttons, pasamos la palabra pulsada a la fila inferior
    5. Cuando pulsamos el botón de corrección, evaluamos si la frase de arriba coincide con la frase de abajo.
    Ver ejemplo
icono de mandar un mailPreguntame lo que quieras!
Pablo Monteserín
contacta conmigoPablo Monteserín

El servicio de resolución de dudas técnicas es sólo para los usuarios premium. Si tienes cualquier otra duda, usa el formulario de contacto. ¡Gracias!