fully functionnal collisions :E

This commit is contained in:
Masséna Fezard | Nounouille 2021-03-08 17:08:05 +01:00
parent d750bf2d8c
commit 378eee0ba1
1 changed files with 7 additions and 6 deletions

View File

@ -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;}
}