Eta-reduction for randomRange.
[avoidance.git] / README.md
1 # AVOIDANCE
2
3 ## Images
4
5 ![Title](title.png)
6
7 ![Help](help.png)
8
9 ![Game](game.png)
10
11 ## Compilation instructions
12
13 * Install `stack` from https://docs.haskellstack.org/en/stable/README/#how-to-install
14 * Run `stack build` in the root directory of the repository
15 * Run `stack install` to copy the built executable to a location on your path
16
17 ## How to run the game
18
19 Avoidance can be run from any ANSI terminal.
20 The terminal must be at least 80 columns wide and 24 rows high to fit the game.
21 If the terminal is too small, the game will print the following error:
22
23     Please resize your terminal and relaunch the game!
24
25 To fix this issue, increase the terminal size and try to run Avoidance again.
26
27 ## How to play the game
28
29 ### Objective
30
31 Push the box around the screen, making sure that it is not pushed off the edge.
32 Box thieves will appear sporadically to steal the box.
33 Your objective is to keep the box on-screen for as long as possible.
34
35 Characters:
36
37 * `P`: Player
38 * `O`: Box
39 * `X`: Box Thief
40
41 ### Controls
42
43 #### Title screen
44
45 * Start new game: `P`
46 * Quit game: `Q`
47 * Help screen: `H`
48
49 #### Game controls
50
51 * Move up: `W`
52 * Move down: `S`
53 * Move left: `A`
54 * Move right: `D`
55 * Abort game: `Q`