Tracks
/
Gleam
Gleam
/
Ejercicios
/
Reglas de Pacman
Reglas de Pacman

Reglas de Pacman

Ejercicio de aprendizaje

Introducción

Booleanos

Gleam representa los valores verdadero y falso con el tipo Bool. Solo existen 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 evaluación de cortocircuito, lo que significa que la expresión del lado derecho del operador solo se evalúa si es necesario.

Cada uno de los operadores tiene una precedencia diferente, donde ! 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, necesitas 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 obtienen los argumentos, solo concéntrate en combinarlos para devolver el resultado esperado.

1. Define si Pac-Man se come un fantasma

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

eat_ghost(False, True)
// -> False

2. Define si Pac-Man anota puntos

Define la función score, que recibe dos argumentos (si Pac-Man está tocando una píldora de poder y si Pac-Man está tocando un punto) y devuelve un valor Boolean si Pac-Man anota puntos. La función debe devolver True si Pac-Man está tocando una píldora de poder o un punto.

score(True, True)
// -> True

3. Define si Pac-Man pierde

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

lose(False, True)
// -> True

4. Define si Pac-Man gana

Define la función win, que recibe tres argumentos (si Pac-Man ha comido todos los puntos, si Pac-Man tiene activa una píldora de poder y si Pac-Man está tocando un fantasma) y devuelve un valor Boolean si Pac-Man gana. La función debe devolver True si Pac-Man 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 una pestaña nuevas
Gleam Exercism

¿Todo 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.