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

gen.h (939B)


      1 /* gen.h - solver y generador de sudokus (sin malloc ni recursion).
      2  * Una grilla es uint8_t[81], fila por fila, 0 = vacia. */
      3 #ifndef SUDOKU_GEN_H
      4 #define SUDOKU_GEN_H
      5 
      6 #include <stdint.h>
      7 #include <stdbool.h>
      8 
      9 extern uint8_t su_peer[81][20];     /* las 20 celdas que comparten fila, columna o bloque */
     10 extern uint8_t su_pc[512];          /* bits prendidos de una mascara de 9 */
     11 
     12 void su_init(void);
     13 /* Cuenta soluciones hasta limit (la primera va a out si no es NULL).
     14  * -1 si se pasa de maxnodes. rnd: prueba los candidatos al azar. */
     15 int  su_count(const uint8_t *g, int limit, uint8_t *out, int rnd, int32_t maxnodes);
     16 /* Dificultad "humana": 0 alcanza con singles, 1 con intersecciones,
     17  * 2 con pares/triples/X-wing, 3 hay que probar. */
     18 int  su_grade(const uint8_t *g);
     19 /* Arma un sudoku de solucion unica del nivel pedido (0..3). Devuelve las pistas. */
     20 int  su_generate(int level, uint8_t *puzzle, uint8_t *solution);
     21 
     22 #endif