Traducir el blog

Data Conversion 3: Chess Game with formulas

Chess game with iterative formulas


In Excel there is something to those who we like the formulas that takes us out of our squares, when you see a circular reference, because a cell refers to itself in a direct or indirect way, forcing to remove or correct the circular reference or, as is the case in this game, to accept it to work by changing the number of times Excel iterates a formula.

Iteration is the repeated recalculation of a worksheet until a specific numeric condition is met. Excel cannot automatically calculate a formula that refers to the cell — either directly or indirectly — that contains the formula. To use iterative formulas we must change Excel options:
- Enable iterative calculation.
- Maximum number of iterations = 1 in this game.

Microsoft.com: How to change formula recalculation, iteration, or precision


Rules and norms of the game of chess

The first rule that I have in mind is the classic: 
Touch-move rule

Using only formulas, how pieces are touched? How do you get the piece touched? How to know the destination square?

The trick has been to insert 64 option buttons from form controls, one for each of the 8x8 = 64 squares of the chessboard, called Square11 to Square88, using the nomenclature of numerical chess notation. They are the 64 forms that are grouped in the Squares, as seen in the image to the right of this text to all forms in the Chessgame sheet.

These radio buttons are not visible through the squares were extended five times and, with a zoom of 20%, the buttons appear to the hinges of the doors of each square box. Each of these buttons takes the size of a square and it is linked to the same cell: Square. Pressing each button generates a different number from 1 to 64, so you know exactly what box is down.

The position of the piece played is stored in the cell: PositionPiece, until you touch a new square that is a valid position of the played piece, if it is found with cell formulas into MirrorSquare and Move.


Chess Game Download

You can download these chess game following this link:



Chess Game Specifications

This game lets you play chess between two humans. No takes a game engine (impossible with formulas in Excel, it would not be effective and bad performance).

Is intended to generate a chessboard with 32 initial pieces to review the moves allowed by the rules of chess and to store games in an Excel spreadsheet to do the database of games played in the NumericGames sheet.

The specifications of the chess game are:

  1. Chess game between two humans programmed in Excel only with iterative formulas, without macros or VBA.
  2. Chessboard of 64 squares as a resizable form with the ability to flip the board on the side of the white or the black pieces.
  3. Touch of the pieces and squares with 64 radio buttons linked to a single cell: Square.
  4. Rules of short and long castling.
  5. En passant pawn capture.
  6. Option to view the game from the side of the white or the black.
  7. Option to view the cell references in algebraic or numeric notation.
  8. Option to select the style of chess pieces (figurines) or numeric or algebraic style.
  9. Option to display the last movement of a piece, its possible legal moves and attack positions of the white or black pieces.
  10. Option to select the chess game number.
  11. Option to start a new game.
  12. Panel to display each of the moves of the game in numeric notation. Algebraic notation will be added later.
Yet to be resolved:
  1. Valid positions in the king check.
  2. Checkmate detection.
  3. Promoting pawns.
  4. Save chess games in algebraic notation.
  5. Save FEN notation.
  6. Translate the game into several languages.
I hope you enjoy and make you enjoy such good times as I have been debugging this chess game.

To further improve this game I wait for your supportive comments.

Conversión de Datos 3: Juego de Ajedrez con fórmulas

Juego ajetreado con fórmulas iterativas
    En Excel hay algo que a los formulianos nos saca de nuestras casillas y es cuando aparece una referencia circular porque una celda se refiere a sí misma de una manera directa o indirecta, lo que obliga a eliminar o corregir la referencia circular o, como es el caso en este juego, a aceptarla para que funcione cambiando el número de veces que Excel itera una fórmula.

    Iteración es el cálculo repetido de una hoja de cálculo hasta que se cumple una condición numérica específica. Para usar fórmulas iterativas se deben cambiar las opciones de Excel:
    - Habilitar cálculo iterativo.
    - Nº máximo de iteraciones = 1 en este juego.

    Microsoft.com: Cómo aceptar, quitar o corregir una referencia circular



    Reglas y normas del juego del ajedrez

    La primera regla que he tenido en cuenta es la clásica: 
    Pieza_tocada,_pieza_jugada

    Empleando solamente fórmulas, ¿cómo se tocan las piezas? ¿cómo obtener la pieza tocada? ¿como saber la casilla de destino?

    El truco ha sido insertar 64 botones de opción de los controles de formulario, uno por cada una de las 8x8 = 64 casillas del tablero de ajedrez, denominados Square11 a Square88, según la nomenclatura de la notación numéricas del ajedrez.  Son las 64 formas que se agrupan en los Squares, como se puede ver en la imagen a la derecha de este texto con todas las formas de la hoja ChessGame.

    Estos radio-buttons no se ven por estar ampliadas las casillas cinco veces y, con un zoom del 20%, los botones parecen los goznes de las puertas de cada casilla.  Cada uno de estos botones ocupa el tamaño de una casilla y está vinculado con la misma celda: Square.  Al presionar cada botón genera un número distinto del 1 al 64 por lo que se conoce exactamente cuál es la casilla pulsada.

    La posición de la pieza tocada se guarda en la celda: PositionPiece
    hasta que se toca una nueva casilla que sea una posición válida de la pieza tocada si se comprueba con las fórmulas de las celdas: MirrorSquare y Move.


    Descarga del juego del ajedrez

    En este enlace se puede descargar el juego de ajedrez:
    (Descarga desde Google "Excel Download" o Microsoft OneDrive)



    Especificaciones del juego del ajedrez

    Este juego de ajedrez permite jugar entre dos humanos de momento.  No lleva un motor de juego (imposible de hacer con fórmulas en Excel, ya que no sería eficaz y su rendimiento pésimo).

    Se pretende generar un tablero de ajedrez con las 32 piezas iniciales que revise los movimientos permitidos según las reglas del ajedrez y que guarde las partidas en una hoja Excel que haga de base de datos de las partidas jugadas, en la hoja NumericGames.

    Las especificaciones del juego de ajedrez son:

    1. Juego de ajedrez en Excel entre dos humanos programado sólo con fórmulas iterativas, sin macros ni VBA.
    2. Tablero de ajedrez de 64 casillas con formas redimensionables.
    3. Toque de las piezas y casillas con 64 botones de opción vinculados a una única celda: Square.
    4. Normas del enroque corto y largo.
    5. Captura del peón al paso.
    6. Tablero con las piezas del ajedrez en distintos formatos numérico o algebraico en español e inglés y figuras de varias fuentes de texto.
    7. Opción para ver la partida desde el lado de las blancas o de las negras.
    8. Opción para ver las referencias de las celdas en notación algebraica o numérica.
    9. Opción para seleccionar el estilo de las piezas del ajedrez (figurines) o incluso estilo numérico o algebraico.
    10. Opción para visualizar el último movimiento de una pieza, sus movimientos válidos posibles y las posiciones de ataque de las piezas blancas o negras.
    11. Base de datos de las partidas jugadas en la hoja 'NumericGames', guardada cada partida en una columna.
    12. Opción para finalizar una partida por tablas o por rendición y opción para comenzar un nuevo juego.
    13. Panel de visualización de cada uno de los movimientos de la partida en notación numérica.
    14. Traducción del juego a varios idiomas.
    Aún queda por resolver:
    1. Visualizar los movimientos de una partida guardada en modo Play.
    2. Guardar notación algebraica de las partidas.
    3. Guardar notación FEN.
    4. Posiciones válidas en el jaque al Rey.
    5. Detección de jaque mate.
    6. Promoción de los peones.
    Espero que os guste y os haga disfrutar de tan buenos momentos como yo mismo he pasado depurando este ajedrez.  Para seguir mejorándolo espero vuestros comentarios de apoyo.

    Data Conversion 2: Chess Viewer Instructions

    Chess Viewer Instructions

    In the previous article I showed a chess viewer of games stored in Excel spreadsheets in algebraic format in 50 languages​​, including English, Spanish and graphic symbols of the patterns of white and black chess pieces: pawn, rook, knight, bishop, queen and king.


    In this article we will learn to use basic and advanced mode.



    Basic instructions for saving a chess game

    In the sheet 'AlgebraicDB' you should input a new game in algebraic notation in the K column, as the sample games in columns A to J, and will be the game #11.

    1. In the sheet 'ChessDB', if the algebraic notation was in Spanish, enter a 4 in cell K2.
    2. Go to sheet 'Chessboard'
    3. Select game #11 with K1 cell.
    4. Choose the output language for algebraic notation, by example set 1 into K11 cell to show the shapes of the chess pieces.
    5. Increases the K10 cell counter to see the movements of the game.
    6. Decrease counter to undo movements.
    7. Try other controls of the board.
    8. Analyze the game and learns and progresses in the chess game.

    'Game' sheet
    The function of this sheet is to convert a chess game written in complex algebraic notation, with comments and variations, to a simple algebraic notation, only with the movements of each player.


    Note: This sheet should be written only in cells with a yellow background.


    If the chess game is written in several lines, it will be copied in cells I21:I50, a line in each cell. Into column J is the formula to concatenate these cells and convert multiple lines to one, which is achieved in J50 cell.


    If the game is written in a single line, or after obtaining a single line in the J50 cell, is copied to D1.


    In cells D111:D200 comments and variants are removed from the game content between two parentheses "(..)" or between two brackets "{..}" and the values ​​that begin with a dollar sign "$", getting in cell D200 and D2 only the moves of the game.


    The game stored in D2 is converted into its individual moves in the range D3: D101, being the limit of 99 moves played by each player.


    'NumericDB' sheet


    Verifies the correctness of the conversion between algebraic notation and the number notation of the chess games stored in the database that consists of the 'ChessDB', 'AlgebraicDB' and 'NumericDB' sheets.


    The movements are obtained in numerical notation into the 'Notation' sheet, in the range N6:O104. These numerical values ​​must be copied manually in the range E3:F101 of the 'Game' sheet for numerical notation G3:G101 which, in turn, must be copied into the column on the page 'NumericDB' for the corresponding chess game.


    'Notation' sheet compares the obtained numerical notation 'NumericDB' in the range H6:H104 with the numerical data converted from the algebraic notation.



    'AlgebraicDB' sheet

    This sheet is the database of chess games in algebraic notation.


    An stored game in each column, for example to column K are copied in the range K1:K99, a movement in each cell, eg into K1: 1. d4 Nf6


    You can store games in any of the 50 languages sheet 'Languages​​' or in symbolic notation, such as "figurines" for example: 8.♕d2 ♘d7




    'ChessDB' sheet

    The information of the game is stored in this sheet, in the same column in which you saved the game on the 'AlgebraicDB' sheet.


    In row 1 is reflected the number of the game.
    Row 2 shows the language in which you saved the game in algebraic notation, with the number of language.
    Row 4 includes a description of the game.
    In rows range 5:22 is saved the data game, obtaining a summary in row 23.




    'Languages' sheet

    You can enter a couple of new more languages in columns AW and AX.


    'Translate' sheet

    Translates the algebraic format of the game, from the language in which is stored in the sheet 'AlgebraicDB', to the language selected by the user with the K11 cell in the 'Chessboard' sheet.


    The conversion is based on an intermediate language, an algebraic notation with figurines that uses Unicode characters to represent the chess pieces, so they are independent of the languages ​​to be translated.



    'Chessboard' sheet

    This sheet is the graphical user interface of the chess viewer and includes:

    1. A chessboard of 64 squares numbered from a1 to h8, algebraically, and from 11 to 88, numerically.
    2. The black and white pieces in figurines that are formatted with Unicode characters.
    3. A chessboard with chess pieces represented by the letters of the algebraic notation language selected by the user.
    4. A chessboard with pieces symbolized by 1 to 6 for white and -1 to -6 for black.
    5. A chessboard with the numbers representing each of the 64 squares.
    6. Cell K1 to select the number of the database chess game.
    7. Cell L2 to select between numeric and algebraic notation.
    8. Cell K9 to choose the movement of each play.
    9. Cell K10 to see the original position of the piece moved in the last movement.
    10. Cell O10 to change the color of the squares on the chessboard.
    11. Cell R10 to rotate the board and change the player's point of view of the white and black pieces.
    12. Cell K11 to choose the language of the algebraic notation.

    This last feature lets you view games in any of the 50 different languages, including algebraic notation in graphics figurines of the chess pieces.


    What additional features would you like to see in the next version of this chess viewer?
    You can tell me writing a post.

    Conversión de Datos 2: Instrucciones del Visor de Ajedrez

    Instrucciones del Visor de Ajedrez

    Todas las entradas sobre Conversión de Datos:
    1. Conversión de Datos 1: Visor de Ajedrez en Excel
    2. Conversión de Datos 2: Instrucciones del Visor de Ajedrez
    3. Conversión de Datos 3: Juego de Ajedrez con fórmulas
    En el artículo anterior mostré un visor de partidas de ajedrez guardadas en hojas Excel en formato algebraico en 50 idiomas, incluidos el inglés, el español y los símbolos gráficos de las figuras de las piezas blancas y negras del ajedrez: peón, torre, caballo, alfil, dama y rey.

    Puedes descargar el visor de ajedrez desde aquí.

    En este artículo aprenderemos a usarlo de modo básico y avanzado.



    Instrucciones básicas para guardar una partida

    1 - En la hoja 'AlgebraicDB' introduce una nueva partida algebraica en la columna K, como las partidas de ejemplo de las columnas A a J, y será la partida número 11.

    2 - En la hoja 'ChessDB', si la notación algebraica era en español, introduce un 4 en la celda K2.

    3 - Vete a la hoja 'Chessboard'

    4 - Selecciona la partida número 11 con la celda K1.

    5 - Elige el idioma de salida de la notación algebraica, por ejemplo pon un 1 en la celda K11 para mostrar las figuras de las piezas del ajedrez.

    6 - Incrementa el contador de la celda K10 para ver los movimientos de la partida.

    7 - Decrementa el contador para deshacer movimientos.

    8 - Prueba con el resto de controles del tablero.

    9 - Analiza la partida y aprende y progresa en el juego del ajedrez.


    Hoja 'Game'

    La función de esta hoja es convertir una partida de ajedrez escrita en notación algebraica compleja, con comentarios y variantes, a una notación algebraica simple, únicamente con los movimientos de cada jugador.

    Nota: En esta hoja se debe escribir solamente en las celdas con fondo amarillo.

    Si la partida de ajedrez está escrita en varias líneas se deben copiar en las celdas I21:I50, una línea en cada celda. En la columna J está la fórmula para concatenar estas celdas y convertirlas de varias líneas a una sola, lo que se consigue en la celda J50.

    Si la partida está escrita en una única línea, o una vez obtenido una única línea en la celda J50, se copia en D1.

    En las celdas D111:D200 se eliminan los comentarios y variantes de la partida contenidos entre dos paréntesis "(..)" o entre dos corchetes "{..}" y los valores que comienzan por el signo dólar "$", obteniendo en la celda D200 y D2 únicamente los movimientos de la partida.

    La partida almacenada en D2 se descompone en sus jugadas individuales en el rango D3:D101, siendo el límite de jugadas de 99 movimientos por cada jugador.


    Hoja 'NumericDB'

    Permite verificar la corrección de la conversión entre la notación algebraica y la notación numérica de las partidas guardadas en la base de datos compuesta por las hojas 'ChessDB', 'AlgebraicDB' y 'NumericDB'.

    Los movimientos en notación numérica se obtienen en la hoja 'Notation', en el rango N6:O104. Estos valores numéricos se deberán copiar manualmente en el rango E3:F101 de la hoja 'Game' para obtener la notación numérica en G3:G101 que, a su vez, se deberá copiar en la columna correspondiente a la partida en la hoja 'NumericDB'.

    En la hoja 'Notation' se compara la notación numérica obtenida de 'NumericDB' en el rango H6:H104 con los datos numéricos convertidos desde la notación algebraica.


    Hoja 'AlgebraicDB'

    Esta hoja es la base de datos de las partidas en notación algebraica.

    Se guarda una partida en cada columna, por ejemplo para la columna K se copian en el rango K1:K99, un movimiento en cada celda, por ejemplo en K1: 1. d4 Nf6

    Se pueden almacenar las partidas en alguno de los 50 idiomas disponibles de la hoja 'Languages', así como en notación simbólica, tipo "figurines", por ejemplo: 8.♕d2 ♘d7


    Hoja 'ChessDB'

    La información adicional de la partida se guarda en esta hoja, en la misma columna en que se guardó la partida en la hoja 'AlgebraicDB'.

    En la fila 1 está reflejado el número de partida.
    En la fila 2 se indica el idioma en que se ha guardado la partida en notación algebraica, mediante un número de lenguaje.
    En la fila 4 se incluye una descripción de la partida.
    En las filas 5:22 se guardan los datos de la partida, obteniendo un resumen en la fila 23.


    Hoja 'Languages'

    Introduce en las columnas AW y AX un par de idiomas nuevos más.


    Hoja 'Translate'

    Traduce la partida en formato algebraico desde el idioma en que está guardada en la hoja 'AlgebraicDB' al idioma seleccionado por el usuario con la celda K11 de la hoja 'Chessboard'.

    La conversión se basa en emplear como lenguaje intermedio la notación algebraica con figurines que usa caracteres Unicode para representar las piezas del ajedrez, por lo que son independientes de los lenguajes a traducir.


    Hoja 'Chessboard'

    Esta hoja es el interfaz gráfico del usuario con el visor de ajedrez y consta de:

    1 - Un tablero de 64 casillas numeradas de la a1 a la h8, algebraicamente, y 11 a 88, numéricamente.

    2 - Las piezas blancas y negras del ajedrez en formato con figurines que son caracteres Unicode.

    3 - Un tablero con piezas del ajedrez representadas por las letras del idioma seleccionado por el usuario.

    4 - Un tablero con piezas simbolizadas por 1 a 6 para las blancas y -1 a -6 para las negras.

    5 - Un tablero con los números que representan cada una de las 64 casillas.

    6 - Celda K1 para seleccionar el número de partida de la base de datos.

    7 - Celda L2 para seleccionar entre notación algebraica y numérica.

    8 - Celda K9 para elegir el movimiento de cada jugada.

    9 - Celda K10 para ver la posición original de la pieza movida en el último movimiento.

    10 - Celda O10 para cambiar el color de las casillas del tablero.

    11 - Celda R10 para girar el tablero y cambiar el punto de vista del jugador de las piezas blancas o de las negras.

    12 - Celda K11 para elegir el idioma de la notación algebraica.

    Esta última característica permite visualizar las partidas en cualquiera de los 50 lenguajes diferentes, incluida la notación algebraica con figurines gráficos de las piezas del ajedrez.

    ¿Qué característica adicional te gustaría ver en la próxima versión del visor de ajedrez?
    Me lo puedes decir escribiendo un mensaje.

    Conversión de Datos 1: Visor de Ajedrez en Excel

    🔝To translate this blog post to your language, select it in the top left Google box.


    Introducción a la Conversión de Datos

    Todas las entradas sobre Conversión de Datos:

    1. Conversión de Datos 1: Visor de Ajedrez en Excel
    2. Conversión de Datos 2: Instrucciones del Visor de Ajedrez
    3. Conversión de Datos 3: Juego de Ajedrez con fórmulas

    Una buena interfaz gráfica de usuario no se crea de la nada. Cualquier interfaz gráfico de usuario necesita una gran cantidad de procesos de conversión de datos antes de que se puedan mostrar los gráficos y, por supuesto, requiere de muchos interfaces antes de que pueda ser de utilidad a los usuarios finales.

    Desde el momento en que las entradas se introducen en un programa o sistema, se requieren varios procesos de conversión para obtener la salida deseada. A través de etapas intermedias se convierten los datos, de una notación en otra, usando interfaces de comunicación entre los diferentes procesos y almacenando temporalmente los datos en diferentes formatos.

    Lo más fácil es cuando todas las entradas posibles son conocidas de antemano, pero la realidad es que no es así. El escenario habitual se da cuando no existe un formato exacto de los datos de entrada pero se debe tomar la acción apropiada para que no pase, que los datos de entrada no sean reconocidos por el proceso de conversión de datos, lo que impediría obtener los datos de salida correctos.

    Se debe tener mucho cuidado de que esta situación no ocurra, y que todas las entradas sean predecibles y esperadas, y que todos los procesos de conversión de datos sean exactos, generando siempre las mismas salidas, cuando se produzcan las mismas condiciones de entrada.

    Si las especificaciones de conversión de datos son secretas, los procesos de conversión se comportarán como una caja negra de la que sólo se conocen los datos de entrada y los datos de salida. Si las especificaciones son abiertas, usted puede aprender de los métodos de conversión y mejorarlos, aún sin ser el autor de las mismos.


    Ejemplo de Visor de Ajedrez en Excel

    Como un ejercicio de conversión, abierto a la comunidad de usuarios de Excel, he diseñado un Visor de Ajedrez en Excel sin macros, para los aficionados y amantes como yo de ambos mundos maravillosos.

    Los datos de entrada son la notación algebráica de un juego de ajedrez, convertido en primer lugar en la notación numérica que finalmente se convierte, mediante una interfaz, en un gráfico que representa el tablero de ajedrez en el que las piezas de ajedrez se mueven de acuerdo con el juego guardado y, como datos de salida , muestra al usuario este Visor de Ajedrez.



    Esta idea se me ocurrió leyendo un artículo del Excel Hero Blog acerca de un Visor de Partidas de Ajedrez en Excel 2007, realmente impresionante y una solución inteligente, especialmente por no usar nada de VBA para implementarlo.

    Se puede ver el resultado en:  Excel Hero Chess Game Viewer

    Este Visor de Partidas de Ajedrez creado por Daniel Ferry se basa en la Notación Numérica ICCF, que supone la ventaja de utilizar una máquina de estados como entrada a una tabla dinámica. Esto nos da la posibilidad de ver los movimientos de una partida de ajedrez hacia adelante y hacia atrás. Los movimientos de las piezas de ajedrez son convertidos partiendo de una notación numérica. Los movimientos se designan con cuatro dígitos - los dos primeros son el código de la casilla de la pieza que se mueve y los dos últimos son el código de la casilla de destino.

    La novedad de mi planteamiento de un Visor de Ajedrez es que las partidas de ajedrez se introducen por medio de la Notación Algebraica, aunque su uso puede provocar confusión a las máquinas, e incluso a las personas humanas siguiendo la notación de movimientos diseñada para los seres humanos.

    Las notaciones de movimiento para las computadoras son menos complejas de utilizar y convertir.

    Las piezas de ajedrez tienen diferentes nombres e iniciales en lenguas diferentes y este visor es capaz de entender 50 idiomas diferentes, incluidos los símbolos gráficos denominados figurines, como se pueden ver en la nube:



    En la hoja 'Chessboard' de arriba, en Excel Web App, cambia el valor de la entrada de la celda K9 (en amarillo), para mover las piezas del juego de ajedrez, que se selecciona con la celda K1, y que contiene algunas partidas de ajedrez, como:

    1 - The Inmortal Game

    2 - The Evergreen Game

    4 - Kasparov versus the World

    Se pueden almacenar más de 250 partidas de ajedrez.

    La versión subida a la nube es completa, pero sin controles gráficos, ya que Microsoft Excel Web App sólo admite archivos .xlsx, sin VBA ni macros.

    La versión completa con controles gráficos te la puedes descargar desde el siguiente enlace:


    Chess_PedroWave16.zip

    En próximos artículos me propongo escribir una explicación de cómo me las ingenié para convertir la notación algebraica de los movimientos de las piezas sobre el tablero, sin el uso de macros, sólo usando fórmulas de Excel para obtener los estados de cada movimiento en notación numérica, de conformidad con las reglas del ajedrez (como la regla de "captura al paso"), fácilmente traducibles en posiciones en el tablero de ajedrez con sus piezas representadas por los símbolos de ajedrez como caracteres Unicode, llamados "figurines", sin ningún tipo de imágenes externas, obteniendo una interfaz gráfica de usuario que nos permite mostrar un visor de ajedrez de dos dimensiones.


    ATENCIÓN: No dejes de leer la siguiente entrada con las instrucciones de uso aquí:

    Conversión de Datos 2: Instrucciones del Visor de Ajedrez

    Data Conversion 1: Chess Viewer in Excel

    Introduction to Data Conversion

    A good Graphical User Interface does not appeared from nowhere. GUI needs a lot of data conversion processes before it can display graphics and, of course, it requires many interfaces before it can prove useful to end users.

    From the moment that inputs are introduced in a program or system, some conversion processes will be required to obtain the desired output. Through intermediary stages, data is converted from a notation to another, using communications interfaces between different processes and storing temporal data into different formats.

    The easiest is when all possible inputs are known beforehand, but the reality is not that and normally the usual scenario is when there is no exact format of the input data, but the appropriate action must be taken which should prevent the input data are not recognized by the data conversion process to obtain the correct output data.

    It should be very careful that this scenario does not happen, and that all entries are predictable and expected, and all data conversion processes are accurate, always generating the same output when the same conditions of input data occur.

    If data conversion specifications are secret, conversion processes behave as a "black box" where you only know the input and output data. If the specifications are open, you can learn from the methods of conversion and improve them even without being the author thereof.


    Example of Chess Viewer in Excel

    As an exercise of conversion, open to the community of Excel users, I have designed a Chess Viewer in Excel without macros, for fans and lovers of both wonderful worlds like me.

    Input Data is the Algebraic notation of a chess game, converted first into Numeric notation that is finally converted, using an interface, into a graphic chessboard in which the chess pieces move according to the stored game, as Output Data shows to the user of this Chess Viewer.


    This idea coming to me reading an article from the Excel Hero Blog about an Excel 2007 Chess Game Viewer, very impressive and smart solution especially not using any VBA to implement it.


    This Chess Viewer by Daniel Ferry are based on ICCF Numeric Notation and it showcases the advantage of using a state machine as input to a dynamic chart. This gives us the ability to view a game forward and backwards. The movement of chess pieces are converted from a numeric notation. Moves are designated with four digits – the first two are the code for the square of the piece that is moving and the last two are the code for its destination square.

    The novelty of my approach of a Chess Viewer is that chess games are introduced by the Algebraic Notation, although their use can lead confusion to the machines, and even to human people with move notation for humans, since different languages have different names and initials for the chess pieces, which still I have not solved but it is on my agenda.  It is less complex to use move notations for computers.


    The version uploaded to the cloud is complete but without graphic controls because Microsoft Excel Web App only admit .xlsx archives, without VBA and  without macros.  You can download my full Excel Chess Viewer version from here.



    Change the entry value in cell J10 (in yellow) to move the pieces of the chess game selected with cell K1 from the Database sheet with some chess games stored, as:
    You can store more chess games into this Database sheet.

    In future articles I plan to write an explanation of how I managed to convert algebraic notation in movements of the pieces on the chessboard without using macros, only using formulas to obtain the states of each movement in numerical notation,  in compliance with the rules of chess (as "en passant" rule), easily translatable into positions on the chessboard being represented by chess symbols in Unicode characters, named figurines, without any external images, obtaining a graphical user interface that allows us to display a nice two-dimensional chess viewer.

    In the next article: Data Conversion 2: Chess Viewer Instructions

    Interfaz del Censo 2011 en España

    Si tu vivienda habitual es una de las tres millones de viviendas seleccionadas por el Instituto Nacional de Estadística - INE español, habrás recibido una carta para que rellenes un cuestionario por Internet. Cuando entres en la página www.censos2011.es ¡ya puedes armarte de paciencia!

    A continuación expongo las incidencias encontradas al rellenar el Censo de Población y Viviendas 2011.
    1. El último Censo de hace 10 años no se confeccionó por Internet y este año es la primera vez que el INE manda dos claves, usuario y contraseña, para introducir los datos desde el ordenador de la vivienda habitual o desde cualquier lugar con conexión a Internet.  Repito, ¡ármate de paciencia!
    2. Sólo está disponible en idioma Castellano.  Si eres gallego, catalán, aragonés, valenciano, vasco, mallorquín, inmigrante, no podrás rellenar el cuestionario en tu idioma o lenguaje.
    3. Si no tienes el certificado de seguridad de la Fábrica Nacional de Moneda y Timbre - FNMT como autoridad certificadora, deberá instalarlo siguiendo esta guía para expertos: http://www.censos2011.es/CAWI/ConexionesSeguras.aspx
    4. La página www.censos2011.es es propiedad del INE. Al acceder a ella se establece una conexión segura a través de internet, utilizándose para ello un certificado emitido por la Fábrica Nacional de Moneda y Timbre (FNMT). Se ha detectado que algunas versiones de navegadores no reconocen a la FNMT como autoridad de certificación de sitios web. En tales casos podría aparecer una página avisando que la conexión con el INE no está certificada o simplemente no permitir el acceso. Por eso, no intentes usar navegadores como Chrome porque la página del Censo no está preparada y "The page at www.censos2011.es says":
    5. En las páginas seguras se puede ver el icono de un candado junto a la dirección (Internet Explorer) o en la zona inferior derecha (Mozilla Firefox); haciendo doble clic en el icono se muestra el nivel de cifrado de la conexión.
    6. Si consigues ver la página de Acceso con Claves, se muestra un teclado virtual para introducir de forma segura el Usuario y la Contraseña que has recibido por carta sin certificar ¡primer fallo de seguridad! No olvides presionar la tecla Bloq o Mayus para teclear las letras mayúsculas.
    7. Aparecen 5 letras y números borrosos que hay que introducir a continuación. Se trata del captcha, y es de uso habitual para evitar que se intente el acceso automático desde otros ordenadores, lo que pondría en peligro la disponibilidad del servicio.
      Si cree que no es capaz de interpretar las letras o números que aparecen, pinche en regenerar para disponer de otros diferentes. Puede regenerarlo las veces que sea necesario. Los invidentes o personas con visibilidad reducida también pueden escucharlo.  Si no los ves, presiona el pequeño botón con un altavoz para escuchar lo que tienes que introducir, que no se corresponde con lo que estás viendo, sino con el siguiente código regenerado.
    8. Si no consigues pasar de la primera pantalla, no entrarás en el juego y te avisará con un mensaje: "No se ha superado la validación. Si tiene problemas para entrar en la aplicación puede solucionarlos llamando al 900820082"
    9. Sesión Caducada

      Su sesión ha caducado. Por razones de seguridad se caduca su sesión tras un periodo de inactividad.
      Deberá volver a autenticarse. Pulse el siguiente botón para ir a la pantalla de bienvenida.
      Aunque diga que hacen falta unos minutos de inactividad, unos segundos de duda al rellenar el cuestionario bastan para que caduque la sesión y tengas que comenzar de nuevo desde el paso   uno.
    10. Durante la cumplimentación del cuestionario, usted NO podrá guardar los datos en cualquier momento para continuar más tarde.
    11. ¿Cuántas veces saldrá un error como éste?

      Service Unavailable


      HTTP Error 503. The service is unavailable.
    12. Si tiene dudas con este procedimiento puede ponerse en contacto llamando al teléfono gratuito: 900820082
    13. La participación de los ciudadanos es clave para obtener una información de calidad.
    14. El diseño del portal web es clave para que los ciudadanos usen este medio para rellenar los datos del Censo.
    15. Desde el 14 de octubre se puede ver este mensaje:
      Este servicio para rellenar el censo por internet está sufriendo problemas de lentitud en la respuesta y cortes inesperados.
      Estamos trabajando para dar una solución definitiva. Por favor, intente acceder de nuevo pasados unos días.
      Les pedimos disculpas por las molestias ocasionadas.

    Si no se contesta a la encuesta la multa es de 10.000 a 50.000 pesetas.
    Si se contesta con datos incompletos o inexactos hasta 500.000 pesetas.
    Si se contesta con datos falsos hasta 5 millones de pesetas.

    La Ley 12/1989, de 9 de mayo, de la Función Estadística Pública con las sanciones es de antes del euro.


    Blog del Programador GUI Programmer Blog

    Blog en Español y en Inglés.

    Este blog educativo va dirigido a los programadores y programadoras de aplicaciones informáticas con Interfaces Gráficos de Usuario - IGU.






    Blog in English and Spanish.

    This educational blog is aimed at developers and programmers of software applications with Graphical User Interface - GUI.



    Misión y autor de este blog.

    Soy Pedro Wave y quiero expandir mi experiencia en las ondas de este blog, para lo que hago uso de la archiconocida hoja de cálculo Excel como herramienta para confeccionar los ejemplos de diseño orientado al usuario en todas sus facetas.

    Si quieres aprender más sobre IGU, comienza por leer alguno de mis artículos anteriores, seleccionándolos en el ARCHIVO DEL BLOG o en las ETIQUETAS que aparecen a la derecha.

    Hasta ahora he escrito sobre: banderas; calculadoras; calendarios; economía; errores frecuentes; excel; fútbol; juegos; mapas; olas; proyectos; relojes; software

    Puedes leer todos los artículos en español aquí

    Gracias por visitar mi blog y por dejar algún comentario.
    Espero que les guste.


    Mission and author of this blog

    I am Pedro Wave and I want to expand my experience in the waves of this blog, for which I am using the well-known Excel spreadsheet as a tool to make examples of user-oriented design in all its facets.

    If you want to learn more about GUI, start by reading some of my previous articles, by selecting the BLOG ARCHIVE or LABELS appearing on the right.

    So far I've written about: bugs; calculators; calendars; clocks; economy; excel; flags; futbol; games; maps; projects; software; waves

    You can read all articles in English here

    Thanks for visiting my blog and leave a comment.
    I hope you like it.

    Mi lista de blogs