X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=grid.h;h=e6c205d9085d76774dae4c0cb7239a6ee3625b1c;hb=0a8d1f741a919c9c7e5ae0b8d0261759cca9bc05;hp=3d200c7e81d8efbd77c133bb826010ab44aa747c;hpb=896bfd48616953ca8cbe848953b46abdb20f78a3;p=wordgame diff --git a/grid.h b/grid.h index 3d200c7..e6c205d 100644 --- a/grid.h +++ b/grid.h @@ -21,25 +21,31 @@ #include "dict.h" +#define GRID_SIZE_MAX 5 /* ( 3 chars per cell - * x 4 cells per row + * x GRID_SIZE_MAX cells per row * + 1 newline per row - * ) x 4 rows per grid + * ) x GRID_SIZE_MAX rows per grid * + 1 terminator character - * = 53 */ -#define GRID_STRING_MAX 53 +#define GRID_STRING_MAX (((3 * GRID_SIZE_MAX + 1) * GRID_SIZE_MAX) + 1) typedef struct _grid { - char letters[4][4]; + int size; + char letters[GRID_SIZE_MAX][GRID_SIZE_MAX]; char string[GRID_STRING_MAX]; /* Private, transient state used by enumerate */ dict_t *results; } grid_t; +/* size must be 4 or 5 */ void -grid_init (grid_t *grid); +grid_init (grid_t *grid, int size); + +void +grid_set_letters (grid_t *grid, + const char *letters); char * grid_string (grid_t *grid);