# Manual de &kappname;

Wolfgang
Rohdewald
wolfgang@rohdewald.de
Kira
J. Fernández

    kirajfdez@gmail.com

Traductora
2010-03-19
&kappversion;

Este documento describe el juego de &kappname; versión &kappversion;

KDE
kdegames
juego
kajongg
tablero
arcade
juego de fichas
fichas
cuatro jugadores

## Introducción

### Tipo de juego:

Tablero, Arcade

### Número de posibles jugadores:

Cuatro

&kajongg; es un juego de tablero creado a partir del famoso juego oriental del Mahjongg (del chino 麻將). 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!

&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.

## La distribución de la pantalla

Captura de pantalla de &kajongg; Captura de pantalla

Rápida explicación de las partes de la pantalla de juego.

Barra de herramientas

  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.

Tablero

  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.

  Cuando juegue, 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.

  Cuando se puntúen manualmente los juegos, 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.

Región del jugador

  Cada jugador tiene una zona de pantalla para sus fichas. La fila superior contiene fichas expuestas; la inferior, fichas ocultas. Cuando se puntúen juegos manuales, las fichas ocultas se muestran con una sombra sobre la ficha completa. Las fichas de bonificación van al extremo derecho.

Diálogo

  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.

Barra de estado

  La barra de estado está situada en el fondo de la pantalla y contiene los totales actuales de los jugadores.

## Puntuar un juego manual

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.

- Desde el menú, seleccione Juego / Puntuar juego manual o presione &Ctrl;C.

- 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 el editor de reglas.

- Ahora tiene una nueva ventana titulada «Introduzca los resultados». Lea Deje que &kajongg; calcule la puntuación para una descripción más detallada.

- Después de guardar los resultados, continúe con la siguiente mano.

### Introducir resultados

#### Puntuaciones

Captura de pantalla de &kajongg;
Captura de pantalla

Esta es la ventana para introducir resultados. Se muestra automáticamente cuando &kajongg; cree que lo puede necesitar. Siempre puede mostrarla u ocultarla presionando &Ctrl;S o sleccionando la correspondiente opción del menú.

Como siempre, el viento predominante tiene el fondo coloreado.

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.

Después de haber introducido todos los datos relevantes para una mano, presione el botón Guardar mano. 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.

Si el jugador puede haber ganado, la casilla de verificación de la columna «Ganador» se habilitará. Haga click aquí para marcar al ganador.

La barra de estado mostrará ahora los saldos de los jugadores, y usted podrá continuar con la siguiente mano.

##### Introducir la puntuación manualmente

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.

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.

##### Haga que &kajongg; calcule la puntuación

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.

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.

Si prefiere usar el teclado, puede usar &Tab; para moverse entre el selector central y las regiones de los jugadores. Las teclas eswnESWN mueven una ficha hacia el el Este, el Sur, el Oeste y el Norte de cada jugador. Las teclas xX la devuelven al selector central. ESWN mueve a la fila oculta, eswn 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 hjkl o HJKL para mover el cursor. hH mueve hacia la izquierda, jJ mueve hacia abajo, kK mueve hacia arriba, y lL 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.

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.

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.

#### Penalizaciones

Captura de pantalla de &kajongg;
Captura de pantalla

En la ventana para introducir los resultados a mano, el botón de Penalizaciones invocará esta ventana, donde puede introducir las penalizaciones. Esto se puede hacer en cualquier momento, independientemente del mecanismo normal de puntuación.

La selección de infracción muestra todas las infracciones que pueden aplicarse a las manos que tienen los jugadores. Elija entre ellas.

Ahora puede adaptar la Penalización total. Ésta es la suma total que se mueve de los pagadores a los que reciben el pago. Será dividida equitativamente entre ellos.

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.

## Jugando

### Jugar contra la máquina

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.

### Jugar con amigos

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.

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.

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.

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 Comparar para compararlo con sus propios conjuntos de reglas.

Puede iniciar el servidor de juegos de Kajongg de dos formas diferentes:

- 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.

- 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.

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.

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.

#### Advertencias

- 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.

### Cómo jugar

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 Opciones, Límite de tiempo. Todos los jugadores deberían tener el mismo límite de tiempo, por eso éste es parte del juego de reglas.

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.

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.

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.

## Vista general de la interfaz

### El menú Juego

Juego Puntuar juego manual

  Sólo da la puntuación de una partida jugada manualmente.

  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.

Juego Jugar

  Jugar con otros (personas y máquinas)

Juego Interrumpir

  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.

Juego Salir

  Sale de &kappname;.

### El menú Vista

Vista Puntuación

  Diálogo de puntuación Muestra u oculta el diálogo de puntuación. Este diálogo está explicado aquí.

Vista Tabla de puntuaciones

  Tabla de puntuaciones Tabla de puntuaciones Captura de pantalla 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.

  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.

Vista Explicar puntuaciones

  Explicar puntuaciones Tabla de puntuaciones Tabla de puntuaciones Explica cómo se ha calculado la puntuación de la mano actual.

### El menú Preferencias

Preferencias Jugadores

  Añadir, modificar y eliminar jugadores.

Preferencias Cambiar ángulo de visión

  Cambia el ángulo de visión de las fichas en sentido antihorario.

Preferencias Modo de pantalla completa

  Cambia entre el modo de pantalla completa y el modo normal.

Preferencias Mostrar barra de herramientas

  Muestra u oculta la barra de herramientas

Preferencias Mostrar barra de estado

  Muestra u oculta la barra de estado

Preferencias Configurar accesos rápidos...

  Muestra un diálogo de configuración de accesos rápidos estándar de &kde; para los accesos rápidos para &kappname;.

Preferencias Configurar barras de herramientas...

  Muestra un diálogo estándar de &kde; donde puede configurar los iconos de la barra de herramientas.

Preferencias Configurar &kappname;...

  Abre un diálogo de configuración para &kappname;.

### El menú Ayuda

&help.menu.documentation;

## Configuración del juego

Diálogo «Configurar»
Diálogo «Configurar»

La opción del menú Preferencias Configurar &kappname;... abre el diálogo Configurar - &kappname; dialog.

Si presiona aquí el botón Cancel, se revertirán todos los cambios, incluyendo todo lo que haya hecho con el editor de reglas.

Puede también seleccionar las diferentes pestañas con el teclado: &Ctrl;1 selecciona la primera pestaña de opciones del Juego, &Ctrl;2 selecciona la segunda, y así sucesivamente.

### Opciones de juego

Mostrar las sombras de las fichas

  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.

Reorganizar fichas ocultas en tanteos

  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.

Usar sonidos si están disponibles

  Esto le permite oír descartes y reclamaciones. Si otros jugadores han grabado archivos de sonido con su propias voces, podrá oírlas.

Dejar que otros oigan mi voz

  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.

#### Sonido

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:

- 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.

- En la carpeta que acaba de encontrar, genere una nueva subcarpeta con el nombre `voces`.

- En la carpeta `voces`, 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 `ROBOT 1`, `ROBOT 2`, `ROBOT 3`.

- En esa subcarpeta, puede colocar los archivos de sonido. Tendrán que estar codificados con el compresor de audio Ogg Vorbis; los nombres de los archivos necesitarán tener la extensión `.ogg`.

- Un solo archivo tiene un nombre como `s3.ogg` - esto es Piedra 3. Debería definir esos archivos para todas las fichas y para todas las declaraciones y anuncios.

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.

Esto es sólo una posibilidad para crear los archivos de sonido:

- Grabe un archivo de sonido con el programa , `qarecord`, guárdelo en formato `WAV`. En este único archivo de sonido, hable todos los sonidos.

- Edite ese archivo con el editor de sonido `audacity`. 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 Ver Acercar zoom. Utilice la orden del menú Archivo Exportar selección y guárdela en formato ogg. En Opciones, elija una calidad baja -esto es suficiente e incluso deseable, porque esto reduce el tiempo para transferir los sonidos a los otros jugadores.

Esos son los nombres de los archivos que debería generar. Añádales siempre `.ogg`:

##### Nombres de los archivos de sonido

&s1; .. &s9; | Piedra 1 a piedra 9
&b1; .. &b9; | Bambú 1 a bambú 9
&c1; .. &c9; | Símbolo 1 a símbolo 9
&we; &ws; &ww; &wn; | Los vientos Este, Sur, Oeste, Norte
&db; &dr; &dg; | Los dragones azul/blanco, rojo, verde
&chow; &pung; &kong; &mahjongg; | Las declaraciones mayores
&originalcall; &violatesoriginalcall; | Llamada original y su violación
&dangerousgame; | Un jugador dispara un cañón (juego peligroso)
&nochoice; | Un jugador declara que no tiene más opción que jugar un juego peligroso

### Opciones defichas

Selector de conjuntos de fichas
Selector del conjunto de fichas

Utilice el selector Fichas para seleccionar gráficos para las fichas.

### Opciones de fondo

Selector de fondos
Selector de fondos

Utilice el selector de Fondo para seleccionar un fondo gráfico para el juego.

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.

### Editor de reglas

Editor de reglas
Editor de reglas

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.

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.

#### Regla, puntuación y unidad

Simplemente haga doble click en lo que desee cambiar.

#### Definición

La definición de una regla puede ser bastante compleja. Hay un capítulo separado, Definir una regla, para esto. Normalmente no tendrá que cambiar una definición. Esto esencialmente define a qué manos se aplica la regla.

#### Copiar y eliminar

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.

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: cargar el juego antiguo y mostrar su tabla de puntuación.

#### Comparar

Comparador de conjuntos de reglas Comparador de conjuntos de reglas Puede seleccionar esta orden cuando se selecciona un conjunto de reglas completo. Le permite comparar el conjunto de reglas seleccionado con cualquier otro.

### Asociaciones de teclas predeterminadas

El elemento de menú Preferencias Configurar accesos rápidos... le permite cambiar las asociaciones de teclas por defecto.

Las asociaciones de teclas por defecto son como sigue:

F1

  Muestra este manual.

&Ctrl;C

  Puntuar un juego manual.

&Ctrl;N

  Jugar un juego con amigos con con máquinas.

&Ctrl;W

  Interrumpir el juego actual

&Ctrl;Q

  Salir del programa.

&Ctrl;T

  Muestra la tabla de puntuación.

&Ctrl;G

  Cambiar el ángulo de visión.

&Shift;F1

  Ayuda - ¿qué es esto?

&Ctrl;&Shift;F

  Modo de pantalla completa

## Definir una regla

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 definición.

### Grupos de reglas

Hay varios grupos de reglas:

Reglas de tanteo

  Las reglas de tanteo se aplican a tanteos individuales, independientes del resto de la mano.

Reglas de mano

  Las reglas de mano se aplican a toda la mano, para todos los jugadores.

Reglas del Mah Jongg

  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.

Reglas del ganador

  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.

Opciones

  Aquí puede encontrar varios parámetros especiales, como puntos para una mano límite.

Penalizaciones

  Las penalizaciones se aplican manualmente por el usuario.

#### Orden de ejecución

- constuir una lista de reglas aplicables a partir de reglas de tanteo y reglas de mano.

- usar las reglas del Mah Jongg permite averiguar si la mano declarada ganadora lo es realmente.

- para el ganador, adjuntar las reglas de ganador aplicables.

- 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.

- si alguna de las reglas define límites, descartar todas las demás.

- aplicar las reglas encontradas en ese orden

### La definición

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.

&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.

Estas son todas las partes reconocidas:

Expresión regular con variación de mayúsculas y minúsculas

  Una parte que empieza con I es una Expresión regular que no hace distinciones entre mayúsculas y minúsculas.

Acción

  Una parte que empieza por A es una lista de Acciones.

Expresión manual

  Esta es una Expresión regular 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».

Expresión regular

  Cualquier otra parte es una Expresión regular.

### Expresiones regulares

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.

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 más detalles, vea

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.

Como ejemplo, esta expresión regular coincide con la mano límite «Todos los verdes».

    ( |[bB][23468]|[dD]g)*[fy/]

#### Estructura de una cadena de mano

El contenido de una cadena de mano es siempre el mismo, sin importar en qué idioma use en su escritorio.

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.

&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.

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.

    c1c1c1C1 s1s2s3 b6b6b7b7b8b8 b5b5 fn yn
    /c416s000b000b000b200 -C416s000b000b000b200 %n Mneka LB5B5B5

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.

Todas las partes siguientes se presentan siempre en este orden, expcepto la parte «Última ficha». Ésta existe sólo para la mano ganadora.

Tanteo

  La parte que empieza con cualquiera de los caracteres `sbcdwSBCDW` es un tanteo. Un tanteo incluye cualquier número de fichas. &kajongg; dividirá los tanteos cuando haya demasiadas fichas intentando maximizar la puntuación.

  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.

  Aparecen fichas de bonificación después de todos los demás tanteos.

Resumen

  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 `sbcdwSBCDW`, 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.

Resumen alternativo

  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.

Longitud de la mano

  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.

Mah Jongg

  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.

  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 acciónde &lastsource;.

  Estas son las posibles declaraciones: a=llamada al principio, t=fortuna duplicada.

Última ficha

  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.

Llamar la mano límite

  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.

### Acciones

Todas las acciones para una regla se definen con una cadena. Están separadas por espacios. Algunas de ellas definen un valor.

&payforall;

  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.

&payers;=X

  Define a cuántos pagadores implica esta regla de penalización. X es un número.

&payees;=X

  Define a cuántos receptores del pago implica esta regla. X es n número.

&absolute;

  Esta acción define un pago absoluto. La puntuación de la mano es ignorada. Se utiliza para reglas de penalización.

&lastsource;

  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.

## Problemas conocidos

- Aún no es posible para el jugador abrir una cuenta en el servidor de juegos.

- En el modo de juego, no son posibles las penalizaciones.

- Los jugadores máquina todavía son bastante estúpidos.

- Los nombres de los jugadores máquina no se pueden personalizar.

- Los juegos por ordenador todavía no se pueden retomar.

## Posibles características futuras

- Añadir más conjuntos de reglas. Opcionalmente, esto debería hacerse por gente que use esos conjuntos de reglas con asiduidad.

- 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.

## Preguntas frecuentes

Quiero cambiar el aspecto del juego. ¿Puedo?

Sí. Para cambiar el aspecto de &kappname;, utilice la barra de menú para abrir la utilidad de configuración.

¿Puedo utilizar el teclado para asignar fichas a los jugadores?

Sí. Vea Hacer que &kajongg; calcule la puntuación

## Créditos y licencia

&kappname; para &kde;

Copyright© del programa 2009, 2010 Wolfgang Rohdewald wolfgang@rohdewald.de

Copyright© de la documentación 2009, 2010 Wolfgang Rohdewald wolfgang@rohdewald.de

Traducido por Kira J. Fernández kirajfdez@gmail.com.

&underFDL; &underGPL;

## Instalación

Utilice el paquete .deb de . Si no le funciona, puede bajarse kajongg-x-y.tar.gz de la misma dirección y luego hacer:

    tar xfz kajongg-x-y.tar.gz
    cd kajongg-x-y
    ./setup.py install

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)

- la librería de juegos KDE4 (libkdegames5)

- Python 2.5 o superior (python)

- QT4.4 o superior (libqt4-core, libqt4-gui, libqt4-svg, libqt4-sql, libqt4-sql-sqlite)

- los vínculos python para QT4 (python-qt4, python-qt4-sql)

- los vínculos python para KDE4 (python-kde4)

- la librería «twisted» para python (python-twisted-core)

- sqlite3 (libsqlite3-0)

&documentation.index;