Mercurial > irccd
annotate plugins/hangman/hangman.md @ 628:27587ff92a64
Misc: update copyrights
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 09 Jan 2018 14:06:40 +0100 |
parents | 722f2bbd654a |
children | ebe561276c33 |
rev | line source |
---|---|
0 | 1 --- |
2 title: "Hangman plugin" | |
3 header: "Hangman plugin" | |
275
c143682678b9
CMake: improve documentation related to plugins
David Demelier <markand@malikania.fr>
parents:
141
diff
changeset
|
4 guide: yes |
0 | 5 --- |
6 | |
7 Hangman is a plugin to play the hangman game. | |
8 | |
9 ## Installation | |
10 | |
11 The plugin **hangman** is distributed with irccd. To enable it add the following to your `plugins` section: | |
12 | |
13 ````ini | |
14 [plugins] | |
15 hangman = "" | |
16 ```` | |
17 | |
18 ## Usage | |
19 | |
437
722f2bbd654a
Plugin hangman: show current word on command, closes #643
David Demelier <markand@malikania.fr>
parents:
275
diff
changeset
|
20 The **hangman** plugin starts when a user execute its special command with no |
722f2bbd654a
Plugin hangman: show current word on command, closes #643
David Demelier <markand@malikania.fr>
parents:
275
diff
changeset
|
21 arguments. |
0 | 22 |
30
1ea775153cdc
Plugin hangman: various fixes in the documentation
David Demelier <markand@malikania.fr>
parents:
20
diff
changeset
|
23 ````nohighlight |
0 | 24 markand: !hangman |
25 irccd: markand, the game is started, the word to find is: _ _ _ _ _ _ _ _ _ _ _ | |
26 ```` | |
27 | |
437
722f2bbd654a
Plugin hangman: show current word on command, closes #643
David Demelier <markand@malikania.fr>
parents:
275
diff
changeset
|
28 If a game is already running, the same command shows the current word. |
722f2bbd654a
Plugin hangman: show current word on command, closes #643
David Demelier <markand@malikania.fr>
parents:
275
diff
changeset
|
29 |
722f2bbd654a
Plugin hangman: show current word on command, closes #643
David Demelier <markand@malikania.fr>
parents:
275
diff
changeset
|
30 ````nohighlight |
722f2bbd654a
Plugin hangman: show current word on command, closes #643
David Demelier <markand@malikania.fr>
parents:
275
diff
changeset
|
31 markand: !hangman |
722f2bbd654a
Plugin hangman: show current word on command, closes #643
David Demelier <markand@malikania.fr>
parents:
275
diff
changeset
|
32 irccd: markand, the game is already running and the word is: s _ _, |
722f2bbd654a
Plugin hangman: show current word on command, closes #643
David Demelier <markand@malikania.fr>
parents:
275
diff
changeset
|
33 ```` |
722f2bbd654a
Plugin hangman: show current word on command, closes #643
David Demelier <markand@malikania.fr>
parents:
275
diff
changeset
|
34 |
0 | 35 ### Proposal |
36 | |
37 There are two ways for proposing a response to the game. You can either just ask for a letter or for a whole word. | |
38 | |
39 #### By letter | |
40 | |
30
1ea775153cdc
Plugin hangman: various fixes in the documentation
David Demelier <markand@malikania.fr>
parents:
20
diff
changeset
|
41 When asking a letter, the message must be one letter. |
0 | 42 |
20
8384df86e195
Docs: use nohighlight on non code, #418
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
43 ````nohighlight |
0 | 44 markand: c |
45 irccd: markand, nice! the word is now c _ _ _ _ | |
46 jean: k | |
30
1ea775153cdc
Plugin hangman: various fixes in the documentation
David Demelier <markand@malikania.fr>
parents:
20
diff
changeset
|
47 irccd: jean, there is no 'k'. |
0 | 48 ```` |
49 | |
50 #### By full word | |
51 | |
30
1ea775153cdc
Plugin hangman: various fixes in the documentation
David Demelier <markand@malikania.fr>
parents:
20
diff
changeset
|
52 When asking by a word, just put one word as command argument. |
0 | 53 |
20
8384df86e195
Docs: use nohighlight on non code, #418
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
54 ````nohighlight |
0 | 55 markand: !hangman couch |
56 irccd: markand, this is not the word. | |
57 jean: !hangman candy | |
30
1ea775153cdc
Plugin hangman: various fixes in the documentation
David Demelier <markand@malikania.fr>
parents:
20
diff
changeset
|
58 irccd: jean, congratulations, the word is candy. |
0 | 59 ```` |
60 | |
61 ## Configuration | |
62 | |
63 The following options are available under the `[plugin.hangman]` section: | |
64 | |
30
1ea775153cdc
Plugin hangman: various fixes in the documentation
David Demelier <markand@malikania.fr>
parents:
20
diff
changeset
|
65 - **file**: (string) the path to the database file (Optional, default: configuration directory), |
0 | 66 - **collaborative**: (bool) set to true to enable collaborative mode, a player can't propose two consecutives proposals (Optional, default: true), |
141
2ce88e3a4759
Plugin hangman: use new format section, #410
David Demelier <markand@malikania.fr>
parents:
44
diff
changeset
|
67 |
2ce88e3a4759
Plugin hangman: use new format section, #410
David Demelier <markand@malikania.fr>
parents:
44
diff
changeset
|
68 **Deprecated in irccd 2.1.0:** |
2ce88e3a4759
Plugin hangman: use new format section, #410
David Demelier <markand@malikania.fr>
parents:
44
diff
changeset
|
69 |
2ce88e3a4759
Plugin hangman: use new format section, #410
David Demelier <markand@malikania.fr>
parents:
44
diff
changeset
|
70 - **format-asked**: Use `[format.hangman] asked` instead, |
2ce88e3a4759
Plugin hangman: use new format section, #410
David Demelier <markand@malikania.fr>
parents:
44
diff
changeset
|
71 - **format-dead**: Use `[format.hangman] dead` instead, |
2ce88e3a4759
Plugin hangman: use new format section, #410
David Demelier <markand@malikania.fr>
parents:
44
diff
changeset
|
72 - **format-found**: Use `[format.hangman] found` instead, |
2ce88e3a4759
Plugin hangman: use new format section, #410
David Demelier <markand@malikania.fr>
parents:
44
diff
changeset
|
73 - **format-running**: Use `[format.hangman] running` instead, |
2ce88e3a4759
Plugin hangman: use new format section, #410
David Demelier <markand@malikania.fr>
parents:
44
diff
changeset
|
74 - **format-start**: Use `[format.hangman] start` instead, |
2ce88e3a4759
Plugin hangman: use new format section, #410
David Demelier <markand@malikania.fr>
parents:
44
diff
changeset
|
75 - **format-win**: Use `[format.hangman] win` instead, |
2ce88e3a4759
Plugin hangman: use new format section, #410
David Demelier <markand@malikania.fr>
parents:
44
diff
changeset
|
76 - **format-wrong-word**: Use `[format.hangman] wrong-word` instead, |
2ce88e3a4759
Plugin hangman: use new format section, #410
David Demelier <markand@malikania.fr>
parents:
44
diff
changeset
|
77 - **format-wrong-letter**: Use `[format.hangman] wrong-letter` instead. |
2ce88e3a4759
Plugin hangman: use new format section, #410
David Demelier <markand@malikania.fr>
parents:
44
diff
changeset
|
78 |
2ce88e3a4759
Plugin hangman: use new format section, #410
David Demelier <markand@malikania.fr>
parents:
44
diff
changeset
|
79 ## Formats |
2ce88e3a4759
Plugin hangman: use new format section, #410
David Demelier <markand@malikania.fr>
parents:
44
diff
changeset
|
80 |
2ce88e3a4759
Plugin hangman: use new format section, #410
David Demelier <markand@malikania.fr>
parents:
44
diff
changeset
|
81 The **hangman** plugin supports the following formats in `[format.hangman]` section: |
2ce88e3a4759
Plugin hangman: use new format section, #410
David Demelier <markand@malikania.fr>
parents:
44
diff
changeset
|
82 |
2ce88e3a4759
Plugin hangman: use new format section, #410
David Demelier <markand@malikania.fr>
parents:
44
diff
changeset
|
83 - **asked**: (string) when a letter has been already asked but present in the word (Optional), |
2ce88e3a4759
Plugin hangman: use new format section, #410
David Demelier <markand@malikania.fr>
parents:
44
diff
changeset
|
84 - **dead**: (string) when the man was hung (Optional), |
2ce88e3a4759
Plugin hangman: use new format section, #410
David Demelier <markand@malikania.fr>
parents:
44
diff
changeset
|
85 - **found**: (string) when a correct letter has been placed (Optional), |
2ce88e3a4759
Plugin hangman: use new format section, #410
David Demelier <markand@malikania.fr>
parents:
44
diff
changeset
|
86 - **running**: (string) when a game is requested but it's already running (Optional), |
2ce88e3a4759
Plugin hangman: use new format section, #410
David Demelier <markand@malikania.fr>
parents:
44
diff
changeset
|
87 - **start**: (string) when the game starts (Optional), |
2ce88e3a4759
Plugin hangman: use new format section, #410
David Demelier <markand@malikania.fr>
parents:
44
diff
changeset
|
88 - **win**: (string) when the game succeeded (Optional), |
2ce88e3a4759
Plugin hangman: use new format section, #410
David Demelier <markand@malikania.fr>
parents:
44
diff
changeset
|
89 - **wrong-word**: (string) when a word proposal is wrong (Optional), |
2ce88e3a4759
Plugin hangman: use new format section, #410
David Demelier <markand@malikania.fr>
parents:
44
diff
changeset
|
90 - **wrong-letter**: (string) when a letter proposal is wrong (Optional). |
0 | 91 |
92 ### Keywords supported | |
93 | |
94 The following keywords are supported: | |
95 | |
44
c4fe9a8b1a62
Plugin hangman: fix usage of server keyword and document command, plugin, #392
David Demelier <markand@malikania.fr>
parents:
30
diff
changeset
|
96 | Format | Keywords | Notes | |
c4fe9a8b1a62
Plugin hangman: fix usage of server keyword and document command, plugin, #392
David Demelier <markand@malikania.fr>
parents:
30
diff
changeset
|
97 |-------------------------|----------------------------------------------------|---------------------------------| |
c4fe9a8b1a62
Plugin hangman: fix usage of server keyword and document command, plugin, #392
David Demelier <markand@malikania.fr>
parents:
30
diff
changeset
|
98 | (any) | channel, command, nickname, origin, plugin, server | all formats | |
141
2ce88e3a4759
Plugin hangman: use new format section, #410
David Demelier <markand@malikania.fr>
parents:
44
diff
changeset
|
99 | **asked** | letter | the letter proposal | |
2ce88e3a4759
Plugin hangman: use new format section, #410
David Demelier <markand@malikania.fr>
parents:
44
diff
changeset
|
100 | **dead** | word | the word to find | |
2ce88e3a4759
Plugin hangman: use new format section, #410
David Demelier <markand@malikania.fr>
parents:
44
diff
changeset
|
101 | **found** | word | the hidden word | |
2ce88e3a4759
Plugin hangman: use new format section, #410
David Demelier <markand@malikania.fr>
parents:
44
diff
changeset
|
102 | **start** | word | the hidden word | |
437
722f2bbd654a
Plugin hangman: show current word on command, closes #643
David Demelier <markand@malikania.fr>
parents:
275
diff
changeset
|
103 | **running** | word | the hidden word | |
141
2ce88e3a4759
Plugin hangman: use new format section, #410
David Demelier <markand@malikania.fr>
parents:
44
diff
changeset
|
104 | **win** | word | the word to find | |
2ce88e3a4759
Plugin hangman: use new format section, #410
David Demelier <markand@malikania.fr>
parents:
44
diff
changeset
|
105 | **wrong-word** | word | the invalid word proposal | |
2ce88e3a4759
Plugin hangman: use new format section, #410
David Demelier <markand@malikania.fr>
parents:
44
diff
changeset
|
106 | **wrong-letter** | letter | the letter proposal | |
0 | 107 |
108 Example: | |
109 | |
30
1ea775153cdc
Plugin hangman: various fixes in the documentation
David Demelier <markand@malikania.fr>
parents:
20
diff
changeset
|
110 <div class="panel panel-info"> |
1ea775153cdc
Plugin hangman: various fixes in the documentation
David Demelier <markand@malikania.fr>
parents:
20
diff
changeset
|
111 <div class="panel-heading">~/.config/irccd/irccd.conf</div> |
1ea775153cdc
Plugin hangman: various fixes in the documentation
David Demelier <markand@malikania.fr>
parents:
20
diff
changeset
|
112 <div class="panel-body"> |
0 | 113 ````ini |
141
2ce88e3a4759
Plugin hangman: use new format section, #410
David Demelier <markand@malikania.fr>
parents:
44
diff
changeset
|
114 [format.hangman] |
2ce88e3a4759
Plugin hangman: use new format section, #410
David Demelier <markand@malikania.fr>
parents:
44
diff
changeset
|
115 win = "nice job, the word was #{word}!" |
2ce88e3a4759
Plugin hangman: use new format section, #410
David Demelier <markand@malikania.fr>
parents:
44
diff
changeset
|
116 wrong-letter = "please try again, there is no #{letter}" |
0 | 117 ```` |
30
1ea775153cdc
Plugin hangman: various fixes in the documentation
David Demelier <markand@malikania.fr>
parents:
20
diff
changeset
|
118 </div> |
1ea775153cdc
Plugin hangman: various fixes in the documentation
David Demelier <markand@malikania.fr>
parents:
20
diff
changeset
|
119 </div> |
0 | 120 |
121 ## Database file | |
122 | |
30
1ea775153cdc
Plugin hangman: various fixes in the documentation
David Demelier <markand@malikania.fr>
parents:
20
diff
changeset
|
123 The database file must contains one word per line, it must be saved as UTF-8. |
0 | 124 |
30
1ea775153cdc
Plugin hangman: various fixes in the documentation
David Demelier <markand@malikania.fr>
parents:
20
diff
changeset
|
125 <div class="panel panel-info"> |
1ea775153cdc
Plugin hangman: various fixes in the documentation
David Demelier <markand@malikania.fr>
parents:
20
diff
changeset
|
126 <div class="panel-heading">~/.config/irccd/plugin/hangman/words.conf</div> |
1ea775153cdc
Plugin hangman: various fixes in the documentation
David Demelier <markand@malikania.fr>
parents:
20
diff
changeset
|
127 <div class="panel-body"> |
20
8384df86e195
Docs: use nohighlight on non code, #418
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
128 ````nohighlight |
0 | 129 sky |
130 irccd | |
131 FreeBSD | |
132 door | |
133 cat | |
134 ```` |