Elixir
Other Elixir solutions.defmodule Rules do
def eat_ghost?(power_pellet_active?, touching_ghost?) do
power_pellet_active? and touching_ghost?
end
def score?(touching_power_pellet?, touching_dot?) do
touching_power_pellet? or touching_dot?
end
def lose?(power_pellet_active?, touching_ghost?) do
touching_ghost? and not power_pellet_active?
end
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