<?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 % Spanish "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
>Manual de &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
>Kira</firstname
><surname
>J. Fernández</surname
><affiliation
><address
><email
>kirajfdez@gmail.com</email
></address
></affiliation
><contrib
>Traductora</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
>Este documento describe el juego de &kappname; versión &kappversion;</para>
</abstract>

<!--List of relevant keywords-->
<keywordset>
	<keyword
>KDE</keyword
> <!-- do not change this! -->
	<keyword
>kdegames</keyword
> <!-- do not change this! -->
	<keyword
>juego</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
>tablero</keyword>
	<keyword
>arcade</keyword>
	<keyword
>juego de fichas</keyword>
	<keyword
>fichas</keyword>
<!--Number of possible players. It can be: One, Two,..., Multiplayer-->
	<keyword
>cuatro jugadores</keyword>
<!--All other relevant keywords-->
</keywordset>
</bookinfo>
<!--Content begins here: -->
<chapter id="introduction"
><title
>Introducción</title
> <!-- do not change this! -->
	<note
><title
>Tipo de juego:</title
><para
>Tablero, Arcade</para
></note
><!-- Game genre. Use as many as necessary. Available game types are: Arcade, Board, Card, Dice, Toys, Logic, Strategy.-->
	<note
><title
>Número de posibles jugadores:</title
><para
>Cuatro</para
></note
><!--Number of possible players. It can be: One, Two,..., Multiplayer-->
	<para
>&kajongg; es un juego de tablero creado a partir del famoso juego oriental del Mahjongg (del chino <foreignphrase lang="zh"
>麻將</foreignphrase
>). Se juega con cuatro jugadores. Hay muchos tipos de reglas diferentes en uso por el mundo. ahora mismo, &kajongg; soporta las reglas clásicas chinas tal como se juegan en Alemania; en un futuro se admitirán otros conjuntos de reglas. Es posible personalizar o añadir nuevos conjuntos de reglas. ¡Por favor, hágalo y envíeselos al autor del programa para que los integre! </para>
	<para
>&kajongg; puede utilizarse de dos formas diferentes: puntuar un juego manual donde usted juega como siempre con la ayuda de su máquina y usa &kajongg;  para el cálculo de la puntuación y para llevar un registro. O puede utilizar  &kajongg; para jugar contra cualquier combinación de otros jugadores humanos o máquinas. </para>
</chapter>

<chapter id="screen_layout"
><title
>La distribución de la pantalla</title>
		<para>
			<screenshot>
				<screeninfo
>Captura de pantalla de &kajongg;</screeninfo>
				<mediaobject>
					<imageobject>
						<imagedata fileref="gamescreen.png" format="PNG"/>
					</imageobject>
					<textobject
><phrase
>Captura de pantalla</phrase
></textobject>
				</mediaobject>
			</screenshot>
                </para>
                <para
>Rápida explicación de las partes de la pantalla de juego. </para>
	<variablelist>
		<varlistentry>
			<term
>Barra de herramientas</term>
			<listitem
><para
>La barra de herramientas se encuentra bajo la barra de menú y contiene botones para la mayoría de las acciones utilizadas a menudo. El contenido de la barra de herramientas se puede edcitar. También puede hacerla invisible, dándole más espacio al tablero. </para
></listitem>
		</varlistentry>
		<varlistentry>
			<term
>Tablero</term>
			<listitem
><para
>El tablero es la sección más grande de la ventana. Puede ver las cuatro paredes con una longitud de 18 fichas (el número exacto depende de las reglas, como usar fichas de bonificación o no). Los nombres de los jugadores están escritos en las paredes, junto con el valor actual de la mano (si es conocido) y sus fichas de los vientos. El viento dominante tiene un fondo coloreado; el este en la captura de pantalla de arriba. </para
><para
>Cuando <link linkend="play"
>juegue</link
>, el interior de las paredes contiene las fichas descartadas por los jugadores. Están situadas de forma aleatoria. La última ficha descartada tiene un marco de enfoque azul. </para
><para
>Cuando se <link linkend="scoreGame"
>puntúen manualmente los juegos</link
>, el interior de las paredes tiene una selección de todas las fichas disponibles, el selector central. Puede asignárselos a los jugadores utilizando el ratón o el teclado. </para>
			</listitem>
		</varlistentry>
		<varlistentry>
			<term
>Región del jugador</term>
			<listitem
><para
>Cada jugador tiene una zona de pantalla para sus fichas. La fila superior contiene fichas expuestas; la inferior, fichas ocultas. Cuando <link linkend="scoreGame"
>se puntúen juegos manuales</link
>, las fichas ocultas se muestran con una sombra sobre la ficha completa. Las fichas de bonificación van al extremo derecho. </para
></listitem>
		</varlistentry>
		<varlistentry>
			<term
>Diálogo</term>
			<listitem
><para
>El diálogo presenta las opciones que tiene el jugador. La mayoría de las veces tiene un límite de tiempo con una barra de progreso que muestra el tiempo restante. </para
></listitem>
		</varlistentry>
		<varlistentry>
			<term
>Barra de estado</term>
			<listitem
><para
>La barra de estado está situada en el fondo de la pantalla y contiene los totales actuales de los jugadores. </para
></listitem>
		</varlistentry>
	</variablelist>
</chapter>

<chapter id="scoreGame"
><title
>Puntuar un juego manual</title
> <!-- do not change this! -->
	<para
>Actualmente &kajongg; soporta la puntuación manual de los juegos. Se juega como de costumbre y, al final del juego, puede decirle a &kajongg; cuántas fichas tiene un jugador en la mano y todo lo que haga falta para que &kajongg; calcule la puntuación -que es lo que hará el programa. Alternativamente, puede calcular las puntuaciones a mano e introducirlas. &kajongg; efectuará los pagos entre los jugadores y escribirá los resultados en una base de datos. Es posible suspender un juego, empezar otro con jugadores diferentes y continuar juegos anteriores. Todas las reglas se guardan juntas con los juegos, así que juegos distintos pueden jugarse con reglas diversas. </para>
        <itemizedlist>
            <listitem
><para
>Desde el menú, seleccione <guimenu
>Juego</guimenu
> / <guimenuitem
>Puntuar juego manual</guimenuitem
> o presione <keycombo action="simul"
>&Ctrl;<keycap
>C</keycap
></keycombo
>. </para
></listitem>
            <listitem
><para
>Ahora puede seleccionar un juego sin terminar ya existente o comenzar un juego nuevo. Si empieza uno nuevo, se le preguntará por los jugadores y por el tipo de reglas. &kajongg; propondrá los mismos valores utilizados para el juego anterior. Si no existe ningún juego anterior, sugerirá los primeros cuatro jugadores definidos. Por favor, tenga en cuenta que no puede cambiar el conjunto de reglas ni ninguna de las reglas individuales después de hacer esta selección. Puede hacerlo con antelación en <link linkend="ruleset-options"
>el editor de reglas</link
>. </para
></listitem>
            <listitem
><para
>Ahora tiene una nueva ventana titulada «Introduzca los resultados». Lea <link linkend="enterhand-tiles"
>Deje que &kajongg; calcule la puntuación </link
> para una descripción más detallada. </para
></listitem>
            <listitem
><para
>Después de guardar los resultados, continúe con la siguiente mano. </para
></listitem>
        </itemizedlist>
      <sect1 id="enterhand"
><title
>Introducir resultados</title>
        <sect2 id="enterhand-scores">
	<title
>Puntuaciones</title>
	<screenshot>
		<screeninfo
>Captura de pantalla de &kajongg;</screeninfo>
		<mediaobject>
			<imageobject>
				<imagedata fileref="enterhand.png" format="PNG"/>
			</imageobject
>				<textobject
><phrase
>Captura de pantalla</phrase
></textobject>
		</mediaobject>
	</screenshot>
	<para
>Esta es la ventana para introducir resultados. Se muestra automáticamente cuando &kajongg; cree que lo puede necesitar. Siempre puede mostrarla u ocultarla presionando <keycombo action="simul"
>&Ctrl;<keycap
>S</keycap
></keycombo
> o sleccionando la correspondiente opción del menú. </para>
	<para
>Como siempre, el viento predominante tiene el fondo coloreado. </para>
	<para
>Aquí puede introducir manualmente puntuaciones para todos los jugadores. Alternativamente, puede definir exactamente qué fichas tenía en la mano cada jugador. Si elige hacerlo, el campo correspondiente al valor de la puntuación manual aparecerá en gris. &kajongg; calculará la puntuación automáticamente. </para>
	<para
>Después de haber introducido todos los datos relevantes para una mano, presione el botón <guibutton
>Guardar mano</guibutton
>. Los valores de la mano se incorporarán a la base de datos, y también a la tabla de puntuaciones. Puede que se le pida cambiar las posiciones de los jugadores, pero puede elegir no hacerlo. Los cambios propuestos no son todavía personalizables -si un juego de reglas necesita algo diferente, lo cambiaremos. </para>
	<para
>Si el jugador puede haber ganado, la casilla de verificación de la columna «Ganador» se habilitará. Haga click aquí para marcar al ganador. </para>
	<para
>La barra de estado mostrará ahora los saldos de los jugadores, y usted podrá continuar con la siguiente mano. </para>
	<sect3 id="enterhand-manually">
	<title
>Introducir la puntuación manualmente</title>
	<para
>Un buen jugador probablemente preferirá calcular su propia puntuación por sí mismo. En ese caso, puede introducirla directamente. Esto sólo es posible cuando no hay fichas seleccionadas para este jugador. </para>
	<para
>Si introduce una puntuación manual, debe contener todo excepto las penalizaciones; no tendrá reglas opcionales entre las que elegir. Hay una excepción, «Juego peligroso». Esto no influye en las puntuaciones, y tampoco es una infracción. Sólo significa que el pago entre jugadores es diferente: el infractor se lo paga todo al ganador. Los otros dos jugadores no se intercambian pagos. Esto actualmente no es personalizable. </para>
	</sect3>
	<sect3 id="enterhand-tiles">
	<title
>Haga que &kajongg; calcule la puntuación</title>
	<para
>Si le dice explícitamente a &kajongg; qué fichas tiene un jugador, el campo para introducir las puntuaciones estará en gris para ese jugador en esta ventana. Mientras asocie fichas a un jugador verá cómo esta puntuación aumenta, pero tan pronto como añada la decimocuarta la puntuación se hará cero. Esto puede sorprenderle pero, a menos que declare a ésta como la mano ganadora, se reconoce como una mano larga, que siempre tiene cero puntos. Este comportamiento viene definido por el juego de reglas clásico chino; puede ser diferente si cambia las reglas o usa un conjunto distinto. </para>
	<para
>Puede asociar fichas y tanteos con un jugador utilizando el ratón, el teclado o ambos. Con el ratón, simplemente mueva las fichas arrastrándolas y soltándolas en la región del jugador. Cuando suelte la ficha, se le preguntará qué desea mover: Sencillo, Pung, Kong, Kong reclamado o Chow. La fila superior es para las fichas expuestas, la inferior, para las ocultas. Las fichas de bonificación aparecerán en el extremo derecho. También puede mover las fichas y los tanteos entre las filas, entre los jugadores y de vuelta al selector central. </para>
	<para
>Si prefiere usar el teclado, puede usar &Tab; para moverse entre el selector central y las regiones de los jugadores. Las teclas <keycap
>eswnESWN</keycap
> mueven una ficha hacia el el Este, el Sur, el Oeste y el Norte de cada jugador. Las teclas <keycap
>xX</keycap
> la devuelven al selector central. <keycap
>ESWN</keycap
> mueve a la fila oculta, <keycap
>eswn</keycap
> mueve a la fila expuesta. Puede mover el cursor entre fichas o tanteos usando las teclas de dirección. La ficha actualmente seleccionada tiene un marco azul. Como las teclas de dirección están lejos de las letras en el teclado, también puede usar las letras <keycap
>hjkl</keycap
> o <keycap
>HJKL</keycap
> para mover el cursor. <keycap
>hH</keycap
> mueve hacia la izquierda, <keycap
>jJ</keycap
> mueve hacia abajo, <keycap
>kK</keycap
> mueve hacia arriba, y <keycap
>lL</keycap
> mueve a la derecha. Así es como lo hace el editor «vi» de Unix. El navegador de KDE Konqueror e incluso este programa de ayuda también soportan esas teclas de la misma forma. Estas teclas pueden ser diferentes si utiliza un idioma diferente del inglés, pero no es posible configurarlo. </para>
	<para
>Las opciones «Última ficha» y «Último tanteo» se necesitan para algunas reglas como «la última ficha completa el par». Sólo se puede utilizar por la mano ganadora. </para>
	<para
>En la parte derecha de la ventana puede aplicar manualmente algunas reglas. Qué reglas aparecen en esta lista depende del juego de reglas actual y de las fichas. En el ejemplo de la captura de pantalla de arriba, los jugadores que pierden pueden tener una opción de «juego peligroso» -de nuevo, dependiendo del juego de reglas y de sus fichas. Es el objetivo de los desarrolladores mantener esta lista de reglas seleccionables lo más corta posible. De manera óptima, &kajongg; debería siempre poder determinar automáticamente si una regla se aplica, pero a veces &kajongg; no dispone de suficiente información o conocimiento para decidir. </para>
	</sect3>
	</sect2>
	<sect2 id="enterhand-penalties">
	<title
>Penalizaciones</title>
			<screenshot>
				<screeninfo
>Captura de pantalla de &kajongg;</screeninfo>
				<mediaobject>
					<imageobject>
						<imagedata fileref="penalty.png" format="PNG"/>
					</imageobject>
					<textobject
><phrase
>Captura de pantalla</phrase
></textobject>
				</mediaobject>
			</screenshot>
	<para
>En la <link linkend="enterhand"
>ventana para introducir los resultados a mano</link
>, el botón de <guibutton
>Penalizaciones</guibutton
> invocará esta ventana, donde puede introducir las penalizaciones. Esto se puede hacer en cualquier momento, independientemente del mecanismo normal de puntuación.</para>
	<para
>La selección de <guilabel
>infracción</guilabel
> muestra todas las infracciones que pueden aplicarse a las manos que tienen los jugadores. Elija entre ellas.</para>
	<para
>Ahora puede adaptar la <guilabel
>Penalización total</guilabel
>. Ésta es la suma total que se mueve de los pagadores a los que reciben el pago. Será dividida equitativamente entre ellos.</para>
	<para
>Dependiendo del tipo de infracción, el número de pagadores y pagados varía. Se muestra el número correcto de jugadores. Si selecciona un jugador, &kajongg; se asegura de que este jugador sólo figura una vez adaptando a los otros jugadores. </para>
	</sect2>
	</sect1>
</chapter>

<chapter  id="play"
><title
>Jugando</title>
        <sect1 id="robotplay">
        <title
>Jugar contra la máquina</title>
         <para
>Primero usted obtendrá un diálogo de registro. Introduzca el servidor de juego al que quiere conectarse y su nombre de usuario. Si elige la entrada especial «Juego local», sólo necesitará introducir su nombre (o aceptar el nombre propuesto) y el juego de reglas deseado. Esto iniciará inmediatamente un juego local donde usted juega contra tres jugadores robot. </para>
        </sect1>
        <sect1 id="humanplay">
        <title
>Jugar con amigos</title>
        <para
>Si desea jugar contra personas reales, necesitará un servidor de juego al que todos los jugadores, incluido usted, necesitarán conectarse. Hágalo seleccionando cualquier servidor introduciendo manualmente un nuevo nombre de servidor y especificando su contraseña para ese servidor. Le será propuesta la última contraseña utilizada. </para
><para
>Si no tiene cuenta en ese servidor con el nombre que ha introducido, se le preguntará si desea abrir una cuenta. Si dice que sí, obtendrá un nuevo diálogo donde puede introducir la contraseña deseada dos veces. Su cuenta se creará automáticamente. </para
><para
>Tras ingresar con éxito en el servidor de juego, obtendrá una lista de mesas con asientos disponibles en ese servidor. Únase a una mesa o cree una nueva. Si crea una nueva mesa, espere hasta que otros jugadores ocupen más asientos. Puede iniciar el juego en una mesa que haya creado en cualquier momento; los asientos que no estén tomados serán ocupados por jugadores robot. </para
><para
>La lista de mesas también muestra el nombre del conjunto de reglas que se juega en cada mesa. El conjunto de reglas y su nombre se envía al servidor de juego por el jugador que inicia el juego en cada mesa. Si tiene un conjunto de reglas idéntico, la mesa muestra su nombre para el conjunto de reglas -esto puede ser útil si el que inicia la mesa habla otro idioma y ha nombrado al conjunto de reglas de forma diferente. También, si se muestra el nombre de su conjunto de reglas local, lo hace en color negro. Si no tiene un conjunto idéntico, el nombre aparece en rojo, y usted puede usar el botón <guibutton
>Comparar</guibutton
> para compararlo con sus propios conjuntos de reglas. </para
><para
>Puede iniciar el servidor de juegos de Kajongg de dos formas diferentes: <itemizedlist
><listitem
><para
>conectarse al servidor «localhost». Éste es su propio equipo. Si hace esto y no hay ningún servidor de juego en marcha, se iniciará automáticamente. Y cuando termine de jugar, el servidor se detendrá igualmente. </para
></listitem
><listitem
><para
>iniciar manualmente un servidor en cualquier equipo que desee. Todo lo que necesita es ir a la línea de órdenes e iniciar el programa «kajonggserver». Introducir «kajonggserver --help» le mostrará todas las opciones disponibles, como cambiar el puerto predeterminado 8149. Este servidor seguirá en marcha hasta que mate el proceso. </para
></listitem
></itemizedlist>
        </para
><para
>En ambos casos, necesita decirles a los otros jugadores cómo pueden conectarse a su servidor de juegos. Necesitarán la URL o simplemente una dirección IP y el puerto que su servidor está escuchando. Esto podría ser algo como «mypc.dyndns.org:8149», siendo 8149 el puerto. Por supuesto necesitará configurar su cortafuegos para que el jugador remoto pueda conectarse a ese puerto. La comunicación estará cifrada. </para
><para
>Si encuentra posibles errores, puede que desee usar la opción «--showtraffic». Esto le mostrará, en la consola donde se ha iniciado el servidor, qué mensajes están circulando entre el servidor de juegos y los clientes. </para>
        <sect2 id="playing-caveats">
        <title
>Advertencias</title>
            <itemizedlist
><listitem
><para
>Si desea asegurarse de que nadie pueda hacer trampas, ninguno de los jugadores humanos deberían tener acceso a la máquina donde está funcionando el servidor de juegos. Por supuesto, no podrá evitar que dos jugadores se ayuden el uno al otro, porque no puede saber qué están haciendo. Dos jugadores pueden ser incluso la misma persona. </para
></listitem
></itemizedlist>
        </sect2>
        </sect1>
        <sect1 id="playing-play">
        <title
>Cómo jugar</title>
        <para
>Se le preguntará qué desea hacer. Éste es un pequeño diálogo que aparece tanto a la derecha o abajo, dependiendo del tamaño de la ventana. Si la hace más ancha que alta, el diálogo aparecerá a la izquierda. A veces el diálogo tiene un límite de tiempo. Cuando se acaba, la primera respuesta posible se selecciona automáticamente por usted. Este límite de tiempo es configurable desde el Editor de reglas, bajo <guilabel
>Opciones</guilabel
>, <guilabel
>Límite de tiempo</guilabel
>. Todos los jugadores deberían tener el mismo límite de tiempo, por eso éste es parte del juego de reglas. </para
><para
>Si necesita seleccionar una ficha de su mano, puede moverse por las fichas usando las flechas derecha e izquierda del teclado, o las letras h y l. Por supuesto, también podrá usar el ratón. </para
><para
>A menudo, los diálogos le ofrecerán opciones que en realidad no son aplicables, como anunciar Pung cuando no tiene las fichas necesarias. Esto es intencionado -como en el juego real. </para
><para
>Las fichas descartadas se colocan al azar entre las paredes. Algunas variantes del juego definen dónde se deben colocar estas fichas; sin embargo, esto todavía no es configurable. Cuando se pueda configurar, formará parte del juego de reglas. </para>
	</sect1>
</chapter>


<chapter id="interface"
><title
>Vista general de la interfaz</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
>El menú <guimenu
>Juego</guimenu
></title>
		<variablelist>
			<varlistentry id="game-menu-scoreGame">
				<term
><menuchoice
><guimenu
>Juego</guimenu
> <guimenuitem
>Puntuar juego manual</guimenuitem
> </menuchoice
></term>
				<listitem
><para
><action
>Sólo da la puntuación de una partida jugada manualmente.</action
></para
><para
>Se puede cargar un juego anterior o comenzar un nuevo. Por defecto, sólo se muestran los juegos pendientes (es decir, sin terminar) en la lista de selección. Opcionalmente, puede mostrar todos los juegos, incluyendo los ya finalizados. Aquí también puede eliminar juegos.</para
></listitem>
			</varlistentry>
                        <varlistentry  id="game-menu-play">
                                <term
><menuchoice
><guimenu
>Juego</guimenu
> <guimenuitem
>Jugar</guimenuitem
> </menuchoice
></term>
                                <listitem
><para
><action
>Jugar con otros (personas y máquinas)</action
></para
></listitem>
                        </varlistentry>
                        <varlistentry  id="game-menu-abort">
                                <term
><menuchoice
><guimenu
>Juego</guimenu
> <guimenuitem
>Interrumpir</guimenuitem
> </menuchoice
></term>
                                <listitem
><para
><action
>Interrumpir el juego actual. Si era un juego manual con sólo la puntuación, puede continuarlo más tarde. Si estaba jugando utilizando &kajongg;, el juego no se puede continuar.</action
></para
></listitem>
                        </varlistentry>
			<varlistentry>
				<term
><menuchoice
><guimenu
>Juego</guimenu
> <guimenuitem
>Salir</guimenuitem
> </menuchoice
></term>
				<listitem
><para
><action
>Sale</action
> de &kappname;.</para
></listitem>
			</varlistentry>
		</variablelist>
</sect1>
<sect1 id="view-menu">
	<title
>El menú <guimenu
>Vista</guimenu
></title>
		<variablelist>
                        <varlistentry id="view-scoring">
                                <term
><menuchoice
><guimenu
>Vista</guimenu
> <guimenuitem
>Puntuación</guimenuitem
> </menuchoice
></term>
                                <listitem
><para
><action
>Diálogo de puntuación</action
> Muestra u oculta el diálogo de puntuación. Este diálogo está explicado <link linkend="enterhand"
>aquí</link
>. </para
></listitem>
                        </varlistentry>
                        <varlistentry id="view-scoretable">
                                <term
><menuchoice
><guimenu
>Vista</guimenu
> <guimenuitem
>Tabla de puntuaciones</guimenuitem
> </menuchoice
></term>
                                <listitem
><para
><action
>Tabla de puntuaciones</action
> <screenshot
> <screeninfo
>Tabla de puntuaciones</screeninfo
> <mediaobject
> <imageobject
> <imagedata fileref="scoretable.png" format="PNG"/> </imageobject
> <textobject
> <phrase
>Captura de pantalla</phrase
></textobject
> </mediaobject
> </screenshot
> Muestra la tabla de puntuaciones. La columna más a la izquierda, con los valores E, S, W, N, muestra el viento del jugador. El viento predominante (viento de la ronda) tiene un fondo amarillento. El ganador tiene un fondo verde en la columna de Puntuación. La columna ∆ muestra cuánto ha pagado el jugador o cuánto ha recibido de otros jugadores con su mano. La columna ∑ muestra el balance. Las pistas le dan más detalles: muestran todas las reglas que se han aplicado en esta mano.</para
><para
>La parte inferior muestra el juego de reglas utilizado. Entre la tabla de puntuación y la regla utilizada puede encontrar un divisor que le permitirá cambiar los tamaños relativos de ambas partes. </para
></listitem>
                        </varlistentry>
			<varlistentry id="view-explain-scores">
				<term
><menuchoice
><guimenu
>Vista</guimenu
> <guimenuitem
>Explicar puntuaciones</guimenuitem
> </menuchoice
></term>
				<listitem
><para
><action
>Explicar puntuaciones</action
> <screenshot
> <screeninfo
>Tabla de puntuaciones</screeninfo
> <mediaobject
> <imageobject
> <imagedata fileref="explain.png" format="PNG"/> </imageobject
> <textobject
> <phrase
>Tabla de puntuaciones</phrase
> </textobject
> </mediaobject
> </screenshot
> Explica cómo se ha calculado la puntuación de la mano actual. </para
></listitem>
			</varlistentry>
		</variablelist>
</sect1>
<sect1 id="settings-menu">
	<title
>El menú <guimenu
>Preferencias</guimenu
></title>
		<variablelist>
			<varlistentry>
				<term
><menuchoice
><guimenu
>Preferencias</guimenu
> <guimenuitem
>Jugadores</guimenuitem
> </menuchoice
></term>
				<listitem
><para
><action
>Añadir, modificar y eliminar jugadores.</action
></para
></listitem>
			</varlistentry>
			<varlistentry>
				<term
><menuchoice
><guimenu
>Preferencias</guimenu
><guimenuitem
>Cambiar ángulo de visión</guimenuitem
> </menuchoice
></term>
				<listitem
><para
><action
>Cambia el ángulo de visión de las fichas en sentido antihorario.</action
></para
></listitem>
			</varlistentry>
			<varlistentry>
				<term
><menuchoice
><guimenu
>Preferencias</guimenu
> <guimenuitem
>Modo de pantalla completa</guimenuitem
> </menuchoice
></term>
				<listitem
><para
><action
>Cambia entre el modo de pantalla completa y el modo normal.</action
></para
></listitem>
			</varlistentry>
			<varlistentry>
				<term
><menuchoice
><guimenu
>Preferencias</guimenu
> <guimenuitem
>Mostrar barra de herramientas</guimenuitem
> </menuchoice
></term>
				<listitem
><para
><action
>Muestra u oculta la barra de herramientas</action
></para
></listitem>
			</varlistentry>
			<varlistentry id="settings-menu-statusbar">
				<term
><menuchoice
><guimenu
>Preferencias</guimenu
> <guimenuitem
>Mostrar barra de estado</guimenuitem
> </menuchoice
></term>
				<listitem
><para
><action
>Muestra u oculta la barra de estado</action
></para
></listitem>
			</varlistentry>
			<varlistentry id="settings-menu-shortcuts">
				<term
><menuchoice
><guimenu
>Preferencias</guimenu
> <guimenuitem
>Configurar accesos rápidos...</guimenuitem
> </menuchoice
></term>
				<listitem
><para
><action
>Muestra un diálogo de configuración de accesos rápidos estándar de &kde;</action
> para los <link linkend="default-keybindings"
>accesos rápidos</link
> para &kappname;.</para
></listitem>
			</varlistentry>
			<varlistentry id="settings-menu-toolbar">
				<term
><menuchoice
><guimenu
>Preferencias</guimenu
> <guimenuitem
>Configurar barras de herramientas...</guimenuitem
> </menuchoice
></term>
				<listitem
><para
><action
>Muestra un diálogo estándar de &kde; donde puede configurar los iconos de la barra de herramientas.</action
></para
></listitem>
			</varlistentry>
			<varlistentry id="settings-menu-settings">
				<term
><menuchoice
><guimenu
>Preferencias</guimenu
> <guimenuitem
>Configurar &kappname;...</guimenuitem
> </menuchoice
></term>
				<listitem
><para
><action
>Abre un <link linkend="configuration"
>diálogo de configuración</link
> para &kappname;.</action
></para
></listitem>
			</varlistentry>
		</variablelist>
</sect1>
 <sect1 id="help"
><!--This is a standard Help menubar entry. Only change if needed.-->
<title
>El menú <guimenu
>Ayuda</guimenu
></title>
&help.menu.documentation; </sect1>
</chapter>

<chapter id="configuration"
><title
>Configuración del juego</title
> <!-- do not change this! -->
<!--This section describes configuration &GUI;. If your game is configured using menubar exclusively, please remove this section.-->
<screenshot>
<screeninfo
>Diálogo «Configurar»</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="config_play.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase
>Diálogo «Configurar»</phrase>
	  </textobject>
	</mediaobject>
</screenshot>

<para
>La opción del menú <menuchoice
><guimenu
>Preferencias</guimenu
><guimenuitem
> Configurar &kappname;...</guimenuitem
></menuchoice
> abre el diálogo <guilabel
> Configurar - &kappname;</guilabel
> dialog.</para>
<para
>Si presiona aquí el botón <guibutton
>Cancel</guibutton
>, se revertirán todos los cambios, incluyendo todo lo que haya hecho con el editor de reglas.</para>
<para
>Puede también seleccionar las diferentes pestañas con el teclado: <keycombo action="simul"
>&Ctrl;<keycap
>1</keycap
></keycombo
> selecciona la primera pestaña de opciones del <guilabel
>Juego</guilabel
>, <keycombo action="simul"
>&Ctrl;<keycap
>2</keycap
></keycombo
> selecciona la segunda, y así sucesivamente. </para>

<sect1 id="play-options"
><title
>Opciones de <guilabel
>juego</guilabel
></title>
		<variablelist>
			<varlistentry>
				<term>
					<guilabel
>Mostrar las sombras de las fichas</guilabel>
				</term>
				<listitem
><para
>Esto muestra las fichas con bordes y sombras. También hay espacio entre las filas, y las fichas de la pared se muestran de tal forma que puede ver que la pared tiene dos o tres fichas de alto. Si deshabilita esta opción, tendrá una visualización más simple con fichas ligeramente más grandes. Esto puede ser útil para pantallas pequeñas. </para
></listitem>
			</varlistentry>
			<varlistentry>
				<term>
					<guilabel
>Reorganizar fichas ocultas en tanteos</guilabel>
				</term>
				<listitem
><para
>Esto agrupa los tanteos de la mano. A veces el agrupamiento puede no ser como usted lo quiere, así que tal vez prefiera que no haya ningún agrupamiento, como en un juego real. </para
></listitem>
			</varlistentry>
			<varlistentry>
				<term>
					<guilabel
>Usar sonidos si están disponibles</guilabel>
				</term>
				<listitem
><para
>Esto le permite oír descartes y reclamaciones. Si otros jugadores han grabado archivos de sonido con su propias voces, podrá oírlas. </para
></listitem>
			</varlistentry>
			<varlistentry>
				<term>
					<guilabel
>Dejar que otros oigan mi voz</guilabel>
				</term>
				<listitem
><para
>Si usted ha grabado archivos de sonido con su voz, esta opción permitirá que otros jugadores oigan sus descartes y reclamaciones con su propia voz. </para
></listitem>
			</varlistentry>
		</variablelist>

	<sect2
><title
>Sonido</title>
	<para
>Es posible grabar archivos de sonido para sus anuncios, que serán oídos por los demás jugadores. He aquí algo del trabajo manual necesario: </para>
            <itemizedlist
><listitem
><para
>Primero, necesita averiguar dónde almacenar sus archivos de voz. Este directorio normalmente es ~/.kde/share/apps/kajongg. Así, si su nombre de usuario es joe, será /home/joe/.kde/share/apps/kajongg. Ahí encontrará también la base de datos kajongg.db. </para
></listitem
><listitem
><para
>En la carpeta que acaba de encontrar, genere una nueva subcarpeta con el nombre <literal
>voces</literal
>. </para
></listitem
><listitem
><para
>En la carpeta <literal
>voces</literal
>, genere otra subcarpeta con su nombre de jugador. Éste es el nombre que usa cuando se conecta a un servidor de juego. Puede que también quiera definir voces para los jugadores <filename
>ROBOT 1</filename
>, <filename
>ROBOT 2</filename
>, <filename
>ROBOT 3</filename
>. </para
></listitem
><listitem
><para
>En esa subcarpeta, puede colocar los archivos de sonido. Tendrán que estar codificados con el compresor de audio <ulink url="http://xiph.org/vorbis/"
>Ogg Vorbis</ulink
>; los nombres de los archivos necesitarán tener la extensión <filename class="extension"
>.ogg</filename
>. </para
></listitem
><listitem
><para
>Un solo archivo tiene un nombre como <filename
>s3.ogg</filename
> - esto es Piedra 3. Debería definir esos archivos para todas las fichas y para todas las declaraciones y anuncios. </para
></listitem
></itemizedlist>
            <para
>Por favor, mantenga la longitud del sonido corta pero hable claramente -este juego se puede jugar muy rápido cuando se acostumbra. Es más fácil si usted escribe primero una lista con todo lo que se debe decir. No la lea como una secuencia de elementos; intente pronunciar cada uno como si fuera el único, y como lo haría si estuviera jugando. Leer esto necesita un poco de práctica.</para>
            <para
>Esto es sólo una posibilidad para crear los archivos de sonido: </para
><para
><itemizedlist
><listitem
><para
>Grabe un archivo de sonido con el programa , <command
>qarecord</command
>, guárdelo en formato <literal
>WAV</literal
>. En este único archivo de sonido, hable todos los sonidos. </para
></listitem
><listitem
><para
>Edite ese archivo con el editor de sonido <command
>audacity</command
>. En ese editor, use el ratón para marcar un intervalo de ondas de sonido. El editor reproducirá esa parte. Repítalo hasta que tenga seleccionada la parte correcta. Esto le puede ser más fácil si selecciona <menuchoice
><guimenu
>Ver</guimenu
> <guimenuitem
>Acercar zoom</guimenuitem
></menuchoice
>. Utilice la orden del menú <menuchoice
><guimenu
>Archivo</guimenu
><guimenuitem
>Exportar selección</guimenuitem
></menuchoice
> y guárdela en formato ogg. En  <guilabel
>Opciones</guilabel
>, elija una calidad baja -esto es suficiente e incluso deseable, porque esto reduce el tiempo para transferir los sonidos a los otros jugadores. </para
></listitem
></itemizedlist
></para>
            <para
>Esos son los nombres de los archivos que debería generar. Añádales siempre <filename
>.ogg</filename
>:</para>

<table>
<title
>Nombres de los archivos de sonido</title>
<tgroup cols="2">
<tbody>
<row>
<entry
>&s1; .. &s9;</entry
><entry
>Piedra 1 a piedra 9</entry>
</row>
<row>
<entry
>&b1; .. &b9;</entry>
<entry
>Bambú 1 a bambú 9</entry>
</row>
<row>
<entry
>&c1; .. &c9;</entry>
<entry
>Símbolo 1 a símbolo 9</entry>
</row>
<row>
<entry
>&we; &ws; &ww; &wn;</entry>
<entry
>Los vientos Este, Sur, Oeste, Norte</entry>
</row>
<row>
<entry
>&db; &dr; &dg;</entry>
<entry
>Los dragones azul/blanco, rojo, verde</entry>
</row>
<row>
<entry
>&chow; &pung; &kong; &mahjongg;</entry>
<entry
>Las declaraciones mayores</entry>
</row>
<row>
<entry
>&originalcall; &violatesoriginalcall;</entry>
<entry
>Llamada original y su violación</entry>
</row>
<row>
<entry
>&dangerousgame;</entry>
<entry
>Un jugador dispara un cañón (juego peligroso)</entry>
</row>
<row>
<entry
>&nochoice;</entry>
<entry
>Un jugador declara que no tiene más opción que jugar un juego peligroso</entry>
</row>
</tbody>
</tgroup>
</table>
	</sect2>
</sect1>

<sect1 id="tiles-options"
><title
>Opciones de<guilabel
>fichas</guilabel
></title>
        <screenshot>
                <screeninfo
>Selector de conjuntos de fichas</screeninfo>
                <mediaobject>
                        <imageobject>
                                <imagedata fileref="config_tiles.png" format="PNG"/>
                        </imageobject>
                        <textobject
><phrase
>Selector del conjunto de fichas</phrase
></textobject>
                </mediaobject>
        </screenshot>
	<para
>Utilice el selector <guilabel
>Fichas</guilabel
> para seleccionar gráficos para las fichas. </para>
</sect1>

<sect1 id="background-options"
><title
>Opciones de <guilabel
>fondo</guilabel
></title>
        <screenshot>
                <screeninfo
>Selector de fondos</screeninfo>
                <mediaobject>
                        <imageobject>
                                <imagedata fileref="config_background.png" format="PNG"/>
                        </imageobject>
                        <textobject
><phrase
>Selector de fondos</phrase
></textobject>
                </mediaobject>
        </screenshot>
	<para
>Utilice el selector de <guilabel
>Fondo</guilabel
> para seleccionar un fondo gráfico para el juego. </para
><para
>Algunos fondos, como el Paisaje Chino, necesitan algún tiempo para cargarse. Si cree que el programa debería comenzar más rápido o que cambiar el tamaño de la ventana principal lleva demasiado tiempo, puede intentarlo con algún otro fondo. </para>
</sect1>

<sect1 id="ruleset-options"
><title
>Editor de reglas</title>
			<screenshot>
				<screeninfo
>Editor de reglas</screeninfo>
				<mediaobject>
					<imageobject>
						<imagedata fileref="ruleseteditor.png" format="PNG"/>
					</imageobject>
					<textobject
><phrase
>Editor de reglas</phrase
></textobject>
				</mediaobject>
			</screenshot>
			<para
>Utilice el editor de reglas para personalizar los conjuntos de reglas. Los conjuntos predefinidos se muestran en letra cursiva; los personalizados se muestran con letra normal. El jugador no puede cambiar los conjuntos de reglas predefinidos de ninguna manera, aunque sí podría hacerlo una actualización de &kajongg;. Los conjuntos de reglas personalizados no se ven afectados por las actualizaciones. </para
><para
>Cuando comience un nuevo juego, podrá seleccionar un conjunto de reglas para ese juego. Se pueden utilizar todos los conjuntos de reglas definidos en el editor. El conjunto de reglas se guarda junto con el juego, así que siempre puede cambiarlo aquí -sus cambios sólo afectarán a juegos futuros. </para>
			<sect2
><title
>Regla, puntuación y unidad</title
><para
>Simplemente haga doble click en lo que desee cambiar.</para>
			</sect2>
			<sect2
><title
>Definición</title
><para
>La definición de una regla puede ser bastante compleja. Hay un capítulo separado, <link linkend="rule"
>Definir una regla</link
>, para esto. Normalmente no tendrá que cambiar una definición. Esto esencialmente define a qué manos se aplica la regla.</para>
			</sect2>
			<sect2
><title
>Copiar y eliminar</title
><para
>Puede copiar conjuntos de reglas completos o reglas individuales dentro de un conjunto. Ya que los conjuntos de reglas predefinidos son inmutables, sólo se pueden copiar reglas sueltas dentro de conjuntos personalizados. </para
><para
>Puede eliminar conjuntos de reglas personalizados enteros o reglas sueltas dentro de ellos. De nuevo, esto puede hacerse incluso aunque juegos ya existentes utilicen este juego de reglas, ya que cada juego tiene su propia copia. Puede ver reglas para juegos antiguos: <link linkend="game-menu-scoreGame"
>cargar</link
> el juego antiguo y <link linkend= "view-menu"
>mostrar su tabla de puntuación</link
>. </para>
			</sect2>
			<sect2
><title
>Comparar</title
><para>
			<screenshot>
				<screeninfo
>Comparador de conjuntos de reglas</screeninfo>
				<mediaobject>
					<imageobject>
						<imagedata fileref="differ.png" format="PNG"/>
					</imageobject>
					<textobject
><phrase
>Comparador de conjuntos de reglas</phrase
></textobject>
				</mediaobject>
			</screenshot>
Puede seleccionar esta orden cuando se selecciona un conjunto de reglas completo. Le permite comparar el conjunto de reglas seleccionado con cualquier otro. </para
></sect2>
</sect1>

<sect1 id="default-keybindings">
<title
>Asociaciones de teclas predeterminadas</title>

<para
>El elemento de menú <menuchoice
><guimenu
>Preferencias</guimenu
> <guimenuitem
>Configurar accesos rápidos... </guimenuitem
></menuchoice
> le permite cambiar las asociaciones de teclas por defecto.</para>

<para
>Las asociaciones de teclas por defecto son como sigue: </para>

<para>
<variablelist>

<varlistentry>
<term
><keycap
>F1</keycap
></term>
<listitem>
<para
>Muestra este manual. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><keycombo action="simul"
>&Ctrl;<keycap
>C</keycap
></keycombo
></term>
<listitem>
<para
>Puntuar un juego manual. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><keycombo action="simul"
>&Ctrl;<keycap
>N</keycap
></keycombo
></term>
<listitem>
<para
>Jugar un juego con amigos con con máquinas. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><keycombo action="simul"
>&Ctrl;<keycap
>W</keycap
></keycombo
></term>
<listitem>
<para
>Interrumpir el juego actual </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><keycombo action="simul"
>&Ctrl;<keycap
>Q</keycap
></keycombo
></term>
<listitem>
<para
>Salir del programa. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><keycombo action="simul"
>&Ctrl;<keycap
>T</keycap
></keycombo
></term>
<listitem>
<para
>Muestra la tabla de puntuación. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><keycombo action="simul"
>&Ctrl;<keycap
>G</keycap
></keycombo
></term>
<listitem>
<para
>Cambiar el ángulo de visión. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><keycombo action="simul"
>&Shift;<keycap
>F1</keycap
></keycombo
></term>
<listitem>
<para
>Ayuda - ¿qué es esto? </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><keycombo action="simul"
>&Ctrl;&Shift;<keycap
>F</keycap
></keycombo
></term>
<listitem>
<para
>Modo de pantalla completa </para>
</listitem>
</varlistentry>

</variablelist>
</para>

</sect1>
</chapter>

<chapter id="rule"
><title
>Definir una regla</title>
<para
>El motor de puntuación y muchos otros aspectos de &kajongg; se pueden personalizar con el editor de reglas. Una regla consiste en un nombre (incluyendo su unidad) y una <link linkend="ruledefinition"
>definición</link
>. </para>
        <sect1 id="rulegroups">
        <title
>Grupos de reglas</title>
        <para
>Hay varios grupos de reglas:</para>
        <variablelist>
                <varlistentry>
                        <term
>Reglas de tanteo</term>
                        <listitem
><para
>Las reglas de tanteo se aplican a tanteos individuales, independientes del resto de la mano. </para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>Reglas de mano</term>
                        <listitem
><para
>Las reglas de mano se aplican a toda la mano, para todos los jugadores. </para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>Reglas del Mah Jongg</term>
                        <listitem
><para
>Las reglas del Mah Jongg especifican qué aspecto debe tener una mano ganadora. Esto es normalmente cuatro tanteos con 3 o 4 fichas cada uno, y una pareja. Pero las manos especiales pueden tener un aspecto diferente, como por ejemplo los 13 Huérfanos en las reglas chinas clásicas. </para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>Reglas del ganador</term>
                        <listitem
><para
>Las reglas del ganador se aplican para toda la mano, pero sólo para el ganador. Esto incluye la mayoría de las manos especiales. Estas reglas no tienen que forzar un número correcto de fichas. </para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>Opciones</term>
                        <listitem
><para
>Aquí puede encontrar varios parámetros especiales, como puntos para una mano límite. </para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>Penalizaciones</term>
                        <listitem
><para
>Las penalizaciones se aplican manualmente por el usuario. </para
></listitem>
                </varlistentry>
        </variablelist>
        <sect2 id="executionorder"
><title
>Orden de ejecución</title>
        <para>
                <itemizedlist>
                        <listitem
><para
>constuir una lista de reglas aplicables a partir de reglas de tanteo y reglas de mano.</para
></listitem>
                        <listitem
><para
>usar las reglas del Mah Jongg permite averiguar si la mano declarada ganadora lo es realmente.</para
></listitem>
                        <listitem
><para
>para el ganador, adjuntar las reglas de ganador aplicables.</para
></listitem>
                        <listitem
><para
>si algunas de las reglas encontradas tienen la acción «&absolute;», sólo se mantienen ésas. Todavía no se ha definido qué ocurre si se encuentra más de una.</para
></listitem>
                        <listitem
><para
>si alguna de las reglas define límites, descartar todas las demás.</para
></listitem>
                        <listitem
><para
>aplicar las reglas encontradas en ese orden</para
></listitem>
                </itemizedlist>
        </para>
        </sect2>
        </sect1>
        <sect1 id="ruledefinition">
        <title
>La definición</title>
        <para
>La definición es una cadena sencilla, porque queremos que sea fácil guardarla en una base de datos. Consiste de varias partes separadas por los dos caracteres ||. Una parte expresa o bien una condición bajo la cual la regla se aplica o bien expresa algunas acciones. Sólo se puede definir una parte para acciones, pero varias para expresiones de condición. La regla se aplica tan pronto como al menos una expresión de condición se corresponde con la mano.</para
><para
>&kajongg; viene con un juego de reglas predefinido que implementa las reglas clásicas chinas, tal como están definidas por la DMJL alemana. Eso debería proporcionarle muchos ejemplos.</para
><para
>Estas son todas las partes reconocidas:</para>
        <variablelist>
                <varlistentry>
                        <term
>Expresión regular con variación de mayúsculas y minúsculas</term>
                        <listitem
><para
>Una parte que empieza con I es una <link linkend="regex"
>Expresión regular</link
> que no hace distinciones entre mayúsculas y minúsculas. </para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>Acción</term>
                        <listitem
><para
>Una parte que empieza por A es una lista de <link linkend="actions"
>Acciones</link
>. </para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>Expresión manual</term>
                        <listitem
><para
>Esta es una <link linkend="regex"
>Expresión regular</link
> opcional. Para puntuar juegos manuales, define si esta regla debería ser seleccionable por el usuario con una casilla de verificación. La M en cabeza no pertenece a la expresión regular. Un ejemplo sería la regla «Última ficha tomada de la pared muerta». </para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>Expresión regular</term>
                        <listitem
><para
>Cualquier otra parte es una <link linkend="regex"
>Expresión regular</link
>. </para
></listitem>
                </varlistentry>
        </variablelist>
        </sect1>
        <sect1 id="regex">
        <title
>Expresiones regulares</title>
        <para
>Las expresiones regulares son una herramienta de programación muy potente para emparejar cadenas de caracteres. Potente, pero también bastante difícil. Esto no es para el jugador normal. Hay disponibles libros dedicados a nada más que a explicar expresiones regulares.</para>
        <para
>Hay varios dialectos de expresiones regulares. &kajongg; está escrito en el lenguaje de programación Python. Como la librería estándar de Python contiene un módulo para expresiones regulares, éste es el dialecto que usamos. </para
><para
>Para más detalles, vea <ulink url="http://docs.python.org/library/re.html#regular-expression-syntax"
></ulink
> </para
><para
>Todo lo referente a una mano que tiene influencia sobre la puntuación está codificado en una cadena sencilla. Entonces, &kajongg; comprueba si la expresión regular coincide con esta cadena. Si lo hace, se aplica la regla.</para>
        <para
>Como ejemplo, esta expresión regular coincide con la mano límite «Todos los verdes».</para
><programlisting
>( |[bB][23468]|[dD]g)*[fy/]</programlisting>
        <sect2
><title
>Estructura de una cadena de mano</title>
        <para
>El contenido de una cadena de mano es siempre el mismo, sin importar en qué idioma use en su escritorio.</para>
        <para
>La cadena que representa una mano consiste de varias partes separadas por un espacio. El orden de esas partes es siempre el mismo, salvo por las partes de tanteo al principio.</para>
        <para
>&kajongg; puede reagrupar fichas ocultas por tanteos, con el objetivo de conseguir una puntuación más alta. No importa cómo se agrupen las fichas ocultas para que esto funcione. Sin embargo, cuando se trata de manos límite esto puede fallar. Por eso &kajongg; intentará el agrupamiento original de las fichas según son introducidas por el usuario, y también las fichas reagrupadas. Para ambas variantes, se aplican todas las reglas. Se usará la variante con la que se alcance la puntuación más alta.</para>
        <para
>Aquí hay un ejemplo. Esto en realidad es sólo una línea, aunque aquí se ha dividido para facilitar su lectura. Más aún, esta frase se repite una vez porque algunas expresiones regulares son más fáciles de escribir si se puede hacer referencia a las partes en otro orden. Vea la regla para Robar el Kong; su expresión regular mira primero el grupo L (última ficha) antes de mirar los tanteos.</para
><programlisting
><literal
>c1c1c1C1 s1s2s3 b6b6b7b7b8b8 b5b5 fn yn
/c416s000b000b000b200 -C416s000b000b000b200 %n Mneka LB5B5B5</literal
></programlisting>
<para
>Una ficha está representada por 2 caracteres. El primero es s para piedra, b para bambú, c para carácter, w para viento, d para dragón, y para la bonificación de estación, f para la bonificación de flor. El segundo es de 1 a 9 para los palos, e, s, w, n para los vientos, w, r, g para los dragones (blanco, rojo, verde) y 1, 2, 3, 4 para las fichas de bonificación. Las fichas expuestas tienen el primer carácter en minúscula; las fichas ocultas lo tienen en mayúscula.</para>
<para
>Todas las partes siguientes se presentan siempre en este orden, expcepto la parte «Última ficha». Ésta existe sólo para la mano ganadora. <variablelist>
                <varlistentry>
                        <term
>Tanteo</term>
                        <listitem
><para
>La parte que empieza con cualquiera de los caracteres <literal
>sbcdwSBCDW</literal
>  es un tanteo. Un tanteo incluye cualquier número de fichas. &kajongg; dividirá los tanteos cuando haya demasiadas fichas intentando maximizar la puntuación.</para
><para
>Se utiliza una sintaxis especial para los kongs: c1c1c1c1 es un kong abierto. c1c1c1C1 es un kong abierto, con la cuarta ficha requerida para completar un pung oculto. Esto es necesaario para el juego límite «juego de ocultar el verdadero color». c1C1C1c1 es un kong oculto declarado. C1C1C1C1 sería un kong oculto sin declarar. Pero, como no está declarado, se cuenta como un pung. Así que este tanteo se dividiría entre un pung C1C1C1 y un C1 sencillo.</para
><para
>Aparecen fichas de bonificación después de todos los demás tanteos.</para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>Resumen</term>
                        <listitem
><para
>La parte que empieza con / contiene un resumen de la información sobre tanteos. Esto hace más fácil escribir expresiones regulares. Cada tanteo está representado por cuatro caracteres. El primero es uno de <literal
>sbcdwSBCDW</literal
>, con minúsculas para las fichas expuestas y mayúsculas para las ocultas. El segundo carácter es un número que dice cuántas fichas incluye el tanteo. Este número va desde 1 hasta 4 para un kong. El 0 se usa para un chow. Los dos últimos caracteres dan el valor de este tanteo. </para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>Resumen alternativo</term>
                        <listitem
><para
>La parte que empieza con - es idéntica al resumen de arriba, pero contiene kongs reclamados y kongs ocultos. Algunas reglas, como «Tres pongs ocultos», consideran un kong reclamado como si fuera oculto. </para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>Longitud de la mano</term>
                        <listitem
><para
>La parte que empieza por % contiene información sobre la longitud de la mano: s es una mano corta que tiene muy pocas fichas, n es una mano con el número correcto de fichas, l es una mano larga que tiene demasiadas fichas. </para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>Mah Jongg</term>
                        <listitem
><para
>La parte que empieza con m, M o x contiene información adicional. M representa la mano ganadora, m la perdedora, y x representa la mano en la que está prohibido decir Mah Jongg. M/m/x va seguido de un carácter para el viento propio, un carácter para el viento dominante, un carácter para el origen de la última ficha que lleva a un Mah Jonng, y un carácter para las declaraciones que ha hecho un jugador.</para
><para
>Estos son los posibles orígenes de la última ficha: w=pared, d=descartada, z=última ficha de un extremo vivo, Z=última ficha de un extremo vivo descartada, k=robar el kong, 1=bendición del cielo/la tierra. Los valores w y d son especiales -son una especie de valores intermedios. Eligiendo una ficha oculta como última ficha, la fuente se establece en w. Después, varias reglas dicen que se aplican sólo si la última ficha proviene de una pared. Así que esto permite una preselección mejor de las reglas manuales aplicables actualmente. Para una mejor comprensión, por favor mire las reglas del manual y lea sobre la <link linkend="actions"
>acción</link
>de &lastsource;.</para
> <para
>Estas son las posibles declaraciones: a=llamada al principio, t=fortuna duplicada. </para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>Última ficha</term>
                        <listitem
><para
>La parte que comienza con L contiene información sobre la última ficha. Incluye la última ficha en sí, seguida del tanteo que se completó con la última ficha. Se necesita este último tanteo para la regla «La última ficha es la única posible», porque a veces conocer sólo la última ficha no es suficiente. Tenga en cuenta que el último tanteo no puede ser un Kong, porque si completa un Kong usted tiene que sacar otra ficha como reemplazo. </para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>Llamar la mano límite</term>
                        <listitem
><para
>Esto no está ún implementado, pero podría ser necesario para reglas como las que define la BMJA (en Inglaterra). Una parte que empieza con K contiene todas las posibles fichas que hay que comprobar si damos puntos por llamar a una mano límite. Podemos usar la fuerza fruta y comprobar cada ficha, pero eso llevaría demasiado tiempo. </para
></listitem>
                </varlistentry>
        </variablelist>
        </para>
        </sect2>
        </sect1>
        <sect1 id="actions">
        <title
>Acciones</title>
        <para
>Todas las acciones para una regla se definen con una cadena. Están separadas por espacios. Algunas de ellas definen un valor. </para>
        <variablelist>
                <varlistentry>
                        <term
>&payforall;</term>
                        <listitem
><para
>El jugador ha hecho algo muy desagradable, así que debe pagar por todos. Sin embargo, esto no es una penalización, ya que la suma de los pagos es la misma -sólo cambia el pagador. Además, los dos jugadores involucrados no intercambian pagos. </para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>&payers;=X</term>
                        <listitem
><para
>Define a cuántos pagadores implica esta regla de penalización. X es un número. </para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>&payees;=X</term>
                        <listitem
><para
>Define a cuántos receptores del pago implica esta regla. X es n número. </para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>&absolute;</term>
                        <listitem
><para
>Esta acción define un pago absoluto. La puntuación de la mano es ignorada. Se utiliza para reglas de penalización. </para
></listitem>
                </varlistentry>
                <varlistentry>
                        <term
>&lastsource;</term>
                        <listitem
><para
>Esta acción define el origen de la última ficha. Se usa para reglas manuales como «última ficha de un callejón sin salida». Establecer el último origen con esta acción sirve como filtro para otras reglas -si se activan sólo para determinados orígenes. Esas otras reglas pueden, por supuesto, ser reglas manuales. Así que este filtrado limitará la cantidad de reglas manuales que se muestran al usuario en el diálogo de puntuación. Si esto parece complicado, juegue un poco con el diálogo de puntuación y observe cómo las casillas de verificación aparecen y desaparecen, dependiendo del origen de la última ficha. </para
></listitem>
                </varlistentry>
        </variablelist>
        </sect1>
</chapter>

<chapter id="problems"
><title
>Problemas conocidos</title>
        <itemizedlist>
                <listitem
><para
>Aún no es posible para el jugador abrir una cuenta en el servidor de juegos.</para
></listitem>
                <listitem
><para
>En el modo de juego, no son posibles las penalizaciones.</para
></listitem>
                <listitem
><para
>Los jugadores máquina todavía son bastante estúpidos.</para
></listitem>
                <listitem
><para
>Los nombres de los jugadores máquina no se pueden personalizar.</para
></listitem>
                <listitem
><para
>Los juegos por ordenador todavía no se pueden retomar.</para
></listitem>
        </itemizedlist>
</chapter>

<chapter id="future"
><title
>Posibles características futuras</title>
        <itemizedlist>
                <listitem
><para
>Añadir más conjuntos de reglas. Opcionalmente, esto debería hacerse por gente que use esos conjuntos de reglas con asiduidad.</para
></listitem>
                <listitem
><para
>Añadir sonidos. Los anuncios de «Chow», &etc; deberían sonar, y también cuando se descartan fichas. Defina los sonidos estándar, pero haga también posible que el jugador grabe su propia voz.</para
></listitem>
        </itemizedlist>
</chapter>

 <chapter id="faq"
><title
>Preguntas frecuentes</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
>Quiero cambiar el aspecto del juego. ¿Puedo? </para
></question>
                 <answer
><para
>Sí. Para cambiar el aspecto de &kappname;, utilice la <link linkend="settings-menu-settings"
>barra de menú</link
> para abrir la <link linkend="configuration"
>utilidad de configuración</link
>.</para
></answer>
        </qandaentry>
        <qandaentry>
                 <question
><para
>¿Puedo utilizar el teclado para asignar fichas a los jugadores?</para
></question>
                 <answer
><para
>Sí. Vea <link linkend="enterhand-tiles"
>Hacer que &kajongg; calcule la puntuación</link
></para
></answer>
        </qandaentry>
<!--Please add more Q&As if needed-->

</qandaset>
</chapter>

<chapter id="credits"
><title
>Créditos y licencia</title
> <!-- do not change this! -->
<!--This chapter is for credits and licenses.-->
	<para
>&kappname; para &kde; </para>

	<para
>Copyright&copy; del programa 2009, 2010 <personname
> <firstname
>Wolfgang</firstname
><surname
>Rohdewald</surname
> </personname
> <email
>wolfgang@rohdewald.de</email
> </para>
	<para
>Copyright&copy; de la documentación 2009, 2010 <personname
> <firstname
>Wolfgang</firstname
><surname
>Rohdewald</surname
> </personname
><email
>wolfgang@rohdewald.de</email
> </para>

<!-- !!!do not change ANYTHING after this line!!!! -->
<para
>Traducido por Kira J. Fernández <email
>kirajfdez@gmail.com</email
>.</para
> 
&underFDL; &underGPL; </chapter>

<appendix id="installation">
<title
>Instalación</title>
<para
>Utilice el paquete .deb de <ulink url="http://www.kde-apps.org/content/show.php/kmj?content=103206"
></ulink
>. Si no le funciona, puede bajarse kajongg-x-y.tar.gz de la misma dirección y luego hacer: <programlisting
>tar xfz kajongg-x-y.tar.gz
cd kajongg-x-y
./setup.py install
</programlisting>
</para
><para
>En ambos casos tendrá que asegurarse manualmente de que están instalados otros paquetes requeridos. El paquete debian no contiene aún estos requisitos. &kajongg; necesita: (paquetes debian correspondientes entre paréntesis) </para>
<itemizedlist>
	<listitem
><para
>la librería de juegos KDE4 (libkdegames5)</para
></listitem>
	<listitem
><para
>Python 2.5 o superior (python)</para
></listitem>
	<listitem
><para
>QT4.4 o superior (libqt4-core, libqt4-gui, libqt4-svg, libqt4-sql, libqt4-sql-sqlite)</para
></listitem>
	<listitem
><para
>los vínculos python para QT4 (python-qt4, python-qt4-sql)</para
></listitem>
	<listitem
><para
>los vínculos python para KDE4 (python-kde4)</para
></listitem>
        <listitem
><para
>la librería «twisted» para python (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:
-->
