Packages
hangman_text_client
0.1.42
0.1.87
0.1.86
0.1.85
0.1.84
0.1.83
0.1.82
0.1.81
0.1.80
0.1.79
0.1.78
0.1.77
0.1.76
0.1.75
0.1.74
0.1.73
0.1.72
0.1.71
0.1.70
0.1.69
0.1.68
0.1.67
0.1.66
0.1.65
0.1.64
0.1.63
0.1.62
0.1.61
0.1.60
0.1.59
0.1.58
0.1.57
0.1.56
0.1.55
0.1.54
0.1.53
0.1.52
0.1.51
0.1.50
0.1.49
0.1.48
0.1.47
0.1.46
0.1.45
0.1.44
0.1.43
0.1.42
0.1.41
0.1.40
0.1.39
0.1.38
0.1.37
0.1.36
0.1.35
0.1.34
0.1.33
0.1.32
0.1.31
0.1.30
0.1.29
0.1.28
0.1.27
0.1.26
Text client for the Hangman Game.
Current section
Files
Jump to
Current section
Files
lib/hangman/text/client.ex
# ┌──────────────────────────────────────────────────────────────┐
# │ Based on the course "Elixir for Programmers" by Dave Thomas. │
# └──────────────────────────────────────────────────────────────┘
defmodule Hangman.Text.Client do
@moduledoc """
Text client for the _Hangman Game_.
##### Based on the course [Elixir for Programmers](https://codestool.coding-gnome.com/courses/elixir-for-programmers) by Dave Thomas.
"""
alias __MODULE__.Interact
@doc """
Starts a _Hangman Game_.
App `:hangman_engine` must run in node `:hangman_engine@<hostname>`.
### Short names
Start the engine:
- `cd hangman_engine`
- `iex --sname hangman_engine -S mix`
- `:observer.start() # optional`
Start each client in a different node:
- `cd hangman_text_client`
- `set "MIX_ENV=dev" && iex --sname mike -S mix`
- `Hangman.Text.Client.start()`
### Long names
Start the engine:
- `cd hangman_engine`
- `iex --name hangman_engine@rays.supratech.ca -S mix`
- `:observer.start() # optional`
Start each client in a different node:
- `cd hangman_text_client`
- `set "MIX_ENV=prod" && iex --name mike@rays.supratech.ca -S mix`
- `Hangman.Text.Client.start()`
### Short names using releases
Start the engine:
- `cd hangman_engine`
- `iex --sname hangman_engine --cookie fortune -S mix`
- `:observer.start() # optional`
Start each client in a different node:
- `cd hangman_text_client`
- `"_build/dev/rel/hangman_text_client/bin/hangman_text_client" start_iex`
- `Hangman.Text.Client.start()`
### Long names using releases
Start the engine:
- `cd hangman_engine`
- `iex --name hangman_engine@rays.supratech.ca --cookie fortune -S mix`
- `:observer.start() # optional`
Start each client in a different node:
- `cd hangman_text_client`
- `"_build/prod/rel/hangman_text_client/bin/hangman_text_client" start_iex`
- `Hangman.Text.Client.start()`
"""
@spec start :: no_return
defdelegate start, to: Interact
end