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

export.h (1167B)


      1 /* export.h - la partida como texto legible (tipo PGN del ajedrez): cabecera con
      2  * jugadores y opciones, el tablero, la partida turno por turno y, al final, las
      3  * movidas en el formato del juego para poder reproducirla. Lo usan el servidor (que
      4  * siempre guarda <partida>/partida.txt, con todo) y el cliente (F5: lo que viste vos). */
      5 #ifndef CATAN_EXPORT_H
      6 #define CATAN_EXPORT_H
      7 
      8 #include "../core/catan.h"
      9 
     10 typedef void (*ExportPut)(void *ctx, const char *line);
     11 
     12 /* Cabecera y tablero de la partida g (sin movidas). code puede ser NULL. */
     13 void export_header(const Game *g, const char *code, const char *const names[MAXP], const char *kinds,
     14                    ExportPut put, void *ctx);
     15 
     16 /* Partida completa: cabecera, tablero, turno por turno y movidas de maquina. hdr es la
     17  * cabecera inicial (hdr_fmt) y moves las movidas resueltas en orden (con las automaticas).
     18  * viewers: asientos para los que se cuenta (que carta se robo): todos = ~0u. */
     19 void export_game(const char *hdr, const char *const *moves, int nmoves, const char *code,
     20                  const char *const names[MAXP], const char *kinds, unsigned viewers, ExportPut put, void *ctx);
     21 
     22 #endif