2024-12-12 10:32:25 -06:00

32 lines
744 B
C

#include <stdbool.h>
#include "cartesian.h"
bool cartesian_inside(int width, int height,
int x, int y)
{
return
x >= 0 &&
y >= 0 &&
x < width &&
y < height ;
}
const struct cartesian_neighbor cartesian_neighbor[4] = {
[CARTESIAN_RIGHT] = { 1, 0},
[CARTESIAN_LEFT ] = {-1, 0},
[CARTESIAN_DOWN ] = { 0, 1},
[CARTESIAN_UP ] = { 0, -1},
};
const struct cartesian_neighbor cartesian_diagonal_neighbor[8] = {
[CARTESIAN_RIGHT] = { 1, 0},
[CARTESIAN_LEFT ] = {-1, 0},
[CARTESIAN_DOWN ] = { 0, 1},
[CARTESIAN_UP ] = { 0, -1},
[CARTESIAN_RIGHTDOWN] = { 1, 1},
[CARTESIAN_RIGHTUP ] = { 1, -1},
[CARTESIAN_LEFTDOWN ] = {-1, 1},
[CARTESIAN_LEFTUP ] = {-1, -1},
};