diff options
Diffstat (limited to 'physics.c')
| -rw-r--r-- | physics.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/physics.c b/physics.c new file mode 100644 index 0000000..f8d785b --- /dev/null +++ b/physics.c @@ -0,0 +1,20 @@ +#include "dat.h" + +int +checkcollision(Body *a, Body *b) +{ + float p[2], s[2], minx, miny, maxx, maxy; + + for(int i = 0; i < 2; i++) { + s[i] = a->size[i] + b->size[i]; + p[i] = a->pos[i] - b->pos[i]; + } + + minx = p[0] - s[0]; + maxx = p[0] + s[0]; + miny = p[1] - s[1]; + maxy = p[1] + s[1]; + + return minx < 0 && maxx > 0 && miny < 0 && maxy > 0; +} + |
