# El manual de &kapp;

Gael
Kleag
de Chalendar

    Kleag@free.fr

Santiago
Fernández Sancho

    santi@kde-es.org

Traductor
2002-2008
Gael de Chalendar
&FDLNotice;
18/08/2005
1.03.00

&ksirk; es una versión electrónica del conocido juego de estrategia. Existen versiones comerciales y varios clones GPL pero yo (Gael de Chalendar) cree este juego como un ejercicio de aprendizaje de C++, y por eso lo he desarrollado hasta este punto (consulte el archivo README para obtener más detalles).

En la versión actual, &ksirk; es un juego multijugador que puede utilizarse en red, y que cuenta con una IA básica (consulte el archivo TODO para obtener más detalles).

Esta documentación proporciona la información más importante para comenzar a jugar. Por favor, lea los consejos y los mensajes de la barra de estado para completar su información. Un capítulo explica como crear nuevas pieles para &kapp;

El objetivo de esta juego es tan simple como conquistar el mundo... Ésto se consigue atacando a sus enemigos con sus ejércitos. No es muy pacífico :-)

KDE
kdegames
juego
estrategia
Risk
libre
GPL
Red
IA

## Introducción

&ksirk; es una versión electrónica del conocido juego de estrategia. Existen versiones comerciales y varios clones GPL pero yo (Gael de Chalendar) cree este juego como un ejercicio de aprendizaje de C++, y por eso lo he desarrollado hasta este punto (consulte el archivo README para obtener más detalles).

Veamos una captura de pantalla de &kapp; Captura de pantalla

En la versión actual, &ksirk; es un juego multijugador que puede utilizarse en red, y que cuenta con una IA básica (consulte el archivo TODO para obtener más detalles).

Esta documentación proporciona la información más importante para comenzar a jugar. Por favor, lea los consejos y los mensajes de la barra de estado para completar su información.

El objetivo de esta juego es tan simple como conquistar el mundo... Ésto se consigue atacando a sus enemigos con sus armas. No es muy pacífico ?:-)

## Utilizar &kapp;

### Jugar a &kapp;

Nota preliminar: El mapa puede desplazarse de tres formas. Primero, puede situar el ratón cerca del borde de la ventana y el mapa se desplazará en esta dirección: Sino hay modificador, se desplazará verticalmente, cuando pulse la tecla Meta, se desplazará horizontalmente. Y por último, puede utilizar las teclas de flechas.

#### Iniciar una partida

Cuando se inicia &kapp;, se mostrará un menú principal. El menú principal de &kapp; Menú principal

Juego nuevo

  Inicia una partida nueva

Unirse

  Intenta unirse a un juego de red

Cargar

  Carga una partida guardada con anterioridad

Salir del juego

  ¿Finalmente no desea jugar?

Si pulsa, Nuevo juego, se mostrará el diálogo Nuevo juego en el que podrá elegir el número de jugadores, la piel (o tema), el tipo de juego (conquista el objetivo u objetivo específico) y finalmente si este juego se jugará con jugadores en línea o si será local. El diálogo Nuevo juego El diálogo Nuevo juego

Para comenzar una partida en red nueva, marque la casilla «Juego en red» situada a la derecha del número de jugadores. Después de pulsar Aceptar, podrá elegir los parámetros de red: Número de jugadores en red y puerto TCP en el que se esperarán las conexiones. Diálogo de parámetros para el juego en red Diálogo de parámetros para el juego en red

A continuación, los jugadores de red podrán conectarse eligiendo Unirse en la pantalla de introducción tras indicar la IP o el nombre del servidor y el número de puerto. Diálogo unirse a una partida en red Diálogo unirse a una partida en red

Cada conexión se indica por el mensaje siguiente en la barra de estado. Mensaje de conexión Mensaje de conexión

Supongamos que mantiene todas las configuraciones predeterminadas y pulsa Aceptar. Entonces configurará los dos jugadores, uno tras otro. Para cada uno, elegirá un nombre, una nacionalidad y, si lo desea, configurar una contraseña de forma que nadie más pueda utilizar este jugador cuando vuelva a cargar esta partida si la guarda. Por último, especificará si este jugador lo utilizará la máquina o una persona. El diálogo de configuración del jugador El diálogo de configuración del jugador

A continuación, si elige jugar con objetivo, se mostrará el objetivo para cada jugador local, precedido de un aviso que indica a los demás jugadores que estén utilizando la misma máquina que se giren discretamente mientras se muestra el objetivo. Diálogo mostrar objetivo Diálogo mostrar objetivo El mensaje de aviso en Mostrar objetivo El mensaje de aviso en Mostrar objetivo

#### Distribución

Al inicio del juego, se distribuyen los países para todos los jugadores. Cada país contiene un ejército (representado por un soldado) en este momento. Cada jugador posee varios ejercitos para distribuir por sus paises y su turno (indicado por la presencia de su nombre y su bandera en la barra de estado). Tenga en cuenta que cinco ejércitos se representan por un hombre a caballo y 10 por un cañón.

Para situar un ejército en uno de sus países, pulse sobre él con el botón izquierdo del ratón. Para eliminar un ejército, pulse con el botón derecho. Tenga en cuenta, que por regla general, no podrá eliminar más ejércitos que los que tenga situados. Situar ejércitos Situar ejércitos

Cuando un jugador haya distribuido todos sus ejercitos, se seleccionará automáticamente el siguiente jugador para que haga lo mismo. Cuando todos los jugadores hayan terminado de distribuido sus ejércitos, habrá dos posibilidades, que se podrán seleccionar con dos botones:

Redistribución : Redistribución

  Un jugador desea cambiar alguna de sus elecciones. El primer jugador puede eliminar uno de los ejércitos que acaba de colocar con el botón derecho del ratón y situar otro con el botón izquierdo del ratón. Cuando haya terminado, cederá el control al siguiente jugador con el botón «Siguiente jugador». Cuando todos los jugadores hayan terminado sus distribuciones, volverán a mostrarse los dos botones.

Fin de la redistribución : Fin de la redistribución

  Finaliza la redistribución y el juego puede continuar.

#### Luchar

Después de la redistribución, comienza un turno de juego. Cada jugador juega en su turno. Puede elegir entre:

Siguiente jugador : Cede el turno al siguiente jugador

  El turno del jugador finaliza y iniciándose el turno del siguiente.

Atacar 1 Atacar 2 Atacar 3 : Ataca con uno, dos o tres ejércitos Ataque automático

  Para atacar, arrastre con el ratón desde el país atacante y suéltelo en el atacado. Se mostrará entonces un menú contextual mostrando las entradas anteriores. Menú atacar Menú atacar Para que un país X ataque a un país Y con x ejércitos, se deben satisfacer 2 condiciones: 1. los dos países deben ser vecinos, 2. el país X debe tener al menos x+1 ejércitos antes de atacar. Si el ataque es válido, se muestra un diálogo si es necesario para que el defensor elija si desea defender con uno o dos ejércitos o deja que la máquina decida.

  Cuando finaliza la elección del defensor, se producirá la lucha. Éste punto se describe a continuación. Diálogo defensa Diálogo defensa

Mover ejércitos :Mueve ejércitos de un país a otro

  Ésta es la última acción del turno de un jugador. Proporciona la posibilidad de mover algunos ejércitos de uno de sus países a otro, vecino del primero. Para elegir los dos países, arrastre y suelte de la misma forma que para atacar. Cuando se hayan elegido ambos países, aparecerá el grupo de botones «Mover ejércitos» (continúe leyendo para obtener una descripción de su uso). Tenga en cuenta que antes de que el usuario termine su movimiento, siempre puede cancelar pulsando el botón Cancelar.

#### Resolver la contienda

Para cada ejército en la contienda hay una tasa de muerte. El jugador que consiga el número más alto en el dado, ya sea el atancante o el defensor, gana y el que consiga el número más pequeño en los dados pierde ejércitos de acuerdo con el número obtenido en el dado. Mostrando el resultado del ataque Mostrando el resultado del ataque

Si el número de ejércitos del defensor llega a ser 0, el propietario de este país cambiará para pasar al atacante: su seleccionará su bandera y uno de sus ejércitos atacantes se instalará en este nuevo país. El deslizador «Mover ejércitos» se mostrará de la misma forma que los movimientos hasta el final del turno. Deslizador invasión Deslizador invasión

#### Fin del turno

Para finalizar su turno, si no desea mover ejércitos, puede pulsar el botón «Siguiente jugador» en la barra de herramientas.

Cuando juegan todos, el turno finaliza. Se distribuyen algunos ejércitos entre los jugadores, en función de los países que posea: 1 por cada grupo de tres países, con un mínimo de 3. También existen bonificaciones para los jugadores que poseen un continente completo, diferente para cada uno de ellos. Este bono es de:

##### Bonificaciones debidas a los continentes

Continente | Bonificaciones
--- | ---
Norteamérica | 5
Sudamérica | 2
Europa | 5
África | 3
Asia | 7
Área pacífica | 2

Cuando un jugador haya terminado de distribuir sus ejércitos, pulsará el botón «Siguiente jugador» para que el siguiente jugador pueda distribuir sus bonificaciones. Como en el caso de la distribución inicial, cuando todos los jugadores hayan situado sus ejércitos, cuantdo todos los jugadores hayan situado sus ejércitos, pueden volver a distribuirlos de forma cíclica o iniciar un turno nuevo...

#### Enviar mensajes a los demás jugadores

Si juega una partida local y desea comunicarse con los demás jugadores, bueno, hable con ellos (suponemos que no tendrá problemas de accesibilidad)... Pero si está jugando una partida en red, puede utilizar el marco de comunicaciones de la parte inferior de la ventana (puede mostrarlo u ocultarlo utilizando las flechas). No necesita más que escribir su mensaje y pulsar Entrar. Enviar mensajes Enviar mensajes

## Referencia de órdenes

### La ventana principal de &kapp;

#### Los botones

Salir del juego : Sale del juego

  Permite salir del programa.

Juego nuevo : Juego nuevo

  Inicia un juego nuevo. Mostrará un diálogo que pregunte el número de jugadores. Después, se preguntará su nombre a cada jugador a través de otro diálogo.

## Guía del desarrollador de &kapp;

Por favor, consulte la documentación de KDoc para obtener información sobre el API. Pienso que es bastante completa. Por el contrario lo comentarios son inexistentes en los archivos de impletación `.cpp`.

Tenga en cuenta que originalmente desarrollé este juego bajo Windows con Borland C++ y WinG. Lo porté a &Java; antes de volver a convertirlo a C++ y &kde;. Al principio utilicé el francés o una mezcla de francés e inglés para dar nombre a los identificadores (nombres de clases, métodos, miembros, &etc;). También utilicé el francés para los comentarios. Cuando decidí distribuir este juego, lo convertí todo al inglés... pero como se puede ver no soy inglés nativo: haga sugerencias y correcciones tanto de los comentarios del código como de su documentación y envíelas.

## Crear pieles nuevas

Es posible cambiar totalmente la piel de KsirK. Para aquellos que tengan capacidades gráficas, crear una piel nueva le resultará sencillo ya que es tan sencilla como copiar una existente, editar o cambiar los gráficos y actualizar los datos en un archivo de configuración XML. El último paso es editar el archivo describiendo cómo instalarlo.

Todos los ejemplos (texto e imágenes) están tomados de la piel predeterminada de KsirK

### Estructura de carpetas y archivos

- Data/ : Datos usados por el programa para manejar las imágenes de la piel.

  - Makefile.am : Describe como realizar la instalación.

  - onu.xml : Archivo principal que describe la piel. Consulte su descripción a continuación.

- Images/ : Las imágenes de la piel (mapa, imágenes, etc.).

  - Makefile.am : Describe como realizar la instalación.

  - pool.svg: el mapa y todos los elementos gráficos utilizados en esta piel.

  - map-mask.png : La imagen que permite al programa encontrar el país sobre el que está el ratón durante el juego (continúe leyendo).

  - *.png : el resto de las imágenes son las de los botones.

- Makefile.am/ : Describe cómo realizar la instalación.

- Sons/ : archivos de sonido para la piel.

### La carpeta de datos

#### El archivo onu.xml

Éste archivo contiene una descripción del contenido de la piel. Se utiliza para describir la organización del mundo y cómo mostrarlo. Tiene la siguiente estructura:

Un grupo onu contiene un número de entradas de países, un número de entradas de nacionalidades y finalmente un número de entradas de continentes. Los diferentes grupos contienen la descripción de las diferentes elementos gráficos, la descripción de los diferentes países, continentes, nacionalidades y objetivos.

La siguiente sección describe el contenido de cada grupo.

##### El grupo onu

###### Las entradas del grupo onu

Nombre de la entrada | Significado
--- | ---
ancho | La anchura del mapa de la piel
height | La altura del mapa de la piel
ruta a la piel | La ruta de la piel respecto a la ruta de datos de la aplicación (p.ejem. skins/default)
nº países | El número de países (42 en la piel predeterminada). Debería ser igual que el número de etiquetas «country»
nº nacionalidades | El número de nacionalidades (6 en la piel predeterminada). Debería ser igual que el número de etiquetas «nationality»
nº continentes | El número de continentes (6 en la piel predeterminada). Debería ser igual que el número de etiquetas «continent»
pool | La ruta y el nombre del archivo «pool» respecto de la ruta de la piel (p. ejem. Imagenes/pool.svg)
máscara de mapa | La ruta y el nombre del archivo de la máscara del mapa respecto de la ruta de la piel (p. ejem. Images/map-mask.png)
versión del formato | La versión del formato del archivo de la piel (2.0)
name | El nombre que se muestra para la piel
descripción | La descripción larga de la piel
diferencia luchadores-bandera | La diferencia de altura entre las banderas y los elementos gráficos de los cañones
diferencia de anchura luchadores-bandera | El número de puntos entre el punto de la bandera situado más a la izquierda y el punto de un cañón simple situado más a la derecha (cuando no está disparando o explotando)

##### Los grupos de descripción de los elementos gráficos

Cada tipo de elemento gráfico (bandera, infantería, caballería, cañón, cañón disparando y cañón explotando) se define en un grupo. Solo algunos elementos gráficos tienen una entrada anchura. Esta entrada se utiliza para realizar el posicionamiento relativo durante las animaciones, los cañones, disparando o explosionando no deberían «moverse» alrededor de la bandera del país durante la contienda.

###### Entradas del grupo de descripción del elemento gráfico

Entrada | Significado
--- | ---
ancho | La anchura de referencia de los fotogramas del elemento gráfico de la bandera
height | La altura de referencia de los fotogramas del elemento gráfico de la bandera
fotogramas | El número de fotogramas del elemento gráfico
versiones | El número de versiones del elemento gráfico de la bandera

##### Los grupos de descripción de los países

Cada país que se encuentra en el grupo onu, tiene su propio grupo cuya etiqueta es el nombre del país. La siguiente tabla lista las entradas de estos grupos.

###### Entradas del país

Nombre de la entrada | Significado
--- | ---
id | El número entero de identificación único para el país, debería comenzar en cero (0)
name | El nombre mostrado para el país
<elemento gráfico>-punto | Cada tipo de elemento gráfico (bandera, infantería, etc.) en el país se muestra en una determinada posición definida en esta entrada formada par dos enteros separados por una coma
vecinos | La lista con los identificadores de los vecinos del país actual

##### Los grupos de descripción de las nacionalidades

Cada nacionalidad listada en el grupo onu, tiene su propio grupo cuya etiqueta es el nombre de la nacionalidad. La siguiente tabla lista las entradas de estos grupos.

###### Entradas de nacionalidad

Nombre de la entrada | Significado
--- | ---
name | El nombre de la nacionalidad (por ejem. Japón)
líder | El nombre que se propondrá para el jugador que elija esta nacionalidad
bandera | El nombre del elemento gráfico de la bandera del país en el archivo SVG de onu

##### Los grupos de descripción de los continentes

Cada continente listada en el grupo onu, tiene su propio grupo cuya etiqueta es el nombre del continente. La siguiente tabla lista las entradas de estos grupos.

###### Entradas del continente

Nombre de la entrada | Significado
--- | ---
name | El nombre del continente (por ejem. África)
id | El número entero de identificación única del continente
bonos | El número de ejércitos obtenidos al final del turno por el jugador propietario de todos los países de este continente
continente-países | La lista de todos los identificadores de los países dentro del continente actual

##### Los grupos de descripción de los objetivos

Cada objetivo listado en el grupo onu, tiene su propio grupo cuya etiqueta es el nombre del objetivo. La siguiente tabla lista las entradas de estos grupos.

###### Entradas de objetivo

Nombre de la entrada | Significado
--- | ---
tipo | El tipo de objetivo. Pueden ser continentes, países o un jugador
nºEjercitosPorPaís | establece el número mínimo de ejércitos que el jugador puede situar en cada país
nºPaíses | establece el número de países que el jugador debe poseer
nºPaísesAlternativos | Para un objetivo de tipo jugador, si el jugador objetivo es destruido por otro, establece el número de países que el jugador debe conquistar en su lugar
descripción | Una descripción de texto completa del objetivo con los correspondientes modificadores (se necesita más documentación aquí)
continentes | La lista de los identificadores de los continentes que el jugador tendrá que conquistar

### La carpeta de las imágenes

Esta carpeta contiene los botones específicos para &kapp; y el archivo SVG pool que contiene el mapa y todos los elementos gráficos.

#### El archivo pool.svg

Este archivo SVG contiene el mapa y todos los elementos gráficos del juego. Cada elemento tiene un nombre de forma que el juego puede seleccionar y presentar cada uno de ellos de forma separada.

En la piel predeterminada, los elementos gráficos son banderas, infantería, caballería y cañones. La infantería representa a un ejercito, cinco para la caballería y diez para los cañones. Los cañones también se utilizan para mostrar la contienda de los ejércitos. Esta es la razón por la que hay tres tipos de elementos gráficos de los cañones. normal estático o cañón moviéndose, disparando y explotando.

Cada imagen del elemento gráfico es la concatenación de varias vistas del objeto y para cada vista, de sus fotogramas. Las vistas se organizan verticalmente y los fotogramas horizontalmente. Para cortar la imagen en fotogramas individuales, ésta se divide por la altura de la imagen y el número de vistas, y la anchura por el número de fotogramas. Estos datos se encuentran en el archivo onu.desktop.

Un ejemplo de una imagen de un elemento gráfico: cannon.png

Para los elementos gráficos de los ejercitos, hay tres vistas diferentes, de arriba a abajo: vista a la derecha, vista a la izquierda y frente. Para las banderas, solo hay una vista. Todos los fondos de los elementos gráficos deberían ser transparentes.

Un ejemplo de una imagen de un elemento gráfico de bandera: italy.png

##### Los elementos del «pool»

Nombre del elemento | Imagen de muestra | Significado
--- | --- | ---
map |  | Mapa del mundo de las pieles. Los países pueden tener formas arbitrarias, pero deben agruparse en continentes reconocibles a simple vista, por ubicación o por color
Italia |  | La bandera de Italia. Hay una entrada para cada nación
infantería |  |
caballería |  |
cañón |  |
disparando |  |
explotando |  |
Alaska |  |
reddices |  |
marca1 |  |

#### El archivo map-mask.png

Es un archivo png que representa también el mapa del mundo de las pieles, pero con códigos de color que permiten identificar de forma única cada país. Los paises deben tener al menos las mismas formas que los correspondientes países del archivo map.png de forma que los usuarios puedan pulsar en cualquier país visible y seleccionar el correcto. Los paises similares a las islitas de Indonesia en el mapa predeterminado pueden ser mayores que en el archivo equivalente map.png para facilitar la selección del país. Un map-mask sencillo

El componente azul (en el modelo RGB) del color de un país identifica el país: el índice 0 es el color 0 en el archivo onu.xml, el índice 1 es el país 1, &etc;. El color blanco (0xFFFFFF en RGB) identifica la ausencia de país (mares, o por que no, tierras de nadie).

#### Las imágenes de los botones

Los nombre de los archivos están incluidos directamente en el código y por eso no pueden modificarse. La tabla siguiente muestra todos los botones que debería proporcionarse.

##### Los botones del &GUI;

Imagen | Nombre de archivo | Significado
--- | --- | ---
| newNetGame.png | Intenta unirse a una partida en red
| distributionArmees.png | Después de que todos los jugadores tenga situados sus ejércitos, es posible modificar las distribuciones (se llama reciclaje). Este botón pide que haga una redistribución
| distributionArmeesFinie.png | Elije no redistribuir. Todas las ventanas de los clientes deberían tener este botón pulsado para finalizar realmente la distribución
| joueurSuivant.png | Finaliza el turno del jugador actual y cambia al siguiente o al siguiente turno si el jugador actual era el último
| attackOne.png | Elije iniciar un ataque con un ejército
| attackTwo.png | Elije iniciar un ataque con dos ejércitos
| attackThree.png | Elije iniciar un ataque con tres ejércitos
| defendOne.png | Elije defender con un ejército un país atacado
| defendTwo.png | Elije defender con dos ejércitos un país atacado
| moveArmies.png | Comienza el movimiento de los ejércitos entre dos países (última acción del turno)

### Las carpetas de sonidos

Esta carpeta contiene tres archivos de sonido: roll.wav jugado cuando los ejércitos se están moviendo, cannon.wav jugado cuando se está disparando y crash.wav cuando explosiona un cañón.

## Preguntas y respuestas

&reporting.bugs; &updating.documentation;

¿Cuál debería ser la primera pregunta referente a &ksirk;?

## Créditos y licencia

&kapp;

Derechos de autos del programa. 2002-2008 Gael de Chalendar kleag@free.fr.

Colaboradores: Robin Doer, Albert Astals Cid, Michal Golunski (traducción al polaco).

Derechos de autor de la documentación. 2002-2008 Gael de Chalendar kleag@free.fr.

Traducido por Santiago Fernández Sancho santi@kde-es.org.

&underFDL; &underGPL;

## Instalación

### Cómo obtener &kapp;

&install.intro.documentation;

### Compilación e instalación

&install.compile.documentation;

### Configuración

La entrada del menú de preferencias abre un diálogo que le permite : Diálogo de preferencias Diálogo de preferencias

- activar o desactivar los sonidos ,

- establecer la velocidad de la animación (desde lenta hasta inmediata) ,

- activar o desactivar la ayuda contextual que se muestra en los menús emergentes ,

- Mostrar u ocultar el número de ejércitos de cada país. La siguiente captura de pantalla muestra el mapa en el se muestra el número de ejércitos. Muestra el número de ejércitos Muestra el número de ejércitos

&documentation.index;