Rutas
/
Elixir
Elixir
/
Ejercicios
/
Reglas de Pacman
Reglas de Pacman

Reglas de Pacman

Ejercicio de aprendizaje

Introducción

Booleanos

Elixir representa los valores verdadero y falso con el tipo booleano. Solo hay dos valores: true y false. Estos valores se pueden asignar a una variable:

true_variable = true
false_variable = false

Podemos evaluar expresiones booleanas estrictas con los operadores and/2, or/2 y not/1.

true_variable = true and true
false_variable = true and false

true_variable = false or true
false_variable = false or false

true_variable = not false
false_variable = not true

Cuando escribes una función que devuelve un valor booleano, lo idiomático es terminar el nombre de la función con un ?. La misma convención se puede usar con las variables que guardan valores booleanos.

def either_true?(a?, b?) do
  a? or b?
end

Instrucciones

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

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

No te preocupes por cómo se obtienen los argumentos; céntrate en combinarlos para devolver el resultado esperado.

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

Define la función Rules.eat_ghost?/2, que recibe dos argumentos (si Pac-Man tiene una píldora de poder activa y si Pac-Man está tocando a un fantasma) y devuelve un valor Boolean que indica si Pac-Man es capaz de comerse al fantasma. La función debe devolver true solo si Pac-Man tiene una píldora de poder activa y está tocando a un fantasma.

Rules.eat_ghost?(false, true)
# => false

2. Define si Pac-Man puntúa

Define la función Rules.score?/2, 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 que indica si Pac-Man ha puntuado. La función debe devolver true si Pac-Man está tocando una píldora de poder o un punto.

Rules.score?(true, true)
# => true

3. Define si Pac-Man pierde

Define la función Rules.lose?/2, que recibe dos argumentos (si Pac-Man tiene una píldora de poder activa 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 una píldora de poder activa.

Rules.lose?(false, true)
# => true

4. Define si Pac-Man gana

Define la función Rules.win?/3, que recibe tres argumentos (si Pac-Man se ha comido todos los puntos, si Pac-Man tiene una píldora de poder activa 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.

Rules.win?(false, true, false)
# => false
Editar en GitHub El enlace se abre en una ventana o pestaña nueva
Elixir Exercism

¿Listo para empezar Reglas de Pacman?

Regístrate en Exercism para aprender y dominar Elixir con 58 conceptos168 ejercicios y mentoría humana real, todo gratis.