From 2c2448cc94b8f17ac699814a75110411d57f3bea Mon Sep 17 00:00:00 2001 From: scratko Date: Sun, 7 Apr 2024 03:07:42 +0300 Subject: BFS, queue files Fixed remaining direction check for pacman (old version was commented out). Breadth First Search for red ghost. Changed switch style. --- field.h | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) (limited to 'field.h') diff --git a/field.h b/field.h index 42992aa..7ac53e8 100644 --- a/field.h +++ b/field.h @@ -1,6 +1,13 @@ #ifndef FIELD_H_SENTRY #define FIELD_H_SENTRY +enum { + field_width = 28, + field_height = 29, + door = '#', + block = '/' +}; + enum intersection_type { one_path = '1', two_paths = '2', @@ -8,13 +15,11 @@ enum intersection_type { direct_path }; -enum { - field_width = 29, - field_height = 29 +enum select_character { + ghost_char = '&', + pac_char = 'C' }; -enum select_character { ghost_char, pac_char }; - typedef char (*game_space)[field_width]; game_space get_new_field(); @@ -27,7 +32,7 @@ struct free_directions { void print_field(game_space field); -void display_character(int y, int x, int symbol); +void display_character(int y, int x, enum select_character symbol); struct ghost_type; void display_ghosts_on_field(struct ghost_type *red_ghost, @@ -35,12 +40,14 @@ void display_ghosts_on_field(struct ghost_type *red_ghost, struct ghost_type *blue_ghost, struct ghost_type *orange_ghost); -void clear_symbol(game_space field, int y, int x, +void eat_or_revert_symbol(game_space field, int y, int x, enum select_character character); -enum intersection_type get_intersection(const game_space field, +enum intersection_type get_intersection(const game_space field, struct ghost_type *ghost); struct free_directions find_free_directions(game_space field, int y, int x); +int is_obstacle(game_space field, int x, int y); + #endif -- cgit v1.2.3