<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
<!ENTITY kappname "&k4wins;">
<!ENTITY package "kdegames">
<!ENTITY % English "INCLUDE"> 
<!ENTITY % addindex "IGNORE">
]>

<book lang="&language;">
<bookinfo>
<title>Four Wins</title>

<authorgroup>
<author>
<firstname>Martin</firstname>
<surname>Heni</surname>
<affiliation>
<address>&Martin.Heni.mail;</address>
</affiliation>
</author>

<!-- TRANS:ROLES_OF_TRANSLATORS -->

</authorgroup>

<date>2005-12-17</date>
<releaseinfo>1.1.0</releaseinfo>

<abstract>
<para>
This documentation describes &k4wins; version 1.0.0</para>
</abstract>

<keywordset>
<keyword>KDE</keyword>
<keyword>kdegames</keyword>
<keyword>game</keyword>
<keyword>board</keyword>
<keyword>board game</keyword>
<keyword>four wins</keyword>
<keyword>four</keyword>
<keyword>four in a row</keyword>
<keyword>win4</keyword>
<keyword>kwin4</keyword>
<keyword>connect four</keyword>
<keyword>connect 4</keyword>
</keywordset>
</bookinfo>

<chapter id="overview">
<title>Overview</title>

<para>
Four wins is a game for two players.
</para>

<para>
Each player is represented by a color (yellow and red).  The goal of the
game is to get four connected pieces of your color into a row, column or
any diagonal.  This is done by placing one of your pieces into any of
the seven columns.
</para>

<para>
A piece will begin to fill a column from the bottom, &ie; it
will fall down until it reaches the ground level or another stone.
After a move is done it is the turn of the other player.
</para>

<para>
This is repeated until the game is over, which is when one of the
players has four pieces in a row, column or diagonal or no more moves
are possible because the board is filled.
</para>

</chapter>

<chapter id="rules">
<title>Rules</title>

<para>
The board is separated into three regions.
</para>

<para>
The <firstterm>game board</firstterm> is constructed out of 7x6 fields
which will be filled from bottom to top. The fields are marked in the
color of the player who made the current move.  On top of each column a
colored arrow shows were the last piece had been put.
</para>

<para>
The <firstterm>status display</firstterm> shows which player color
starts and which color is played by whom (player, computer, remote
connection). It further shows the level of the computer opponent, the
number of moves done as well as the computer calculated chance of
winning. This chance is calculated only if the computer opponent makes a
move. A positive number means that the player has an advantage, a
negative number means that the computer thinks he is better.
</para>

<para>
The <firstterm>table display</firstterm> shows the number of won, lost
and drawn games is noted for both player.  Also the number of aborted
games (Brk) and the sum of games is shown.
</para>

</chapter>

<chapter id="remote-connections">
<title>Remote connections</title>

<para>
It is possible to play the game over a network connection with another
computer. 
One of the computers will act as game server. This one can determine
who should play which color. You can configure the network options
in the game menu, network configuration. There you also find a chat dialog
box which allows you to speak with your friend.
</para>


<para>
When a network connection is build you are asked to enter a remote host
and a port. The port can usually just be left untouched, but if you know
what you are doing replace it by another number, which has to be the
same in both player games of course. The hostname should be the name of
the remote host to which you are connecting. Only the client in
the connection has to supply a hostname. It is often wise that the player
behind a firewall chooses to be client as the firewall might not allow
incoming connections.
</para>

</chapter>

<chapter id="menus">
<title>Menus</title>

<sect1 id="game-menu">
<title><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. In a network game this option is only available for
the network server. The network client will be automatically started by
the server.  
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>O</keycap></keycombo>
</shortcut>
<guimenu>Game</guimenu>
<guimenuitem>Load...</guimenuitem>
</menuchoice></term>
<listitem>
<para>
Loads a saved game.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>S</keycap></keycombo>
</shortcut>
<guimenu>Game</guimenu>
<guimenuitem>Save</guimenuitem>
</menuchoice></term>
<listitem>
<para>
Saves the current game.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>End</keycap></keycombo>
</shortcut>
<guimenu>Game</guimenu>
<guimenuitem>End Game</guimenuitem></menuchoice></term>
<listitem>
<para>
Aborts a running game.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>Game</guimenu>
<guimenuitem>Network Configuration...</guimenuitem></menuchoice></term>
<listitem>
<para>
Pops up a dialog for the network configuration. You can choose to be
server or client. If you are server you can also choose what color the
remote player should take over. If a network game is running you can 
also disconnect it in this menu.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>Game</guimenu>
<guimenuitem>Network Chat...</guimenuitem></menuchoice></term>
<listitem>
<para>
Pops up a chat widget which allows you to send messages to the
other party.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut>
<keycap>H</keycap>
</shortcut>
<guimenu>Game</guimenu>
<guimenuitem>Hint</guimenuitem>
</menuchoice></term>
<listitem>
<para>
The computer will calculate the best possible move and mark it with a
small circle on the board.  How good the move is depends on the level of
the computer.
</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>
</variablelist>

</sect1>

<sect1 id="edit-menu">
<title><guimenu>Edit</guimenu> Menu</title>
<variablelist>
<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>Z</keycap></keycombo>
</shortcut>
<guimenu>Edit</guimenu>
<guimenuitem>Undo</guimenuitem>
</menuchoice></term>
<listitem>
<para>
Undo the last move. If the previous player is played by the computer two
moves are taken back so that it is the player's turn again.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;&Shift;<keycap>Z</keycap></keycombo>
</shortcut>
<guimenu>Edit</guimenu>
<guimenuitem>Redo</guimenuitem>
</menuchoice></term>
<listitem>
<para>
Replay a move which had been undone.
</para>
</listitem>
</varlistentry>
</variablelist>

</sect1>


<sect1 id="option-menu">
<title><guimenu>Settings</guimenu> Menu</title>

<variablelist>

<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Show Toolbar</guimenuitem>
</menuchoice></term>
<listitem>
<para>
Toggle on and off the display of the toolbar.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Show Statusbar</guimenuitem>
</menuchoice></term>
<listitem>
<para>
Toggle on and off the display of the status bar.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Configure Shortcuts...</guimenuitem>
</menuchoice></term>
<listitem><para>
<action>Open a dialog which lets you redefine all the keyboard shortcuts.</action>
</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Configure Toolbars...</guimenuitem>
</menuchoice></term>
<listitem><para>Displays a &kde; standard dialog where you can configure the toolbar icons.</para></listitem>
</varlistentry>

<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Configure &k4wins;...</guimenuitem>
</menuchoice></term>
<listitem><para><action>Displays</action> the &k4wins;
configuration dialog with these options:</para>
<para><guilabel>Starting Player Color</guilabel>: Determine which color player has the first move in the next game.</para>
<para><guilabel>Player Names</guilabel>: Change the names of the players.</para>
<para><guilabel>Yellow Plays With</guilabel>: 
Choose who should play for player 1 (yellow). It can be either
<guilabel>Mouse</guilabel> or <guilabel>Keyboard</guilabel>,
&ie; a local player using the mouse or keyboard
as input device or <guilabel>Computer</guilabel>, &ie; the computer
plays for this player.</para>
<para><guilabel>Red Plays With</guilabel>: Same as <guilabel>Yellow Playes With</guilabel> but for player 2
(red).</para>
<para><guilabel>Computer Difficulty</guilabel>: Select the level of the computer player.</para>
</listitem>
</varlistentry>

</variablelist>
</sect1>

<sect1 id="help">
<title><guimenuitem>Help</guimenuitem> Menu</title>

&help.menu.documentation;

</sect1>

</chapter>

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

<para>
&k4wins;
</para>
<para>
Program copyright 1995-2002 &Martin.Heni; &Martin.Heni.mail;
</para>
<para>
Documentation copyright 2002 &Martin.Heni; &Martin.Heni.mail;
</para>

<!-- TRANS:CREDIT_FOR_TRANSLATORS -->

&underFDL;
&underGPL;

</chapter>

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

<sect1 id="getting-kwin4">
<title>How to obtain &k4wins;</title>

&install.intro.documentation;

</sect1>

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

<para>
In order to successfully compile &k4wins;, you need &kde; 2.0
</para>

<para>
All required libraries as well as &k4wins; itself can be found on &kde-ftp;.</para>
</sect1>

<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-always-quote-attributes:t
sgml-indent-step:0
sgml-indent-data:t
End:
-->

