X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=src%2Fyx_uint16.c;h=c980693b998bf3156ea70e1f3f5a8df8fc36402b;hb=89c4ab4e0d6d7bb9d51d6714afae52603b465fc0;hp=afcab4db7a17d064a1faa36890576845bbd572b3;hpb=64e1bc2a874308530b7b45c33ed5d37f34f5f8be;p=plomrogue diff --git a/src/yx_uint16.c b/src/yx_uint16.c index afcab4d..c980693 100644 --- a/src/yx_uint16.c +++ b/src/yx_uint16.c @@ -1,8 +1,38 @@ -#include "stdint.h" +/* yx_uint16.c */ + #include "yx_uint16.h" +#include /* for uint8_t, uint16_t */ + + + +extern uint8_t yx_uint16_cmp(struct yx_uint16 * a, struct yx_uint16 * b) +{ + if (a->y == b->y && a->x == b->x) + { + return 1; + } + return 0; +} + -extern char yx_uint16_cmp (struct yx_uint16 a, struct yx_uint16 b) { -// Compare two coordinates of type yx_uint16. - if (a.y == b.y && a.x == b.x) return 1; - else return 0; } +extern struct yx_uint16 mv_yx_in_dir(char d, struct yx_uint16 yx) +{ + if (d == 'N' && yx.y > 0) + { + yx.y--; + } + else if (d == 'E' && yx.x < UINT16_MAX) + { + yx.x++; + } + else if (d == 'S' && yx.y < UINT16_MAX) + { + yx.y++; + } + else if (d == 'W' && yx.x > 0) + { + yx.x--; + } + return yx; +}