X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=src%2Fserver%2Fyx_uint16.c;h=e64e98fa44b97139543aef44ce260acbf4bf59e2;hb=e03020342a74aef143b1ec38c18966dac64181b5;hp=d79300008bf98d33f43827ff860340adfb1e7a33;hpb=dd9d65ee727ac7e95801da0f8b5bae7009811802;p=plomrogue diff --git a/src/server/yx_uint16.c b/src/server/yx_uint16.c index d793000..e64e98f 100644 --- a/src/server/yx_uint16.c +++ b/src/server/yx_uint16.c @@ -19,20 +19,40 @@ extern uint8_t yx_uint16_cmp(struct yx_uint16 * a, struct yx_uint16 * b) extern struct yx_uint16 mv_yx_in_dir(char d, struct yx_uint16 yx) { - if (d == 'N' && yx.y > 0) + if (d == '8' && yx.y > 0) { yx.y--; } - else if (d == 'E' && yx.x < UINT16_MAX) + else if (d == '9' && yx.y > 0 && yx.x < UINT16_MAX) { + yx.y--; + yx.x++; + } + else if (d == '6' && yx.x < UINT16_MAX) + { + yx.x++; + } + else if (d == '3' && yx.x < UINT16_MAX && yx.y < UINT16_MAX) + { + yx.y++; yx.x++; } - else if (d == 'S' && yx.y < UINT16_MAX) + else if (d == '2' && yx.y < UINT16_MAX) { yx.y++; } - else if (d == 'W' && yx.x > 0) + else if (d == '1' && yx.y < UINT16_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;