12 lines
483 B
Elixir
12 lines
483 B
Elixir
|
defmodule Rules do
|
||
|
def eat_ghost?(power_pellet_active?, touching_ghost?), do: power_pellet_active? and touching_ghost?
|
||
|
|
||
|
def score?(touching_power_pellet?, touching_dot?), do: touching_power_pellet? or touching_dot?
|
||
|
|
||
|
def lose?(power_pellet_active?, touching_ghost?), do: not power_pellet_active? and touching_ghost?
|
||
|
|
||
|
def win?(has_eaten_all_dots?, power_pellet_active?, touching_ghost?) do
|
||
|
has_eaten_all_dots? and not lose?(power_pellet_active?, touching_ghost?)
|
||
|
end
|
||
|
end
|