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

mkpuzzles.py (777B)


      1 #!/usr/bin/env python3
      2 """Genera core/puzzles_data.c desde puzzles.tsv.
      3 Uso: python3 tools/mkpuzzles.py puzzles.tsv > core/puzzles_data.c"""
      4 import sys
      5 def c(s): return '"' + s.replace('\\', '\\\\').replace('"', '\\"') + '"'
      6 rows = []
      7 for line in open(sys.argv[1], encoding='utf-8'):
      8     line = line.rstrip('\n')
      9     if not line or line.startswith('#'):
     10         continue
     11     name, fen, sol, en = line.split('\t')
     12     rows.append((name, en, fen, sol))
     13 print('/* puzzles_data.c - generado por tools/mkpuzzles.py desde puzzles.tsv. No editar. */')
     14 print('#include "chess.h"\n')
     15 print('const Puzzle PUZZLES[] = {')
     16 for name, en, fen, sol in rows:
     17     print('    { { %s, %s }, %s, %s },' % (c(name), c(en), c(fen), c(sol)))
     18 print('};')
     19 print('const int NPUZZLES = %d;' % len(rows))