Islands Text Client v0.2.0 Islands.Text.Client View Source

Text client for the Game of Islands.

Inspired by the book Functional Web Development by Lance Halvorsen.
Also inspired by the course Elixir for Programmers by Dave Thomas.

Link to this section Summary

Link to this section Functions

Link to this function

join(game_name, player2_name, options \\ []) View Source
join(String.t(), String.t(), Keyword.t()) :: no_return()

Lets player2 join a game.

Player2 runs in a node with any short name (here client2)...

  • cd islands_text_client
  • iex --sname client2 -S mix

Player2 (Eve) joins game Eden from her node like so:

  • Islands.Text.Client.join("Eden", "Eve")

Options

  • :mode - (:manual or :auto) specifies whether player2 will play in manual or auto mode; defaults to :manual.
  • :pause - (positive integer) specifies the duration in milliseconds of the pause between moves in auto mode (should be between 1 and 9,999); defaults to 1 millisecond.
Link to this function

start(game_name, player1_name, options \\ []) View Source
start(String.t(), String.t(), Keyword.t()) :: no_return()

Lets player1 start a game.

App islands_engine must run in node with short name islands...

  • cd islands_engine
  • iex --sname islands -S mix
  • :observer.start() # optional

Player1 runs in a node with any short name (here client1)...

  • cd islands_text_client
  • iex --sname client1 -S mix

Player1 (Adam) starts a game (Eden) from his node like so:

  • Islands.Text.Client.start("Eden", "Adam")

Options

  • :mode - (:manual or :auto) specifies whether player1 will play in manual or auto mode; defaults to :manual.
  • :pause - (positive integer) specifies the duration in milliseconds of the pause between moves in auto mode (should be between 1 and 9,999); defaults to 1 millisecond.