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))