<?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 kajongg  "<application
>Kajongg</application
>">
  <!ENTITY kappname "&kajongg;">
  <!ENTITY kappversion "0.4"
><!--Application version. Use this variable everywhere it is needed.-->
  <!ENTITY package "kdegames"
>  <!-- do not change this! -->
  <!ENTITY % German "INCLUDE"
> <!-- change language only here -->
  <!ENTITY % addindex "IGNORE"
> <!-- do not change this! -->
  <!ENTITY s1 "s1">
  <!ENTITY s9 "s9">
  <!ENTITY b1 "b1">
  <!ENTITY b9 "b9">
  <!ENTITY c1 "c1">
  <!ENTITY c9 "c9">
  <!ENTITY we "we">
  <!ENTITY ws "ws">
  <!ENTITY ww "ww">
  <!ENTITY wn "wn">
  <!ENTITY db "db">
  <!ENTITY dr "dr">
  <!ENTITY dg "dg">
  <!ENTITY chow "chow">
  <!ENTITY pung "pung">
  <!ENTITY kong "kong">
  <!ENTITY mahjongg "mahjongg">
  <!ENTITY originalcall "originalcall">
  <!ENTITY violatesoriginalcall "violatesoriginalcall">
  <!ENTITY dangerousgame "dangerousgame">
  <!ENTITY nochoice "nochoice">
  <!ENTITY payforall "payforall">
  <!ENTITY payers "payers">
  <!ENTITY payees "payees">
  <!ENTITY absolute "absolute">
  <!ENTITY lastsource "lastsource">
]>

<book lang="&language;"
> <!-- do not change this! -->
<bookinfo>
	<title
>Das Handbuch zu &kappname;</title
> <!-- This is the title of this docbook. -->
<!-- List of immidiate authors begins here. -->
<!--INPORTANT! - All other contributors: [to be determined] -->
<authorgroup>
<author
><personname
> <firstname
>Wolfgang</firstname
> <surname
>Rohdewald</surname
> </personname
> <email
>wolfgang@rohdewald.de</email
> </author>
<othercredit role="translator"
><firstname
>Wolfgang</firstname
><surname
>Rohdewald</surname
><affiliation
><address
><email
>wolfgang@rohdewald.de</email
></address
></affiliation
><contrib
>Übersetzung</contrib
></othercredit
> 
</authorgroup>


<date
>2010-03-19</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
>Dieses Handbuch beschreibt das Spiel &kappname; in der Version &kappversion;.</para>
</abstract>

<!--List of relevant keywords-->
<keywordset>
	<keyword
>KDE</keyword
> <!-- do not change this! -->
	<keyword
>kdegames</keyword
> <!-- do not change this! -->
	<keyword
>Spiel</keyword
> <!-- do not change this! -->
	<keyword
>kajongg</keyword
><!--Application name goes here-->
<!-- Game genre. Use as many as necessary. Available game types are: Arcade, Board, Card, Dice, Toys, Logic, Strategy.-->
	<keyword
>Brettspiel</keyword>
	<keyword
>Arkade</keyword>
	<keyword
>Spiel mit Steinen</keyword>
	<keyword
>Steine</keyword>
<!--Number of possible players. It can be: One, Two,..., Multiplayer-->
	<keyword
>vier Spieler</keyword>
<!--All other relevant keywords-->
</keywordset>
</bookinfo>
<!--Content begins here: -->
<chapter id="introduction"
><title
>Einführung</title
> <!-- do not change this! -->
	<note
><title
>Spieltyp:</title
><para
>Brettspiel, Arkade</para
></note
><!-- Game genre. Use as many as necessary. Available game types are: Arcade, Board, Card, Dice, Toys, Logic, Strategy.-->
	<note
><title
>Anzahl der Spieler:</title
><para
>vier</para
></note
><!--Number of possible players. It can be: One, Two,..., Multiplayer-->
	<para
>&kajongg; ist ein Brettspiel: Das berühmte fernöstliche Spiel Mahjong (chinesisch<foreignphrase lang="zh"
>麻將</foreignphrase
>). Es wird zu viert gespielt. Weltweit gibt es viele verschiedene Spielvarianten. Zurzeit unterstützt &kajongg; die klassischen Chinesischen Regeln, wie sie in Deutschland gespielt werden; weitere werden folgen. Man kann die Regeln beliebig ändern und auch neue Regelsätze definieren. Bitte tun Sie das und senden Sie sie dem Programm-Autor zur Integration! </para>
	<para
>&kajongg; kann auf zwei Arten verwendet werden: Erstens ein manuelles Spiel bewerten, wo Sie wie immer spielen und &kajongg; für die Berechnung der Punkte und für die Abrechnung verwenden. Zweitens mit &kajongg; spielen: gegen eine beliebige Kombination von anderen Personen und Computerspielern. </para>
</chapter>

<chapter id="screen_layout"
><title
>Der Bildschirmaufbau</title>
		<para>
			<screenshot>
				<screeninfo
>Bildschirmphoto von &kajongg;</screeninfo>
				<mediaobject>
					<imageobject>
						<imagedata fileref="gamescreen.png" format="PNG"/>
					</imageobject>
					<textobject
><phrase
>Bildschirmfoto</phrase
></textobject>
				</mediaobject>
			</screenshot>
                </para>
                <para
>Eine kurze Beschreibung aller Teile des Spielfeldes: </para>
	<variablelist>
		<varlistentry>
			<term
>Werkzeugleiste</term>
			<listitem
><para
>Die Werkzeugleiste ist unterhalb der Menüleiste und enthält Knöpfe für die wichtigsten Befehle. Den Inhalt der Werkzeugleiste können Sie ändern. Sie können sie auch unsichtbar machen, um mehr Platz für das Spielfeld zu haben. </para
></listitem>
		</varlistentry>
		<varlistentry>
			<term
>Spielfeld</term>
			<listitem
><para
>Das Spielbrett ist der größte Bereich des Fensters. Sie sehen 4 Mauern mit einer Länge von 18 Ziegeln (wird später konfigurierbar). Die Namen der Spieler stehen auf den Mauern, zusammen mit ihren Winden. Der vorherrschende Wind hat einen gefärbten Hintergrund, im obigen Beispiel Osten. </para
><para
>Beim <link linkend="play"
>Spielen</link
> sehen Sie im Hof (zwischen den Mauern) die von den Spielern abgelegten Ziegel. Sie werden dort zufällig platziert. Der zuletzt abgelegte Ziegel hat einen blauen Rahmen. </para
><para
>Wenn Sie ein Spiel <link linkend="scoreGame"
>bewerten</link
>, sehen Sie innerhalb der Wände eine Auswahl aller Ziegel: Den zentralen Auswahlbereich. Sie können Ziegel den Spieler mit der Maus oder der Tastatur zuordnen. </para>
			</listitem>
		</varlistentry>
		<varlistentry>
			<term
>Spielerbereich</term>
			<listitem
><para
>Jeder Spieler hat einen Bereich für seine Ziegel. Die obere Reihe enthält aufgedeckte Ziegel, die untere verdeckte. Beim <link linkend="scoreGame"
>manuellen Bewerten einer Partie</link
> werden verdeckte Ziegel mit einem Schatten über dem ganzen Ziegel gezeigt. Im Beispiel hat Klaus einen verdeckten Pong Kreis 9. Bonusziegel stehen ganz rechts. </para
></listitem>
		</varlistentry>
		<varlistentry>
			<term
>Dialog</term>
			<listitem
><para
>Der Dialog zeigt die Möglichkeiten, die der Spieler hat. Meistens hat er einen Time-Out mit einem Fortschrittsbalken, der die noch verbleibende Zeit anzeigt. </para
></listitem>
		</varlistentry>
		<varlistentry>
			<term
>Statusleiste</term>
			<listitem
><para
>Die Statusleiste ist ganz unten im Fenster und zeigt die aktuellen Punktestände aller Spieler. </para
></listitem>
		</varlistentry>
	</variablelist>
</chapter>

<chapter id="scoreGame"
><title
>Manuelle Partie bewerten</title
> <!-- do not change this! -->
	<para
>In diesem Modus übernimmt &kajongg; nur das Bewerten einer Partie. Sie spielen wie immer, und am Ende jedes Spiels sagen Sie &kajongg;, welcher Spieler was hat, und alles andere, was &kajongg; braucht, um seine Hand zu bewerten. Alternativ können Sie die Werte auch selber berechnen und eingeben - meistens ist das am bequemsten. &kajongg; rechnet dann zwischen den Spielern ab und schreibt alles in eine Datenbank. Man kann eine Partie unterbrechen, eine andere mit anderen Spielern und anderen Regeln starten und alte Partien wiederaufnehmen. Alle Regeln werden zusammen mit den Spielen gespeichert, dadurch kann man jedes Spiel mit anderen Regeln spielen. </para>
        <itemizedlist>
            <listitem
><para
>Wählen Sie im Menü <guimenu
>Partie</guimenu
> / <guimenuitem
>Manuelle Partie bewerten</guimenuitem
> oder drücken Sie <keycombo action="simul"
>&Ctrl;<keycap
>C</keycap
></keycombo
>. </para
></listitem>
            <listitem
><para
>Nun können Sie entweder eine existierende, unbeendete Partie wählen oder eine neue starten. Wenn Sie eine neue Partie starten, werden Sie nach den Spielern und dem Regelsatz gefragt. &kajongg; wird dieselben Werte wie die des zuletzt gespielten Partie. Wenn es keine vorherige gibt, werden die ersten vier definierten Spieler vorgeschlagen. Beachten Sie bitte, dass Sie die Regeln für diese Partie nach Auswahl des Regelsatzes nicht mehr ändern können. Sie können das vorher tun, mit dem <link linkend="ruleset-options"
>Regel - Editor</link
>. </para
></listitem>
            <listitem
><para
>Nun bekommen Sie ein neues Fenster "Bewertung für dieses Spiel". Lesen Sie <link linkend="enterhand-tiles"
>Lasse &kajongg; den Wert berechnen</link
> für eine genaue Beschreibung. </para
></listitem>
            <listitem
><para
>Nachdem Sie die Spielresultate gespeichert haben, geht es weiter mit dem nächsten Spiel. </para
></listitem>
        </itemizedlist>
      <sect1 id="enterhand"
><title
>Spiel bewerten</title>
        <sect2 id="enterhand-scores">
	<title
>Punkte</title>
	<screenshot>
		<screeninfo
>Bildschirmphoto von &kajongg;</screeninfo>
		<mediaobject>
			<imageobject>
				<imagedata fileref="enterhand.png" format="PNG"/>
			</imageobject
>				<textobject
><phrase
>Bildschirmfoto</phrase
></textobject>
		</mediaobject>
	</screenshot>
	<para
>In diesem Fenster können Sie Spielresultate erfassen. Es zeigt sich von selber, wenn &kajongg; denkt, dass Sie es benötigen. Sie können es jederzeit zeigen oder ausblenden, indem Sie  <keycombo action="simul"
>&Ctrl;<keycap
>S</keycap
></keycombo
> eingeben oder den entsprechenden Menü-Befehl auswählen. </para>
	<para
>Wie immer hat der vorherrschende Wind einen farbigen Hintergrund. </para>
	<para
>Hier können Sie manuell Punkte für alle Spieler erfassen. Stattdessen können Sie aber auch eingeben, welche Ziegel ein Spieler hat. Wenn Sie das tun, wird das Feld für die Punktezahl deaktiviert - es enthält aber nach wie vor die von &kajongg; automatisch berechneten Punkte. </para>
	<para
>Nachdem Sie alle relevanten Daten zu einem Spiel erfasst haben, drücken Sie den Knopf <guibutton
>Spiel speichern</guibutton
>. Die Spielwerte werden dann in der Datenbank eingetragen, und auch in der Punkte - Tabelle. Eventuell werden Sie aufgefordert, Plätze zu tauschen, das können Sie aber ablehnen. Die vorgeschlagenen Wechsel sind derzeit nicht konfigurierbar - wenn ein Regelsatz etwas anderes benötigt, werden wir das ändern. </para>
	<para
>Wenn der Spieler gewonnen haben könnte, wird die Box in der Kolonne "Gewinner" aktiv sein - setzen Sie dort einen Haken für den Gewinner. </para>
	<para
>Die Statusleiste zeigt dann die aktualisierten Totale der Spieler, und Sie können mit dem nächsten Spiel fortfahren. </para>
	<sect3 id="enterhand-manually">
	<title
>Die Punktzahl manuell eingeben</title>
	<para
>Ein guter Spieler wird es wahrscheinlich vorziehen, seine Punkte selber zu berechnen. In diesem Fall können Sie sie direkt eingeben. Das ist nur dann möglich, wenn diesem Spieler keine Ziegel zugeordnet sind. </para>
	<para
>Wenn Sie manuell eine Punktzahl eingeben, muss sie schon alles enthalten, Sie können keine Regeln manuell wählen. Nur die Strafen erfassen Sie bitte getrennt. Es gibt eine Ausnahme: Gefährliches Spiel. Das beeinflusst die Punktezahl nicht, und es ist auch keine Strafe, da es nur die Zahlungen zwischen den Spielern beeinflusst: Der Verursacher zahlt alles für alle an den Gewinner. Die anderen beiden Spieler rechnen nicht miteinander ab. Das ist derzeit nicht über den Regeleditor änderbar. </para>
	</sect3>
	<sect3 id="enterhand-tiles">
	<title
>Lasse &kajongg; den Wert berechnen</title>
	<para
>Wenn Sie &kajongg; explizit sagen, was für Ziegel ein Spieler hat, wird das Feld zur Punkteeingabe für diesen Spieler grau sein (keine Eingabe möglich). Während Sie einem Spieler Ziegel zuordnen, können Sie sehen, wie seine Punktezahl steigt - aber beim 14ten Ziegel auf 0 fällt. Das mag Sie überraschen, aber wenn das nicht der Gewinner ist, sind 14 Ziegel eine lange Hand und ergeben immer 0 Punkte. Das ist durch den Regelsatz Klassisch Chinesisch definiert, andere Regelsätze könnten sich auch anders verhalten. </para>
	<para
>Sie können Ziegel und Bilder den Spielern wahlweise mit der Maus oder mit der Tastatur zuordnen. Mit der Maus ziehen Sie die Ziegel einfach an den gewünschten Ort - je nach dem, was Sie von wo nach wo verschieben, werden Sie dann gefragt, was Sie verschieben wollen, z.B. Einzelziegel oder Pong. Zur Erinnerung - im Spielerbereich ist die obere Zeile für offene Bilder, die untere für verdeckte. Sie können auch von Spieler zu Spieler und zurück ins Zentrum verschieben. </para>
	<para
>Wenn Sie die Tastatur bevorzugen, benutzen Sie &Tab;, um Ihre Position zwischen dem zentralen Auswahlbereich und den Spielerbereichen zu ändern. Die Tasten<keycap
>eswnESWN</keycap
> verschieben einen Ziegel zu den Spielern Ost, Süd, West, Nord. Die Tasten <keycap
>xX</keycap
> verschieben ihn zurück zum zentralen Auswahlbereich. <keycap
>ESWN</keycap
> verschiebt in die untere Reihe für verdeckte Ziegel, <keycap
>eswn</keycap
> verschiebt in die obere Reihe für aufgedeckte Ziegel. Sie können Ihre Position von Ziegel zu Ziegel verschieben, indem Sie die Pfeiltasten verwenden. Der aktuelle Ziegel hat einen blauen Rahmen. Da die Pfeiltasten weit weg von den Buchstabentasten sind, können Sie auch die Tasten <keycap
>hjkl</keycap
> or <keycap
>HJKL</keycap
> benutzen, um Ihre Position zu ändern: <keycap
>hH</keycap
> nach links, <keycap
>jJ</keycap
> nach unten, <keycap
>kK</keycap
> nach oben, <keycap
>lL</keycap
> nach rechts. So ist es auch im Unix-Editor "vi", im KDE-Browser Konqueror und sogar in diesem Hilfeprogramm. </para>
	<para
>Die Optionen "Letzter Ziegel" und "Letztes Bild" werden von manchen Regeln gebraucht, z.B. "letzter Ziegel komplettiert Paar". Sie können nur für die Gewinner-Hand verwendet werden. </para>
	<para
>Im rechten Teil des Fensters können Sie manuell Regeln anwenden. Welche Regeln dort zur Auswahl stehen, hängt vom aktuellen Regelsatz und den vorhandenen Ziegeln ab. Im Beispiel oben im Bild könnten die Verlierer eine Option "gefährliches Spiel" haben - auch das abhängig vom Regelsatz und den Ziegeln. Das Ziel der Entwickler ist, diese Liste so kurz wie möglich zu halten. &kajongg; soll möglichst alles automatisch bestimmen. Aber manchmal hat es nicht genug Information oder Wissen, um das selber entscheiden zu können. </para>
	</sect3>
	</sect2>
	<sect2 id="enterhand-penalties">
	<title
>Strafen</title>
			<screenshot>
				<screeninfo
>Bildschirmphoto von &kajongg;</screeninfo>
				<mediaobject>
					<imageobject>
						<imagedata fileref="penalty.png" format="PNG"/>
					</imageobject>
					<textobject
><phrase
>Bildschirmfoto</phrase
></textobject>
				</mediaobject>
			</screenshot>
	<para
>Im Fenster <link linkend="enterhand"
>Bewertung für diese Hand</link
> zeigt Ihnen der Knopf  <guibutton
>Strafen</guibutton
> dieses Fenster, in dem Sie Strafen erfassen können. Das können Sie jederzeit tun, unabhängig vom normalen Bewertungssystem.</para>
	<para
>Die Auswahl <guilabel
>Vergehen</guilabel
> zeigt alle Vergehen, die für die aktuelle Hand möglich sind. Wählen Sie.</para>
	<para
>Nun können Sie die  <guilabel
>Totalstrafe</guilabel
> anpassen. Dies ist das Total, das von Schuldnern zu Empfängern verschoben wird. Es wird gleichmässig zwischen den betroffenen Spielern aufgeteilt.</para>
	<para
>Je  nach Art des Vergehens variiert die Anzahl Schuldner und Empfänger. Die korrekte Anzahl von Spielern wird angezeigt. Wenn Sie einen Spieler auswählen, sorgt &kajongg; dafür, dass dieser Spieler nur einmal vorkommt, indem es die anderen Spieler anpasst. </para>
	</sect2>
	</sect1>
</chapter>

<chapter  id="play"
><title
>Spielen</title>
        <sect1 id="robotplay">
        <title
>Spiele gegen den Computer</title>
         <para
>Zuerst bekommen Sie einen Anmelde - Dialog. Wählen Sie den Spiele-Server, mit dem Sie sich verbinden möchten, und Ihren Benutzernamen. Wenn Sie den speziellen Eintrag "Lokale Partie" wählen, müssen Sie nur Ihren Benutzernamen eingeben (oder den vorgeschlagenen akzeptieren), und den gewünschten Regelsatz. Dann wird sofort ein lokales Spiel gestartet, in dem Sie gegen drei Computerspieler spielen. </para>
        </sect1>
        <sect1 id="humanplay">
        <title
>Mit Freunden spielen</title>
        <para
>Wenn Sie mit Freunden spielen möchten, benötigen Sie einen Spiele-Server, mit dem sich alle Spieler, auch Sie, verbinden müssen. Tun Sie das, indem Sie den richtigen Spiele-Server auswählen oder einen neuen manuell eingeben, und indem Sie dann Ihr Passwort für diesen Spiele-Server eingeben. Das zuletzt verwendete Passwort wird vorgeschlagen. </para
><para
>Wenn Sie auf dem Server kein Benutzerkonto mit dem eingegeben Namen haben, werden Sie gefragt, ob Sie eines anlegen wollen. Wenn Sie Ja sagen, wird ein neuer Dialog erscheinen, in dem Sie das gewünschte Passwort zweimal eingeben können. Ihr Benutzerkonto wird dann automatisch angelegt. </para
><para
>Nachdem Sie sich erfolgreich am Spiele-Server angemeldet haben, bekommen Sie eine Liste von Tischen mit freien Plätzen. Setzen Sie sich an einen Tisch oder legen Sie einen neuen an. Wenn Sie einen neuen Tisch anlegen, warten Sie, bis genug weitere Spieler sich drangesetzt haben. Sie können das Spiel jederzeit starten, die nicht besetzten Plätze werden automatisch von Computerspielern eingenommen. </para
><para
>Die Tischliste zeigt auch den Namen des Regelsatzes, der für den Tisch gilt. Dieser wird von dem Spieler, der den Tisch anlegt, an den Spiele-Server geschickt. Wenn Sie einen identischen Regelsatz haben, wird Ihr Name für diesen Regelsatz angezeigt - das kann nützlich sein, wenn der Spieler, der den Tisch anlegte, eine andere Sprache spricht und den Regelsatz anders nennt. Wenn Ihr lokaler Name angezeigt wird, erscheint er schwarz. Wenn Sie aber keinen identischen Regelsatz haben, erscheint der Name rot, und Sie können ihn mit dem Knopf <guibutton
>Vergleichen</guibutton
>  mit Ihren eigenen Regelsätzen vergleichen. </para
><para
>Sie können den Kajongg Spiele-Server auf zwei Arten starten: <itemizedlist
><listitem
><para
>Mit dem Server "localhost" verbinden. Dies ist Ihr eigener Computer. Wenn Sie das tun und noch kein Spiele-Server läuft, wird er automatisch gestartet. Und wenn Sie zu spielen aufhören, wird er auch beendet. </para
></listitem
><listitem
><para
>Starten Sie manuell einen Spiele-Server auf irgendeinem Computer. Alles, was Sie tun müssen, ist auf der Befehlszeile die Eingabe "kajonggserver". "kajonggserver --help" wird Ihnen alle Optionen zeigen, zum Beispiel wie man den Port auf einen anderen Wert als 8149 setzt. Dieser Server wird laufen, bis Sie ihn mit "kill" beenden. </para
></listitem
></itemizedlist>
        </para
><para
>In beiden Fällen müssen Sie den anderen Spielern mitteilen, wie sie Ihren Spielserver erreichen können. Sie benötigen die URL oder einfach eine IP-Adresse und den Port, auf dem Ihr Spielserver lauscht. Das könnte z.B. etwas wie "mypc.dyndns.org:8149" sein, wobei 8149 der Port ist. Natürlich müssen Sie Ihre Firewall so konfigurieren, dass der Port vom Spielserver für die anderen Spieler erreichbar ist. Die Kommunikation läuft verschlüsselt.  </para
><para
>Wenn Sie eventuelle Fehler finden, wollen Sie vielleicht die Option "--showtraffic" verwenden. Damit sehen Sie auf der Konsole, auf der Sie den Server gestartet haben, was für Meldungen zwischen dem Server und den Spieler-Rechnern ausgetauscht werden. </para>
        <sect2 id="playing-caveats">
        <title
>Vorsicht!</title>
            <itemizedlist
><listitem
><para
>Wenn Sie sicherstellen wollen, dass niemand betrügen kann, sollte kein Mitspieler Zugriff auf den Spielserver haben. Natürlich kann man nie vermeiden, dass zwei Spieler einander helfen, weil man ja nicht wissen kann, was sie wirklich tun. Zwei Spieler könnten sogar ein und dieselbe Person sein. </para
></listitem
></itemizedlist>
        </sect2>
        </sect1>
        <sect1 id="playing-play">
        <title
>Spielanleitung</title>
        <para
>Sie werden einen Dialog sehen, in denen Sie angeben können, was Sie tun wollen. Dieser Dialog erscheint entweder rechts oder unten, abhängig von der Größe des Fensters. Wenn Sie es breiter als hoch machen, erscheint er rechts. Manchmal wird der Dialog eine Bedenkzeit anbieten - wenn sie vorbei ist, wird automatisch die erste mögliche Antwort für Sie ausgewählt. Diese Bedenkzeit ist im Regel-Editor definierbar, unter <guilabel
>Optionen</guilabel
>, <guilabel
>Bedenkzeit</guilabel
>. Alle Spieler sollten dieselbe Bedenkzeit haben, darum ist sie Teil des Regelsatzes. </para
><para
>Wenn Sie einen Ziegel aus Ihrer Hand auswählen wollen, können Sie sich mit den Pfeilen rechts und links respektive den Tasten h und l bewegen. Natürlich können Sie auch die Maus benutzen. </para
><para
>Oft wird der Dialog Wahlen anbieten, die gar nicht anwendbar ist, z.B. Pong, wenn Sie die nötigen Ziegel gar nicht haben. Das ist Absicht - wie in einem echten Spiel. </para
><para
>Abgelegte Ziegel werden zufällig zwischen den Mauern platziert. Manche Spielvarianten definieren, wo die Ziegel abgelegt werden sollen, das ist aber noch nicht definierbar. Wenn man das dann definieren kann, wird es Teil des Regelsatzes. </para>
	</sect1>
</chapter>


<chapter id="interface"
><title
>Die Benutzeroberfläche</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-menu">
	<title
>Das Menü <guimenu
>Partie</guimenu
></title>
		<variablelist>
			<varlistentry id="game-menu-scoreGame">
				<term
><menuchoice
><guimenu
>Partie</guimenu
> <guimenuitem
>Manuelle Partie bewerten</guimenuitem
> </menuchoice
></term>
				<listitem
><para
><action
>Bewerte eine manuell gespielte Partie</action
></para
><para
>Sie können eine alte Partie laden oder ein neues starten. Normalerweise werden nur unbeendete Partien angezeigt, optional können Sie alle sehen. Hier können Sie auch Partien löschen.</para
></listitem>
			</varlistentry>
                        <varlistentry  id="game-menu-play">
                                <term
><menuchoice
><guimenu
>Partie</guimenu
> <guimenuitem
>Spielen</guimenuitem
> </menuchoice
></term>
                                <listitem
><para
><action
>Spiele mit anderen (Personen oder Computer)</action
></para
></listitem>
                        </varlistentry>
                        <varlistentry  id="game-menu-abort">
                                <term
><menuchoice
><guimenu
>Partie</guimenu
> <guimenuitem
>Abbrechen</guimenuitem
> </menuchoice
></term>
                                <listitem
><para
><action
>Aktuelle Partie abbrechen. Wenn das eine Bewertung einer manuellen Partie ist, können Sie sie später fortsetzen. Wenn Sie mit Freunden oder gegen den Computer spielen, ist eine spätere Wiederaufnahme noch nicht möglich.</action
></para
></listitem>
                        </varlistentry>
			<varlistentry>
				<term
><menuchoice
><guimenu
>Partie</guimenu
> <guimenuitem
>Beenden</guimenuitem
> </menuchoice
></term>
				<listitem
><para
><action
>Beendet</action
> &kappname;.</para
></listitem>
			</varlistentry>
		</variablelist>
</sect1>
<sect1 id="view-menu">
	<title
>Das Menü <guimenu
>Ansicht</guimenu
></title>
		<variablelist>
                        <varlistentry id="view-scoring">
                                <term
><menuchoice
><guimenu
>Ansicht</guimenu
> <guimenuitem
>Bewertung</guimenuitem
> </menuchoice
></term>
                                <listitem
><para
><action
>Bewertung</action
> Zeige oder verberge den Bewertungsdialog. Dieser Dialog wird <link linkend="enterhand"
>hier</link
> erklärt. </para
></listitem>
                        </varlistentry>
                        <varlistentry id="view-scoretable">
                                <term
><menuchoice
><guimenu
>Ansicht</guimenu
> <guimenuitem
>Punkte - Tabelle</guimenuitem
> </menuchoice
></term>
                                <listitem
><para
><action
>Punkte - Tabelle</action
> <screenshot
> <screeninfo
>Punkte - Tabelle</screeninfo
> <mediaobject
> <imageobject
> <imagedata fileref="scoretable.png" format="PNG"/> </imageobject
> <textobject
> <phrase
>Screenshot</phrase
> </textobject
> </mediaobject
> </screenshot
> Zeigt die Punkte  - Tabelle. Die Kolonne ganz links mit den Werten E,S,W,N zeigt den Wind des Spielers. Der vorherrschende Wind (Rundenwind) hat einen gelblichen Hintergrund. Der Gewinner hat einen grünen Hintergrund in der Werte-Kolonne. Die ∆ Kolonne zeigt, wieviel der Spieler insgesamt an die anderen zahlte oder von ihnen bekam. Die ∑ Kolonne zeigt das Total. Wenn Sie mit der Maus über einen Wert fahren, bekommen Sie dazu weitere Details: Alle Regeln, die auf diese Hand angewandt wurden.</para
><para
>Das untere Teil zeigt die verwendeten Regeln. Zwischen der Punktetabelle und den Regeln finden Sie eine "Verschiebleiste", mit der Sie die beiden Teile größer oder kleiner machen können. </para
></listitem>
                        </varlistentry>
			<varlistentry id="view-explain-scores">
				<term
><menuchoice
><guimenu
>Ansicht</guimenu
> <guimenuitem
>Wertung erklären</guimenuitem
> </menuchoice
></term>
				<listitem
><para
><action
>Wertung erklären</action
> <screenshot
> <screeninfo
>Wertung erklären</screeninfo
> <mediaobject
> <imageobject
> <imagedata fileref="explain.png" format="PNG"/> </imageobject
> <textobject
> <phrase
>Wertung erklären</phrase
> </textobject
> </mediaobject
> </screenshot
> Erklärt, wie die Punktezahlen für das aktuelle Spiel berechnet wurden. </para
></listitem>
			</varlistentry>
		</variablelist>
</sect1>
<sect1 id="settings-menu">
	<title
>Das Menü <guimenu
>Einstellungen</guimenu
></title>
		<variablelist>
			<varlistentry>
				<term
><menuchoice
><guimenu
>Einstellungen</guimenu
> <guimenuitem
>Spieler</guimenuitem
> </menuchoice
></term>
				<listitem
><para
><action
>Definiere, ändere, lösche Spieler</action
></para
></listitem>
			</varlistentry>
			<varlistentry>
				<term
><menuchoice
><guimenu
>Einstellungen</guimenu
> <guimenuitem
>Sichtwinkel ändern</guimenuitem
> </menuchoice
></term>
				<listitem
><para
><action
>Ändert den Sichtwinkel auf die Ziegel gegen die Uhr.</action
></para
></listitem>
			</varlistentry>
			<varlistentry>
				<term
><menuchoice
><guimenu
>Einstellungen</guimenu
> <guimenuitem
>Vollbildmodus</guimenuitem
> </menuchoice
></term>
				<listitem
><para
><action
>Wechselt zwischen Vollbildmodus und normalem Fenstermodus</action
></para
></listitem>
			</varlistentry>
			<varlistentry>
				<term
><menuchoice
><guimenu
>Einstellungen</guimenu
> <guimenuitem
>Werkzeugleiste anzeigen</guimenuitem
> </menuchoice
></term>
				<listitem
><para
><action
>Zeigt die Werkzeugleiste an oder blendet sie aus.</action
></para
></listitem>
			</varlistentry>
			<varlistentry id="settings-menu-statusbar">
				<term
><menuchoice
><guimenu
>Einstellungen</guimenu
> <guimenuitem
>Statusleiste anzeigen</guimenuitem
> </menuchoice
></term>
				<listitem
><para
><action
>Blendet die Statusleiste ein bzw. aus.</action
></para
></listitem>
			</varlistentry>
			<varlistentry id="settings-menu-shortcuts">
				<term
><menuchoice
><guimenu
>Einstellungen</guimenu
><guimenuitem
>Kurzbefehle festlegen ...</guimenuitem
> </menuchoice
></term>
				<listitem
><para
><action
>Zeigt den &kde;-Standarddialog</action
> zur Einrichtung der <link linkend="default-keybindings"
>Tastenkürzel</link
> für &kappname;.</para
></listitem>
			</varlistentry>
			<varlistentry id="settings-menu-toolbar">
				<term
><menuchoice
><guimenu
>Einstellungen</guimenu
> <guimenuitem
>Werkzeugleisten einrichten ...</guimenuitem
> </menuchoice
></term>
				<listitem
><para
><action
>Zeigt den &kde;-Standarddialog zur Einrichtung der Symbole in den Werkzeugleisten. </action
></para
></listitem>
			</varlistentry>
			<varlistentry id="settings-menu-settings">
				<term
><menuchoice
><guimenu
>Einstellungen</guimenu
><guimenuitem
>&kappname; einrichten ...</guimenuitem
>  </menuchoice
></term>
				<listitem
><para
><action
>Öffnet den <link linkend="configuration"
>Konfigurationsdialog</link
> für &kappname;.</action
></para
></listitem>
			</varlistentry>
		</variablelist>
</sect1>
 <sect1 id="help"
><!--This is a standard Help menubar entry. Only change if needed.-->
<title
>Das Menü <guimenu
>Hilfe</guimenu
></title>
&help.menu.documentation; </sect1>
</chapter>

<chapter id="configuration"
><title
>Spieleinstellungen</title
> <!-- do not change this! -->
<!--This section describes configuration &GUI;. If your game is configured using menubar exclusively, please remove this section.-->
<screenshot>
<screeninfo
>Einrichtungsdialog</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="config_play.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase
>Einrichtungsdialog</phrase>
	  </textobject>
	</mediaobject>
</screenshot>

<para
><menuchoice
><guimenu
>Einstellungen</guimenu
><guimenuitem
>&kappname; einrichten ...</guimenuitem
></menuchoice
> öffnet den Einrichtungsdialog für &kappname;.</para>
<para
>Wenn Sie hier den Knopf <guibutton
>Abbrechen</guibutton
> drücken, werden alle Ihre Änderungen verworfen, auch alle, die Sie mit dem Regel - Editor gemacht haben.</para>
<para
>Sie können die verschiedenen Seiten auch mit der Tastatur auswählen: <keycombo action="simul"
>&Ctrl;<keycap
>1</keycap
></keycombo
> wählt die erste Seite <guilabel
>Spielen</guilabel
>, <keycombo action="simul"
>&Ctrl;<keycap
>2</keycap
></keycombo
> wählt die zweite Seite, und so weiter. </para>

<sect1 id="play-options"
><title
><guilabel
>Spiel-Optionen</guilabel
></title>
		<variablelist>
			<varlistentry>
				<term>
					<guilabel
>Ziegel mit Schatten anzeigen</guilabel>
				</term>
				<listitem
><para
>zeigt Ziegel mit Rändern und Schatten. Es wird auch zwischen den Ziegelreihen ein Abstand eingehalten, und die Mauerziegel werden so gezeigt, dass man sehen kann, wieviele übereinanderliegen. Wenn Sie diese Option ausschalten, bekommen Sie einen einfacheren Bildaufbau mit leicht größeren Ziegeln. Das kann für kleine Bildschirme hilfreich sein. </para
></listitem>
			</varlistentry>
			<varlistentry>
				<term>
					<guilabel
>Ordne verdeckte Ziegel zu Bildern</guilabel>
				</term>
				<listitem
><para
>Dies gruppiert die verdeckten Ziegel automatisch zu Bildern. Manchmal wird die Gruppierung nicht Ihren Vorstellungen entsprechen, darum ziehen Sie es vielleicht vor, keine Gruppierung zu haben, wie in einem wirklichen Spiel ohne Computer. </para
></listitem>
			</varlistentry>
			<varlistentry>
				<term>
					<guilabel
>Verwende Stimmen, wenn verfügbar</guilabel>
				</term>
				<listitem
><para
>Dann hören Sie, was die Spieler ablegen und rufen. Dazu müssen die anderen Spieler auch ihre eigene Stimme aufgezeichnet haben. </para
></listitem>
			</varlistentry>
			<varlistentry>
				<term>
					<guilabel
>Lasse andere meine Stimme hören</guilabel>
				</term>
				<listitem
><para
>Wenn Sie Tondateien mit Ihrer Stimme aufgezeichnet haben, können Sie sie hiermit den anderen Spielern schicken. </para
></listitem>
			</varlistentry>
		</variablelist>

	<sect2
><title
>Stimmen</title>
	<para
>Es ist möglich, Stimmen für Ihre abgelegten Ziegel und Rufe aufzunehmen, die dann von den anderen Spielern gehört werden. Dazu ist ein bisschen Handarbeit nötig: </para>
            <itemizedlist
><listitem
><para
>Zuerst müssen Sie herausfinden, wo Ihre Stimmdateien gespeichert werden müssen. Das ist normalerweise ~/.kde/share/apps/kajongg. Wenn Ihr Benutzername joe lautet, könnte das /home/joe/.kde/share/apps/kajongg sein. Darin finden Sie auch die Datenbank kajongg.db. </para
></listitem
><listitem
><para
>In dem Ordner, den Sie gerade gefunden haben, legen Sie einen neuen Unterordner mit dem Namen <filename class="directory"
>voices</filename
> an. </para
></listitem
><listitem
><para
>Im Ordner <filename class="directory"
>voices</filename
> legen Sie einen weiteren Unterordner an, der so heißt, wie Ihr &kajongg;-Spielername, mit dem Sie sich beim Spiele-Server anmelden. Vielleicht wollen Sie auch Stimmen für die Computerspieler <filename
>ROBOT 1</filename
>, <filename
>ROBOT 2</filename
>, <filename
>ROBOT 3</filename
> anlegen. </para
></listitem
><listitem
><para
>In diesem Unterordner platzieren Sie die Tondateien. Sie müssen mit dem <ulink url="http://xiph.org/vorbis/"
>Ogg Vorbis</ulink
> Audio Encoder erzeugt werden, die Dateinamen müssen auf <filename class="extension"
>.ogg</filename
> enden. </para
></listitem
><listitem
><para
>Eine einzelne Datei heißt z.B. <filename
>s3.ogg</filename
> - das ist Kreis 3. Sie sollten solche Dateien für alle Ziegel und alle Rufe und Ansagen einrichten. </para
></listitem
></itemizedlist>
            <para
>Halten Sie bitte die Länge kurz, sprechen Sie aber deutlich - dieses Spiel kann mit ein bißchen Übung sehr schnell gespielt werden. Am einfachsten ist es, wenn Sie zuerst eine Liste mit allem aufschreiben, das gesprochen werden soll. Lesen Sie das nicht wie eine Liste, sondern sprechen Sie jeden Begriff so aus, wie wenn er für sich stände, und wie Sie das während des Spiels tun würden. Das gut zu lesen erfordert ein bißchen Übung.</para>
            <para
>Dies ist eine von vielen Möglichkeiten, die Audiodateien zu erzeugen: </para
><para
><itemizedlist
><listitem
><para
>Nehmen Sie mit dem Programm <command
>qarecord</command
> eine Stimmdatei auf, speichern Sie sie im <literal
>WAV</literal
> Format. Sprechen Sie alles in diese eine Datei. </para
></listitem
><listitem
><para
>Editieren Sie diese Datei mit dem Toneditor <command
>audacity</command
>. In diesem Editor benutzen Sie die Maus, um eine Bereich der Tonwellen zu markieren. Der Editor wird diesen Teil abspielen. Wiederholen Sie das, bis Sie einen korrekten Teil markiert haben. Das geht einfacher, wenn Sie die Tonwellen vergrößern mit <menuchoice
><guimenu
>Ansicht</guimenu
><guimenuitem
>Einzoomen - Vergrößern</guimenuitem
></menuchoice
>. Wählen Sie den Menü-Befehl <menuchoice
><guimenu
>Datei</guimenu
><guimenuitem
>Auswahl exportieren</guimenuitem
></menuchoice
> und speichern Sie diesen Teil im ogg - Format. Unter <guilabel
>Optionen</guilabel
> wählen Sie eine niedrige Qualität, die ist ausreichend und auch besser, weil das die Übertragungszeit zu den anderen Spielern reduziert. </para
></listitem
></itemizedlist
></para>
            <para
>Dies sind die Namen der Dateien, die Sie anlegen sollten. Verwenden Sie immer die Erweiterung <filename class="extension"
>.ogg</filename
>:</para>

<table>
<title
>Tondateinamen</title>
<tgroup cols="2">
<tbody>
<row>
<entry
>&s1; .. &s9;</entry
><entry
>Kreis 1 bis Kreis 9</entry>
</row>
<row>
<entry
>&b1; .. &b9;</entry>
<entry
>Bambus 1 bis Bambus 9</entry>
</row>
<row>
<entry
>&c1; .. &c9;</entry>
<entry
>Zahl 1 bis Zahl 9</entry>
</row>
<row>
<entry
>&we; &ws; &ww; &wn;</entry>
<entry
>Die Winde Ost, Süd, West, Nord</entry>
</row>
<row>
<entry
>&db; &dr; &dg;</entry>
<entry
>Die Drachen blau/weiß, rot, grün</entry>
</row>
<row>
<entry
>&chow; &pung; &kong; &mahjongg;</entry>
<entry
>Die wichtigsten Rufe</entry>
</row>
<row>
<entry
>&originalcall; &violatesoriginalcall;</entry>
<entry
>Ruf zu Beginn und seine Verletzung</entry>
</row>
<row>
<entry
>&dangerousgame;</entry>
<entry
>Ein Spieler spielt gefährliches Spiel</entry>
</row>
<row>
<entry
>&nochoice;</entry>
<entry
>Ein Spieler sagt, dass er keine andere Wahl hat, als gefährliches Spiel zu spielen.</entry>
</row>
</tbody>
</tgroup>
</table>
	</sect2>
</sect1>

<sect1 id="tiles-options"
><title
><guilabel
>Spielsteine</guilabel
></title>
        <screenshot>
                <screeninfo
>Ziegelsatz wählen</screeninfo>
                <mediaobject>
                        <imageobject>
                                <imagedata fileref="config_tiles.png" format="PNG"/>
                        </imageobject>
                        <textobject
><phrase
>Regel - Editor</phrase
></textobject>
                </mediaobject>
        </screenshot>
	<para
>Aus der <guilabel
>Ziegel</guilabel
>-Liste können Sie verschiedene Sätze von Spielsteinen wählen. </para>
</sect1>

<sect1 id="background-options"
><title
><guilabel
>Hintergrund</guilabel
></title>
        <screenshot>
                <screeninfo
>Auswahl des Hintergrundes</screeninfo>
                <mediaobject>
                        <imageobject>
                                <imagedata fileref="config_background.png" format="PNG"/>
                        </imageobject>
                        <textobject
><phrase
>Auswahl des Hintergrundes</phrase
></textobject>
                </mediaobject>
        </screenshot>
	<para
>Aus der <guilabel
>Hintergrund</guilabel
>-Liste können Sie verschiedene Hintergrundbilder wählen. </para
><para
>Einige Hintergründe, zum Beispiel die Chinesische Landschaft, benötigen mehr Zeit für die Anzeige. Wenn Sie möchten, dass das Programm schneller startet, oder wenn das Ändern der Größe des Programmfensters zu langsam ist, wählen Sie bitte einen einfacheren Hintergrund. </para>
</sect1>

<sect1 id="ruleset-options"
><title
>Regel - Editor</title>
			<screenshot>
				<screeninfo
>Regel - Editor</screeninfo>
				<mediaobject>
					<imageobject>
						<imagedata fileref="ruleseteditor.png" format="PNG"/>
					</imageobject>
					<textobject
><phrase
>Regel - Editor</phrase
></textobject>
				</mediaobject>
			</screenshot>
			<para
>Mit dem Regel - Editor können Sie die Regeln beliebig verändern. Vordefinierte Regelsätze werden kursiv angezeigt, angepasste Regelsätze erscheinen in normaler Schrift. Vordefinierte Regelsätze können Sie nicht ändern, aber ein Update von &kajongg; könnte das tun. Angepasste Regelsätze werden durch einen Update niemals verändert. </para
><para
>Wenn Sie eine neue Partie beginnen, können Sie den gewünschten Regelsatz für diese Partie auswählen. Alle Regelsätze, die im Regel - Editor erscheinen, können dort ausgewählt werden. Der Regelsatz wird zusammen mit der Partie gespeichert. Darum können Sie hier immer alle Regelsätze beliebig verändern - Ihre Änderungen können nur zukünftige Spiele beeinflussen. </para>
			<sect2
><title
>Name, Wert und Einheit</title
><para
>Machen Sie einfach einen Doppelklick auf dem Wert, den Sie ändern möchten.</para>
			</sect2>
			<sect2
><title
>Definition</title
><para
>Die Definition einer Regel kann ziemlich kompliziert sein. Dazu gibt es ein separates Kapitel <link linkend="rule"
>Definieren einer Regel</link
>. Normalerweise müssen Sie keine Definition ändern. Sie definiert im Wesentlichen, auf was für Hände die Regel anzuwenden ist.</para>
			</sect2>
			<sect2
><title
>Kopieren und Löschen</title
><para
>Sie können ganze Regelsätze oder auch einzelne Regeln innerhalb eines Regelsatzes kopieren. Da vordefinierte Regelsätze nicht änderbar sind, können einzelne Regeln aber nur in angepassten Regelsätzen kopiert werden. </para
><para
>Sie können ganze angepasste Regelsätze oder auch einzelne Regeln darin löschen. Auch das geht sogar dann, wenn existierende Partien diese Regelsätze verwenden, da jede Partie ihre eigene Kopie vom verwendeten Regelsatz hat. Sie können sich die verwendeten Regeln für alte Partien ansehen: <link linkend="game-menu-scoreGame"
>Laden</link
> der alten Partie und <link linkend="view-menu"
>Anzeigen ihrer Punktetabelle</link
>. </para>
			</sect2>
			<sect2
><title
>Vergleichen</title
><para>
			<screenshot>
				<screeninfo
>Regel - Vergleicher</screeninfo>
				<mediaobject>
					<imageobject>
						<imagedata fileref="differ.png" format="PNG"/>
					</imageobject>
					<textobject
><phrase
>Regel - Vergleicher</phrase
></textobject>
				</mediaobject>
			</screenshot>
Sie können diesen Befehl verwenden, wenn ein ganzer Regelsatz markiert ist. Damit können Sie den markierten Regelsatz mit anderen vergleichen. </para
></sect2>
</sect1>

<sect1 id="default-keybindings">
<title
>Standard-Tastenkürzel</title>

<para
>Mit <menuchoice
><guimenu
>Einstellungen</guimenu
><guimenuitem
>Kurzbefehle festlegen ...</guimenuitem
></menuchoice
> können Sie die voreingestellten Tastenkürzel ändern.</para>

<para
>Die folgenden Tastenkürzel sind voreingestellt: </para>

<para>
<variablelist>

<varlistentry>
<term
><keycap
>F1</keycap
></term>
<listitem>
<para
>Zeigt dieses Handbuch. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><keycombo action="simul"
>&Ctrl;<keycap
>C</keycap
></keycombo
></term>
<listitem>
<para
>Eine manuelle Partie bewerten </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><keycombo action="simul"
>&Ctrl;<keycap
>N</keycap
></keycombo
></term>
<listitem>
<para
>Spiele mit Freunden oder Computerspielern. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><keycombo action="simul"
>&Ctrl;<keycap
>W</keycap
></keycombo
></term>
<listitem>
<para
>Breche die aktuelle Partie ab. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><keycombo action="simul"
>&Ctrl;<keycap
>Q</keycap
></keycombo
></term>
<listitem>
<para
>Das Programm verlassen </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><keycombo action="simul"
>&Ctrl;<keycap
>T</keycap
></keycombo
></term>
<listitem>
<para
>Zeigt die Punkte-Tabelle an. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><keycombo action="simul"
>&Ctrl;<keycap
>G</keycap
></keycombo
></term>
<listitem>
<para
>Ändere den Sichtwinkel </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><keycombo action="simul"
>&Shift;<keycap
>F1</keycap
></keycombo
></term>
<listitem>
<para
><quote
>Was ist das?</quote
>-Hilfe </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><keycombo action="simul"
>&Ctrl;&Shift;<keycap
>F</keycap
></keycombo
></term>
<listitem>
<para
>Vollbildmodus </para>
</listitem>
</varlistentry>

</variablelist>
</para>

</sect1>
</chapter>

<chapter id="rule"
><title
>Definieren einer Regel</title>
<para
>Die Punktevergabe und viele andere Aspekte von &kajongg; können mit dem Regel - Editor angepasst werden. Eine Regel besteht aus einem Namen, einem Wert (mit einer Einheit) und einer <link linkend="ruledefinition"
>Definition</link
>. </para>
        <sect1 id="rulegroups">
        <title
>Regelgruppen</title>
        <para
>Es gibt verschiedene Gruppen von Regeln:</para>
        <variablelist>
                <varlistentry>
                        <term
>Bildregeln</term>
                        <listitem
><para
>Bildregeln werden auf einzelne Bilder angewandt, unabhängig davon, wie der Rest der Hand aussieht. </para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>Handregeln</term>
                        <listitem
><para
>Handregeln werden auf die gesamte Hand angewandt, für alle Spieler. </para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>Mah Jongg Regeln</term>
                        <listitem
><para
>Mah Jongg Regeln definieren, wie eine Gewinnerhand aussehen muss. Normalerweise braucht man vier Bilder mit je 3 oder 4 Ziegeln und ein Paar. Aber manche Spezialhände können auch anders aussehen, z.B. die 13 Waisen in der klassisch chinesischen Variante. </para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>Gewinner - Regeln</term>
                        <listitem
><para
>Gewinner-Regeln werden auf die ganze Hand angewandt, aber nur für den Gewinner. Das umfasst die meisten Sonderhände. Diese Regeln müssen nicht kontrollieren, ob die Hand tatsächlich eine Gewinnerhand ist. </para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>Optionen</term>
                        <listitem
><para
>Hier finden sich verschiedene spezielle Parameter wie Punkte für eine Limithand. </para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>Strafen</term>
                        <listitem
><para
>Strafen werden manuell vom Anwender verhängt. </para
></listitem>
                </varlistentry>
        </variablelist>
        <sect2 id="executionorder"
><title
>Ausführungsreihenfolge</title>
        <para>
                <itemizedlist>
                        <listitem
><para
>Erzeuge eine List anwendbarer Regeln aus den Bildregeln und den Handregeln</para
></listitem>
                        <listitem
><para
>Die Mah Jongg Regeln werden verwendet, um herauszufinden, ob eine Hand wirklich eine Gewinnerhand ist.</para
></listitem>
                        <listitem
><para
>Für den Gewinner werden anwendbare Gewinner - Regeln angehängt</para
></listitem>
                        <listitem
><para
>wenn es in den gefundenen Regeln welche mit der Aktion '&absolute;' gibt, behalte nur diese. Es ist noch undefiniert, was passiert, wenn mehr als eine gefunden wird.</para
></listitem>
                        <listitem
><para
>wenn die Liste Regeln enthält, die Limiten definieren, werfe alle anderen Regeln weg</para
></listitem>
                        <listitem
><para
>wende die gefundenen Regeln in der Reihenfolge der Liste an</para
></listitem>
                </itemizedlist>
        </para>
        </sect2>
        </sect1>
        <sect1 id="ruledefinition">
        <title
>Die Definition</title>
        <para
>Die Definition ist nur eine einzige Zeichenfolge, damit es einfacher ist, sie in einer Datenbank zu speichern. Sie besteht aus mehreren Teilen, die durch die Zeichen '||' voneinander getrennt sind. Jedes Teil definiert entweder eine Bedingung, unter der die Regel anwendbar ist, oder Aktionen. Nur ein Teil für Aktionen ist erlaubt, aber mehrere für Bedingungen. Die Regel ist anwendbar, wenn mindestens eine Bedingung erfüllt ist.</para
><para
>&kajongg; wird mit einem vordefinierten Satz für die Klassischen Chinesischen Regeln installiert, wie sie von der deutschen DMJL definiert sind. Darin finden Sie reichlich Beispiele für Regeln.</para
><para
>Dies sind die möglichen Teile:</para>
        <variablelist>
                <varlistentry>
                        <term
>Regulärer Ausdruck, ignoriert Großschreibung</term>
                        <listitem
><para
>Ein Teil, das mit I beginnt, ist  ein <link linkend="regex"
>regulärer Ausdruck</link
>, der nicht zwischen Groß- und Kleinschreibung unterscheidet. </para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>Aktion</term>
                        <listitem
><para
>Ein Teil, das mit A beginnt, ist eine Liste von <link linkend="actions"
>Aktionen</link
>. </para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>Manueller Ausdruck</term>
                        <listitem
><para
>Dies ist ein optionaler <link linkend="regex"
>regulärer Ausdruck</link
>. Beim Bewerten manueller Spiele definiert sie, ob diese Regel durch den Anwender mit einer Checkbox wählbar sein soll. Das führende M gehört nicht zum regulären Ausdruck. Ein Beispiel finden Sie in der Regel "Letzter Ziegel von der toten Mauer". </para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>Regulärer Ausdruck</term>
                        <listitem
><para
>Jeder andere Teil ist ein <link linkend="regex"
>regulärer Ausdruck</link
>. </para
></listitem>
                </varlistentry>
        </variablelist>
        </sect1>
        <sect1 id="regex">
        <title
>Reguläre Ausdrücke</title>
        <para
>Reguläre Ausdrücke sind ein sehr mächtiges Programmierwerkzeug, um Zeichenfolgen zu analysieren. Mächtig, aber auch eher schwierig zu verstehen. Es gibt Bücher, die  nichts anderes tun, als reguläre Ausdrücke zu erklären.</para>
        <para
>Es gibt verschiedene Dialekte für reguläre Ausdrücke. &kajongg; ist in der Programmiersprache Python geschrieben. Darum verwendet &kajongg; denselben Dialekt, den auch Python verwendet. </para
><para
>Details dazu finden Sie hier: <ulink url="http://docs.python.org/library/re.html#regular-expression-syntax"
></ulink
> </para
><para
>Alle Informationen über eine Hand, die Einfluss auf die Wertung haben könnten, werden in einer einzigen Zeichenfolge abgebildet, die wir im Folgenden Handwort nennen. &kajongg; prüft dann, ob der reguläre Ausdruck zu diesem Handwort passt. Wenn ja, wird die Regel angewandt.</para>
        <para
>Zum Beispiel passt dieser reguläre Ausdruck zur Limithand "Grüne Hand":</para
><programlisting
>( |[bB][23468]|[dD]g)*[fy/]</programlisting>
        <sect2
><title
>Struktur eines Handwortes</title>
        <para
>Der Inhalt eines Handwortes ist immer derselbe, unabhängig davon, welche Sprache Sie auf Ihrem Desktop verwenden.</para>
        <para
>Das Handwort besteht aus mehreren Teilen, die durch einzelne Leerzeichen getrennt sind. Die Reihenfolge dieser Teile ist immer dieselbe mit Ausnahme der Bildteile am Anfang.</para>
        <para
>&kajongg; kann verborgene Ziegel so in Bilder gliedern, dass sich eine höchstmögliche Punktezahl ergibt. Dafür spielt es keine Rolle, ob und wie die verborgenen Ziegel in Bilder gruppiert sind. Bei manchen Limithänden kann diese Strategie aber nicht funktionieren. Darum probiert &kajongg; auch die originale Gruppierung, wie der Spieler sie erfasst hat. Wenn es damit mehr Punkte gibt, gilt das.</para>
        <para
>Hier ein Beispiel. Das ist tatsächlich nur eine Zeile, die hier für bessere Lesbarkeit aufgeteilt ist. Außerdem wird die ganze Sequenz einmal wiederholt, weil manche regulären Ausdrücke viel einfacher zu schreiben sind, wenn die Teile in einer anderen Reihenfolge dastehen. Zum Beispiel die Beraubung des Kong: Dessen regulärer Ausdruck sucht erst nach dem L-Teil (letzter Ziegel), bevor er die Bilder analysiert.</para
><programlisting
><literal
>c1c1c1C1 s1s2s3 b6b6b7b7b8b8 b5b5 fn yn
/c416s000b000b000b200 -C416s000b000b000b200 %n Mneka LB5B5B5</literal
></programlisting>
<para
>Ein Ziegel wird durch 2 Zeichen dargestellt. Das erste ist s für Kreis, b für Bambus, c für Zahl, w für Wind, d für Drachen, y für Jahreszeit-Bonus, f für Blumen-Bonus. Das zweite ist 1..9 für die Grundziegel, e,s,w,n für die Winde, w,r,g für weißen, roten, grünen Drachen und 1,2,3,4 für die Bonusziegel. Aufgedeckte Ziegel haben den ersten Buchstaben klein, verdeckte Ziegel groß geschrieben.</para>
<para
>Alle folgenden Teile sind immer vorhanden, in dieser Reihenfolge, mit Ausnahme des Teils "letzer Ziegel". Dieses Teil existiert nur für die Gewinner - Hand. <variablelist>
                <varlistentry>
                        <term
>Bild</term>
                        <listitem
><para
>Ein Teil, das mit einem der Buchstaben sbcdwSBCDW beginnt, ist ein Bild. Ein Bild kann eine beliebige Zahl von Ziegeln enthalten. &kajongg; wird Bilder mit zu vielen Ziegeln so spalten, dass sich eine möglichst hohe Wertung ergibt.</para
><para
>Wir verwenden eine spezielle Syntax für Kans: c1c1c1c1 ist ein offener Kan. c1c1c1C1 ist ein gerufener Kan (der vierte Ziegel wurde gerufen). Der gerufene Kan wird z.B. für die Limithand "verdecktes echtes Farbspiel" gebraucht. c1C1C1c1 ist ein verdeckter, deklarierter Kan. C1C1C1C1 wäre ein verdeckter, undeklarierter Kan. Aber da er undeklariert ist, wird er als Pong gewertet - so ein Bild wird also automatisch in Pong C1C1C1 und Einzelstein C1 aufgeteilt.</para
><para
>Bonusziegel erscheinen nach allen anderen Bildern.</para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>Zusammenfassung</term>
                        <listitem
><para
>Das Teil, das mit / beginnt, enthält eine Zusammenfassung der Bilder. Das vereinfacht manche reguläre Ausdrücke. Jedes Bild wird durch 4 Zeichen dargestellt. Das erste Zeichen ist eines von sbcdwSBCDW, auch hier klein für offenes Bild und groß für verdecktes Bild. Der gerufene Kan zählt als offenes Bild. Das zweite Zeichen ist eine Zahl, die angibt, wieviele Ziegel das Bild enthält: 1 bis 4 für einen Kan. Die 0 wird für ein Chi verwendet. Die letzten beiden Zeichen enthalten den Wert dieses Bildes. </para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>Alternative Zusammenfassung</term>
                        <listitem
><para
>Das Teil, das mit - beginnt, ist identisch mit der obigen Zusammenfassung, aber der gerufene Kan wird hier als verdeckt dargestellt. Manche Regeln wie "drei verdeckte Pongs" werten einen gerufenen Kan als verdeckt. </para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>Handgröße</term>
                        <listitem
><para
>Das Teil, das mit % beginnt, enthält Informationen über die Größe der Hand: s ist eine kurze Hand mit zuwenig Ziegeln, n ist eine Hand mit der korrekten Anzahl Ziegeln, l ist eine lange Hand mit zuvielen  Ziegeln. </para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>Mah Jongg</term>
                        <listitem
><para
>Das Teil, das mit m, M oder x beginnt, enthält zusätzliche Informationen. M steht für die Gewinnerhand, m für eine Verliererhand, und x für eine Hand, die nicht Mah Jongg sagen darf. Danach kommt ein Zeichen für den eigenen Wind, eines für den Rundenwind, eines für die Quelle des letzten Ziegels, der zum Mah Jongg führte, und eines für die Ansagen des Spielers.</para
><para
>Dies sind die möglichen Quellen für den letzten Ziegel: w=Mauer, d=abgelegt, e=totes Ende der Mauer, z=letzter Ziegel der lebenden Mauer, Z=letzter Ziegel der lebenden Mauer, abgelegt, k=Beraubung des Kan, 1=Segen des Himmels/der Erde. Die Werte w und d sind speziell - quasi Zwischenwerte. Wenn man einen verdeckten Ziegel als letzten Ziegel auswählt, wird die Quelle auf w gesetzt. Manche Regeln sagen, dass sie nur für Quelle w anwendbar sind. Das erlaubt somit eine bessere Vorauswahl von tatsächlich anwendbaren manuellen Regeln. Für Details sehen Sie sich die manuellen Regeln an und informieren Sie sich über die <link linkend="actions"
>Aktion</link
> <literal
>lastsource</literal
>.</para
> <para
>Dies sind die möglichen Ansagen: a=Ruf zu Beginn, t=doppeltes Glück </para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>Letzter Ziegel</term>
                        <listitem
><para
>Das Teil, das mit L beginnt, enthält Informationen über den letzten Ziegel. Er enthält den letzten Ziegel, gefolgt vom Bild, das damit vervollständigt wurde. Wir brauchen dieses Bild für die Regel "letzter Ziegel ist der einzig mögliche", weil es manchmal nicht ausreicht, nur den letzten Ziegel zu kennen. Beachten Sie, dass das letzte Bild kein Kan sein kann. </para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>Rufende Limithand</term>
                        <listitem
><para
>Das ist noch nicht implementiert. Im englischen Handbuch steht dazu mehr. </para
></listitem>
                </varlistentry>
        </variablelist>
        </para>
        </sect2>
        </sect1>
        <sect1 id="actions">
        <title
>Aktionen</title>
        <para
>Alle Aktionen für eine Regel werden in einer Zeichenfolge definiert. Sie werden mit Leerzeichen voneinander getrennt. Manche Aktionen definieren einen Wert. </para>
        <variablelist>
                <varlistentry>
                        <term
>&payforall;</term>
                        <listitem
><para
>Der Spieler hat etwas sehr Verbotenes getan und  muss darum für alle zahlen. Dies ist aber keine Strafe, weil die Summe der Zahlungen sich nicht ändert - nur der Zahler ändert. Und die beiden Spieler, die nicht involviert sind, tauschen keine Zahlungen aus. </para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>&payers;=X</term>
                        <listitem
><para
>Definiert, wieviele Spieler diese Strafe zahlen müssen. X ist eine Zahl. </para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>&payees;=X</term>
                        <listitem
><para
>Definiert, auf wieviele Spieler die Strafzahlung verteilt wird. X ist eine Zahl. </para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>&absolute;</term>
                        <listitem
><para
>Diese Aktion definiert eine absolute Zahlung. Der Handwert wird ignoriert. Wird für Strafregeln verwendet. </para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>&lastsource;</term>
                        <listitem
><para
>Diese Aktion definiert die Quelle des letzten Ziegels. Wird von manuellen Regeln verwendet, z.B. "letzter Ziegel vom toten Ende". Wenn man die Quelle mit dieser Aktion setzt, dient das als Filter für andere Regeln, die dadurch eventuell gar nicht mehr in Frage kommen. Dadurch erscheinen dann nur noch manuelle Regeln, die zu dieser letzten Quelle passen. Falls das unklar ist, spielen Sie einfach mal mit dem Bewertungsdialog und beobachten Sie, wie manuelle Regeln abhängig von der Quelle des letzten Ziegels erscheinen und verschwinden. </para
></listitem>
                </varlistentry>
        </variablelist>
        </sect1>
</chapter>

<chapter id="problems"
><title
>Bekannte Probleme</title>
        <itemizedlist>
                <listitem
><para
>Der Spieler kann für sich selber noch kein Benutzerkonto auf dem Spielserver anlegen.</para
></listitem>
                <listitem
><para
>Im Spielmodus sind noch keine Strafen möglich.</para
></listitem>
                <listitem
><para
>Die Computerspieler sind noch ziemlich dumm.</para
></listitem>
                <listitem
><para
>Die Namen der Computerspieler sind noch nicht frei wählbar.</para
></listitem>
                <listitem
><para
>Unterbrochene Spiele können noch nicht wiederaufgenommen werden (manuelle Abrechnungen aber schon).</para
></listitem>
        </itemizedlist>
</chapter>

<chapter id="future"
><title
>Mögliche Erweiterungen</title>
        <itemizedlist>
                <listitem
><para
>Mehr Regelsätze definieren. Am besten wäre es, wenn das Leute tun würden, die diese Regelsätze regelmäßig verwenden.</para
></listitem>
                <listitem
><para
>Töne. Die Rufe "Chow" &etc; sollten hörbar sein, auch die Ablage der Ziegel. Standard-Stimmen definieren, aber der Spieler sollte auch seine eigene Stimme aufnehmen können.</para
></listitem>
        </itemizedlist>
</chapter>

 <chapter id="faq"
><title
>Häufig gestellte Fragen</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
>Kann ich das Erscheinungsbild des Spiels ändern? </para
></question>
                 <answer
><para
>Ja, um das Design für &kappname; zu ändern, wählen Sie in der Menüleiste <link linkend="settings-menu-settings"
>Einstellungen</link
> und öffnen damit den <link linkend="configuration"
>Einrichtungsdialog</link
></para
></answer>
        </qandaentry>
        <qandaentry>
                 <question
><para
>Kann ich mit der Tastatur Ziegel den Spielern zuordnen?</para
></question>
                 <answer
><para
>Ja. Siehe <link linkend="enterhand-tiles"
>Manuelle Bewertung</link
></para
></answer>
        </qandaentry>
<!--Please add more Q&As if needed-->

</qandaset>
</chapter>

<chapter id="credits"
><title
>Mitwirkende und Lizenz</title
> <!-- do not change this! -->
<!--This chapter is for credits and licenses.-->
	<para
>&kappname; für &kde; </para>

	<para
>Programm Copyright &copy; 2009, 2010 <personname
><firstname
>Wolfgang</firstname
><surname
>Rohdewald</surname
></personname
> <email
>wolfgang@rohdewald.de</email
> </para>
	<para
>Dokumentation Copyright &copy; 2009, 2010 <personname
><firstname
>Wolfgang</firstname
><surname
>Rohdewald</surname
></personname
> <email
>wolfgang@rohdewald.de</email
> </para>

<!-- !!!do not change ANYTHING after this line!!!! -->
<para
>Übersetzung Wolfgang Rohdewald <email
>wolfgang@rohdewald.de</email
></para
>  
&underFDL; &underGPL; </chapter>

<appendix id="installation">
<title
>Installation</title>
<para
>Benutzen Sie das .deb Paket von <ulink url="http://www.kde-apps.org/content/show.php/kajongg?content=103206"
></ulink
>. Wenn es für Sie nicht funktioniert, laden Sie kajongg-x-y.tar.gz von derselben Adresse und dann: <programlisting
>tar xfz kajongg-x-y.tar.gz
cd kajongg-x-y
./setup.py install
</programlisting>
</para
><para
>In beiden Fällen müssen Sie manuell sicherstellen, dass andere benötigte Softwarepakete installiert sind. Das Debian-Paket kajongg enthält diese Abhängigkeiten bisher nicht. &kajongg; benötigt: (entsprechende Debian-Paketnamen in Klammern) </para>
<itemizedlist>
	<listitem
><para
>die KDE4 Spielebibliothek (libkdegames5)</para
></listitem>
	<listitem
><para
>Python 2.5 oder höher (python)</para
></listitem>
	<listitem
><para
>Qt4.4 oder höher (libqt4-core, libqt4-gui, libqt4-svg, libqt4-sql, libqt4-sql-sqlite)</para
></listitem>
	<listitem
><para
>die Python-Anbindung für Qt4 (python-qt4, python-qt4-sql) </para
></listitem>
	<listitem
><para
>die Python-Anbindung für KDE 4 (python-kde4)</para
></listitem>
        <listitem
><para
>Die Python twisted Bibliothek (python-twisted-core)</para
></listitem>
        <listitem
><para
>sqlite3 (libsqlite3-0)</para
></listitem>
</itemizedlist>

</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:
-->
