X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=src%2Fserver%2Fyx_uint8.c;fp=src%2Fserver%2Fyx_uint8.c;h=06fa81db7707cf9240280d328a3a4afc4317d684;hb=f9c94db47aa883149aa762fa128ac1ff1b3f92e1;hp=0000000000000000000000000000000000000000;hpb=e03020342a74aef143b1ec38c18966dac64181b5;p=plomrogue diff --git a/src/server/yx_uint8.c b/src/server/yx_uint8.c new file mode 100644 index 0000000..06fa81d --- /dev/null +++ b/src/server/yx_uint8.c @@ -0,0 +1,59 @@ +/* src/server/yx_uint8.c */ + +#include "yx_uint8.h" +#include /* uint8_t, UINT8_MAX */ +#include "../common/yx_uint8.h" /* yx_uint8 struct */ + + + +extern uint8_t yx_uint8_cmp(struct yx_uint8 * a, struct yx_uint8 * b) +{ + if (a->y == b->y && a->x == b->x) + { + return 1; + } + return 0; +} + + + +extern struct yx_uint8 mv_yx_in_dir(char d, struct yx_uint8 yx) +{ + if (d == '8' && yx.y > 0) + { + yx.y--; + } + else if (d == '9' && yx.y > 0 && yx.x < UINT8_MAX) + { + yx.y--; + yx.x++; + } + else if (d == '6' && yx.x < UINT8_MAX) + { + yx.x++; + } + else if (d == '3' && yx.x < UINT8_MAX && yx.y < UINT8_MAX) + { + yx.y++; + yx.x++; + } + else if (d == '2' && yx.y < UINT8_MAX) + { + yx.y++; + } + else if (d == '1' && yx.y < UINT8_MAX && yx.x > 0) + { + yx.y++; + yx.x--; + } + else if (d == '4' && yx.x > 0) + { + yx.x--; + } + else if (d == '7' && yx.x > 0 && yx.y > 0) + { + yx.y--; + yx.x--; + } + return yx; +}