unnamed-platformer/src/collide.c

16 lines
779 B
C
Raw Normal View History

2020-02-12 10:47:12 +01:00
#define PLAYER_SIDES 5
#define LEVEL_WIDTH 28
2020-02-11 11:44:37 +01:00
2020-02-11 13:55:57 +01:00
char collide(int x, int y, char level[], char tile)
2020-02-11 11:44:37 +01:00
{
2020-02-11 13:55:57 +01:00
if ((level[(int)(x/8) + (int)(y/8) * LEVEL_WIDTH] == tile) ||
(level[(int)(x/8) + (int)((y+PLAYER_SIDES)/8) * LEVEL_WIDTH] == tile) ||
(level[(int)((x+PLAYER_SIDES)/8) + (int)((y+PLAYER_SIDES)/8) * LEVEL_WIDTH] == tile) ||
(level[(int)((x+PLAYER_SIDES)/8) + (int)(y/8) * LEVEL_WIDTH] == tile) ||
(level[(int)(x/8) + (int)((y+PLAYER_SIDES/2)/8) * LEVEL_WIDTH] == tile) ||
(level[(int)((x+PLAYER_SIDES/2)/8) + (int)(y/8) * LEVEL_WIDTH] == tile) ||
(level[(int)((x+PLAYER_SIDES/2)/8) + (int)((y+PLAYER_SIDES)/8) * LEVEL_WIDTH] == tile) ||
(level[(int)((x+PLAYER_SIDES)/8) + (int)((y+PLAYER_SIDES/2)/8) * LEVEL_WIDTH] == tile)) return 1;
return 0;
2020-02-11 11:44:37 +01:00
}