Islands Engine

Build Status

Models the Game of Islands.

Based on the book Functional Web Development by Lance Halvorsen.

Installation

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

def deps do
  [
    {:islands_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 the state of a Game of Islands. Multiple games can be played simultaneously.

engine_app

Note

Package Islands Text Client uses islands_engine as a dependency to play the Game of Islands in the console.