Saltar al contenido principal
Codigo Heroe
Tarea anterior
El ciclo while5/8
A la lista de tareas
  1. 1. El ciclo while
  2. 2. Actualizar la variable que usa la condición
  3. 3. Acumular una suma dentro de while
  4. 4. Otro proyecto: una máquina de dardos
  5. 5. Máquina de dardos: detectar un fallo
  6. 6. Máquina de dardos: acumular fallos
  7. 7. La instrucción break
  8. 8. Máquina de dardos: resultado final
Siguiente tarea
  • Cursos
  • Registro
  • Iniciar sesión

Loading…
En unos segundos, estará listo.

  • Teoría
  • Teoría

Máquina de dardos: detectar un fallo

¡Bien! Nuestro programa funciona. Pero estamos ganando siempre.

Agreguemos un poco de tensión: detendremos el ciclo en cuanto acumulemos tres fallos.

Para eso necesitamos una variable que cuente los fallos. La llamaremos misses. Cada vez que el jugador falle, aumentaremos esta variable en uno.

En el capítulo anterior ya agregamos comprobaciones dentro de un ciclo for. Dentro de while podemos hacer lo mismo: en cada vuelta del ciclo comprobamos el resultado actual y elegimos la acción adecuada.

El comando keks.getScore() devuelve -1 si el jugador falla. Por eso, dentro del ciclo necesitamos comprobar si el resultado del lanzamiento actual es menor que cero. Si se cumple esa condición, escribimos el fallo en la consola y aumentamos el contador de fallos en uno.

  • script.js
JavaScript
let score = 0; let total = 0; let victoryPoints = 100; while (total < victoryPoints) { score = keks.getScore(); total += score; console.log('Resultado del lanzamiento: ' + score); } console.log(total);
Consola

El código ha cambiado, haga clic en "Ejecutar" o active la ejecución automática.

Resultado de la ejecución

ObjetivosRealizado
0

    Agreguemos una comprobación para detectar fallos.

    1. Antes del ciclo, agrega la variable de fallos misses con el valor inicial 0.
    2. En la línea siguiente a keks.getScore(), agrega la comprobación para detectar fallos if (score < 0) { }.
    3. Si esta condición se cumple, agrega console.log('¡Fallaste!');
    Codigo Heroe

    © 2023-2026, codigoheroe.com