fully functionnal collisions :E
This commit is contained in:
parent
d750bf2d8c
commit
378eee0ba1
13
src/main.c
13
src/main.c
|
@ -3,10 +3,11 @@
|
|||
#include "main.h"
|
||||
|
||||
int collide(int x, int y, int level[16][16]) {
|
||||
// Check if there's something in the square (x + 1, y + 1, x + 11, y + 11)
|
||||
if(!level[x / 12][y / 12]
|
||||
&& !level[(x + 12) / 12][y / 12]
|
||||
&& !level[x / 12][(y + 12) / 12]
|
||||
&& !level[(x + 12) / 12][(y + 12) / 12]) {
|
||||
&& !level[(x + 11) / 12][y / 12]
|
||||
&& !level[x / 12][(y + 11) / 12]
|
||||
&& !level[(x + 11) / 12][(y + 11) / 12]) {
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
|
@ -34,8 +35,8 @@ int main(void)
|
|||
dimage(player_x, player_y, &img_player);
|
||||
|
||||
// drawing the level
|
||||
for(int m = 0; m < 16; ++m){
|
||||
for(int n = 0; n < 16; ++n){
|
||||
for(int m = 0; m < 16; ++m) {
|
||||
for(int n = 0; n < 16; ++n) {
|
||||
if(level[m][n]) {
|
||||
dimage(m * 12, n * 12, &img_wall);
|
||||
}
|
||||
|
@ -55,7 +56,7 @@ int main(void)
|
|||
if(!collide(player_x, player_y + mov_y, level)) {
|
||||
player_y += mov_y;
|
||||
}
|
||||
|
||||
|
||||
if(keydown(KEY_EXIT)) {running = 0;}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue