data->squareindex++;
}
-static char *new_game_seed(game_params *params, random_state *rs)
+static char *new_game_seed(game_params *params, random_state *rs,
+ game_aux_info **aux)
{
struct grid_data data;
int i, j, k, m, area, facesperclass;
return seed;
}
+static void game_free_aux_info(game_aux_info *aux)
+{
+ assert(!"Shouldn't happen");
+}
+
static void add_grid_square_callback(void *ctx, struct grid_square *sq)
{
game_state *state = (game_state *)ctx;
sfree(state);
}
+static game_state *solve_game(game_state *state, game_aux_info *aux,
+ char **error)
+{
+ return NULL;
+}
+
+static char *game_text_format(game_state *state)
+{
+ return NULL;
+}
+
static game_ui *new_ui(game_state *state)
{
return NULL;
struct solid *poly;
/*
- * All moves are made with the cursor keys.
+ * All moves are made with the cursor keys or numeric keypad.
*/
- if (button == CURSOR_UP)
+ if (button == CURSOR_UP || button == (MOD_NUM_KEYPAD | '8'))
direction = UP;
- else if (button == CURSOR_DOWN)
+ else if (button == CURSOR_DOWN || button == (MOD_NUM_KEYPAD | '2'))
direction = DOWN;
- else if (button == CURSOR_LEFT)
+ else if (button == CURSOR_LEFT || button == (MOD_NUM_KEYPAD | '4'))
direction = LEFT;
- else if (button == CURSOR_RIGHT)
+ else if (button == CURSOR_RIGHT || button == (MOD_NUM_KEYPAD | '6'))
direction = RIGHT;
- else if (button == CURSOR_UP_LEFT)
+ else if (button == (MOD_NUM_KEYPAD | '7'))
direction = UP_LEFT;
- else if (button == CURSOR_DOWN_LEFT)
+ else if (button == (MOD_NUM_KEYPAD | '1'))
direction = DOWN_LEFT;
- else if (button == CURSOR_UP_RIGHT)
+ else if (button == (MOD_NUM_KEYPAD | '9'))
direction = UP_RIGHT;
- else if (button == CURSOR_DOWN_RIGHT)
+ else if (button == (MOD_NUM_KEYPAD | '3'))
direction = DOWN_RIGHT;
else
return NULL;
TRUE, game_configure, custom_params,
validate_params,
new_game_seed,
+ game_free_aux_info,
validate_seed,
new_game,
dup_game,
free_game,
+ FALSE, solve_game,
+ FALSE, game_text_format,
new_ui,
free_ui,
make_move,