Notasbit

Las mejores noticias de tecnología en un sólo lugar

Publicado por: Microsiervos

Publicado en: 20/08/2019 06:41

Escrito por: [email protected] (Alvy)

ChesSkelet: una pequeña maravilla que «juega» al ajedrez en 352 bytes, programada en un Spectrum ZX

Desde el mundillo de los foros del Spectrum llega ChesSkelet, un ajedrez mínimo que compite en tamaño con el mítico ZX-81 Chess, un software de ajedrez cuyo código cabía en 1 KB. En este caso no se trata de jugar bien al ajedrez, sino de saber jugar y hacerlo con el programa más pequeño posible. Recuerdo haber programado algo parecido en los 80, en los 3,5 KB de un viejo VIC-20: ocupaban más los gráficos que el código del juego en sí, que sólo sabía mover al azar (pero respetando las reglas).

ChesSkelet bate todos los récords con tan sólo 352 bytes de código máquina; y con un par de cientos más existen versiones «mejoradas» y con mejor aspecto. Aunque no hay sitio ni para iconos siquiera. En una comparación absurda, la imagen PNG de la captura de pantalla de esta anotación ocupa más de 2 KB (!)

Eso sí: jugar juega de pena, y hasta un niño de 6 años podría ganarle, pero funcionar, funciona y sigue las reglas del juego, que es lo relevante. Como se suele decir, «aquí lo importante del viaje no es llegar, sino el camino»: la historia de cómo se desarrolló el programa, la disección completa del código y el listado original en ensamblador.

Entre las funciones que hubo que sacrificar para conseguir meter todas las reglas del ajedrez en 352 bytes están que no existe el enroque, ni la captura al paso, ni la promoción de peones. Tampoco los peones negros avanzan dos …

Top noticias del 20 de Agosto de 2019