Rutas
/
Gleam
Gleam
/
Ejercicios
/
Reglas de Pacman
Reglas de Pacman

Reglas de Pacman

Ejercicio de aprendizaje

Introducción

Bools

Gleam representa los valores verdadero y falso con el tipo Bool. Solo hay dos valores: True y False. Estos valores se pueden asignar a una variable:

let true_variable = True
let false_variable = False

Los operadores &&, || y ! se pueden usar para manipular valores booleanos:

True && True  // -> True
True && False // -> False

False || True  // -> True
False || False // -> False

!False // -> True
!True  // -> False

Los operadores && y || usan la evaluación de cortocircuito, lo que significa que la expresión del lado derecho del operador solo se evalúa si es necesario.

Cada operador tiene una precedencia distinta: ! se evalúa antes que && y ||. Se pueden usar llaves para evaluar una parte de la expresión antes que las demás:

!True && False   // -> False
!{True && False} // -> True

Instrucciones

En este ejercicio, tienes que traducir algunas reglas del clásico juego Pac-Man a funciones de Gleam.

Tienes cuatro reglas que traducir, todas relacionadas con los estados del juego.

No te preocupes por cómo se derivan los argumentos, céntrate en combinar los argumentos para devolver el resultado esperado.

1. Define si Pac-Man se come a un fantasma

Define la función eat_ghost, que toma dos argumentos (si Pac-Man tiene activa una píldora de energía y si Pac-Man está tocando a un fantasma) y devuelve un valor Boolean que indica si Pac-Man puede comerse a un fantasma. La función debe devolver True solo si Pac-Man tiene activa una píldora de energía y está tocando a un fantasma.

eat_ghost(False, True)
// -> False

2. Define si Pac-Man puntúa

Define la función score, que toma dos argumentos (si Pac-Man está tocando una píldora de energía y si Pac-Man está tocando un punto) y devuelve un valor Boolean que indica si Pac-Man ha puntuado. La función debe devolver True si Pac-Man está tocando una píldora de energía o un punto.

score(True, True)
// -> True

3. Define si Pac-Man pierde

Define la función lose, que toma dos argumentos (si Pac-Man tiene activa una píldora de energía y si Pac-Man está tocando a un fantasma) y devuelve un valor Boolean que indica si Pac-Man pierde. La función debe devolver True si Pac-Man está tocando a un fantasma y no tiene activa una píldora de energía.

lose(False, True)
// -> True

4. Define si Pac-Man gana

Define la función win, que toma tres argumentos (si Pac-Man se ha comido todos los puntos, si Pac-Man tiene activa una píldora de energía y si Pac-Man está tocando a un fantasma) y devuelve un valor Boolean que indica si Pac-Man gana. La función debe devolver True si Pac-Man se ha comido todos los puntos y no ha perdido según los argumentos definidos en la parte 3.

win(False, True, False)
// -> False
Editar en GitHub El enlace se abre en una ventana o pestaña nueva
Gleam Exercism

¿Listo para empezar Reglas de Pacman?

Regístrate en Exercism para aprender y dominar Gleam con 33 conceptos122 ejercicios y mentoría humana real, todo gratis.