Hangman Engine

Models the Hangman Game.

Based on the course Elixir for Programmers by Dave Thomas.

Installation

Add hangman_engine to your list of dependencies in mix.exs:

def deps do
  [
    {:hangman_engine, "~> 0.1"}
  ]
end

Supervision Tree

The highlighted processes below (supervisor and servers) are fault-tolerant: if any crashes (or is killed), it is immediately restarted and the system remains undisturbed.

The processes identified by their PIDs are game servers: each holds a game struct as its state. Multiple games can be played simultaneously.

engine_app

Note

Package Hangman Text Client uses hangman_engine as a dependency to play the Hangman Game in the console.