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

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

<authorgroup>
<author>
<firstname>Fabian</firstname>
<surname>Dal Santo</surname>
<affiliation>
<address>&Fabian.DalSanto.mail;</address>
</affiliation>
</author>

<author>
<firstname>Stas</firstname>
<surname>Verberkt</surname>
<affiliation>
<address>&Stas.Verberkt.mail;</address>
</affiliation>
</author>

<othercredit role="reviewer">
<firstname>Lauri</firstname>
<surname>Watts</surname>
<affiliation>
<address>&Lauri.Watts.mail;</address>
</affiliation>
<contrib>Reviewer</contrib>
</othercredit>
<!-- TRANS:ROLES_OF_TRANSLATORS-->
</authorgroup>

<copyright>
<year>1999</year>
<year>2000</year>
<holder>&Matthias.Kiefer;</holder>
</copyright>

<copyright>
<year>2001</year>
<holder>&Fabian.Dal.Santo;</holder>
</copyright>

<copyright>
<year>2009</year>
<holder>&Stas.Verberkt;</holder>
</copyright>

<legalnotice>&FDLNotice;</legalnotice>

<date>2021-08-17</date>
<releaseinfo>2.1 (KDE Gear 21.08)</releaseinfo>

<abstract>
<para>
&ksnakeduel; is a simple snake duel game, which you can play alone or against a friend.
</para>
</abstract>

<keywordset>
<keyword>KDE</keyword>
<keyword>kdegames</keyword>
<keyword>KTron</keyword>
<keyword>KSnakeDuel</keyword>
<keyword>game</keyword>
<keyword>tron</keyword>
<keyword>snakeduel</keyword>
<keyword>KSnake</keyword>
<keyword>snake</keyword>
<keyword>duel</keyword>
</keywordset>
</bookinfo>

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

<para>
&ksnakeduel; is a simple snake duel game. You can play against the computer
or a friend. The aim of the game is to live longer than your opponent. To do
that, avoid running into a wall, your own tail and that of your opponent.
</para>

<para>
&ksnakeduel; is a simple Snake-like game. The aim is to survive as long as
possible and eat as many fruits as you can.
</para>

<para>
You can switch between these games using the game type selector in the configuration dialog.
</para>

</chapter>

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

<sect1 id="playing-ktron-rules">
<title>Rules</title>

<para>
Once a round is started, the players do not stop moving forward (unless the game
is paused).  All you have to do is avoid crashing by changing your players
direction. Additionally you can try to hinder your opponent.  For this it is
possible to increase the velocity by pressing your accelerator key.
</para>

<para>
A round starts when all human players press a direction key. The initial moving
direction is then in this direction.
</para>

<para>
If you want to interrupt playing, select the <menuchoice> <shortcut><keycombo
action="simul"><keycap>P</keycap></keycombo></shortcut> <guimenu>Game</guimenu>
<guimenuitem>Pause</guimenuitem></menuchoice> menu item.  Additionally the game
is paused when the game loses the keyboard focus, &eg; when switching to an other window.
</para>

<para>
To continue the game, select again this menu item or hit the keyboard shortcut.
The game will also continue if you press one of the direction keys. But be
careful, your player switches to this direction immediately.
</para>


<para>A game consists of several rounds, and ends if a player has at least
nine points, and additionally two more points than the opponent. The current
score is always displayed in the status bar.
</para>

<para>
You can change the difficulty level of the game using the
<menuchoice><guimenu>Settings</guimenu> <guisubmenu>Difficulty</guisubmenu></menuchoice>
submenu or the drop-down box on the status bar. The difficulty influences
the speed of the game and the computer player.
</para>
</sect1>

<sect1 id="computerplayer">
<title>The Computer Player</title>

<para>
You can play against a computer. The difficulty level of the game influences the
intelligence of the computer player.
</para>
<para>
At low levels the computer doesn't care about the opponent and just moves
around. At higher skill levels the computer tries to hinder the opponent when he
comes near.
</para>
</sect1>

<sect1 id="using-keyboard">
<title>Using the Keyboard</title>

<para>
Each player has five keys. Four keys for changing the direction and one to
accelerate.
</para>

<para>
The direction keys do not have to be held down. Simply press them once to
change
the direction of your player.
</para>

<para>
Acceleration only occurs while the acceleration key remains depressed.  When you
release the acceleration key, velocity returns to normal.
</para>

<note><para>
You can <ulink url="help:/fundamentals/shortcuts.html">alter the keys</ulink> using the
<menuchoice><guimenu>Settings</guimenu> <guimenuitem>Configure Shortcuts…</guimenuitem></menuchoice>
menu item.
</para></note>
</sect1>
</chapter>

<chapter id="playing-snake">
<title>Playing KSnake mode</title>

<sect1 id="playing-snake-rules">
<title>Rules</title>

<para>
Once the game is started, the player does not stop moving forward (unless the
game is paused). All you have to do is avoid crashing by changing your
direction. A game starts when you press a direction key. The initial moving
direction is then in this direction.
</para>

<para>
If you want to pause playing, select the <menuchoice> <shortcut><keycombo
action="simul"><keycap>P</keycap></keycombo></shortcut> <guimenu>Game</guimenu>
<guimenuitem>Pause</guimenuitem></menuchoice> menu item or hit the keyboard
shortcut. Additionally the game is paused when the game loses the keyboard
focus, &eg; when switching to an other window.
</para>

<para>
To continue the game, select again this menu item or hit the keyboard shortcut.
The game will also continue if you press one of the direction keys. But be
careful, your player switches to this direction immediately.
</para>

<para>
In the game there will always be a piece of fruit on the map. If you collect it
your score will increase with 5 points. The current score is always displayed in
the status bar.
</para>

<para>
When you are moving through the map there will also appear obstacles. Hitting them
will also result in a crash. However, every time an obstacle appears and you
survive you'll be rewarded 2 points
</para>

<para>
You can change the difficulty level of the game using the
<menuchoice><guimenu>Settings</guimenu> <guisubmenu>Difficulty</guisubmenu></menuchoice>
submenu or the drop-down box on the status bar. The difficulty influences
the speed of the game and the computer player.
</para>

</sect1>

<sect1 id="using-keyboard-snake">
<title>Using the keyboard</title>

<para>
Each player has four keys. These are used for changing the direction.
The direction keys do not have to be held down. Simply press them once to change
the direction of your player.
</para>

<note><para>
You can <ulink url="help:/fundamentals/shortcuts.html">alter the keys</ulink> using the
<menuchoice><guimenu>Settings</guimenu> <guimenuitem>Configure Shortcuts…</guimenuitem></menuchoice>
menu item.
</para></note>
</sect1>

</chapter>

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

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

<para>The following list briefly describes each menubar option.</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>Starts a new game.</action></para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut>
<keycap>P</keycap>
</shortcut>
<guimenu>Game</guimenu>
<guimenuitem>Pause</guimenuitem>
</menuchoice></term>
<listitem><para><action>Toggles whether the game is paused.</action></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><action>Displays the high score table.</action></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>Quit &ksnakeduel;.</action></para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Difficulty</guimenuitem>
</menuchoice></term>
<listitem><para><action>A submenu that allows you to change the difficulty
level of the game.</action></para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Configure &ksnakeduel;…</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens a <link linkend="configuration">comprehensive dialog</link>
to configure various options.</action></para></listitem>
</varlistentry>
</variablelist>

<para>
Additionally &ksnakeduel; 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="keys">
<title>Default Shortcuts</title>

<para>The following tables show you the default shortcuts.</para>


<table>
<title>Player 1 Shortcuts</title>
<tgroup cols="2">
<thead>
<row>
<entry>Key Combo</entry>
<entry>Action</entry>
</row>
</thead>
<tbody>
<row>
<entry>&Up; arrow</entry>
<entry>Move up</entry>
</row>
<row>
<entry>&Down; arrow</entry>
<entry>Move down</entry>
</row>
<row>
<entry>&Right; arrow</entry>
<entry>Move on the right</entry>
</row>
<row>
<entry>&Left; arrow</entry>
<entry>Move on the left</entry>
</row>
<row>
<entry><keycap>0</keycap></entry>
<entry>Accelerate</entry>
</row>
</tbody>
</tgroup>
</table>

<table>
<title>Player 2 Shortcuts</title>
<tgroup cols="2">
<thead>
<row>
<entry>Key Combo</entry>
<entry>Action</entry></row></thead>
<tbody>
<row>
<entry><keycap>R</keycap></entry>
<entry>Move up</entry>
</row>
<row>
<entry><keycap>F</keycap></entry>
<entry>Move down</entry>
</row>
<row>
<entry><keycap>G</keycap></entry>
<entry>Move on the right</entry>
</row>
<row>
<entry><keycap>D</keycap></entry>
<entry>Move on the left</entry>
</row>
<row>
<entry><keycap>A</keycap></entry>
<entry>Accelerate</entry>
</row>
</tbody>
</tgroup>
</table>

<table>
<title>General Shortcuts</title>
<tgroup cols="2">
<thead>
<row>
<entry>Key Combo</entry>
<entry>Action</entry>
</row>
</thead>
<tbody>
<row>
<entry><keycap>P</keycap></entry>
<entry>Pause/Resume the Game</entry>
</row>
<row>
<entry><keycombo action="simul">&Ctrl;<keycap>H</keycap></keycombo></entry>
<entry>High Scores</entry>
</row>
<row>
<entry><keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo></entry>
<entry>New Game</entry>
</row>
<row>
<entry><keycombo action="simul">&Ctrl;<keycap>Q</keycap></keycombo></entry>
<entry>Quit &ksnakeduel;</entry>
</row>
<row>
<entry><keycap>F1</keycap></entry>
<entry>This Manual</entry>
</row>
<row>
<entry><keycombo
action="simul">&Shift;<keycap>F1</keycap></keycombo></entry>
<entry>What's This help</entry>
</row>
</tbody>
</tgroup>
</table>

<para>
These shortcuts <ulink url="help:/fundamentals/shortcuts.html">can be changed</ulink> by selecting the
<menuchoice><guimenu>Settings</guimenu> <guimenuitem>Configure Shortcuts…</guimenuitem></menuchoice>
menu item.
</para>

</sect1>

</chapter>

<chapter id="configuration">

<title>The Configuration Dialog</title>

<para>Selecting the <menuchoice><guimenu>Settings</guimenu>
<guimenuitem>Configure &ksnakeduel;…</guimenuitem></menuchoice> menu item will open a further dialog
which lets you tweak &ksnakeduel;'s behavior.</para>

<para>This dialog is divided into two pages.</para>

<sect1 id="configuration-general">
<title>General Configuration</title>

<screenshot>
<screeninfo>Configure &ksnakeduel; - General</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="settings-general.png" format="PNG"/>
	  </imageobject>
	    <textobject>
	    <phrase>General Configuration</phrase>
	  </textobject>
	</mediaobject>
</screenshot>

<variablelist>
<varlistentry>
<term><guilabel>Game type</guilabel></term>
<listitem><para>This will let you change the game type. There are three options:

<variablelist>
  <varlistentry>
    <term><guimenuitem>&ksnakeduel;: Player vs Player</guimenuitem></term>
    <listitem><para>A &ksnakeduel; game between two human players.</para></listitem>
  </varlistentry>

  <varlistentry>
    <term><guimenuitem>&ksnakeduel;: Player vs Computer</guimenuitem></term>
    <listitem><para>A &ksnakeduel; game between a human player and the computer.</para></listitem>
  </varlistentry>

  <varlistentry>
    <term><guimenuitem>KSnake mode: Single player</guimenuitem></term>
    <listitem><para>A single player &ksnakeduel; game.</para></listitem>
  </varlistentry>
</variablelist>

</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Disable acceleration</guilabel></term>
<listitem><para>Checking this box will disable the acceleration feature -
pressing the acceleration key will have no effect, both vehicles will always
travel with constant velocity.</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Player Names</guilabel></term>
<listitem><para>Specify custom names to use for the players to override the
use of default ones.</para>
<para>
The default name for player one is the name of the current logged in
user.
</para></listitem>
</varlistentry>

<varlistentry>
<term><guilabel>Game Options</guilabel></term>
<listitem><para>Specify the <guilabel>Rounds to win:</guilabel> to define how many
rounds are required before a winner is declared.</para></listitem>
</varlistentry>

</variablelist>
</sect1>

<sect1 id="configuration-theme">
<title>Theme Configuration</title>

<screenshot>
<screeninfo>Configure &ksnakeduel; - Theme</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="settings-theme.png" format="PNG"/>
	  </imageobject>
	    <textobject>
	    <phrase>Theme Configuration</phrase>
	  </textobject>
	</mediaobject>
</screenshot>

<para>
This page will allow you to change the theme &ksnakeduel; uses.
</para>
</sect1>
</chapter>

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

<para>
&ksnakeduel;
</para>

<para>Program Copyright 1998-2000 &Matthias.Kiefer;
&Matthias.Kiefer.mail;
</para>

<para>Program Copyright 2008-2009 &Stas.Verberkt;
&Stas.Verberkt.mail;
</para>

<para>
Parts of the code are from xtron-1.1 by Rhett D. Jacobs
<email>rhett@hotel.canberra.edu.au&gt;</email>
</para>

<para>
Documentation Copyright 1999 &Matthias.Kiefer;
&Matthias.Kiefer.mail;
</para>

<para>Documentation updated for &kde; 2.0 by &Fabian.Dal.Santo;
&Fabian.DalSanto.mail;</para>

<!-- TRANS:CREDIT_FOR_TRANSLATORS -->
&underFDL;
&underGPL;
</chapter>

</book>
<!--
Local Variables:
mode: sgml
sgml-omittag: nil
sgml-shorttag: t
End:
-->

