From: Christian Heller Date: Wed, 26 Jun 2013 23:10:46 +0000 (+0200) Subject: Moved more stuff into yx_uint16 library. X-Git-Tag: tce~1191 X-Git-Url: https://plomlompom.com/repos/%7B%7Bprefix%7D%7D/copy_free?a=commitdiff_plain;h=f07cfd3448cb75abc1ae6fbfc9a946b8c4b91f5d;p=plomrogue Moved more stuff into yx_uint16 library. --- diff --git a/src/roguelike.c b/src/roguelike.c index 833b64b..2186348 100644 --- a/src/roguelike.c +++ b/src/roguelike.c @@ -10,11 +10,6 @@ #include "keybindings.h" #include "readwrite.h" -#define NORTH 1 -#define EAST 2 -#define SOUTH 3 -#define WEST 4 - uint16_t rrand(char use_seed, uint32_t new_seed) { // Pseudo-random number generator (LGC algorithm). Use instead of rand() to ensure portable predictability. static uint32_t seed; @@ -105,14 +100,6 @@ char is_passable (struct Map * map, uint16_t y, uint16_t x) { passable = 1; return passable; } -struct yx_uint16 mv_yx_in_dir (char d, struct yx_uint16 yx) { -// Return yx coordinates one step to the direction d of yx. - if (d == NORTH) yx.y--; - else if (d == EAST) yx.x++; - else if (d == SOUTH) yx.y++; - else if (d == WEST) yx.x--; - return yx; } - void move_monster (struct World * world, struct Monster * monster) { // Move monster in random direction, trigger fighting when hindered by player/monster. char d = rrand(0, 0) % 5; diff --git a/src/roguelike.h b/src/roguelike.h index 357a4c8..6ddc826 100644 --- a/src/roguelike.h +++ b/src/roguelike.h @@ -35,7 +35,6 @@ void turn_over (struct World *, char); void save_game(struct World *); char is_passable (struct Map *, uint16_t, uint16_t); -struct yx_uint16 mv_yx_in_dir (char, struct yx_uint16); void move_monster (struct World *, struct Monster *); void move_player (struct World *, char); void player_wait(struct World *); diff --git a/src/yx_uint16.c b/src/yx_uint16.c index afcab4d..0d607cb 100644 --- a/src/yx_uint16.c +++ b/src/yx_uint16.c @@ -6,3 +6,11 @@ extern char yx_uint16_cmp (struct yx_uint16 a, struct yx_uint16 b) { 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) { +// Return yx coordinates one step to the direction d of yx. + if (d == NORTH) yx.y--; + else if (d == EAST) yx.x++; + else if (d == SOUTH) yx.y++; + else if (d == WEST) yx.x--; + return yx; } + diff --git a/src/yx_uint16.h b/src/yx_uint16.h index a870761..70fc39d 100644 --- a/src/yx_uint16.h +++ b/src/yx_uint16.h @@ -1,10 +1,16 @@ #ifndef YX_UINT16_H #define YX_UINT16_H +#define NORTH 1 +#define EAST 2 +#define SOUTH 3 +#define WEST 4 + struct yx_uint16 { uint16_t y; uint16_t x; }; extern char yx_uint16_cmp (struct yx_uint16, struct yx_uint16); +struct yx_uint16 mv_yx_in_dir (char, struct yx_uint16); #endif