<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN" "dtd/kdedbx45.dtd" [
<!ENTITY % English "INCLUDE">
<!ENTITY % addindex "IGNORE">
]>

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

<authorgroup>
<author>
<firstname>Stefan</firstname>
<surname>Majewsky</surname>
<affiliation><address><email>majewsky@gmx.net</email></address></affiliation>
</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>

<copyright>
<year>2008, 2009, 2010</year>
<holder>Stefan Majewsky</holder>
</copyright>

<legalnotice>&FDLNotice;</legalnotice>

<date>2021-06-26</date>
<releaseinfo>KDE Gear 21.04</releaseinfo>

<abstract>
<para>
&kdiamond;, a three-in-a-row game.</para>
</abstract>

<keywordset>
<keyword>KDE</keyword>
<keyword>kdegames</keyword>
<keyword>game</keyword>
<keyword>puzzle game</keyword>
<keyword>KDiamond</keyword>
</keywordset>
</bookinfo>

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

<para>
&kdiamond; is a single player puzzle game.
</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="gameboard.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>&kdiamond; gameboard</phrase>
</textobject>
</mediaobject>
</screenshot>

<para>
The object of the game is to build lines of three similar diamonds.
</para>
</chapter>

<chapter id="how-to-play">
<title>How to Play</title>

<para>
The player is presented with a rectangular grid containing several types of diamonds. The object of the game is to swap neighbored diamonds to assemble a line of three similar diamonds. These lines will vanish and the board will be refilled with new diamonds. The game time is limited, try to build as much lines as possible to earn a high score.
</para>

<para>
Click on one diamond, then on one of its neighbors. The diamonds will then be swapped. (You may also click and drag a diamond upon one of its neighbors to invoke the swap.) If no line of at least three diamonds is formed by the swap, it will be reverted. The status bar displays the game time left, the number of points you have earned, and the number of possible moves.
</para>

</chapter>

<chapter id="rules-strategies-tips">
<title>Game Rules, Strategies and Tips</title>

<sect1 id="rules">
<title>Rules</title>
<itemizedlist>
<listitem><para>When a line was removed and the diamonds fall down to fill gaps, it may be that then new lines are composed. Try to achieve such cascades when selecting a diamond pair as you will earn extra points: You get 1 point for the line you build, 2 points for the first cascade, 3 points for a possible next cascade, and so on.</para></listitem>
<listitem><para>Try to build lines with more than 3 diamonds: You will earn an extra second for each two extra diamonds removed.</para></listitem>
<listitem><para>The number of diamond types increases when choosing <guilabel>Hard</guilabel> difficulty levels, thus making it harder to build lines. In contrast, the board size will grow on the <guilabel>Easy</guilabel> difficulty levels to make it easier to find a move.</para></listitem>
<listitem><para>The game will stop once there are no possible moves left. Especially on <guilabel>Hard</guilabel> difficulty levels, you should keep this in mind when choosing your next move.</para></listitem>
</itemizedlist>
</sect1>

</chapter>

<chapter id="interface-overview">
<title>Interface Overview</title>

<sect1 id="menu">
<title>Menu Items</title>

<variablelist>
<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo>
</shortcut>
<guimenu>Game</guimenu>
<guimenuitem>New</guimenuitem>
</menuchoice></term>
<listitem>
<para>
Starts a new game. It creates a random board using the current difficulty level.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut><keycap>P</keycap></shortcut>
<guimenu>Game</guimenu>
<guimenuitem>Pause</guimenuitem>
</menuchoice></term>
<listitem>
<para>
Pauses the game time. Click on the menu item again to make the game resume. Note that the board disappears when the game is paused as it would be unfair if you could search for good moves without the time pressure.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>H</keycap></keycombo>
</shortcut>
<guimenu>Game</guimenu>
<guimenuitem>Show High Scores...</guimenuitem>
</menuchoice></term>
<listitem>
<para>
Shows a dialog containing the High Scores for the various difficulty levels.
</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>
Quits the program.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut><keycap>H</keycap></shortcut>
<guimenu>Move</guimenu>
<guimenuitem>Hint</guimenuitem>
</menuchoice></term>
<listitem>
<para>
Highlight a diamond which can be moved.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guisubmenu>Difficulty</guisubmenu>
</menuchoice></term>
<listitem>
<para>Lets you set the difficulty level from a sub-menu.</para>
<para>There are five levels of difficulty:
<itemizedlist>
<listitem><para><guimenuitem>Very easy</guimenuitem>: 12 rows, 12 columns, 5 types of diamonds.</para></listitem>
<listitem><para><guimenuitem>Easy</guimenuitem>: 10 rows, 10 columns, 5 types of diamonds.</para></listitem>
<listitem><para><guimenuitem>Medium</guimenuitem>: 8 rows, 8 columns, 5 types of diamonds.</para></listitem>
<listitem><para><guimenuitem>Hard</guimenuitem>: 8 rows, 8 columns, 6 types of diamonds.</para></listitem>
<listitem><para><guimenuitem>Very hard</guimenuitem>: 8 rows, 8 columns, 7 types of diamonds.</para></listitem>
</itemizedlist>
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Configure Notifications...</guimenuitem>
</menuchoice></term>
<listitem><para>This item displays a standard &kde; notifications configuration
dialog, where you can change the notifications (sounds, visible messages,
&etc;) used by &kdiamond;.</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;&Shift;<keycap>,</keycap></keycombo>
</shortcut>
<guimenu>Settings</guimenu>
<guimenuitem>Configure &kdiamond;...</guimenuitem>
</menuchoice></term>
<listitem><para>Shows a dialog for choose a graphical theme for the game. Which themes are available depends on the current installation. You may also download new themes which have been created by third-party designers.</para></listitem>
</varlistentry>

</variablelist>

<para>
Additionally &kdiamond; has the common &kde; <guimenu>Settings</guimenu> and <guimenu>Help</guimenu>
menu items, for more information read the sections about the <ulink url="help:/fundamentals/menus.html#menus-settings"
>Settings Menu</ulink> and <ulink url="help:/fundamentals/menus.html#menus-help">Help Menu</ulink>
of the &kde; Fundamentals.
</para>

</sect1>

<sect1 id="keybindings">
<title id="keybindings-title">Shortcuts</title>

<para>The default shortcuts are:</para>

<table>
<title>Shortcuts</title>
<tgroup cols="2">
<tbody>
<row>
<entry>Start a new game</entry>
<entry>
<keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo>
</entry>
</row>
<row>
<entry>Pause</entry>
<entry>
<keycombo action="simul"><keysym>P</keysym></keycombo>
</entry>
</row>
<row>
<entry>Show High Scores</entry>
<entry>
<keycombo action="simul">&Ctrl;<keycap>H</keycap></keycombo>
</entry>
</row>
<row>
<entry>Hint</entry>
<entry><keycap>H</keycap></entry>
</row>
<row>
<entry>Quit</entry>
<entry>
<keycombo action="simul">&Ctrl;<keycap>Q</keycap></keycombo>
</entry>
</row>
<row>
<entry>Help</entry>
<entry><keycap>F1</keycap></entry>
</row>
<row>
<entry>What's this?</entry>
<entry>
<keycombo action="simul">&Shift;<keycap>F1</keycap></keycombo>
</entry>
</row>
</tbody>
</tgroup>
</table>

</sect1>
</chapter>


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

<para>
&kdiamond;
</para>
<para>
Program copyright 2008, 2009 by Stefan Majewsky <email>majewsky@gmx.net</email>
</para>
<para>
Documentation copyright 2008, 2009, 2010 by Stefan Majewsky <email>majewsky@gmx.net</email>
</para>

<!-- TRANS:CREDIT_FOR_TRANSLATORS -->

&underFDL;
&underGPL;

</chapter>

&documentation.index;
</book>
<!--
Local Variables:
mode: sgml
sgml-minimize-attributes:nil
sgml-general-insert-case:lower
sgml-always-quote-attributes:t
sgml-indent-step:0
sgml-indent-data:t
End:
-->

