juegos

Juegos de terminal de Pancho: Catan (TUI, GUI, web, servidor, PicoCalc), ajedrez, calculadora y minijuegos
git clone https://git.lu3dhn.xyz/juegos.git
Log | Files | Refs

mkbook.py (814B)


      1 #!/usr/bin/env python3
      2 """Genera core/book_data.c a partir de las aperturas del ajedrez en bash.
      3 Uso: python3 tools/mkbook.py ../ajedrez/lib/openings.tsv > core/book_data.c"""
      4 import sys
      5 rows = []
      6 for line in open(sys.argv[1], encoding='utf-8'):
      7     line = line.rstrip('\n')
      8     if not line or line.startswith('#'):
      9         continue
     10     eco, name, moves = line.split('\t')
     11     rows.append((eco, name, ' '.join(moves.split())))
     12 def c(s): return '"' + s.replace('\\', '\\\\').replace('"', '\\"') + '"'
     13 print('/* book_data.c - generado por tools/mkbook.py desde ajedrez/lib/openings.tsv. No editar. */')
     14 print('#include "book.h"\n')
     15 print('const BookLine BOOK[] = {')
     16 for eco, name, moves in rows:
     17     print('    { %s, %s, %s },' % (c(eco), c(name), c(moves)))
     18 print('};')
     19 print('const int BOOK_N = %d;' % len(rows))