Packages
hangman_text_client
0.1.57
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
hangman_text_client
README.md
README.md
# Hangman Text Client
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.
## Usage
To use `Hangman Text Client` locally, clone and compile it:
- `git clone https://github.com/RaymondLoranger/hangman_text_client`
- `cd hangman_text_client`
- `mix deps.get`
- `mix compile`
You must also clone and compile the `Hangman Engine` app:
- `git clone https://github.com/RaymondLoranger/hangman_engine`
- `cd hangman_engine`
- `mix deps.get`
- `mix compile`
## Locally when local node is not alive
Start each client like so:
- `cd hangman_text_client`
- `iex -S mix`
- `:observer.start() # optional`
- `Hangman.Text.Client.start()`
## Remotely when local node is alive
App `:hangman_engine` must run in node `:hangman_engine@<hostname>`
where `<hostname>` is either the full host name if long names are used,
or the first part of the full host name if short names are used.
### 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()`
* `cd hangman_text_client`
* `set "MIX_ENV=dev" && iex --sname joe -S mix`
* `Hangman.Text.Client.start()`
- etc.
### 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()`
* `cd hangman_text_client`
* `set "MIX_ENV=prod" && iex --name joe@rays.supratech.ca -S mix`
* `Hangman.Text.Client.start()`
- etc.
### 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()`
* `cd hangman_text_client`
* `set RELEASE_NODE=joe@rays`
* `"_build/dev/rel/hangman_text_client/bin/hangman_text_client" start_iex`
* `Hangman.Text.Client.start()`
- etc.
### 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()`
* `cd hangman_text_client`
* `set RELEASE_NODE=joe@rays.supratech.ca`
* `"_build/prod/rel/hangman_text_client/bin/hangman_text_client" start_iex`
* `Hangman.Text.Client.start()`
- etc.