back to scratko.xyz
aboutsummaryrefslogtreecommitdiff
path: root/field.h
diff options
context:
space:
mode:
Diffstat (limited to 'field.h')
-rw-r--r--field.h23
1 files changed, 15 insertions, 8 deletions
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