summaryrefslogtreecommitdiffstats
path: root/doc/kshisen/index.docbook
blob: 483c4eb73eb06000966cad86dd0dc18fa6164ecf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
  <!ENTITY kappname "&kshisen;">
  <!ENTITY package "kdegames">
  <!ENTITY % English "INCLUDE" > <!-- change language only here -->
  <!ENTITY % addindex "IGNORE">
]>

<book lang="&language;">
<bookinfo>
<title>The &kshisen; Handbook</title>

<authorgroup>
<author>
<firstname>Dirk</firstname>
<surname>Doerflinger</surname>
<affiliation>
<address>&Dirk.Doerflinger.mail;</address>
</affiliation>
</author>
<othercredit role="reviewer">
<firstname>Frerich</firstname><surname>Raabe</surname>
<contrib>Reviewer</contrib>
<affiliation><address>&Frerich.Raabe.mail;</address></affiliation>
</othercredit>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>


<date>2006-06-17</date>
<releaseinfo>1.5.1</releaseinfo>

<abstract>
<para>&kshisen; is a game similar to Mahjongg for &kde;.</para>
</abstract>

<keywordset>
      <keyword>KDE</keyword>
      <keyword>kdegames</keyword>
      <keyword>kshisen</keyword>
      <keyword>game</keyword>
      <keyword>shisen-sho</keyword>
</keywordset>

</bookinfo>


<chapter id="introduction">
<title>Introduction</title>

<para>&kshisen; is a single-player-game similar to Mahjongg and uses the same
set of tiles as Mahjongg.</para> 

<para>The object of the game is to remove all tiles from the field.</para>

</chapter>

<chapter id="playing-kshisen">
<title>Playing &kshisen;</title>

<sect1 id="rules">
<title>Rules</title>

<para>The aim of the game is to remove all tiles from the board. Only two
matching tiles can be removed at a time. Two tiles can only be removed if they
can be connected with a maximum of three connected lines. Lines can be
horizontal or vertical, but not diagonal. </para>

<para>You don't have to draw the lines by yourself, the game does this for
you. Just mark two matching tiles on the board, if they can be connected with a
maximum of three lines, the lines will be drawn and the tiles are
removed. </para>

<para>Remember that lines only may cross the empty border. If you are stuck, you
can use the Hint feature to find two tiles which may be removed.  Clicking a
tile with the &RMB; will show you all corresponding tiles, no matter if they are
removable at the moment or not.</para>

<para>The game is over when no moves are possible. This could be due to 
clearing all the tiles from the field or reaching a point in the game 
where no two matching tiles can be connected by three lines.  
Some games are unsolvable, if you would like to avoid unsolvable 
games uncheck the option <guilabel>Allow unsolvable
games</guilabel> in the configuration dialog.</para>

<para>The resulting score <quote>S</quote> is calculated using the
following formula, assuming that <quote>n</quote> represents the
number of tiles present when the game started and <quote>t</quote>
standing for the time (in seconds) it took to clear the
field:</para>

<mediaobject><imageobject>
<imagedata fileref="score-formula.png" format="PNG"/>
</imageobject><textobject>
<phrase>S=(n/t)*sqrt(n/84)/0.0014</phrase>
</textobject></mediaobject>

<para>If you played with the <guilabel>Gravity</guilabel> setting enabled, this score
will additionally get multiplied by two.</para>
</sect1>
</chapter>

<chapter id="menu-reference">
<title>Menu Reference</title>

<sect1 id="game-menu">
<title>The <guimenu>Game</guimenu> Menu</title>

<para>The <guimenu>Game</guimenu> menu lets you control the status of the
current game:</para>

<variablelist>
<varlistentry>
<term><menuchoice>
<shortcut><keycombo action="simul">&Ctrl;
<keycap>N</keycap></keycombo></shortcut>
<guimenu>Game</guimenu><guimenuitem>New</guimenuitem></menuchoice></term>
<listitem><para><action>Finish the actual game</action> set and start a new
session with new tiles. </para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo><keycap>F5</keycap></keycombo></shortcut>
<guimenu>Game</guimenu><guimenuitem>Restart
Game</guimenuitem></menuchoice></term>
<listitem><para><action>Restart the current game with the same
tiles.</action></para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo><keycap>P</keycap></keycombo></shortcut>
<guimenu>Game</guimenu>
<guimenuitem>Pause</guimenuitem></menuchoice></term>
<listitem><para><action>Pauses the entire game</action>, especially the timer
which affects the scoring. The menu entry is also used for resuming the
game.</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo action="simul">&Ctrl;<keycap>H</keycap></keycombo>
</shortcut>
<guimenu>Game</guimenu><guimenuitem>Show
Highscores</guimenuitem></menuchoice></term>
<listitem><para>Shows the (local) Top-Ten charts of &kshisen;.</para> </listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo action="simul">&Ctrl;
<keycap>Q</keycap></keycombo></shortcut>
<guimenu>Game</guimenu><guimenuitem>Quit</guimenuitem></menuchoice></term>
<listitem><para><action>Quits</action> &kshisen;. </para></listitem>
</varlistentry>

</variablelist>

<para>Some of the menu items can also be controlled by keykoard shortcuts. 
See <xref linkend="key-bindings"/> for a list.</para> 

</sect1>

<sect1 id="move-menu">
<title>The <guimenu>Move</guimenu> Menu</title>

<variablelist>
<varlistentry>
<term><menuchoice> <shortcut><keycombo
action="simul">&Ctrl;<keycap>Z</keycap></keycombo></shortcut>
<guimenu>Move</guimenu>
<guimenuitem>Undo</guimenuitem></menuchoice></term>
<listitem><para><action>Undo the last step</action>. Same as the
<guibutton>Undo</guibutton> button in the toolbar.</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut><keycombo
action="simul">&Ctrl;&Shift;<keycap>Z</keycap></keycombo></shortcut> 
<guimenu>Move</guimenu>
<guimenuitem>Redo</guimenuitem></menuchoice></term>
<listitem><para><action>Redo the last step</action>. Same as the
<guibutton>Redo</guibutton> button in the toolbar.</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo><keycap>H</keycap></keycombo></shortcut>
<guimenu>Move</guimenu>
<guimenuitem>Hint</guimenuitem></menuchoice></term>
<listitem><para><action>Show a tip</action>, which two tiles to remove
next.</para></listitem>
</varlistentry>

</variablelist>
</sect1>

<sect1 id="settings-menu">
<title>The <guimenu>Settings</guimenu> Menu</title>

<variablelist>
<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Show Toolbar</guimenuitem>
</menuchoice></term>
<listitem>
<para>
Toggle on and off the display of the toolbar.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Show Statusbar</guimenuitem>
</menuchoice></term>
<listitem>
<para>
Toggle on and off the display of the status bar.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Configure Shortcuts...</guimenuitem>
</menuchoice></term>
<listitem><para>
<action>Open a dialog which lets you redefine all the keyboard shortcuts.</action>
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Configure Toolbars...</guimenuitem>
</menuchoice></term>
<listitem><para>Displays a &kde; standard dialog where you can configure the toolbar icons.</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Configure &kshisen;...</guimenuitem>
</menuchoice></term>
<listitem>
<para>Opens the <link linkend="configuration">configuration
dialog</link> to change &kshisen; settings.
</para></listitem>
</varlistentry>

</variablelist>
</sect1>

<sect1 id="helpmenu">
<title>The <guimenu>Help</guimenu> Menu</title>

&help.menu.documentation;

</sect1>

<sect1 id="key-bindings">
<title>Shortcuts</title>

<para>Default shortcuts are:
</para>

<informaltable>
<tgroup cols="2">
<tbody>
<row><entry>New</entry><entry><keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo></entry></row>
<row><entry>Restart Game</entry><entry><keycap>F5</keycap></entry></row>
<row><entry>Pause</entry><entry><keycap>P</keycap></entry></row>
<row><entry>Show Highscores</entry><entry><keycombo action="simul">&Ctrl;<keycap>H</keycap></keycombo></entry></row>
<row><entry>Quit</entry><entry><keycombo action="simul">&Ctrl;<keycap>Q</keycap></keycombo></entry></row>
<row><entry>Undo</entry><entry><keycombo action="simul">&Ctrl;<keycap>Z</keycap></keycombo></entry></row>
<row><entry>Redo</entry><entry><keycombo action="simul">&Ctrl;&Shift;<keycap>Z</keycap></keycombo></entry></row>
<row><entry>Hint</entry><entry><keycap>H</keycap></entry></row>
<row><entry>&kshisen; Handbook</entry><entry><keycap>F1</keycap></entry></row>
<row><entry>What's This</entry><entry><keycombo action="simul">&Ctrl;&Shift;<keycap>F1</keycap></keycombo></entry></row>
</tbody>
</tgroup>
</informaltable>

</sect1>
</chapter>

<chapter id="configuration">
<title>Configuration</title>

<para>Selecting the <menuchoice><guimenu>Settings</guimenu>
<guimenuitem>Configure &kshisen;...</guimenuitem></menuchoice> menu item will
open a configuration dialog which lets you alter the behavior of the game.</para>

<screenshot>
<screeninfo>&kshisen; configuration dialog</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="kshisen-configuration.png" format="PNG"/></imageobject>
<textobject><phrase>&kshisen; configuration dialog</phrase></textobject>
</mediaobject>
</screenshot>

<variablelist>
<varlistentry>
<term><guilabel>Gravity</guilabel></term>
<listitem><para>Checking this makes the game even harder: If a tile is
removed, all tiles lying above it will fall down one step.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Allow unsolvable games</guilabel></term>
<listitem><para>If checked, only solvable games will be
created when a new game is started. Note: You may still choose the wrong way and
have to try again if you didn't solve the game, but if it's checked, the game
<emphasis>will</emphasis> be solvable.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Board Difficulty</guilabel></term>
<listitem><para>The slider controls the difficulty of the board. There are three
options <guilabel>Easy</guilabel>, <guilabel>Medium</guilabel> and 
<guilabel>Hard</guilabel>.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Piece Removal Speed</guilabel></term>
<listitem><para>Adjusting this slider alters the speed at which the pieces are 
removed from the screen after a match has been made.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Prefer Unscaled Tiles</guilabel></term>
<listitem><para>Resizing the window causes the tiles on the board to be scaled to
match the window size. When this option is checked, the window is resized to fit
the tiles' natural size. You can still adjust the size of the window. Doing so
causes this mode to be disengaged.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Tile Size</guilabel></term>
<listitem><para>This slider allows you to can change the number of tiles 
on the board. The more tiles you have, the harder (and longer)
the game will be.</para></listitem>
</varlistentry>

<varlistentry>
<term><guibutton>Help</guibutton></term>
<listitem><para>Opens &kshisen; help pages. (this document).</para></listitem></varlistentry>

<varlistentry>
<term><guibutton>Defaults</guibutton></term>
<listitem><para>Reverts all settings to defaults.</para></listitem></varlistentry>

<varlistentry>
<term><guibutton>OK</guibutton></term>
<listitem><para>Saves your changes and closes the dialog.</para></listitem></varlistentry>

<varlistentry>
<term><guibutton>Apply</guibutton></term>
<listitem><para>Saves your changes but doesn't close the dialog.</para></listitem></varlistentry>

<varlistentry>
<term><guibutton>Cancel</guibutton></term>
<listitem><para>Cancels all your changes and closes the dialog.</para></listitem></varlistentry>

</variablelist>
</chapter>

<chapter id="credits">
<title>Credits and License</title>

<para>
&kshisen; Copyright 1999 &Mario.Weilguni;
&Mario.Weilguni.mail;
</para>


<para>
Documentation Copyright 2000 &Dirk.Doerflinger;
<email>ddoerflinger@gmx.net</email>
</para>

<!-- TRANS:CREDIT_FOR_TRANSLATORS -->

&underFDL;
&underGPL;

</chapter>

<appendix id="installation">
<title>Installation</title>

<sect1 id="getting-kshisen">
<title>How to obtain &kshisen;</title>

&install.intro.documentation;

</sect1>

<sect1 id="requirements">
<title>Requirements</title>

<para>
In order to successfully compile &kshisen;, you need &kde; 3.x.
All required libraries as well as &kshisen; itself can be found on
&kde-ftp;.</para>
</sect1>


<sect1 id="compilation">
<title>Compilation and Installation</title>

&install.compile.documentation;

</sect1>
</appendix>

</book>