summaryrefslogtreecommitdiff
path: root/include/coordinate.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/coordinate.h')
-rw-r--r--include/coordinate.h42
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
nihil fit ex nihilo