uint16_t(* floodfill_explore_func_t)(maze_grid_t *p_grid, maze_navigator_state_t *p_navigator, maze_cardinal_direction_t direction)
This function pointer type is used to explore the maze. It is expected to return the walls that the r...
Definition: floodfill.h:34
void floodfill_init_maze_nowall(maze_grid_t *p_grid)
This function initialises a maze with no walls to perform the floodfill algorithm on.
Definition: floodfill.c:39
void(* floodfill_move_navigator_t)(maze_navigator_state_t *p_navigator, maze_cardinal_direction_t direction)
Moves the navigator/robot in the specified direction.
Definition: floodfill.h:46
void floodfill_map_maze(maze_grid_t *p_grid, const maze_grid_cell_t *p_end_node, maze_navigator_state_t *p_navigator, floodfill_explore_func_t p_explore_func, floodfill_move_navigator_t p_move_navigator)
Runs the floodfill algorithm to map out the maze.
Definition: floodfill.c:83
Header file for the maze data structure and public functions.
maze_cardinal_direction_t
This enum contains the possible directions.
Definition: maze.h:47
This struct contains the node information.
Definition: maze.h:91
This struct contains the maze grid information.
Definition: maze.h:113
This struct contains the state of a navigator in the maze.
Definition: maze.h:124