diff options
Diffstat (limited to 'field.h')
-rw-r--r-- | field.h | 46 |
1 files changed, 46 insertions, 0 deletions
@@ -0,0 +1,46 @@ +#ifndef FIELD_H_SENTRY +#define FIELD_H_SENTRY + +enum intersection_type { + one_path = '1', + two_paths = '2', + three_paths = '3', + direct_path +}; + +enum { + field_width = 29, + field_height = 29 +}; + +enum select_character { ghost_char, pac_char }; + +typedef char (*game_space)[field_width]; +game_space get_new_field(); + +struct free_directions { + int left; + int right; + int up; + int down; +}; + +void print_field(game_space field); + +void display_character(int y, int x, int symbol); + +struct ghost_type; +void display_ghosts_on_field(struct ghost_type *red_ghost, + struct ghost_type *pink_ghost, + struct ghost_type *blue_ghost, + struct ghost_type *orange_ghost); + +void clear_symbol(game_space field, int y, int x, + enum select_character character); + +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); + +#endif |