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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 ---
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 title: "Hangman plugin"
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
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
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 ---
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
6
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 Hangman is a plugin to play the hangman game.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
8
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 ## Installation
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
10
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 The plugin **hangman** is distributed with irccd. To enable it add the following to your `plugins` section:
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
12
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 ````ini
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 [plugins]
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 hangman = ""
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 ````
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
17
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
18 ## Usage
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
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
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
22
30
1ea775153cdc Plugin hangman: various fixes in the documentation
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
23 ````nohighlight
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 markand: !hangman
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 irccd: markand, the game is started, the word to find is: _ _ _ _ _ _ _ _ _ _ _
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 ````
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
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
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 ### Proposal
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
36
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
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.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
38
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 #### By letter
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
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
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
42
20
8384df86e195 Docs: use nohighlight on non code, #418
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
43 ````nohighlight
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 markand: c
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 irccd: markand, nice! the word is now c _ _ _ _
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
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
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 ````
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
49
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 #### By full word
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
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
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
53
20
8384df86e195 Docs: use nohighlight on non code, #418
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
54 ````nohighlight
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
55 markand: !hangman couch
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
56 irccd: markand, this is not the word.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
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
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 ````
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
60
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
61 ## Configuration
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
62
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 The following options are available under the `[plugin.hangman]` section:
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
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
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
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
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
91
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
92 ### Keywords supported
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
93
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
94 The following keywords are supported:
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
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
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
107
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
108 Example:
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
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
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
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
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
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
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
120
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
121 ## Database file
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
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
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
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
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
129 sky
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
130 irccd
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
131 FreeBSD
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
132 door
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
133 cat
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
134 ````