annotate plugins/hangman/hangman.md @ 0:1158cffe5a5e

Initial import
author David Demelier <markand@malikania.fr>
date Mon, 08 Feb 2016 16:43:14 +0100
parents
children 8384df86e195
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"
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 ---
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
5
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 Hangman is a plugin to play the hangman game.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
7
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 ## Installation
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
9
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 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
11
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 ````ini
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 [plugins]
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 hangman = ""
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 ````
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
16
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 ## Usage
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 The **hangman** plugin starts when a user execute its special command with no arguments.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
20
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 ````
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 markand: !hangman
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 irccd: markand, the game is started, the word to find is: _ _ _ _ _ _ _ _ _ _ _
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 ````
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
25
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 ### Proposal
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
27
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 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
29
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 #### By letter
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
31
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 When asking a letter, the message must just be one letter.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
33
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 ````
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 markand: c
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 irccd: markand, nice! the word is now c _ _ _ _
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 jean: k
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 irccd: markand, there is no 'k'.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 ````
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
40
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 #### By full word
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
42
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
43 When asking by a word, just put one word as command.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
44
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 ````
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 markand: !hangman couch
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 irccd: markand, this is not the word.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 jean: !hangman candy
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
49 irccd: markand, congratulations, the word is candy.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 ````
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
51
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 ## Configuration
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
53
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
54 The **hangman** plugin can be configured to show different message and to specify a different database file. The default
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
55 database file is **CONFDIR/plugin/hangman/words.conf**.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
56
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 The following options are available under the `[plugin.hangman]` section:
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
58
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 - **collaborative**: (bool) set to true to enable collaborative mode, a player can't propose two consecutives proposals (Optional, default: true),
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
60 - **file**: (string) the path to the database file,
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
61 - **format-asked**: (string) when a letter has been already asked but present in the word,
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 - **format-dead**: (string) when the man was hung,
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 - **format-found**: (string) when a correct letter has been placed,
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 - **format-running**: (string) when a game is requested but it's already running,
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
65 - **format-start**: (string) when the game starts,
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
66 - **format-win**: (string) when the game succeeded,
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
67 - **format-wrong-word**: (string) when a word proposal is wrong,
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
68 - **format-wrong-letter**: (string) when a letter proposal is wrong.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
69
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
70 ### Keywords supported
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
71
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
72 The following keywords are supported:
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
73
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
74 | Format | Keywords | Notes |
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
75 |-------------------------|-----------------------------------|---------------------------------|
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
76 | (any) | server, channel, nickname, origin | all formats |
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
77 | **format-asked** | letter | the letter proposal |
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
78 | **format-dead** | word | the word to find |
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
79 | **format-found** | word | the hidden word |
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
80 | **format-start** | word | the hidden word |
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
81 | **format-win** | word | the word to find |
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
82 | **format-wrong-word** | word | the invalid word proposal |
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
83 | **format-wrong-letter** | letter | the letter proposal |
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
84
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
85 Example:
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
86
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
87 ````ini
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
88 [plugin.hangman]
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
89 format-win = "nice job, the word was #{word}!"
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
90 format-wrong-letter = "please try again, there is no #{letter}"
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
91 ````
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
92
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
93 ## Database file
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
94
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
95 The database file must contains one word per line.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
96
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
97 Example:
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
98
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
99 ````
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
100 $ cat ~/.config/irccd/plugin/hangman/words.conf
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
101 sky
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
102 irccd
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
103 FreeBSD
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
104 door
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
105 cat
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
106 ````