¿Cómo juego al ajedrez online desde la terminal de Ubuntu?

Recordando el "match telegráfico" de Ajedrez entre el Jockey Club de La
Plata y el Manhattan Chess Club neoyorquino, Juan Perón explica cómo
jugar ajedrez en línea desde la terminal de Ubuntu.

¡Estimados Maestros y Grandes Maestros!

Las características que hacen del Ajedrez el más respetado de los
deportes, lo sustancian de las virtudes más universales.

No solo es un juego de estrategia en el que se enfrentan dos jugadores,
cada uno de los cuales tiene 16 piezas de valores diversos que pueden
mover, siguiendo ciertas reglas, sobre un tablero dividido en cuadrados
blancos y negros. El objetivo de "derrocar al Rey" propone la bondad de
agilizar la mente, sino que la lid sobre el tablero bien puede consagrar
la amistad entre sus muy temporales oponentes.

Ha sido a través de la historia que el más duradero de los kriegsspiel
ha propuesto los mayores desafíos, y - por que no - divertimentos. Como
tal, hubiese sido extraño que nuestro país escapase a estas visiones
positivas. El Juego Ciencia se había popularizado en estas tierras ya
desde la épocas coloniales, y una vez establecida la Nación no puede
ignorarse la labor del ciertamente oligárquico Club del Progreso. A este
le siguieron una buena cantidad de círculos y clubes ajedrecísticos de
distintas proveniencias y montas, con fuerte jugadores. De todos ellos,
sin duda el Club Argentino de Ajedrez (1905) y el vanguardista Círculo
de Ajedrez de Buenos Aires (1916) contaron con temibles mesas. En 1922,
la formalización de la unidad entre veintidós de estos círculos vio
nacer a la Federación Argentina de Ajedrez (FADA), cuya labor se vio
aureolada en la realización del Campeonato Mundial de Ajedrez de 1927,
sede del legendario choque Capablanca-Alekhine.

Sin embargo, distintas acepciones fueron dando lugar un "cisma"
federativo local. La solución a tal división no podía venir sino de mano
del Justicialismo, lo que confluyó en lo que podríamos describir como
una Segunda Era del Ajedrez Argentino, regada con merecidos apoyos y
subvenciones gubernamentales. La Cámara de Diputados aprobó un subsidio
anual para la Federación Argentina De Ajedrez (FADE) por $ 50.000, en
tanto que el Club Argentino de Ajedrez adquirió su sede de Paraguay 1858
merced de un subsidio del Congreso de la Nación.

Esto permitió elaborar una fuerte serie de torneos locales, culminados
por encuentros internacionales auspiciados por la FIDE. El Torneo
Internacional de Mar del Plata se constituyó en un gran certamen a
equipos, con 18 Grandes Maestros de altísimo calibre. Fue ganado por
Najdorf en gran forma, seguido por Ståhlberg, Eliskases, Pilnik, Euwe,
Julio Bolbochán. Posteriormente se jugó el fortísimo Sextangular Buenos
Aires/La Plata, coronando a Ståhlberg.

El IV Torneo Memorial Roberto Grau fue algo más fuerte que el del año
anterior, dominando Ståhlberg. Rossetto se impuso en el Campeonato
Argentino.

Sin duda uno de los logros que permitieron las subvenciones fue maridar
al ajedrez con los desarrollos tecnológicos. En este marco es de
especial trascendencia el mítico match telegráfico Jockey Club de La
Plata-Manhattan Chess Club de 1947 donde el equipo argentino integrado
por Ståhlberg, Najdorf, Julio Bolbochán, Pilnik, Maderna, Michel,
Rossetto, Guimard, García Baladó y Marcos Luckis dio por tierra con el
seleccionado neoyorkino a través de terminales teletipo, en un épico
6½:3½.

Difícilmente este tipo de matchs ajedrecísticos "por télex" podrían
haberse extendido como una Realidad Efectiva si no fuese por el alcance
de las redes de datos en materia de la lúdica. Un sistema de tipo UNIX,
donde un computador hace las veces de tablero, reloj, ujier y árbitro,
nos permitió replicar e incluso superar esta propuesta, máxime si
consideramos la posibilidad que ofrece el acceso público. Este logro se
conoce como FICS, un servidor libre de ajedrez en la red de datos.

Pues bien señores, hoy todo el mundo puede usar dicho programa desde
múltiples avenidas, incluyendo la popular freechess.org, lo que permite
jugar contra otros parroquianos electrónicos. Si bien FICS acepta
perfectamente clientes gráficos libres (incluyendo al superclásico
xboard, pychess o Gnome Chess), no escapa a lo interesante jugar "a la
télex", usando una terminal enlazada a un sistema GNU con Linux.

Es que todo sistema GNU que se precie cuenca aún con un cliente capaz de
enlazar a redes a través del viejo protocolo Telnet. Este podrá
utilizarse para establecer el enlace que nos interesa.

Para ello abrimos una terminal con Ctrl+Alt+t y llamamos al servidor con
el cliente de telnet. Podremos hacerlo ingresando el comando:

telnet freechess.org

Al establecer el enlace telemático, con la potencia de los baudios se
nos presentará en pantalla el aviso de login al sistema ajedrecístico
remoto FICS de freechess.org:

```
             _       __     __                             __      
            | |     / /__  / /________  ____ ___  ___     / /_____ 
            | | /| / / _ \/ / ___/ __ \/ __ `__ \/ _ \   / __/ __ \
            | |/ |/ /  __/ / /__/ /_/ / / / / / /  __/  / /_/ /_/ /
            |__/|__/\___/_/\___/\____/_/ /_/ /_/\___/   \__/\____/ 
       ^^__                  _____________________                 _  _  _ 
      /  - \_               / ____/  _/ ____/ ___/   _            | || || |
    <|    __<              / /_   / // /    \__ \   (_)           |_______|
    <|    \               / __/ _/ // /___ ___/ /  _              \__ ___ /
    <|     \             /_/   /___/\____//____/  (_)              |___|_|
    <|______\                                                      |_|___|
     _|____|_        ======================================        |___|_|
    (________)         freechess.org  ----  54.39.129.129         (_______)
    /________\       ======================================       /_______\ 
                       (Login screen designed by Alefith)

   ****** Welcome to the Free Internet Chess Server at freechess.org ******

Webpage: http://www.freechess.org
Head admin : mattuc   Complaints to : complaints@freechess.org
Server location: freechess.org   Server version : 1.25.20

      If you are not a registered player, enter guest or a unique ID.
             (If your return key does not work, use cntrl-J)

login:
```

Naturalmente si ya tuviésemos un usuario registrado podríamos ingresar
con el nombre de usuario específico y una contraseña. Sin embargo, al
tratarse de un ordenador público podremos perfectametne utilizar un nada
pretencioso usuario “invitado”. Para ello debemos logueamos como "g" o
"guest".

Con este recibiremos un alias del tipo Guestxxxx podremos darnos de alta
y acercarnos a un tablero para jugar partidas sin obtener puntaje (como
quien va a la plaza a jugarle a los jubilados).

##Convenir partida

Una vez ingresado al servidor por Telnet, veremos el intérprete de
comandos del servidor ajedrecístico FICS, indicado con prompt:

fics%. 

Ahora bien, existen varias maneras de localizar un oponente:

Al entrar a un servidor ajedrecísitico tan concurrido como
freechess.org, normalmente deberían ir apareciendo las solicitudes de
otros concurrentes invitados, que desea jugar en alguna modalidad de
juego. Estas aparecerían según este formato:

GuestQRXX (++++) seeking 15 0 unrated standard ("play 13" to respond)

Esto indica que el jugador GuestQRXX quiere jugar una partida en el
tablero 13. Para jugar contra este jugador, en el prompt fics%
deberíamos ingresar el comando play 13.

Además: 

    Podemos ver quién está en línea con el comando who, y usar el
    comando match con el nombre del jugador en línea que nos interesa.

    Podremos usar el comando seek para buscar un jugador que ya
    conocemos.

    Podremos usar el comando de chat general cshout y gritar en el
    servidor "Quiero jugar una partida del tipo...".

Nuestro oponente recibirá en pantalla nuestra solicitud y podrá
aceptarla o rechazarla. De aceptarla, el servidor determinará al azar el
color de piezas de cada contrincante. Cada uno recibirá un tablero
inicial en su pantalla, y las Blancas podrán iniciar la partida.

(Naturalmente, también nos podrían proponer una partida, la cual
podremos aceptar o declinar).

##Jugar al ajedrez

Durante la partida a través FICS con Telnet, debemos mover las piezas en el tablero introduciendo varias órdenes o solicitudes. Para ello introducimos comandos en el prompt FICS%.

Cada vez que el oponente mueve, el servidor enviará la nueva posición
del tablero a ambos oponentes.

Los escaques del ajedrez están divididas en filas del tablero, que van
de la a a la h (siendo la a el lado de Blancas y la h el lado de
Negras), y columnas del tablero, que van de la 1 a la 8 (siendo la 1 el
lado de Blancas y la 9 el de Negras).

###Notación algebraica

En la notación algebraica, cada escaque está definido por sus
coordenadas fila-columna. En notación algebraica, cada pieza del ajedrez
está representada por una letra propia, según su nombre en inglés:
Símbolo Pieza k rey q reina b alfil n caballo r torre p peón (aunque
realmente no se usa la “p”).

Por este motivo, el tablero que representa la jugada se ilustria de esta
manera (con símbolos ASCII):

```
        ---------------------------------
     8  |   | *R|   |   | *R|   | *K|   |
        |---+---+---+---+---+---+---+---|
     7  | *P|   |   | *B| *P| *P| *B| *P|
        |---+---+---+---+---+---+---+---|
     6  |   |   |   |   |   | *N| *P|   |
        |---+---+---+---+---+---+---+---|
     5  | *Q|   |   | *P|   |   | B |   |
        |---+---+---+---+---+---+---+---|
     4  |   |   |   |   |   | P |   |   |
        |---+---+---+---+---+---+---+---|
     3  |   |   | N | B | P |   |   |   |
        |---+---+---+---+---+---+---+---|
     2  | P | P |   |   | Q |   | P | P |
        |---+---+---+---+---+---+---+---|
     1  |   |   | R |   |   | R | K |   |
        ---------------------------------
          a   b   c   d   e   f   g   h
```

Según este ejemplo, las Blancas se disponen en la parte inferior del
tablero, mientras que las Negras lo hacen en la parte superior. Los
símbolos de las piezas aparecen en mayúsculas, mientras que el símbolo *
denota que es una de las piezas Negras. El Rey de las Negras (*K) está
en el escaque g8; el rey de las Blancas (K) está en el escaque g1,
etcétera. Juegan las Negras.

Movidas

Podemos usar varias notaciones para mover las piezas.

Aquellos jugadores que deseen emplear la Notación algebraica, pueden
definir en su comando las piezas a mover y los escaques. Supongamos que
las Negras desean mover su caballo (*N) del escaque f6 al escaque e4. La
movida algebraica a ingresar sería Ne4 (o directamente ne4, pues el
servidor de ajedrez es insensible a mayúsculas). Como normalmente
siempre avanzan sobre una columna, para mover peones el intérprete es
sensato, por lo cual no suele ser necesario consignar p para denotar al
peón; basta con indicarle el escaque al cual queremos moverlo.
Suponiendo que las Negras deciden mover el peón (*P) del escaque h7 al
escaque h6, el comando sería h6 (aunque opcionalmente se puede
especificar al peón, indicando Ph6). Para hacer enroque corto (lado del
rey) usamos O-O, mientras que para enroque largo usamos O-O-O.

Este método funciona bastante bien si somos ágiles con la notación
algebraica inglesa. Es importante al principio elegir jugadas estándar
en lugar de rápidas ("blitz"), pues puede llevarnos algunos segundos
introducir la jugada y ser ágiles con la notación algebraica.

Sin embargo, debemos tener cuidado con aquellas jugadas que resultan
ambiguas en esta notación. Durante el juego podría suceder que hubiesen
varios peones, caballos, torres e incluso reinas en capacidad de
desplazarse a un mismo escaque de destino. Ante tales casos no
alcanzaría con ingresar simplemente Nd4, Rd4 o Qd4 pues se produciría
una ambigüedad que el servidor estaría incapacitado de discernir
correctamente (no distinguiría cuál de las piezas de dicho tipo es la
que debe mover). Ante tal incidencia, debemos consignarle
específicamente cuál de es la pieza a mover. Esto se hace de varias
maneras:

    Indicando las coordenadas de fila o columna de la pieza en cuestión
    (cualquiera que aclare la posición). Por ejemplo, en caso que las
    Negras tuviesen caballos en los escaques c2 y e2, ambas piezas
    podrían moverse al escaque d4. Por ello para definir el movimiento
    del caballo del escaques c2 a d4, conviene indicar Ncd4, donde la c
    aclara cuál de los caballos debe mover (en este caso, el caballo
    situado en la fila c). Si fuese el caso que ambos caballos se sitúan
    en la fila c, entonces se debe indicar la coordenada algebraica
    completa de la pieza interesada, ya sea N2d4 o bien N6d4.

    Describir la coordenada algebraica completa para la movida, esto es:
    indicar el tipo de pieza, el escaque de origen y el escaque de
    destino; por ejemplo Nb6c4.

##Captura de piezas

En notación algebraica, la captura de piezas se denota con un x (se
pronuncia en su acepción algebraica como "por").

Supongamos que las Negras desean usar la torre de las Negras (R*)
situada en b8 para comer el peón (P) de las Blancas situado en b2; en la
notación algebraica inglesa tradicional la movida se escribe como Rxb2.
Sin embargo, el servidor podría interpretar esto tanto como:

    una movida simple Rb2, y sabría que es una captura,

    RxP pero no sabría cuál escaque se quería decir (ya que en esta
    posición la torre puede capturar únicamente un peón).

Nuevamente podría suceder que en ciertas posiciones de tablero tanto el
peón de una fila b y un alfil pudiesen moverse hacia un mismo escaque.
En tal caso el intérprete confundiría el significado de la b (ya que
puede referirse tanto al peón en la fila b o un alfil de Blancas, B). En
tal caso, si ingresamos bc6 se produciría tal ambigüedad y el servidor
se ve incapaz de saber cual de las dos piezas realizará la captura (si
el peón en fila b o el alfil). Para subsanar esto debemos consignar qué
pieza es la que consagrará la captura, indicandolo como pxc6.

Naturalmente de esto se desprende el otro caso que puede dar lugar a
movida ambigua: el concierne a cuál pieza deseamos comer.

Por ejemplo, Rxb4 ¿significa “Torre captura en escaque b4” o “torre
captura alfil en la columna 4”? Para evitar tales malentendidos, debemos
evitar especificar dicha captura como una movida algebraica simple desde
un escaque a otro (por ejemplo, Rb4), y especificarla la movida de
manera completa (indicando la pieza a mover, su posición inicial y la
pieza situada en la posición de destino final, de esta manera: RxPb4)

En cualquier caso, para evitarse problemas con las movidas ambiguas,
también es posible utilizar la poco tradicional notación de computadora
que os explicaré a continuación.

##Notación computarizada

La manera más simple (aunque tal vez no la más ágil o utilizada) es usar
la notación de computadora. Esta es puramente en base al sistema de
coordenadas, y consconstan de la siguiente sintaxis:

escaque_de_origen-escaque_de_destino

Por ejemplo, en la posición de tablero indicada, para mover la torre de Negras desde b8 a b2 deberíamos ingresar simplemente b8-b2.

Como se ve, no se usan las letras identificadores de las piezas, simplemente los escaques, y por este motivo las movidas ingresadas en notación de computadora no pueden ser ambiguas, simplemente son más largas de ingresar y no son descriptivas.
Comandos de solicitudes

Durante la partida también será necesario introducir algunos comandos de solicitudes en el prompt FICS, que se utilizan para realizar determinadas solicitudes al oponente. El oponente debería aceptarlas para que ocurran. Estos comandos son:

Comando 	Función
abort 	Solicita cancelar el juego
adjourn 	pide guardar y detener la partida para poder seguirla más adelante
draw 	Solicita tablas (declarar empate)
flag 	finaliza la partida porque el oponente se quedó sin tiempo
moves 	pide al servidor FICS que le envíe la lista de movidas de la partida
pause 	solicita suspender temporalmente la partida, sin detenerla para continuarla mas adelante
promote 	configura la pieza a coronar cuando el peón llegue a coronación
refresh 	Presenta la posición actual del tablero
resign 	Otorga la victoria al oponente, y finaliza la partida
say 	Se comunica con el oponente actual (o el último)
switch 	solicita que su oponeten cambie de piezas (color)
takeback 	solicita que una o más movidas sea retrocedidas (cancela movidas)
unpause 	solicita que una partida en pausa continúe
withdraw 	cancela una solicitud que ha realizado (siempre que no hubiese sido concedida)

Podremos decirle algo al contrincante con el comando say. Naturalmente,
también existen muchos más comandos que se pueden aprender a través del
comando general de ayuda help.

Una vez dominado el entorno, podremos incluso jugar partidas con más de
un contrincante, a la manera de un torneo de exhibición en simultáneas.
Para ello deberíamos introducir el comando simuls.

Para cerrar la sesión, ingresa el comando logout
```
Logging you out.
                                         .::.
                               _()_      _::_
                      _O     _/____\_  _/____\_    _O   
 _  _  _    ^^__     / //\   \      /  \      /   / //\     ^^__    _  _  _ 
| || || |  /  - \_  {     }   \____/    \____/   {     }   /  - \_ | || || |
|_______|<|    __<   \___/    (____)    (____)    \___/  <|    __< |_______| 
|__ ___ |<|    \     (___)     |  |      |  |     (___)  <|    \   \__ ___ /
 |___|_| <|   _ \     |_|      |__|      |__|     _|_|   <|_    \   |___|_|
 |_|(_)| <|__(_)_\   /(_)\    /(_) \    (_)  \   (_)  \  <(_)____\ (_)|___|
 |_(___)  _|(___)_  ((___))  ((___)_)  (___)__) (___)__) (___)__|_(___)_|_| 
(_ _|_|_)(_ _|_|_ )( _|_|_ )(__|_|_ _) _|_|____)_|_|____)_|_|_ ___)|_|_____)
/_(_____)/_(_____)\/(_____)\/(_____)_\(_____)__(_____)__(_____)__(_____)___\
  /_____\  /_____\  /_____\  /_____\  /_____\  /_____\  /_____\  /_____\

                         (Logout screen by Alefith)

Thank you for using the Free Internet Chess server (http://www.freechess.org).
```