Packages
hangman_text_client
0.1.68
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 play the _Hangman Game_, clone `hangman_engine` and compile it:
```
git clone https://github.com/RaymondLoranger/hangman_engine
cd hangman_engine
mix deps.get
mix compile
```
Then, clone `hangman_text_client` and compile it:
```
git clone https://github.com/RaymondLoranger/hangman_text_client
cd hangman_text_client
mix deps.get
mix compile
```
Also create the dev and prod releases if you wish to use releases.
## Locally when local node is not alive
Start a game 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 on 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 using a short name:
```
cd hangman_engine
iex --sname hangman_engine -S mix
:observer.start() # optional
```
Start a game from a different node with a short name:
```
cd hangman_text_client
set "MIX_ENV=dev" && iex --sname mike -S mix
Hangman.Text.Client.start()
```
### Long names
Start the engine using a long name:
```
cd hangman_engine
iex --name hangman_engine@rays.supratech.ca -S mix
:observer.start() # optional
```
Start a game from a different node with a long name:
```
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 using a short name:
```
cd hangman_engine
iex --sname hangman_engine --cookie fortune -S mix
:observer.start() # optional
```
Start a game from a different node with a short name:
```
cd hangman_text_client
set RELEASE_NODE=mike@rays
"_build/dev/rel/hangman_text_client/bin/hangman_text_client" start_iex
Hangman.Text.Client.start()
```
### Long names using releases
Start the engine using a long name:
```
cd hangman_engine
iex --name hangman_engine@rays.supratech.ca --cookie fortune -S mix
:observer.start() # optional
```
Start a game from a different node with a long name:
```
cd hangman_text_client
set RELEASE_NODE=mike@rays.supratech.ca
"_build/prod/rel/hangman_text_client/bin/hangman_text_client" start_iex
Hangman.Text.Client.start()
```