home · contact · privacy
MAJOR re-write. Split plomrogue into a server and a client. Re-wrote large parts
[plomrogue] / src / server / yx_uint16.c
1 /* src/server/yx_uint16.c */
2
3 #include "yx_uint16.h"
4 #include <stdint.h> /* uint8_t, UINT16_MAX */
5 #include "../common/yx_uint16.h" /* yx_uint16 struct */
6
7
8
9 extern uint8_t yx_uint16_cmp(struct yx_uint16 * a, struct yx_uint16 * b)
10 {
11     if (a->y == b->y && a->x == b->x)
12     {
13         return 1;
14     }
15     return 0;
16 }
17
18
19
20 extern struct yx_uint16 mv_yx_in_dir(char d, struct yx_uint16 yx)
21 {
22     if      (d == 'N' && yx.y > 0)
23     {
24         yx.y--;
25     }
26     else if (d == 'E' && yx.x < UINT16_MAX)
27     {
28         yx.x++;
29     }
30     else if (d == 'S' && yx.y < UINT16_MAX)
31     {
32         yx.y++;
33     }
34     else if (d == 'W' && yx.x > 0)
35     {
36         yx.x--;
37     }
38     return yx;
39 }