diff --git a/AST3.g3a b/AST3.g3a index bd9eb1d..3474d88 100644 Binary files a/AST3.g3a and b/AST3.g3a differ diff --git a/editor/levels/2.lvl b/editor/levels/2.lvl index b34d61f..f922b59 100644 --- a/editor/levels/2.lvl +++ b/editor/levels/2.lvl @@ -1 +1 @@ -111001111111100d0d0011111100000111ddd000d0d0000001100000000000000dtd00000e1111111ddd111111111111111100000000000000000l00d0000111111111dd111110100d000110001100000000010100d0001000011000000000d0d00d000000000l000000000d0d00d00001111dd111000000d0d00111111000011111ddd00d0d00111111000011111ddd00d0d001111110s0011111ddd00d0d0011111111001111111100d0d00111116 \ No newline at end of file +111001111111100d0d0011111100000111ddd000d0d0000001100000000000000dtd00000e1111111ddd111111111111111100000000000000000l00d0000111111111dd111110100d000110001100000000010100d0001000011000000000d0d00d00000000l0000000000d0d00d00001111dd111000000d0d00111111000011111ddd00d0d00111111000011111ddd00d0d001111110s0011111ddd00d0d0011111111001111111100d0d00111116 \ No newline at end of file diff --git a/editor/levels/4.lvl b/editor/levels/4.lvl new file mode 100644 index 0000000..b0ead9c --- /dev/null +++ b/editor/levels/4.lvl @@ -0,0 +1 @@ +1dddddd100111111111111111000000000011111000000000000000000l01100c00000000001aaaaaaa111100c00000000011dddddddddd1001aaaaaaaaa11cccccccccc1001ddddddddd1000000000001331000000aa000000000000s10e1k0000000001ccccccccc111111111113311100000000001001000000000110000000000100b0000000001100000000001t0b00000000011000K0000001111aaaaaaaaa1111111110011111ddddddddd16 \ No newline at end of file diff --git a/editor/levels/5.lvl b/editor/levels/5.lvl new file mode 100644 index 0000000..724cde1 --- /dev/null +++ b/editor/levels/5.lvl @@ -0,0 +1 @@ +11111111111111111111111111000000000000000000000001100000000000000000000000110ddd0ddd000d0d0d00000001100d0d0d0d0d0d0d0d0000001100d0d0d0d0d0d0ddd0000001100d0d0d0ddd0d0d0d00000011000000000000000000000001100000000000000000000000110000000000000000000000011000000000000000000000001100000000000000000000000110s0000000000000000000e0111111111111111111111111116 \ No newline at end of file diff --git a/include/define.h b/include/define.h index 1e7a938..003b806 100644 --- a/include/define.h +++ b/include/define.h @@ -1,3 +1,3 @@ -#define PLAYER_SPEED 3 +#define PLAYER_SPEED 2 #define PLAYER_HEIGHT 11 #define FPS 60 diff --git a/src/main.c b/src/main.c index ce4c468..d52e933 100644 --- a/src/main.c +++ b/src/main.c @@ -9,7 +9,7 @@ #include "collide.h" #include "define.h" -#define ACCELERATION 0.4 +#define ACCELERATION 0.2 #define MAX_VSPD 9.0 int callback(volatile int *frame_elapsed) @@ -53,10 +53,13 @@ int main(void) frame++; framelevel++; - draw_level(level); - if(blackout) draw_blackout(player_x, player_y); - draw_player(player_x,player_y); - draw_timer(frame); + if(!(frame%2)) + { + draw_level(level); + if(blackout) draw_blackout(player_x, player_y); + draw_player(player_x,player_y); + draw_timer(frame); + if(id_level==1) { dprint(85,180,C_RGB(245,245,0),"SHIFT"); @@ -65,21 +68,22 @@ int main(void) dprint(162,173,C_RGB(110,110,110),"sur certains blocs"); dprint(315,115,C_RGB(110,110,110),"Bravo !"); } - dprint(150,100,C_GREEN,"%d",player_x); - dprint(150,120,C_GREEN,"%d",player_y); - dprint_opt(340, 0, C_RGB(255,190,0), C_BLACK, DTEXT_LEFT, DTEXT_TOP, "Coin : %d", coin); - /*dprint(320,120,C_GREEN,"%d",collide_solid(player_x+1, player_y, level, gravity)); - dprint(320,140,C_GREEN,"%d",collide_solid(player_x-1, player_y, level, gravity)); - dprint(320,160,C_GREEN,"%d",collide_solid(player_x, player_y+1, level, gravity)); - dprint(320,180,C_GREEN,"%d",collide_solid(player_x, player_y-1, level, gravity));*/ - - /*dprint(300,100,C_GREEN,"%d",collide_dead(player_x, player_y, level)); - dprint(300,120,C_GREEN,"%c",level[(int)((player_x-1)/16)+(int)((player_y-1)/16*25)]); //top left - dprint(300,140,C_GREEN,"%c",level[(int)((player_x+PLAYER_HEIGHT+1)/16)+(int)((player_y-1)/16*25)]); //top right - dprint(300,160,C_GREEN,"%c",level[(int)((player_x-1)/16)+(int)((player_y+PLAYER_HEIGHT+1)/16*25)]); //bottom left - dprint(300,180,C_GREEN,"%c",level[(int)((player_x+PLAYER_HEIGHT+1)/16)+(int)((player_y+PLAYER_HEIGHT+1)/16*25)]); //bottom right*/ - - dupdate(); + dprint(150,100,C_GREEN,"%d",player_x); + dprint(150,120,C_GREEN,"%d",player_y); + dprint_opt(340, 0, C_RGB(255,190,0), C_BLACK, DTEXT_LEFT, DTEXT_TOP, "Coin : %d", coin); + /*dprint(320,120,C_GREEN,"%d",collide_solid(player_x+1, player_y, level, gravity)); + dprint(320,140,C_GREEN,"%d",collide_solid(player_x-1, player_y, level, gravity)); + dprint(320,160,C_GREEN,"%d",collide_solid(player_x, player_y+1, level, gravity)); + dprint(320,180,C_GREEN,"%d",collide_solid(player_x, player_y-1, level, gravity));*/ + + /*dprint(300,100,C_GREEN,"%d",collide_dead(player_x, player_y, level)); + dprint(300,120,C_GREEN,"%c",level[(int)((player_x-1)/16)+(int)((player_y-1)/16*25)]); //top left + dprint(300,140,C_GREEN,"%c",level[(int)((player_x+PLAYER_HEIGHT+1)/16)+(int)((player_y-1)/16*25)]); //top right + dprint(300,160,C_GREEN,"%c",level[(int)((player_x-1)/16)+(int)((player_y+PLAYER_HEIGHT+1)/16*25)]); //bottom left + dprint(300,180,C_GREEN,"%c",level[(int)((player_x+PLAYER_HEIGHT+1)/16)+(int)((player_y+PLAYER_HEIGHT+1)/16*25)]); //bottom right*/ + + dupdate(); + } pollevent(); if(keydown(KEY_RIGHT)) @@ -104,12 +108,18 @@ int main(void) else if(!keydown(KEY_SHIFT) && check) check=0; if(!gravity) { - if(!collide_solid(player_x, player_y+vert_spd, level, gravity)) + if(!collide_solid(player_x, player_y+vert_spd+1, level, gravity)) { if (vspd