Guía para la creación de paquetes.

¿Que se necesita?.

Se puede crear un paquete de contenidos con tan sólo un editor de textos como el Bloc de Notas (Notepad) de Windows. Los ficheros que componen un paquete son de dos tipos: páginas web (HTML) y partidas de ajedrez en formato PGN, ambos, son ficheros de texto simple, por eso, es suficiente con el Bloc de Notas. No obstante, el trabajo se simplifica si se utiliza alguna de las herramientas existentes para la confección de páginas web o la creación de ficheros PGN, existen muchas de estas y algunas gratuitas.

Estructura de un paquete.

Todos los paquetes contienen una página web, que llamaremos Indice y, normalmente, otras páginas web y ficheros PGN con los contenidos. Dentro de las páginas web vamos a distinguir una categoría especial que denominaremos "partidas web", así mismo, dentro de las partidas en formato PGN, nos referiremos a un caso especial que es el de los ejercicios. En resumen, un paquete puede contener los siguientes tipos de elementos:

Obligatoriamente:

  • Indice.

Opcionalmente:

  • Páginas Web normales.

  • Partidas Web.

  • Páginas Web con Vídeos.

  • Partidas PGN.

  • Ejercicios PGN.

A continuación vamos a describir cada uno de estos tipos.


Indice.

Es una página web, muy sencilla, cuya misión es servir de índice al "paquete". El único contenido relevante de la misma, es una serie de enlaces (links). Cada enlace contiene dos datos relevantes:

  1. El texto que sirve de base al enlace. Este texto se mostrará en la lista que el Visor tiene debajo del tablero y que sirve como índice de los distintos elementos que forman el paquete.

  2. La dirección del enlace. Como dirección se escribe el nombre del fichero que el Visor abrirá cuando el usuario haga clic, con el ratón, sobre la línea correspondiente de la lista de contenidos del Visor.

Por ejemplo, el Indice de la clase 316 es el siguiente:

<body>
<p><font face="Verdana" size="2">Clase : </font></p>
<ul>
<!--INDICE-ENLACES-->
<li><font face="Verdana" size="2"><a href="clase316-presen.htm">Presentación.</a></font></li>
<li><font face="Verdana" size="2"><a href="clase316-portada.htm">Portada.</a></font></li>
<li><font face="Verdana" size="2"><a href="clase316-p1.htm">Partida Modelo: Topalov,V - Kamsky,G.</a></font></li>
<li><font face="Verdana" size="2"><a href="clase316-p2.htm">Bronstein,D - Golombek,H</a></font></li>
<li><font face="Verdana" size="2"><a href="clase316-p3.htm">Kramnik,V - Ulibin,M</a></font></li>
<li><font face="Verdana" size="2"><a href="clase316-p4.htm">Rosenthal,S - Steinitz,W</a></font></li>
<li><font face="Verdana" size="2"><a href="clase316-p5.htm">Englisch,B - Steinitz,W</a></font></li>
<li><font face="Verdana" size="2"><a href="clase316-p6.htm">Gligoric,S - Larsen,B</a></font></li>
<li><font face="Verdana" size="2"><a href="clase316-e1.pgn">Tactica. Ejercicio 1. Fácil</a></font></li>
<li><font face="Verdana" size="2"><a href="clase316-e2.pgn;clase316-s2.pgn">Tactica. Ejercicio 2. Media</a></font></li>
<li><font face="Verdana" size="2"><a href="clase316-e3.pgn;clase316-s3.pgn">Tactica. Ejercicio 3. Alta</a></font></li>
<li><font face="Verdana" size="2"><a href="clase316-pr1.pgn;clase316-sl1.pgn">El final de la semana</a></font></li>
</ul>
</body>

La disposición de los enlaces en la página es irrelevante, sólo importa el orden, en el ejemplo anterior los enlaces forman parte de una "lista", con entradas <li>...</li> pero esto no es necesario. Cuando el Visor analicé está página, se limitará a buscar los enlaces, ignorando todo lo demás. Algo que si es esencial, es que la página debe incluir necesariamente:

<!--INDICE-ENLACES-->

Precediendo a los enlaces. Cualquier enlace colocado por detrás (antes de) de esta "marca" será ignorado.

En el formato HTML, todo aquello que se encuentra contenido entre <!-- y --> se considera un comentario y por lo tanto no se muestra cuando se visualiza la página en un explorador. En el caso de la página Indice esto no es muy importante, porque esta página no se mostrará en el Visor, pero en los otros tipos de página, que si se visualizarán, nos permite introducir "comandos" e información adicional que permanecerá oculta.

Si nos fijamos en los tres últimos enlaces del ejemplo, veremos que la dirección del enlace (href="...") en lugar de un nombre de fichero, contiene dos, separados por un punto y coma ";". Esto se debe a que se trata de ejercicios, el primer fichero es el que contiene el ejercicio y que antes hemos dicho que es un caso especial de PGN (que denominamos Ejercicio PGN) y el otro es la solución del ejercicio, un PGN totalmente normal. No siempre es necesario que existan ambos ficheros y a veces basta con el fichero Ejercicio PGN, como ocurre en el ejemplo anterior, en la línea:

<li><font face="Verdana" size="2"><a href="clase316-e1.pgn">Tactica. Ejercicio 1. Fácil</a></font></li>

Pero estos detalles los veremos más adelante, al comentar los Ejercicios PGN.


Páginas Web normales.

Como su propio nombre indica, es una página web como cualquiera de las que se puede ver en Internet, en nuestro ejemplo de la clase 316, tenemos dos de estas páginas, la de presentación y la portada.

<li><font face="Verdana" size="2"><a href="clase316-presen.htm">Presentación.</a></font></li>
<li><font face="Verdana" size="2"><a href="clase316-portada.htm">Portada.</a></font></li>

Estas páginas pueden contener imágenes y otros elementos, incluso videos, lo único que habrá que tener presente es que estos elementos deben incluirse en el "paquete", para su distribución.


Partidas Web.

Este tipo de páginas, están destinadas a contener una partida comentada, como tantas otras que se pueden ver en Internet. Hasta aquí, son páginas web normales, lo que tienen de especial es que la partida y sus variantes se podrán visualizar en el tablero del Visor. Para lograr esto, se "embebe", dentro de la página y en forma de comentario, la partida en formato PGN.

El Visor puede transformar automáticamente una partida PGN en una Partida Web, tal como se comenta en la sección "Creación de contenidos/Contenidos HTML".

Pora ver un ejemplo de Partida Web, veamos la página que constituye la primera partida ilustrativa de la clase 316:

<body>
<!--PGN='
[Event "??"]
[Site "?"]
[Date "????"]
[Round "?"]
[White "?"]
[Black "?"]
[Result "0-1"]
[Idioma "1"]

1. d4 Cf6 2. c4 e6 3. Cc3 Ab4 4. Cf3 b6 5. e3 Ab7 6. Ad3 Ce4
7. O-O Axc3 (7... Cxc3 8. bxc3 Axc3 9. Tb1) 8. bxc3 O-O (8... Cxc3 9. Dc2 Axf3
10. gxf3 Dg5+ 11. Rh1 Dh5 12. Tg1 Dxf3+ 13. Tg2 f5 14. Aa3! (14. Dxc3 Dd1+=)
14... Ce4 15. Tf1 Tg8 16. Ae2 Dh3 17. f3 Cd6 18. d5+/-) 9. Ce1 f5 10. f3 Cf6
11. a4 Cc6 12. e4 fxe4 13. fxe4 e5 (13... d6!?) 14. Ag5 De7 (14... exd4? 15. cxd4 Cxd4
16. e5) 15. Cc2 Dd6?! (15... Tae8!?) 16. Ah4! Tae8 (16... exd4 17. cxd4 Cxd4
18. Ag3 Dc5 19. Af2) 17. Ag3 De7 18. Ce3 d6 (18... exd4 19. Cd5! Cxd5 20. exd5 De3+
21. Rh1 Ce5 22. Axe5 Txe5 23. cxd4) 19. Ah4! Cd8 (19... Dd7 20. Axf6+/-)
20. Cd5 Axd5 21. cxd5+/- c6 22. Db3 Rh8 (22... cxd5?! 23. Ab5) 23. Tae1 h6 24. Da3! g5
25. Ag3 Cd7 (25... Ch5?! 26. Axe5+! dxe5 27. Dxe7 Txf1+ 28. Txf1 Txe7 29. Tf8+ Rg7
30. Txd8+-) 26. dxc6 Cxc6 27. Ab5 Txf1+ 28. Txf1 Ccb8 (28... Cdb8 29. d5+-)
(28... Tc8!?) 29. Ac4 Tf8 (29... exd4 30. cxd4 Dxe4 31. Dxd6+-) 30. Txf8+ Dxf8
31. dxe5 Cc5 32. exd6 Cxe4 33. d7! Cc5 (33... Cxd7 34. Dxf8+ Cxf8 35. Ae5+ Rh7
36. Ad3+-)( 33... Dxa3 34. d8=D++-) 34. Ae5+ Rh7 35. Ad3+ (35. Ad3+ Rg8 36. Da2++-)
1-0
'-->
<font size="2"><b>
<p align="left"><font face="Verdana">Bronstein,D - Golombek,H (E43)<br>
</font>
</b><font face="Verdana">Alekhine mem Moscú, 1956<br>
Defensa Nimzoindia <b>(</b></font><b><font face="Verdana">E43)</font>
</p>
<p>
<font face="Verdana">
<!--INICIO-ENLAZAR-PGN-->
1.d4 Cf6 2.c4 e6 3.Cc3 Ab4 4.Cf3 b6 5.e3 Ab7 6.Ad3 Ce4 7.O-O Axc3 </font>
</b><font face="Verdana">(7...Cxc3 8.bxc3 Axc3 9.Tb1) <b>8.bxc3 O-O </b>(8...Cxc3
9.Dc2 Axf3 10.gxf3 Dg5+ 11.Rh1 Dh5 12.Tg1 Dxf3+ 13.Tg2 f5 14.Aa3! <i>(14.Dxc3
Dd1+=) </i>14...Ce4 15.Tf1 Tg8 16.Ae2 Dh3 17.f3 Cd6 18.d5+/- Keres,P-Spassky,B/(m)/1965/])
<b>9.Ce1 f5 10.f3 Cf6 11.a4 Cc6 12.e4 fxe4 13.fxe4 e5 </b>(13...d6!?) <b>14.Ag5
De7 </b>(14...exd4? 15.cxd4 Cxd4 16.e5) <b>15.Cc2 Dd6?! </b>(15...Tae8!?) <b>16.Ah4!
Tae8 </b>(16...exd4 17.cxd4 Cxd4 18.Ag3 Dc5 19.Af2) <b>17.Ag3 De7 18.Ce3
d6 </b>(18...exd4 19.Cd5! Cxd5 20.exd5 De3+ 21.Rh1 Ce5 22.Axe5 Txe5 23.cxd4) <b>19.Ah4! Cd8
</b>(19...Dd7 20.Axf6+/-) <b>20.Cd5 Axd5 21.cxd5+/-
c6 22.Db3 Rh8 </b>(22...cxd5?! 23.Ab5) <b>23.Tae1 h6 24.Da3! g5 25.Ag3 Cd7 </b>(25...Ch5?! 26.Axe5+! dxe5 27.Dxe7 Txf1+ 28.Txf1 Txe7 29.Tf8+ Rg7
30.Txd8+-) <b>26.dxc6 Cxc6 27.Ab5 Txf1+ 28.Txf1 Ccb8 </b>(28...Cdb8
29.d5+-; 28...Tc8!?) <b>29.Ac4 Tf8 </b>(29...exd4 30.cxd4 Dxe4 31.Dxd6+-) <b>30.Txf8+
Dxf8 31.dxe5 Cc5 32.exd6 Cxe4 33.d7! Cc5 </b>(33...Cxd7 34.Dxf8+ Cxf8
35.Ae5+ Rh7 36.Ad3+-)( 33...Dxa3 34.d8=D++-) <b>34.Ae5+ Rh7 35.Ad3+ </b>(35.Ad3+
Rg8 36.Da2++-) </font> <b><font face="Verdana">1-0
<!--FIN-ENLAZAR-PGN-->
</font>
</p>
</b>
</font>
<P><FONT size=2><B></P></B></FONT>
</body>

Hemos destacado en color verde la partida PGN "embebida" como un comentario, ya que está encerrada entre las secuencias <!-- y -->. Para que el Visor la reconozca, las secuencias inicial y final deben ser, exactamente, las marcadas en rojo:

<!--PGN=' y '-->

Así mismo, hemos resaltado en rojo dos comentarios más, dentro de la página:

<!--INICIO-ENLAZAR-PGN-->

<!--FIN-ENLAZAR-PGN-->

El Visor no se limitá a extraer la partida en formato PGN para mostrarla en el tablero, además, "interpreta" la página en su conjunto para coordinar los movimientos en el tablero con las jugadas que se muestran en la parte visible de la página, de forma que haciendo clic sobre dichas jugadas, se realice el movimiento correspondiente en el tablero, o que cuando nos desplazamos en el tablero, mediante los botones debajo del mismo, un cursor se vaya situando sobre el texto indicando las distintas jugadas. El papel de los dos comentarios, antes mencionados, es facilitar el trabajo al Visor delimitando la zona de la página que contiene el texto a coordinar con la partida.

Existen dos comentarios más, directamente relacionados con esto:

<!--EVITA ENLAZAR-->

<!--FIN EVITA ENLAZAR-->

Se pueden poner tantos pares, de estas etiquetas como se quiera y la zona comprendida entre cada par no será explorada por la aplicación, en busca de jugadas de la partida. De esta forma, se pueden incluir en el texto visible jugadas sin miedo a que interfieran con el proceso de "casar" las jugadas de la partida con las del texto.

El Visor puede mostrar directamente partidas en formato PGN, por lo que se podría prescindir totalmente de las Partidas Web, pero estás pueden contener elementos adicionales como imágenes, videos, etc y además permiten muchísimos recursos de edición: fuentes, colores, tamaños de letras, tablas, etc, cosas que no son posibles en un Partida PGN.

El aspecto de la notación de las jugadas se puede controlar mediante la definición de estilos (style) del HTML. Si en la página se definen los estilos .j y .v, el Visor los aplicará a las jugadas de la línea principal y a las de las variantes respectivamente.

Por ejemplo:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Partida enbebida en un HTML</title>
<style>
<!--
.j {font-family: Verdana; color: #000000; text-decoration: none; font-weight: bold}
.v {font-family: Arial; color: #0000FF; text-decoration: none; font-weight: bold}
-->
</style>
</head>

<body>

En el ejemplo anterior se establece que las jugadas de la línea principal (.j) se escriban con letra Verdana, negrita (bold) y de color negro (#000000), mientras que las variantes (.v) lo hagan con letra Arial de color azul (#0000FF) y también en negrita (bold).

La instrucción text-decoration: none evita que las jugadas aparezcan con el "subrayado" típico de los enlaces en una página Web. La profusión de enlaces (uno por cada movimiento de la partida) resta mucha legibilidad a los textos y mejora mucho el aspecto cuando se eliminan los "subrayados".

También es posible definir el color de fondo de las jugadas (necesario si la página tiene definido un color de fondo) y el color del cursor que señala la jugada realizada, según se reproduce la partida. Esto se hace mediante los "comentarios" siguientes, en cualquier lugar de la página.

<!--FONDO-JUGADAS:ffffff-->

<!--CURSOR-JUGADAS:00ff00-->

El primero establece que el fondo de las jugadas es blanco y el segundo define el cursor de color verde. Un buen lugar donde incluir estos comentarios es junto al comentario: <!--INICIO-ENLAZAR-PGN-->, por ejemplo:

<!--FONDO-JUGADAS:ffffff-->
<!--CURSOR-JUGADAS:00ff00-->
<!--INICIO-ENLAZAR-PGN-->
<b>1.d4 d5 2.c4 c6 3.Cf3 Cf6 4.Cc3 a6 </b>[Un sistema que últimamente


Páginas Web con vídeos.

Existen diferentes maneras de "incrustar" un vídeo en una página Web, aquí mencionaremos la que hace uso de la etiqueta <OBJECT>

<OBJECT ID="PlayerVsIntAj" CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" width="245" height="240">
<PARAM name="autoStart" value="True">
<PARAM name="URL" value="videos\Video013m.wmv">
</OBJECT>

Son muchos los PARAM que pueden introducirse para establecer el aspecto y modo de operación del reproductor, el único imprescindible es el "URL" que indica la senda y el nombre del fichero a reproducir. Por ejemplo el "uimode" controla como se ve, o no se ve, el reproductor en pantalla

<PARAM name="uimode" value="mini">
<
PARAM name="uiMode" value="full">
<
PARAM name="uiMode" value="none">
<
PARAM name="uiMode" value="invisible">

Para más información se puede visitar esta página.

Si la página que contiene el vídeo, también muestra una Partida Web y se quiere que ambos elementos interactúen, el ID del reproductor debe ser PlayerVsIntAj y hay que introducir en la página los siguientes fragmentos de JavaScript.

En la cabecera, se definen dos funciones que permiten al Visor detener y poner en marcha el reproductor:

<head>
...
<script languaje="JavaScript">
    function PlayerVsIntAjPausa()
    {
        PlayerVsIntAj.controls.pause();
    }
    function PlayerVsIntAjPlay()
    {
        PlayerVsIntAj.controls.play();
    }
</script>
...
</head>

<body>

En cualquier parte de la página, normalmente detrás de la definición del reproductor, se coloca el código que permite al Visor conocer el las "Marcas" contenidas en el Video

...
<PARAM name="URL" value="videos\Video013m.wmv">
</OBJECT>

<span id="ParamVsIntAj" style="position:absolute;left:0px;top:0px;visibility:hidden;"></span>
<script language="JScript" for="PlayerVsIntAj" event="MarkerHit(x)">
    ParamVsIntAj.innerText = PlayerVsIntAj.currentMedia.getMarkerName(x);
</script>

...
</body>

Si se quiere usar una página de marcos para separar el vídeo del resto de la página. El reproductor debe estar situalo en el primer marco.


Partidas PGN.

Un paquete puede contener una o varias partidas PGN (o ninguna), sin más que añadir en el Indice los enlaces correspondientes. En el párrafo anterior se ha mencionado que las Partidas Web, son una forma de mostrar partidas con muchos más recursos de edición que la Partida PGN, pero también son más laboriosas de construir y si no se necesitan "adornos", son mucho más rápidas y cómodas de utilizar las Partidas PGN, que pueden ser generadas, directamente, por aplicaciones como Chessbase y muchas otras.

Un ejemplo sencillo de partida en formato PGN es el siguiente:

[Event "Skien"]
[Site "Skien"]
[Date "1979"]
[Round "?"]
[White "Seirawan,Y"]
[Black "Barbero,G"]
[Result "1-0"]
[SetUp "1"]
[FEN "2b2r1k/2pp2p1/3n1p2/2Q4p/2P5/3BPPR1/1B1PKP1q/8 w - - 0 0"]

1. Txg7! {esto es un comentario} Rxg7 2. Dg5+ Rf7 3. Dxf6+ Re8 4. Ag6+
Cf7 {a continuación una variante} (4... Tf7 5. Ae5 Dh3 6. Axd6 cxd6 7. Axf7+)
5. Ae5! (5. Ae5! Dh3 6. Axc7) 1-0

Como puede verse, consta de dos "secciones" distintas.

La primera son las etiquetas descriptivas, una por línea y encerradas entre corchetes [ ... ]. Cada etiqueta consiste de un concepto (por ejemplo: Event, White, Result, etc) y un valor escrito entre comillas (por ejemplo: "Skien", "Seirawan,Y", "1-0", etc). El formato PGN tiene predefinidos una serie de conceptos, pero no es necesario que todos aparezcan en una partida.

La segunda sección, separada de las etiquetas por una línea en blanco, son las jugadas, comentarios y variantes de la partida. Cualquier cosa encerrada entre llaves { ... } es un comentario y si va encerrada entre paréntesis ( ... ) es una variante.

Además de las características estándares del formato PGN, el Visor admite determinadas extensiones que se describen a continuación:


Extensiones al formato PGN.

El Visor contempla dos tipos de añadidos o extensiones al formato PGN:

  • Nuevas etiquetas.

  • Extensiones en forma de comentarios.

Nuevas etiquetas.

  • [Idioma "1"]. Indica el idioma en el que están anotadas las jugadas. 0 = Ingles, 1 = Castellano. Si no se incluye esta etiqueta el Visor asume que están en inglés.
  • [ImgWhite "f-bologan.jpg"]. Si se incluye esta etiqueta el Visor visualiza, en la zona derecha de la cabecera del lienzo que muestra la partida, la imagen referenciada en esta etiqueta. Esta pensada para mostrar una imágen del jugador de blancas, pero puede ser cualquier otra imagen, incluso un banner.
  • [UrlWhite "http://www.paidotribo.com/ficha.asp?codart=00865"]. Esta etiqueta esta asociada a la anterior y solo tiene sentido si existe esa otra etiqueta, su  misión es proveer un enlace al que "saltar" cuando se hace clic en la imagen definida en la etiqueta ImgWhite.
  • [ImgBlack "f-lenier.jpg"]. Similar a ImgWhite, si se ha definido la imagen ImgWhite, la imagen de esta etiqueta se coloca a la derecha de aquella.
  • [UrlBlack "http://www.paidotribo.com/ficha.asp?codart=00865"]. Similar a UrlWhite.
  • [Ejercicio "316-E2"]. Esta etiqueta es imprescindible cuando el fichero PGN es un ejercicio, el valor es un rótulo identificativo que el Visor no utiliza.
  • [Video "Video013m.wmv;336;310"]. Hace que el visor añada a la barra de herramientas un nuevo botón. Cuando se pulsa dicho botón, el Visor abre una ventana con las dimensiones especificadas en esta misma etiqueta (336x310 en este ejemplo) y reproduce, en ella, el video correspondiente al fichero especificado (Video013m.wmv en este ejemplo).

Comentarios con un sentido especial.

En un fichero PGN, cualquier texto encerrado entre llaves "{ }" se considera un comentario y este es el tratamiento que hace el Visor de los mismos, en general. No obstante, el Visor otorga un sentido especial a determinados comentarios con el fin de ampliar sus funcionalidades, en cuestiones que el formato PGN no se plantea, sin perder la compatibilidad con el mismo, de forma que las partidas se puedan seguir leyendo con una aplicación que acepte el estándar PGN, como, por ejemplo, ChessBase.

Estas extensiones al formato PGN se puede agrupar en tres apartados:


Que afectan a la presentación del texto.

{} este comentario nulo (no hay nada entre las llaves) es interpretado por el Visor como un cambio de línea. El Visor ofrece la posibilidad de separar en párrafos el contenido de una partida, añadiendo dos cambios de línea, al principio y final de las variantes de primer nivel. Esta es una de las opciones de configuración del Visor y mejora notablemente la legibilidad de los contenidos, sin necesidad de tener que introducir manualmente comentarios nulos, pero si se necesita uno, o varios, saltos de línea en un momento dado, se debe recurrir al comentario nulo.

|-> Esta secuencia de tres caracteres indica que todo lo que va a continuación tiene el carácter de ocultable. Es decir, que cuando el Visor está en modo ocultar no se mostrará. Esta específicamente destinada a la visualización de problemas, donde interesa que en un primer momento el usuario no vea los comentarios y solución al mismo. Esta es una solución muy simple, pero muy limitada, porque el contenido posterior a la marca se puede ocultar/visualizar, pero todo al mismo tiempo. Para ejercicios "jugada a jugada" hay que recurrir a los Ejercicios PGN. Cuando el Visor carga un contenido que contiene esta marca, aparece un nuevo botón (con el icono de un ojo) en la barra de herramientas. Cuando se pulsa este botón se revela el contenido oculto.


Gráficos.

{IMAGEN:nombrefichero}

ejemplo: {IMAGE:kramnik.gif}

Cuando el Visor encuentra un comentario de este tipo, muestra la imagen "nombrefichero" (kramnik.gif, en el ejemplo) en una ventana auxiliar. El momento de visualización es cuando nos situamos en la movimiento inmediatamente anterior a la aparición de este comentario.

{FONDO:color:color,casilla,casilla,...,color:color, casilla,...}

ejemplo: {BACK:color:red,e2,color:blue,d7}

Cuando el Visor encuentra un comentario de este tipo, colorea las casillas del tablero que se han indicado, del color especificado. Si en la casilla hay una pieza el color de la pieza no se ve afectado.

{MARCO:color:color,casilla,casilla,...,color:color, casilla,...}

ejemplo: {SQUARE:color:red,a1,h8,color:blue,b2,g7,g2,b7}

Cuando el Visor encuentra un comentario de este tipo, sitúa en las casillas del tablero que se han indicado unos recuadros del color especificado.

{FLECHA:color:color,a3-h3,a2-b2,...,color:color,...}

ejemplo: {ROW:color:yellow,a3-h3,color:pink,a4-h4}

Cuando el Visor encuentra un comentario de este tipo, traza las flechas indicadas entre las casillas especificadas.

Estos tipos de comentarios pueden combinarse entre si y con otros comentarios utilizando el separador "/" entre los mismos, por ejemplo:

{IMAGE:leko.gif/ROW:color:yellow,a3-h3,color:pink,a4-h4/SQUARE:color:red,a1,h8,color:blue,b2,g7,g2,b7/ Una jugada típica del estilo impulsivo y arriesgado}

Las palabras clave de estos comentarios deben estar en el mismo idioma en el que se hayan anotados los movimientos de la partida.

CASTELLANO INGLÉS
IMAGEN IMAGE
FONDO BACK
MARCO SQUARE
FLECHA ROW
COLOR COLOR
NEGRO BLACK
AZUL BLUE
CIAN CYAN
GRISOSCURO DARKGRAY
GRIS GRAY
VERDE GREEN
GRISCLARO LIGHTGRAY
MAGENTA MAGENTA
NARANJA ORANGE
ROSA PINK
ROJO RED
BLANCO WHITE
AMARILLO YELLOW
VERDECLARO LIGHTGREEN
ROJOOSCURO DARKRED

Ejercicios.

El objeto de estas "extensiones" es que el visor pueda plantear ejercicios al lector, que este debe resolver indicando la jugada correspondiente en cada momento.

Además de las extensiones que aquí se van a comentar, es imprescindible incluir la etiqueta Ejercicio.

Un ejercicio se visualiza como una partida normal, pero en una, o varias zonas faltarán algunas jugadas y sus correspondientes comentarios o variantes. El espacio que deberían ocupar estos elementos aparecerá en blanco. Muy a menudo faltan todas las jugadas y lo único que se visualiza, inicialmente, es una invitación a marcar sobre el tablero la primera jugada.

Al situarse en la jugada inmediatamente anterior a una oculta, el Visor mostrará, debajo del tablero, los botones que permiten "responder" (Rpta) y "entregar" (Ent) el ejercicio, además, permitirá que se marquen, haciendo clic con el ratón, dos casillas sobre el tablero. El lector deberá marcar las casillas inicial y final del que crea que es el movimiento correcto y con ambas casillas marcadas, pulsar el botón "Rpta".

La primera casilla a marcar es la pieza que realiza el movimiento, al hacerlo, la casilla quedará enmarcada en color azul. A continuación debe marcar la casilla destino del movimiento, se enmarcará en color rojo.

Para borrar las casillas marcadas en un determinado momento hay que hacer clic sobre la casilla enmarcada en azul.

Para cambiar la casilla destino del movimiento, después de haber marcada una, hay que hacer clic sobre la nueva casilla, con esto se borrará la marca roja anterior y aparecerá el marco rojo en la nueva casilla.

Si el lector no sabe una determinada respuesta, para continuar con el ejercicio debe pulsar el botón "Rpta" sin tener marcada ninguna casilla. Esto es equivalente a una respuesta incorrecta.

Según se va avanzando en la resolución del ejercicio se van "revelando" las jugadas y comentarios ocultos, de forma que al final del ejercicio la partida queda visualiza completamente como una partida normal.

Cuando el ejercicio ha terminado, es decir, ya no queda oculta ninguna jugada, es el momento de "Entregar el Ejercicio" pulsando el botón rotulado "Ent". Al hacerlo, el visor envía al servidor los resultados obtenidos. Sólo es posible pulsar el botón "entregar el ejercicio" una vez, ya que desaparecerá al pulsarlo. Por lo tanto es imprescindible no hacerlo hasta finalizado el ejercicio o el lector perderá la oportunidad de mejorar su puntuación mediante la resolución de las preguntas que aún queden pendientes.

Es muy importante no avanzar, mediante las teclas de cursor bajo el tablero, o haciendo clic sobre el documento, por delante de una zona oculta, porque su contenido se "revelará" automáticamente y el visor ya no le pedirá al lector que acierte esas jugadas ocultas, con lo que no tendrá oportunidad de ganar los puntos que le hubiesen correspondido en caso de acertarlas.

Preparación del ejercicio.

Para preparar un ejercicio, básicamente hay que realizar dos operaciones:

  • marcar las zonas ocultas.
  • asignar puntos a las jugadas ocultas.

Si en un fragmento oculto, se quiere que el lector sólo deba acertar las jugadas realizadas por un bando, se puede hacer que el visor ejecute automáticamente las jugadas del bando contrario, en respuesta a las del lector.

A continuación se recogen los comentarios con un significado específico en relación a la creación de ejercicios:

{EJERCICIO:INI}
{EJERCICIO:FIN}

Esta pareja de comentarios es la que permite ocultar un fragmento de la partida, todo aquello que quede comprendido entre ambos comentarios quedará oculto.

Para partidas codificadas en inglés:

{EXERCISE:START}
{EXERCISE:END}


{DESLIZA:BLANCAS}
{ALTODESLIZAR:BLANCAS}

{DESLIZA:NEGRAS}
{ALTODESLIZAR:NEGRAS}

Estas parejas de comentarios, hacen que en el fragmento de partida comprendido entre ellas, cuando se realiza una jugada del bando especificado, automáticamente se realice el movimiento siguiente del rival.

Para partidas codificadas en inglés:

{SLIP:WHITE}
{STOPSLIP:WHITE}

{SLIP:BLACK}
{STOPSLIP:BLACK}


{PUNTOS:n1:n2}

Este comentario indica los puntos (n2) que se suman al concepto de puntuación (n1) por acertar la jugada que va inmediatamente delante del comentario.

Los conceptos de puntuación son:

n1 Concepto
0 Elo
1 Estatégia
2 Táctica
3 Aperturas
4 Medio Juego
5 Finales

Para partidas codificadas en inglés:

{POINTS:n1:n2}


Ejercicios PGN.

Los ejercicios PGN, son ficheros PGN normales, con una seria de añadidos que hacen que el Visor los trate y presente de forma especial. Es obvio, que de inicio, no se deben mostrar las jugadas que el usuario debe acertar y además hay que activar los elementos (botones) adecuados para que el jugador pueda introducir su respuesta.

Los añadidos, o extensiones, que requiere el Visor, son los que se describen en el apartado anterior "Extensiones al formato PGN".

A continuación se muestra un ejemplo de Ejercicio PGN

[Event "Carlsbad"]
[Site "Carlsbad"]
[Date "1907"]
[Round "?"]
[White "Berger,J"]
[Black "Chigorin,M"]
[Result "0-1"]
[SetUp "1"]
[FEN "8/p3bn2/1pp1kp1p/6p1/1PP2PP1/P1BB1K1P/8/8 w - - 0 0"]
[Idioma "1"]
[Ejercicio "316-P1"]

{El final de la semana}{}
{}
{Juegan las blancas. El final es muy favorable gracias a la pareja de alfiles, pero hay que encontrar el mejor plan. ¿Cómo han de jugar?}{}
{}
{Es el momento de indicar el primer movimiento de las blancas.}{}
{}
{EJERCICIO:INI}
{DESLIZA:BLANCAS}

1. Af5+  {PUNTOS:0:1} Rd6
2. Ag6   {PUNTOS:0:1} Cd8
3. fxg5  {PUNTOS:0:1} hxg5
4. Re4   {PUNTOS:0:1} Ce6
5. Af7   {PUNTOS:0:1} Cg7
6. Ae1   {PUNTOS:0:1} Rd7
7. Ac3   {PUNTOS:0:1} Ad8
8. b5!   {PUNTOS:0:1} Re7
9. Ag8   {PUNTOS:0:1} Rf8
10. Ah7  {PUNTOS:0:1} cxb5
11. cxb5 {PUNTOS:0:1} Re7
12. Ab4+ {PUNTOS:0:1} Re6
13. Ag8+ {PUNTOS:0:1} Rd7
14. Rd5  {PUNTOS:0:1} Ae7
15. Axe7 {PUNTOS:0:1} Rxe7
16. Rc6  {PUNTOS:0:1} Ce8
17. a4   {PUNTOS:0:1} Cd6
18. Rc7  {PUNTOS:0:1} Ce4
19. Ab3  {PUNTOS:0:1} Cc5
20. Ac2  {PUNTOS:0:1} Re6
21. Rb8  {PUNTOS:0:1} Rd6
22. Rxa7 {PUNTOS:0:1} Rc7
23. a5   {PUNTOS:0:1} bxa5
24. b6+  {PUNTOS:0:1} Rc6
25. Ae4+ {PUNTOS:0:1} Cxe4
26. b7   {PUNTOS:0:1} {ganando.}

{ALTODESLIZAR:BLANCAS}
{EJERCICIO:FIN}

0-1

Y este sería el correspondiente PGN solución a este ejercicio, que es un PGN estándar, salvo la etiqueta del Idioma:

[Event "Carlsbad"]
[Site "Carlsbad"]
[Date "1907"]
[Round "?"]
[White "Berger,J"]
[Black "Chigorin,M"]
[Result "0-1"]
[SetUp "1"]
[FEN "8/p3bn2/1pp1kp1p/6p1/1PP2PP1/P1BB1K1P/8/8 w - - 0 0"]
[Idioma "1"]

{El final de la semana}{}
{}
{Juegan las blancas. El final es muy favorable gracias a la pareja
de alfiles, pero hay que encontrar el mejor plan. ¿Cómo han de jugar?}{}
{}
1. Af5+ Rd6 2. Ag6 Cd8 3. fxg5 hxg5 4. Re4 Ce6 5. Af7 Cg7
({Si} 5... Cf4 6. Rf5 Cxh3 7. Axf6 Axf6 8. Rxf6) 6. Ae1 Rd7
7. Ac3 Ad8 8. b5! Re7 9. Ag8 Rf8 10. Ah7 cxb5 11. cxb5 Re7
12. Ab4+ Re6 13. Ag8+ Rd7 14. Rd5 {las negras están en zugzwang}
14... Ae7 ({si} 14... Rc7 15. Af8 Ce8 16. Ae6 Rb7 17. Ad7 Cc7+
18. Re4 a6 19. a4 axb5 20. axb5 Rb8 21. Ad6 Rb7 22. Ac6+ Rc8
23. Rf5) 15. Axe7 Rxe7 16. Rc6 Ce8 17. a4 Cd6 18. Rc7 Ce4
19. Ab3 Cc5 20. Ac2 Re6 {Hasta aquí las blancas han jugado de modo
impecable. Pero ahora yerran el camino:} 21. Rc6? ({En lugar de
21. Rc6, lo correcto era} 21. Rb8 Rd6 (21... a6 22. Rc7 axb5
23. axb5 Re5 24. Rxb6 Rd6 25. Ra7 Rc7 26. b6+ Rc6 27. Ae4+)
22. Rxa7 Rc7 23. a5 bxa5 24. b6+ Rc6 25. Ae4+ Cxe4
26. b7 {ganando.}) 21... Re5 22. a5 Ce6 23. axb6 Cd4+
24. Rb7 axb6 25. Ad3 ({y tras} 25. Ad3 f5 26. gxf5 Cxb5
27. Axb5 Rxf5 {la partida es tablas, ya que el peón "h"
corona en casilla de color diferente a las del alfil.
Sin embargo, las negras tampoco jugaron así, sino que,
en lugar de 25... f5, eligieron}) 25... Rd6? {y tras}
26. Rxb6 {terminaron perdiendo} 0-1

En estos ejemplos, se han destacado en rojo los elementos específicos del ejercicio que son extensiones al formato PGN. En el caso de las puntuaciones se ha asignada un punto (1), al concepto Elo (0) en todas las jugadas {PUNTOS:0:1}, pero en situaciones reales, la puntuación variará en función de la dificultada de cada movimiento y probablemente también, el concepto en donde deben anotarse los puntos.


Enlaces (links) con un significado especial.

Para mejorar las funcionalidades del Visor se ha dotado de un significado especial a determinados enlaces. Se entiende por enlace a cualquier elemento que ordena cambiar de página al explorador del Visor.

El enlace más simple es el contenido en una etiqueta:

 <a href="enlace"></a>

Pero también, los que se puede añadir a otras muchas etiquetas a través de procesadores de eventos, como el que procesa el clic de ratón (onclick), en una imagen, o en un botón de un formulario:

<img alt="Retroceder página" height="32" onclick="location.href='http://CCA'" src="pasapaginaatras.gif" style="cursor: pointer" width="32"></p>

<input name="bot3" class="btp" type="button" value=">" onclick="location.href='http://CCS'">

Los enlaces con un significado especial son:

Enlaces de navegación. Cuando el usuario hace clic en ellos, el Visor cambia de página:

  • http://CCP Cambia al primer elemento del índice del paquete (Primera página).

  • http://CCA Cambia al elemento anterior del índice del paquete (Página anterior).

  • http://CCS Cambia al siguiente elemento del índice del paquete (Página siguiente).

  • http://CCU Cambia al último elemento del índice del paquete (Última página).

  • http://CCn Cambia al elemento número n del índice del paquete.

Entrenar contra un módulo de cálculo:

  • http://ENTRENA/? Abre la ventana de "jugar online" y ejecuta el módulo de cálculo activo con una serie de parámetros que van a continuación del signo ? y separados unos de otros del caracter &, la secuencia de parámetros termina con otro carácter &. Estos parámetros son:

    • minutos, (en el ejemplo: 3).
    • segundos, (en el ejemplo: 12).
    • turno (Blancas o Negras), (en el ejemplo: Blancas).
    • posición inicial en formato FEN, en donde deba aparecer un espacio se pone un guión bajo (en el ejemplo: 8/8/4N1B1/8/8/8/1K1k4/8_w_-_-_0_1).

Ejemplo: HTTP://ENTRENA/?3&12&Blancas&8/8/4N1B1/8/8/8/1K1k4/8_w_-_-_0_1&

Entrenar contra las Tablas de Finales:

  • http://ENTRENATB/? Abre la ventana de "jugar online" y prepara la opción de jugar contra las Tablas de Finales, con una serie de parámetros, los mismos que en el caso anterior.

Ejemplo: HTTP://ENTRENATB/?3&12&Blancas&8/8/4N1B1/8/8/8/1K1k4/8_w_-_-_0_1&


Organización de los ficheros en un paquete.

El fichero Indice puede situarse en cualquier carpeta y en esa misma carpeta debe crearse una nueva carpeta de nombre paginas. En esta carpeta paginas, se situarán todos los otros ficheros, los PGN, los HTML, así como, las imágenes y elementos auxiliares referidos en cualquiera de las páginas.

Aunque las páginas de contenidos están en una carpeta distinta a la página Indice, los enlaces a dichas páginas, que se escriben en la página Indice, no deben contener la referencia a la carpeta paginas, deben escribirse como si en realidad se encontrasen en la misma carpeta que el Indice.

Para mayor comodidad en la distribución y uso de los paquetes, se pueden comprimir en un fichero zip. El Indice debe aparecer en la raíz de las entradas del fichero zip, es decir, sin preceder de ninguna senda, mientras que el resto de ficheros deben ir precedidos de, exactamente, la referencia a la carpeta paginas: paginas/ por ejemplo:

El Visor puede leer directamente el fichero comprimido, que incluso puede estar encriptado, en este caso, el Visor intentará abrir el fichero usando la clave del perfil activo de conexión (con el que se realizó la última conexión a la revista, o el último seleccionado en la carpeta de opciones).