<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook V3.1-Based Variant V1.0//EN" [
 <!ENTITY kappname "&kshisen;">
 <!ENTITY % English "INCLUDE">
 <!ENTITY % addindex "IGNORE">
 <!ENTITY % ents PUBLIC "-//KDE//ENTITIES Documentation V1.0//EN">
 %ents;
]>

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

<authorgroup>
<author>
<firstname>Dirk</firstname>
<surname>Doerflinger</surname>
<affiliation>
<address><email>ddoerflinger@web.de</email></address>
</affiliation>
</author>
</authorgroup>

<date>16/12/2000</date>
<releaseinfo>1.03.00</releaseinfo>

<abstract>
<para>This Handbook describes &kshisen; Version 1.3</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 <mousebutton>right</mousebutton> mouse button will show you all
corresponding tiles, no matter if they are removable at the moment or
not.</para>

<para> The game is over if no moves are possible and some tiles are left on the
board (this should not happen if the option <guimenuitem>No unsolvable
games</guimenuitem> in the <guimenu>Option</guimenu> menu is checked, since for
these games there is at least one way to solve it, though it may happen that you
choose the wrong way). </para>

</sect1>

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

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

<variablelist>
<varlistentry>
<term><menuchoice> <shortcut><keycombo
action="simul"><keycap>Ctrl</keycap><keycap>Z</keycap></keycombo></shortcut>
<guimenu><accel>G</accel>ame</guimenu>
<guimenuitem><accel>U</accel>ndo</guimenuitem></menuchoice></term>
<listitem><para><action>Undo the last step</action>. Same as the
<guibutton>back</guibutton> button in the Toolbar.</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><shortcut><keycombo
action="simul"><keycap>Ctrl</keycap><keycap>D</keycap></keycombo></shortcut> 
<guimenu><accel>G</accel>ame</guimenu>
<guimenuitem><accel>R</accel>edo</guimenuitem></menuchoice></term>
<listitem><para><action>Redo the last step</action>. Same as the
<guibutton>forward</guibutton> button in the toolbar.</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo action="simul"><keycap>Ctrl</keycap>
<keycap>H</keycap></keycombo></shortcut>
<guimenu><accel>G</accel>ame</guimenu><guimenuitem>Get
<accel>H</accel>int</guimenuitem></menuchoice></term> 
<listitem><para><action>Show a tip</action>, which two tiles to remove
next.</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut><keycombo action="simul"><keycap>Ctrl</keycap>
<keycap>N</keycap></keycombo></shortcut>
<guimenu><accel>G</accel>ame</guimenu><guimenuitem><accel>N</accel>ew
Game</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 action="simul"><keycap>Ctrl</keycap>
<keycap>R</keycap></keycombo></shortcut>
<guimenu><accel>G</accel>ame</guimenu><guimenuitem>Res<accel>t</accel>art
Game</guimenuitem></menuchoice></term>
<listitem><para><action>Restart the current game with the same
tiles.</action></para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><guimenu><accel>G</accel>ame</guimenu>
<guimenuitem><accel>P</accel>ause Game</guimenuitem></menuchoice></term>
<listitem><para><action>Pauses the entire game</action>, especially the timer
which is needed for the high score. The menu-entry then turns to
<guimenuitem>Resume Game</guimenuitem>, which is used for resuming the
game.</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><guimenu><accel>G</accel>ame</guimenu>
<guimenuitem>Is game solvable?</guimenuitem></menuchoice></term>
<listitem><para>Shows a Dialog which <action>tells you whether the game is solvable or
not</action>. If the menu-entry <guimenuitem>Disallow unsolvable
games</guimenuitem> in the <guimenu>Options </guimenu>menu is checked, this Box
is absolutely useless.</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><guimenu><accel>G</accel>ame</guimenu><guimenuitem>Hall of
<accel>F</accel>ame</guimenuitem></menuchoice></term>
<listitem><para>Shows the (local) Top-Ten-charts of Shisen-Sho.</para> </listitem>
</varlistentry>

</variablelist>

<para>Some of the menu items can also be controlled by hot-keys. See the section
<link linkend="key-bindings"></link> for a list.</para> 

</sect1>
</chapter>

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

<sect1 id="options-menu">
<title>The <guimenu>Options</guimenu> Menu</title>

<para>&kshisen; has several possibilities to change its behavior. All options
can be changed from the menu <guimenu>Options</guimenu>. </para>

<para>The options will be saved automatically.</para>

<variablelist>
<varlistentry>
<term>
<menuchoice><guimenu><accel>O</accel>ptions</guimenu>
<guisubmenu>Si<accel>z</accel>e</guisubmenu></menuchoice></term>
<listitem><para>In the sub-menu <guisubmenu>Size</guisubmenu> you 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><menuchoice><guimenu><accel>O</accel>ptions</guimenu>
<guisubmenu>S<accel>p</accel>eed</guisubmenu></menuchoice></term>
<listitem><para>The sub-menu <guisubmenu>Speed</guisubmenu> sets the time for
the tiles to disappear when connected correctly. </para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><guimenu><accel>O</accel>ptions</guimenu>
<guisubmenu><accel>L</accel>evel</guisubmenu></menuchoice></term>
<listitem><para>Choose your game skill in the sub-menu
<guisubmenu>Level</guisubmenu>.</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><guimenu><accel>O</accel>ptions</guimenu>
<guimenuitem>G<accel>r</accel>avity</guimenuitem></menuchoice></term>
<listitem><para>Checking this item 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><menuchoice><guimenu>Options</guimenu>
<guimenuitem>Disallow unsolvable games</guimenuitem></menuchoice></term>
<listitem><para>If this menu-item is 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>

</variablelist>

</sect1>

<sect1 id="key-bindings">
<title>Key Bindings</title>

<para>Default key bindings are:
</para>
<simplelist>
<member>Quit: <keycombo action="simul"><keycap>Ctrl</keycap><keycap>Q</keycap></keycombo></member>
<member>Undo: <keycombo action="simul"><keycap>Ctrl</keycap><keycap>Z</keycap></keycombo></member>
<member>Redo: <keycombo action="simul"><keycap>Ctrl</keycap><keycap>D</keycap></keycombo></member>
<member>New Game: <keycombo action="simul"><keycap>Ctrl</keycap><keycap>N</keycap></keycombo></member>
<member>Restart Game: <keycombo action="simul"><keycap>Ctrl</keycap><keycap>R</keycap></keycombo></member>
<member>Help: <keycombo action="simul"><keycap>F1</keycap></keycombo></member>
<member>What's this?: <keycombo action="simul"><keycap>Shift</keycap><keycap>F1</keycap></keycombo></member>
</simplelist>
</sect1>
</chapter>


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

<para>
&kshisen; Copyright 1999 Mario Weilguni
<email>mweilguni@sime.com</email>
</para>


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

&underFDL;
&underGPL;

</chapter>

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

<sect1 id="getting-kshisen">
<title>How to obtain Shisen-Sho</title>

<para>
&kshisen; is written for the KDE project
<ulink url="http://www.kde.org">http://www.kde.org</ulink> by Mario Weilguni <email>mweilguni@sime.com</email>.
</para>
<para>
&kshisen; can be found in the package kdegames on
<ulink url="ftp://ftp.kde.org/pub/kde/">ftp://ftp.kde.org/pub/kde/</ulink>, 
the main ftp site of the KDE project.</para>
</sect1>

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

<para>
In order to successfully compile &kshisen;, you need KDE 2.0
All required libraries as well as &kshisen; itself can be found on
<ulink url="ftp://ftp.kde.org/pub/kde/">ftp://ftp.kde.org/pub/kde/</ulink>.</para>
</sect1>


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

<para>
In order to compile and install &kshisen on your
system, extract the package and type the following in the base directory of the
&kshisen; distribution:
</para>

<para>
<Screen Width="40">
<Prompt>%</Prompt> <Userinput>./configure</Userinput>
<Prompt>%</Prompt> <Userinput>make</Userinput>
<Prompt>%</Prompt> <Userinput>make install</Userinput>
</Screen>
</para>
      
<para>
Since <application>Shisen-Sho</application> uses <application>autoconf</application> and <application>automake</application> you should have not trouble compiling it.
</para>
</sect1>
</appendix>

</book>
