X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=src%2Fyx_uint16.c;h=c980693b998bf3156ea70e1f3f5a8df8fc36402b;hb=89c4ab4e0d6d7bb9d51d6714afae52603b465fc0;hp=2d7503ba904381c87136e1df8b3f288fdf0e622b;hpb=120715d0a4a308cdf748e1925be472ed6a59f092;p=plomrogue diff --git a/src/yx_uint16.c b/src/yx_uint16.c index 2d7503b..c980693 100644 --- a/src/yx_uint16.c +++ b/src/yx_uint16.c @@ -1,30 +1,38 @@ /* yx_uint16.c */ +#include "yx_uint16.h" +#include /* for uint8_t, uint16_t */ -#include "yx_uint16.h" /* for uint16_t */ - - -extern char yx_uint16_cmp(struct yx_uint16 a, struct yx_uint16 b) +extern uint8_t yx_uint16_cmp(struct yx_uint16 * a, struct yx_uint16 * b) { - if (a.y == b.y && a.x == b.x) + if (a->y == b->y && a->x == b->x) + { return 1; - else - return 0; + } + return 0; } -extern struct yx_uint16 mv_yx_in_dir(enum dir d, struct yx_uint16 yx) +extern struct yx_uint16 mv_yx_in_dir(char d, struct yx_uint16 yx) { - if (d == NORTH) + if (d == 'N' && yx.y > 0) + { yx.y--; - else if (d == EAST) + } + else if (d == 'E' && yx.x < UINT16_MAX) + { yx.x++; - else if (d == SOUTH) + } + else if (d == 'S' && yx.y < UINT16_MAX) + { yx.y++; - else if (d == WEST) + } + else if (d == 'W' && yx.x > 0) + { yx.x--; + } return yx; }