<?xml version="1.0" ?>
<!--IMPORTANT: please note that'do not change this!' notice does not apply to translators -->
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
  <!ENTITY kappname "&kblackbox;">
  <!ENTITY kappversion "0.4.0"><!--Applicaion version. Use this variable everywhere it's needed.-->
  <!ENTITY package "kdegames">  <!-- do not change this! -->
  <!ENTITY % English "INCLUDE" > <!-- change language only here -->
  <!ENTITY % addindex "IGNORE"> <!-- do not change this! -->
]>
 
<book lang="&language;"> <!-- do not change this! -->
<bookinfo>
	<title>The &kblackbox; Handbook</title> <!-- This is the title of the docbook. Leave as is unless change is necessary.-->
<!-- List of immidiate authors begins here. -->
<!--INPORTANT! - All other contributors: [to be determined] -->
<authorgroup>
<author>
&Nicolas.Roffet; &Nicolas.Roffet.mail;
</author>

<author>
&Robert.Cimrman; &Robert.Cimrman.mail;
</author>

<author>
&Philip.Rodrigues; &Philip.Rodrigues.mail;
</author>

<othercredit role="reviewer">
&Lauri.Watts; &Lauri.Watts.mail;
</othercredit>

<!-- TRANS:ROLES_OF_TRANSLATORS -->

</authorgroup>

<copyright>
<year>2007</year>
<holder>&Nicolas.Roffet;</holder>
</copyright>
<legalnotice>&FDLNotice;</legalnotice> 
<date>2007-08-16</date><!-- Date of (re)writing, or update.-->
<releaseinfo>&kappversion;</releaseinfo><!-- Application version number. Use the variable definitions within header to change this value.-->
 
<!--Short description of this document. Do not change unless necessary!-->
<abstract>
	<para>This documentation describes the game of &kblackbox; version &kappversion;</para>
</abstract>
 
<!--List of relevan keywords-->
<keywordset>
	<keyword>KDE</keyword> <!-- do not change this! -->
	<keyword>kdegames</keyword> <!-- do not change this! -->
	<keyword>game</keyword> <!-- do not change this! -->
	<keyword>Kblackbox</keyword>
	<keyword>puzzle</keyword>
	<keyword>board</keyword>
	<keyword>balls</keyword>
	<keyword>beams</keyword>
<!--Number of possible players. It can be: One, Two,..., Multiplayer-->
	<keyword>one player</keyword>
<!--All other relevant keywords-->
	<keyword>hidden balls</keyword>
	<keyword>find</keyword>
	<keyword>search</keyword>
</keywordset>
</bookinfo>
<!--Content begins here: -->
<chapter id="introduction"><title>Introduction</title> <!-- do not change this! -->
	<note><title>Gametype:</title><para>Puzzle, Board</para></note><!-- Game genre. Use as many as necessary. Available game types are: Arcade, Board, Card, Dice, Toys, Logic, Strategy.-->
	<note><title>Number of possible players:</title><para>One</para></note><!--Number of possible players. It can be: One, Two,..., Multiplayer-->
 
<!--Short game description starts here. 3-4 sentences (paragraphs)-->
	<para>&kblackbox; is a nice logical game, inspired by the <application>emacs</application> blackbox game. A major part of this help file is based on the original <application>emacs</application> help.</para>

<para>&kblackbox; is a game of hide and seek played on a grid of boxes. The computer has hidden several balls within this box. By shooting beams into the box and observing where they emerge it is possible to deduce the positions of the hidden balls.</para>
<para>The fewer beams you use and the quicker you are to find the balls, the better (the lower) your score.</para>
</chapter>
 
<chapter id="howto"><title>How to Play</title> <!-- do not change this! -->
<!--IMPORTANT: If the game has no defined objective, please remove the below line.-->
	<note><title>Objective:</title><para>Use laser beams to deduce the placement of the balls inside the black box.</para></note><!--Describe the objective of the game.-->
<!--How to play description. Don't be to specific on rules as they have a separate section in this document-->

<para>Use lasers and place balls and markers on the game board to deduce the position of the hidden balls inside the black box.</para>
<para>
	The game starts as soon as you use the first laser. Before that, the time is not running and no point will be count for the score.
</para>
<para>The cursor can be moved around the box with the standard cursor movement keys or the mouse. Switching of lasers or marking of black boxes is done with the &LMB;, or by pressing the <keycap>Return</keycap> or &Enter; key.</para>

<para>You can also drag and drop the balls and the markers with the mouse.</para>

<para>You can mark the fields where you think a ball cannot be, too. Just press the &RMB;. It often helps you to find an area where a ball could possibly
be. To clear any marks, press the same key or mouse button again.</para>

<para>When you think the configuration of balls you have placed is correct, press the <guibutton>Done!</guibutton> button. You
will be informed whether you are correct or not, and be given your score.
</para>
<para>
	If you placed any balls incorrectly, the right solution will be displayed.
</para>

<para>
	The score increases with the time (1 point per second) and with the use of lasers: 3 points if the laser beam hits a ball or exits at the entry point and 9 points if it exists at another entry point.  If you make a mistake, the score is set at the end of the game to 999, which is the maximum score.
</para>
</chapter>
 
<chapter id="rules_and_tips"><title>Game Rules, Strategies and Tips</title> <!-- do not change this! -->
	<!--This section has to do with game rules. Please give a detailed description of those using lists or paragraphs.-->
	<sect1 id="game-rules"><title>Game Rules</title>

<para>You have to find balls hidden in the black box. Your means are limited - you can just fire lasers which are around the box. There are three possible outcomes for each beam you send into the box: </para>

<anchor id="detour"/>
<variablelist>

<varlistentry>
<term>Detour</term> 
<listitem><para>The beam is deflected and emerges somewhere other than where you sent it in. On the playfield, detours are denoted by matching pairs of numbers - one where the beam went in, and the other where it
came out.</para></listitem>
</varlistentry>

<varlistentry>
<term>Reflection</term>
<listitem><para>The beam is reflected and emerges in the same place it
was sent in. On the playfield, reflections are denoted by a special sign.</para></listitem>
</varlistentry>

<varlistentry>
<term>Hit</term>
<listitem><para>The beam strikes a ball and is absorbed. It does not
emerge from the box. On the playfield, hits are denoted by a special sign.</para></listitem>
</varlistentry>
</variablelist>

<para>The rules for how balls deflect beams are simple and are best shown by
example.</para>

<para>As a beam approaches a ball it is deflected ninety degrees. Beams
can be deflected multiple times. In the diagrams below, the dashes
represent empty box locations and the letter <guilabel>O</guilabel>
represents a ball. The entrance and exit points of each beam are marked
with numbers as described under <link linkend="detour">Detour</link>
above. Note that the entrance and exit points are always
interchangeable. <guilabel>*</guilabel> denotes the path taken by the
beam.</para>

<para>Note carefully the relative positions of the ball and the ninety
degree deflection it causes.</para>

<screen>
    1
  - * - - - - - -         - - - - - - - -         - - - - - - - -       
  - * - - - - - -         - - - - - - - -         - - - - - - - -       
1 * * - - - - - -         - - - - - - - -         - O - - - - O -       
  - - O - - - - -         - - O - - - - -         - - * * * * - -
  - - - - - - - -         - - - * * * * * 2     3 * * * - - * - -
  - - - - - - - -         - - - * - - - -         - - - O - * - -      
  - - - - - - - -         - - - * - - - -         - - - - * * - -       
  - - - - - - - -         - - - * - - - -         - - - - * - O -       
                                2                         3
</screen>

<para>
As mentioned above, a reflection occurs when a beam emerges from the same
point it was sent in. This can happen in several ways:
</para>

<screen>
  - - - - - - - -         - - - - - - - -          - - - - - - - -
  - - - - O - - -         - - O - O - - -          - - - - - - - -
R * * * * - - - -         - - - * - - - -          O - - - - - - -
  - - - - O - - -         - - - * - - - -        R - - - - - - - -
  - - - - - - - -         - - - * - - - -          - - - - - - - -
  - - - - - - - -         - - - * - - - -          - - - - - - - -
  - - - - - - - -       R * * * * - - - -          - - - - - - - -
  - - - - - - - -         - - - - O - - -          - - - - - - - -

</screen>

<para>In the first example, the beam is deflected downwards by the upper
ball, then left by the lower ball, and finally retraces its path to its
point of origin. The second example is similar. The third example is a
bit anomalous but can be rationalized by realizing the beam never gets a
chance to get into the box. Alternatively, the beam can be thought of as
being deflected downwards and immediately emerging from the box.</para>

<para>A hit occurs when a beam runs straight into a ball:</para>

<screen>
  - - - - - - - -         - - - - - - - -          - - - - - - - -
  - - - - - - - -         - - - - - - - -          - - - - O - - -
  - - - - - - - -         - - - - O - - -        H * * * * - - - -
  - - - - - - - -       H * * * * O - - -          - - - * - - - -
  - - - - - - - -         - - - - O - - -          - - - O - - - -
H * * * O - - - -         - - - - - - - -          - - - - - - - -
  - - - - - - - -         - - - - - - - -          - - - - - - - -
  - - - - - - - -         - - - - - - - -          - - - - - - - -

</screen>

<para>Be sure to compare the second example of a hit with the first
example of a reflection.</para>

</sect1>
</chapter>
  
<chapter id="interface"><title>Interface Overview</title> <!-- do not change this! -->
<!-- This section has to do with menubar. Describe every single entry in order. Use <variablelist> and <varlistentry>. Split the chapter into sections using <sect1(2,3)> for better viewing.-->
 <sect1 id="game-board-descritpion">
<title>Game Board Description</title>

<para>The following types of field are found on the game board: </para>

<variablelist>
<varlistentry>
<term><interface>The big black box in the middle</interface></term>
<listitem><para>Here you must mark the positions you think
a ball is in.</para></listitem>
</varlistentry>

<varlistentry>
<term><interface>Lasers around the box</interface></term>
<listitem><para>The lasers are shooting beams of light when
switched on. Then, they disappear and are replaced by an information about the interactions of the laser beam with the balls in the black box.</para></listitem>
</varlistentry>

<varlistentry>
<term><interface>Balls</interface></term>
<listitem><para><quote>There must be one there!</quote> you think.  These mark
where you suspect a ball is placed in the black box.</para>
<para>At the end of the game, the right and wrong positions of the balls are also marked with "balls".</para>
</listitem>
</varlistentry>

<varlistentry>
<term><interface>Markers for "free position"</interface></term>
<listitem><para>You can use them to mark some positions where you are sure there is no ball.</para></listitem>
</varlistentry>
</variablelist>

</sect1>

<sect1 id="game-menu">
<title>The <guimenu>Game</guimenu> Menu</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 (and abandons the current, if
any.)</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut><keycap>P</keycap></shortcut>
<guimenu>Game</guimenu>
<guimenuitem>Pause</guimenuitem></menuchoice></term>
<listitem><para>Pause or continue the current game.</para><para>Note that the interaction results are hidden in a paused game.</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>Show the high score tables.</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>Game</guimenu>
<guimenuitem>Start Tutorial</guimenuitem></menuchoice></term>
<listitem><para>Start the tutorial of the game. This is a user friendly way to learn the game rules.</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>Game</guimenu>
<guimenuitem>New Sandbox Game</guimenuitem></menuchoice></term>
<listitem><para>In this mode, the solution is displayed at the start of the game. This is useful to understand the game principles.</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>This closes the window and quits &kblackbox;.</para>
	</listitem>
</varlistentry>
</variablelist>
</sect1>


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

<variablelist>
<varlistentry>
	<term>
		<menuchoice>
			<guimenu>Game</guimenu>
			<guimenuitem>Solve</guimenuitem>
		</menuchoice>
	</term>
	<listitem>
		<para>Use it to give up a game. It shows you the solution: the right positions of the balls.</para>
	</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice><guimenu>Game</guimenu>
<guimenuitem>Done!</guimenuitem></menuchoice></term>
<listitem><para>When you placed all the balls, choose "Done!" to terminate
the current game, to compute the final score and to display the real positions of
the balls.</para></listitem>
</varlistentry>
</variablelist>
</sect1>


<sect1 id="settings-menu">
<title>The <guimenu>Settings</guimenu> Menu</title>
<para>Note: we describe here only the menu items that are game specific and skip &kde; standard menu items.</para>
<variablelist>
<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu><guisubmenu>Difficulty</guisubmenu>
</menuchoice>
</term>
<listitem>
<para>Select the game difficulty. Harder games have more balls and bigger black box than easier games. You can also play with a custom difficulty level that you can set up in the setting dialog of &kblackbox;.</para>
<para>Note: games with 4 balls or less can always be solved with certainty! That is not the case for games with 5 balls or more.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu><guimenuitem>Configure &kblackbox;...</guimenuitem>
</menuchoice></term>
<listitem>
<para>In this dialog, you can customize the number of balls, columns and rows of the black box in the custom difficulty level.</para>
</listitem>
</varlistentry>
</variablelist>

</sect1>

<sect1 id="help"><!--This is a standard Help menubar entry. Only change if needed.-->
<title>The <guimenu>Help</guimenu> Menu</title>
&help.menu.documentation;
</sect1>
</chapter>

<chapter id="faq"><title>Frequently asked questions</title> <!-- do not change this! -->
<!--This chapter is for frequently asked questions. Please use <qandaset> <qandaentry> only!-->
<qandaset>
<!--Following is a standard list of FAQ questions.-->
<qandaentry>
 <question><para>Can I use the keyboard to play this game? </para></question>
 <answer><para>Yes. You can use the directional keys to control the cursor, &Enter; to place and remove balls, and <keycap>Spacebar</keycap> to place 'empty' marks.</para></answer>
</qandaentry>
<qandaentry>
 <question><para>I have to quit the game now, but I am not finished yet. Can I save my progress?</para></question>
  <answer><para>&kblackbox; has no save feature at the moment.</para></answer>
</qandaentry>

</qandaset>
</chapter>

<chapter id="credits"><title>Credits and License</title> <!-- do not change this! -->
<!--This chapter is for credits and licenses.-->
 
<para>
&kblackbox;  <!-- do not change this! -->
</para>
<!--List all the copyright holders here-->
<para>
Program copyright 1999-2000 &Robert.Cimrman; &Robert.Cimrman.mail; and 2007 &Nicolas.Roffet; &Nicolas.Roffet.mail;
</para>
<para>
Documentation copyright by &Robert.Cimrman;. Updated and converted to Docbook
for &kde; 2.0 by &Lauri.Watts; &Lauri.Watts.mail;. Reviewed by &Philip.Rodrigues; &Philip.Rodrigues.mail;
</para>

<!-- TRANS:CREDIT_FOR_TRANSLATORS -->
&underFDL;
&underGPL;
 
</chapter>
  
<appendix id="installation">
<title>Installation</title>
 
&install.intro.documentation;
 
 
<sect1 id="Compilation">
<title>Compilation and Installation</title>
 
&install.compile.documentation;
 
</sect1>
</appendix>
 
&documentation.index; 
</book>
<!--
Local Variables:
mode: sgml
sgml-minimize-attributes:nil
sgml-general-insert-case:lower
sgml-omittag:t
sgml-shorttag:t
sgml-namecase-general:t
sgml-always-quote-attributes:t
sgml-indent-step:0
sgml-indent-data:nil
sgml-parent-document:nil
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->
