<?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="kbounce" lang="&language;">
<bookinfo>
<title>The &kbounce; Handbook</title>

<authorgroup>
<author>
<firstname>Tomasz</firstname><surname>Boczkowski</surname>
<affiliation><address><email>tboczkowski@onet.pl</email></address></affiliation>
</author>
<othercredit role="reviewer">
<firstname>Eugene</firstname><surname>Trounev</surname>
<contrib>Reviewer</contrib>
<affiliation><address>eugene.trounev@gmail.com</address></affiliation>
</othercredit>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>

<copyright>
<year>2002</year>
<holder>&Aaron.J.Seigo;</holder>
</copyright>

<copyright>
<year>2007</year>
<holder>Tomasz Boczkowski</holder>
</copyright>

<legalnotice>&FDLNotice;</legalnotice>


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

<abstract>
	<para>This documentation describes the game of &kbounce; version 21.04</para>
</abstract>


<keywordset>
	<keyword>KDE</keyword> <!-- do not change this! -->
	<keyword>kdegames</keyword> <!-- do not change this! -->
	<keyword>game</keyword> <!-- do not change this! -->
<!-- Game genre. Use as many as necessary. Available game types are: Arcade, Board, Card, Dice, Toys, Logic, Strategy.-->
	<keyword>arcade</keyword>
	<keyword>puzzle</keyword>
	<keyword>balls</keyword>
	<keyword>JezzBall</keyword>
	<keyword>KBounce</keyword>
</keywordset>

</bookinfo>

<chapter id="introduction">
<title>Introduction</title>
<note><title>Gametype:</title><para>Puzzle, Arcade</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-->
<para>
&kbounce; is a single player arcade game with the elements of puzzle.
</para>

<para>
It is played on a field, surrounded by walls, with two or more balls that move about in the field bouncing off of walls. The player can build new walls, decreasing the size of the active field.
</para>

<para>
The goal of the game is to fill at least 75&percnt; of the field and advance to the next level.
</para>
</chapter>

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

<para>
The player is presented a rectangular tiled field surrounded by walls. Two or more balls move about in the field and bounce off of the walls. The object of the game is to limit the size of room for the balls.
</para>

<para>
The size of the active area of the field is decreased by making new walls that enclose areas without balls in them.  To complete a level, the player must decrease the size of the active field by at least 75&percnt; within the time allowed.
</para>

<para>
New walls are built by clicking the &LMB; in an active area of the field, at which point one wall will begin to grow in opposite directions from the square the mouse was clicked in. Only one wall in each direction may be growing on the screen at any given time.
</para>

<para>
When the mouse is on the field, the cursor is shown as a pair of arrows pointing in opposite directions, either horizontally or vertically.  The arrows point in the direction the walls will grow when the &LMB; is clicked.  This direction can be changed by clicking the &RMB;.
</para>

<para>
A new wall has a <quote>head</quote> which moves away from the point where the mouse was clicked.  A wall is not permanent until this <quote>head</quote> runs into another wall.  If a ball collides with any part of the wall except the head, before the head has run into another wall, the new wall will disappear completely and one life will be lost.  If a ball collides with the head in the direction of the wall's growth, the wall will stop growing there, and become permanent, with no loss of life.  If a ball collides with the head from any other side, the ball will bounce off and the wall will continue to grow normally.
</para>
</chapter>

<chapter id="rules_and_tips"><title>Game Rules, Strategies and Tips</title> <!-- do not change this! -->
<sect1 id="rules">
<title>Game Rules</title>

<para>
The game starts with level 1 in which two balls move around in the
field. The player has two lives and 90 seconds to successfully complete
the level.
</para>

<para>
In n-th level there are n + 1 balls. The player is given n + 1 lives. They
have 30 * ( n + 2 ) seconds to complete it.
</para>

<para>
When a ball collides with a growing wall the player looses one life.
An exception is the collision with wall's <quote>head</quote> when
no life is lost.
</para>

<para>
The goal of each level is to cover at least 75&percnt; of the field
with wall.  
</para>

<para>
The loss of all lives and exceeding the time allowed result in the
end of the game.
</para>

<para>
If a player completes a level he receives 15 points for each life left,
 and a bonus depending on the number of balls and the number of tiles filled
above 75&percnt;. They also advance to the next level.
</para>
 
</sect1>

<sect1 id="strategy">
<title>Strategies and Tips</title>
<itemizedlist>

<listitem>
<para>
Many players find the game becomes quite difficult by only the
third or fourth level, given the number of balls on the field at
once.
</para>
</listitem>

<listitem>
<para>
The trick playing &kbounce; successfully is to build
<quote>corridors</quote>.  To build a corridor, start a pair of walls
growing close to another wall, and time it so that one of the walls
will be hit by a ball and one of the walls will not, and thus become
permanent.
</para>

<screenshot>
<screeninfo>Building a corridor</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="kbounce_corridor1.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Building a corridor</phrase>
</textobject>
</mediaobject>
</screenshot>

<para>
This will leave a narrow corridor only a few squares high on the
field, surrounded on three sides by walls.  Wait for the balls to
bounce into the open end of the corridor, and close the corridor
behind the ball with a new wall.  Although you will most likely lose a
life for each corridor created, you can trap several balls in a single
corridor.
</para>

<screenshot>
<screeninfo>Capturing balls in a corridor</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="kbounce_corridor2.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Capturing balls in a corridor</phrase>
</textobject>
</mediaobject>
</screenshot>
</listitem>

<listitem>
<para>
A final tip &mdash; take your time!  There is plenty of time, as
shown in the <guilabel>Time</guilabel> display at the bottom 
of the screen.  Rushing will just get you in trouble!
</para>
</listitem>
</itemizedlist>
</sect1>
</chapter>

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

<sect1 id="the-tool-bar">
<title>The Tool Bar</title>

<para>
The toolbar provides buttons for the commonly used functions.
</para>

<table>
<title>Toolbar Buttons</title>
<tgroup cols="4">

<thead>
<row>
<entry>Button</entry>
<entry>Name</entry>
<entry>Menu Equivalent</entry>
<entry>Action</entry>
</row>
</thead>

<tbody>
<row>
<entry>
<inlinemediaobject>
<imageobject>
<imagedata format="PNG" fileref="document-new.png"/>
</imageobject>
<textobject><phrase>New Game Button</phrase></textobject>
</inlinemediaobject>
</entry>

<entry>
<guiicon>New</guiicon>
</entry>

<entry>
<link linkend="game-new">
<menuchoice>
<guimenu>Game</guimenu> <guimenuitem>New</guimenuitem>
</menuchoice>
</link>
</entry>

<entry>
Starts a new game. If a game is currently played clears the field
and sets the level to 1.
</entry>
</row>

<row>
<entry>
<inlinemediaobject>
<imageobject>
<imagedata format="PNG" fileref="media-playback-pause.png"/>
</imageobject>
<textobject>
<phrase>Pause Button</phrase></textobject>
</inlinemediaobject>
</entry>

<entry>
<guiicon>Pause</guiicon>
</entry>

<entry>
<link linkend="game-pause">
<menuchoice>
<guimenu>Game</guimenu> <guimenuitem>Pause</guimenuitem></menuchoice>
</link>
</entry>

<entry>
Pauses or resumes the current game.
</entry>
</row>
</tbody>
</tgroup>
</table>
</sect1>

<sect1 id="the-menu-items">
<title>The Menu Items</title>

<sect2>
<title>The Game Menu</title>

<variablelist>
<varlistentry id="game-new">
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo>
</shortcut>
<guimenu>Game</guimenu>
<guimenuitem>New</guimenuitem>
</menuchoice></term>
<listitem>
<para><action>Starts a new game.</action></para>
</listitem>
</varlistentry>

<varlistentry id="game-end">
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;&End;</keycombo>
</shortcut>
<guimenu>Game</guimenu>
<guimenuitem>End Game</guimenuitem>
</menuchoice></term>
<listitem>
<para><action>Ends the current game.</action></para>
</listitem>
</varlistentry>

<varlistentry id="game-pause">
<term><menuchoice>
<shortcut>
<keycap>P</keycap>
</shortcut>
<guimenu>Game</guimenu>
<guimenuitem>Pause</guimenuitem>
</menuchoice></term>
<listitem>
<para><action>Pauses or resumes the game.</action></para>
</listitem>
</varlistentry>

<varlistentry id="game-highscores">
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>H</keycap></keycombo>
</shortcut>
<guimenu>Game</guimenu>
<guimenuitem>Show High Scores</guimenuitem>
</menuchoice></term>
<listitem>
<para>
Opens a dialog that displays different high score tables. 
</para>
</listitem>
</varlistentry>

<varlistentry id="game-quit">
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>Q</keycap></keycombo>
</shortcut>
<guimenu>Game</guimenu>
<guimenuitem>Quit</guimenuitem>
</menuchoice></term>
<listitem>
<para><action>Quit</action> and close &kbounce;.
If a game is currently played, it's status is lost.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>

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

<variablelist>

<varlistentry id="settings-sounds">
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Play Sounds</guimenuitem>
</menuchoice></term>
<listitem>
<para><action>If checked, &kbounce; game sounds are played.</action></para>
</listitem>
</varlistentry>

<varlistentry id="settings-difficulty">
<term><menuchoice>
<guimenu>Settings</guimenu>
<guisubmenu>Difficulty</guisubmenu>
</menuchoice></term>
<listitem>
<para><action>Select a game difficulty. On higher difficulty levels the walls are build slower while balls move faster.
That makes it harder to fence an area in the board.</action></para>
</listitem>
</varlistentry>

</variablelist>

<para>
Additionally &kbounce; 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>

</sect2>

</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>I want to change the way this game looks. Can I? </para></question>
 <answer><para>Yes. To change &kbounce; visual theme you can use <menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure &kbounce;…</guimenuitem></menuchoice> option on the menubar.</para></answer>
</qandaentry>
<qandaentry>
 <question><para>I have made a mistake. Can I undo? </para></question>
 <answer><para>&kbounce; does not have an <quote>Undo</quote> feature.</para></answer>
</qandaentry>
<qandaentry>
 <question><para>Can I use the keyboard to play this game?</para></question>
 <answer><para>No. &kbounce; cannot be played using keyboard.</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>&kbounce; does not have a <quote>Save</quote> feature at the moment.</para></answer>
</qandaentry>
</qandaset>
</chapter>

<chapter id="configuration"><title>Game Configuration</title> <!-- do not change this! -->
<para>The &kbounce; configuration dialog allows you to select visual themes for &kbounce;.</para>
<para>
To select a new theme simply choose the theme from
the selection list. Each item in the list shows a small
preview left to the theme name. A selection is immediately applied.
</para>
<para>
You can select random background pictures from a user defined folder with images.
</para>
<para>
Once you are satisfied with the theme you have selected you
can click the <guibutton>OK</guibutton>
button, located at the bottom part of this dialog.
</para>
</chapter>

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


<para>&kbounce;</para>

<itemizedlist>
<listitem>
<para>Stefan Schimanski <email>schimmi@kde.org</email> -
Original Author</para>
</listitem>
<listitem>
<para>Sandro Sigala <email>ssigala@globalnet.it</email> -
Highscore</para>
</listitem>
<listitem>
<para>Benjamin Meyer <email>ben+kbounce@meyerhome.net</email> - 
Contributions</para>
</listitem>
<listitem>
<para>Dmitry Suzdalev <email>dimsuz@gmail.com</email></para>
</listitem>
<listitem>
<para>Tomasz Boczkowski <email>tboczkowski@onet.pl</email> - 
Port to KDE4 and KGameCavas</para>
</listitem>
</itemizedlist>

<para>Documentation copyright 2002, &Aaron.J.Seigo;
&Aaron.J.Seigo.mail;</para>
<para>Documentation copyright 2007, Tomasz Boczkowski
<email>tboczkowski@onet.pl</email></para>

<para>This handbook is dedicated to Dennis E. Powell.</para>

<!-- TRANS:CREDIT_FOR_TRANSLATORS -->

&underFDL;

&underGPL;

</chapter>

&documentation.index; 
</book>
<!--
Local Variables:
mode: sgml
sgml-minimize-attributes: nil
sgml-general-insert-case: lower
End:
-->

