diff options
Diffstat (limited to 'include/coordinate.h')
-rw-r--r-- | include/coordinate.h | 42 |
1 files changed, 39 insertions, 3 deletions
diff --git a/include/coordinate.h b/include/coordinate.h index 52e7cf0..bc63122 100644 --- a/include/coordinate.h +++ b/include/coordinate.h @@ -4,9 +4,45 @@ #include "types.h" /* - * This functions will NOT alloc memory for the Coord pointer + * Does not check if s is a valid string representing. If input is + * untrusted, use coord_is_valid(char*) to check it. */ -int coord_init(Coord*, char, char); -int coord_init_from_str(Coord*, char*); + +Coord coord_init(char*); + +/* + * Returns 0 if c is the null coordinate + */ +int coord_is_null(Coord); + +/* + * Returns 0 if the coordinate is between a1 and h8. + */ +int coord_is_valid(char*); + +/* + * Returns the null Coordinate + */ +Coord coord_null(); + +/* + * Set Coord column + */ +Coord coord_set_col(Coord c, char col); + +/* + * Set Coord row + */ +Coord coord_set_row(Coord c, char row); + +/* + * Returns the next coordinate. Useful for traversing the board forwards. + */ +Coord coord_next(Coord); + +/* + * Returns the previous coordinate. Useful for traversing the board backwards. + */ +Coord coord_prev(Coord); #endif |