Traducir el blog

Partidas de ajedrez en formato PGN

Posted on diciembre 08, 2022 by Excel Pedro Wave

🔝Select the language of this blog post in the Google box at the top left.


He diseñado un nuevo visor de "Partidas de ajedrez en formato PGN" (Portable Game Notation), hecho totalmente en Excel para:

♟️ Abrir archivos en formato PGN (Notación Portátil de Partidas de ajedrez).

♟️ Mostrar la notación algebraica en 6 idiomas de las jugadas de una partida, sin comentarios ni variaciones.

♟️ Mostrar la notación algebraica con figuras (FAN - Figurine Algebraic Notation)

♟️ Marcar los comentarios de las partidas en texto de color azul.

♟️ Marcar las variaciones de una partida en texto de color verde.

♟️ Marcar cada jugada dentro del texto del formato PGN.

♟️ Archivar las partidas seleccionadas en formato PGN.

♟️ Guardar las partidas seleccionadas en un archivo PGN.

♟️ Crear tu propia base de datos de partidas de ajedrez en Excel.


Visor de partidas de ajedrez en formato PGN

En esta imagen animada se visualizan 3 partidas de ajedrez en formato PGN:


La última se ha cargado dos veces, una con caracteres extraños y otra con caracteres acentuados en español. La posibilidad de cambiar el tipo de lenguaje lo explicaré más adelante.


Descarga el visor PGN de ajedrez

Descarga la versión 1.1 del archivo desde estos enlaces:

Abre la plantilla y presiona el botón: Habilitar edición

En versiones recientes de Excel aparece el aviso: RIESGO DE SEGURIDAD Microsoft ha bloqueado la ejecución de macros porque el origen de este archivo no es de confianza. Con un botón: Obtener más información

Para desbloquear el archivo se debe abrir el Explorador de archivos y hacer clic con el botón derecho del ratón sobre el archivo, seleccionando Propiedades.

Marcar la casilla: Desbloquear y hacer clic en el botón: Aplicar

Abrir el archivo de nuevo, apareciendo una ADVERTENCIA DE SEGURIDAD: Las macros se han deshabilitado. Presiona el botón: Habilitar contenido

Esta plantilla contiene macros y está protegida sin contraseña, por lo que se pueden estudiar y analizar las fórmulas y el código VBA.

Para poder ver las hojas ocultas hay que desproteger el libro, haciendo clic en el menú: Revisar > Proteger libro

Ahora ya se puede hacer clic, con el botón derecho del ratón, en cualquier nombre de hoja, para ver el menú contextual que permite Mostrar... las hojas ocultas.


Videotutorial del visor en formato PGN

En este vídeo explico cómo usar el visor de partidas de ajedrez en formato PGN:



Hoja 'Partida'

Esta hoja contiene el visor de partidas de ajedrez, con la siguiente apariencia:


Los elementos de este visor en formato PGN son:

  • Un icono Caballo-Torre para abrir un archivo PGN.
  • Un icono Almacenamiento para archivar una partida PGN.
  • Un icono Disquete para guardar las partidas archivadas en formato PGN.
  • El nombre del archivo PGN abierto en la celda C3.
  • El número de partidas del archivo PGN en la celda D3.
  • Elegir el número de la partida en la celda F3.
  • Una barra de desplazamiento vertical para elegir el número de la partida en G1:G5
  • La partida elegida en formato PGN en el rango C7:C31, visualizando 25 filas.
  • Elegir la primera fila visualizada en la celda D7.
  • Una barra de desplazamiento vertical para elegir la primera fila visualizada en D8:D31
  • Elegir el tipo de notación algebraica en la celda F6:
    • FAN ♔|♕, Español, English, Française, Italiano, Deutsch, Português.
  • Visualizar las jugadas de la partida, en la notación algebraica elegida, en el rango: F7:F31
  • Elegir la primera jugada visualizada en la celda G7, desde la jugada 1 hasta la jugada 76, al estar limitado el número máximo de jugadas visualizadas en 100 jugadas.
  • Una barra de desplazamiento vertical para elegir la primera jugada visualizada en G8:G31


Hoja 'Archivo'

Esta hoja contiene el archivo de las partidas de ajedrez archivadas, con la siguiente apariencia:


En la columna A se van guardando las partidas que se archiven, sirviendo como una base de datos de partidas de ajedrez en una hoja de Excel.


Hoja 'Piezas'

Esta hoja contiene los símbolos de la notación algebraica de las piezas de ajedrez en 6 idiomas y las figuras de cada pieza:


Hoja 'Conversor'

Esta hoja contiene las fórmulas para convertir partidas en formato PGN a la notación algebraica:


En esta hoja se realiza la conversión de formatos, por lo que es la más importante y, como comprenderás, no voy a explicar cada una de las fórmulas que realiza la conversión, pues se sale del objetivo de este artículo. Desprotege la hoja sin contraseña y tú mismo podrás analizar las fórmulas...


Hoja 'PGN'

Esta hoja contiene la carga del archivo en formato PGN, usando Power Query como herramienta ETL (Extract Transform Load):



Estas 3 columnas se cargan con Power Query, aunque una macro modifica posteriormente las fórmulas de la columna C, con lo que se consigue la redimensión automática de esta tabla.

He probado este visor en la versión más reciente de Excel para Microsoft 365, y en la versión más antigua de la que dispongo, que es Excel 2010, al que le he instalado el complemento: Power Query para Excel, descargado desde aquí:

Download Microsoft Power Query para Excel from Official Microsoft Download Center


Carga de partidas PGN con Power Query

Con Power Query para Excel se extraen, transforman y cargan los archivos en formato PGN, en la hoja 'PGN'.

Los pasos aplicados son los siguientes, copiados desde el Editor avanzado de Power Query:


PASO 1: Con el primer paso se obtiene la ruta del Origen:

= Excel.CurrentWorkbook(){[Name="pgnRuta"]}[Content]{0}[Column1]

 


Es la ruta del archivo PGN abierto, obtenida de la celda B153 de la hoja 'Conversor', escrita con la macro: CargarPGN


PASO 2: Se convierte el documento CSV, del archivo extraído con formato PGN, en una tabla.

= Csv.Document(File.Contents(Origen),1,{0},ExtraValues.Ignore)

 


En esta imagen se ven caracteres extraños, donde debería haber caracteres acentuados y la letra ñ española. Por lo que este paso puede que sea necesario editarlo manualmente para extraer algunos archivos PGN, guardados en un formato de texto de otros idiomas.

Para ello se debe hacer clic en la rueda dentada que está a la derecha del paso 2: Personalizado1, que convierte los archivos CSV:


En un principio no se ha seleccionado ningún tipo para el Origen del archivo

Para convertir archivos escritos en lengua española, hará falta usar:

Origen del archivo 1252: Europeo occidental (Windows)



Aceptando y cerrando el Editor de Power Query, y una vez cargada de nuevo la partida, se verán los textos correctamente:



El valor del Origen de datos puede ser diferente para otro idioma, por lo que será necesario modificarlo manualmente...


Paso 4: Se agrega una columna condicional para indicar con un 1 cada partida distinta:

= Table.AddColumn(#"Columnas con nombre cambiado", "Event", each if Text.StartsWith([PGN], "[Event ") then 1 else 0)



Paso 7: El resultado de las transformaciones de todos los pasos anteriores son 2 columnas duplicadas: Event y Games, que se cargan en la hoja: 'PGN'.



Macros del visor en formato PGN

No voy a explicar las macros, porque daría para escribir un artículo nuevo y, como están comentadas las líneas de código VBA, quien tenga interés puede estudiarlas por su cuenta y, si tiene dudas, puede planteármelas en un comentario, que trataré de contestar lo antes posible.


Conversión de notación algebraica a numérica

A principios de 2023 publicaré una revisión de este artículo, en la que añadiré la notación numérica convertida a partir de la notación algebraica, pues esta notación no la entienden las máquinas, que hay que dárselo todo "mascado" con números. A no ser que añada IA, pero la Inteligencia Artificial se sale del alcance de este artículo...

Si no puedes esperar, te informo que hace 7 años publiqué mi primer prototipo rudimentario de un visor PGN con un tablero de ajedrez, hecho con un único gráfico de Excel, en este artículo:

Excel Chess Board PGN Viewer - Visor PGN Tablero de Ajedrez Excel | #ExcelPedroWave

En este mini videotutorial explico cómo usarlo:

Aunque no está muy depurado, si lo pruebas puede que te sirva de momento, hasta que desarrolle completamente el nuevo visor PGN más sofisticado.

Espero que a los y a las amantes del ajedrez les haya gustado este artículo con el que abrir, archivar y guardar partidas de ajedrez en formato PGN, sin tener que depender de la nube y de programas de terceros.

Gracias por seguirme en las redes sociales y en este blog.

1 Response to "Partidas de ajedrez en formato PGN"

.
gravatar
Anónimo Says....

Dios!!!! Estoy viendo tu blog y estoy alucinando, es increible, GENIO!!!!

Leave A Reply

Dime si te gusta lo que lees y, si no te gusta, dime por qué. Tengo habilitada la moderación de comentarios. Tu comentario se publicará pronto.

Mi lista de blogs