diff --git a/AST3.g3a b/AST3.g3a index 78991f8..df5776a 100644 Binary files a/AST3.g3a and b/AST3.g3a differ diff --git a/editor/levels/0.lvl b/editor/levels/0.lvl index a014268..59e5d1a 100644 --- a/editor/levels/0.lvl +++ b/editor/levels/0.lvl @@ -1,4 +1,4 @@ -11100111111111111111111111l00000l01BB1BB1BB1BB1BB11000000001001001001001001100000000i0000010010010011b0t00000i0hhh00001001001111111000i00000000000100111111d000i000S00S0000000100000d000i00000000000000010000d000000000000000011110000d000030000a0c0m0000110000d000030000a0c0m0000110000d000030000a0c0m0000110s00d00k0300K0a0c0m00e0111100111111111111111111116 +111111111111111111111111100000000c300000000000100000000000c3000000k0K0l1000111ddd1111aaa111111111hh1111ddd1111aaa1ddddd00000110000001110001d000000000110s00001110001d000000000111111001110001d0011d1100110b01001110001d00e000000110S01001110001d000000000110001001110001d011111000100t01000m00001d000000000000001000m00001ddddd00000011111111111111111111111116 -7 -9 \ No newline at end of file +9 +13 \ No newline at end of file diff --git a/editor/levels/12.lvl b/editor/levels/12.lvl index bdc1a42..78b67ad 100644 --- a/editor/levels/12.lvl +++ b/editor/levels/12.lvl @@ -1 +1 @@ -111111111111111111111111110000ddd000010000000i0001100000t0000010000000i000110hhh111000010000000i000110000000000000000000i000110000000hhh000000000i000110000000000000000000i000110000S000S000S000S00i000110000000000000000000i0001100s0000000000000000i00011011100S000S000S000000001100000000000000000000000110000000000000000000000e111111111111111111111111116 \ No newline at end of file +1111111111010001dd11111110000001000013331001000000000000100t01000h0010000001111iB111111000h0013311111e00ik11d111000300300000d10ddi011d0010003003000s0d10aai01000010001hh1hh11111000i01h1h1100010010000011dd0i000000h00010010001a11aa01dd0dd110001001000h0110001dd1d1110S0100100010110000S0S0001ddd100h0001Kd100000S0S001111100h00011111111dddd10h00011111111116 \ No newline at end of file diff --git a/editor/levels/2.lvl b/editor/levels/2.lvl index 8d2fab9..04771e4 100644 --- a/editor/levels/2.lvl +++ b/editor/levels/2.lvl @@ -1,3 +1,3 @@ -10001011111011111111111111000101dd10001111dddd11110000101dd10001000000000001111101dd1aaa1000ccccddd110s00010013331000000000011dddd110010001mmmdd00000100000000010e010t0dd00000011111100011111d1dddddd1111k00000001d000111001111111111111101d00000000000111000010000100000000000000010K010000100011100000011110001000010001110000dd11110001011111011111111111117 -5 -9 \ No newline at end of file +1dddddd100111111111111111000000000011111000000000000000000l01100c00000000001aaaaaaa111100c00000000011dddddddddd1001aaaaaaaaa11cccccccccc1001ddddddddd10000000000d1331000000aa000000000000s10e1k0000000001ccccccccc111111111113311100000000011001000000000110000000001100b0000000001100000000011t0b00000000011000K0000011111aaaaaaaaa1111111110011111ddddddddd16 +12 +1 \ No newline at end of file diff --git a/editor/levels/4.lvl b/editor/levels/4.lvl index 04771e4..475527f 100644 --- a/editor/levels/4.lvl +++ b/editor/levels/4.lvl @@ -1,3 +1,3 @@ -1dddddd100111111111111111000000000011111000000000000000000l01100c00000000001aaaaaaa111100c00000000011dddddddddd1001aaaaaaaaa11cccccccccc1001ddddddddd10000000000d1331000000aa000000000000s10e1k0000000001ccccccccc111111111113311100000000011001000000000110000000001100b0000000001100000000011t0b00000000011000K0000011111aaaaaaaaa1111111110011111ddddddddd16 +11111111111011111dddd1111100001dd0000dd100000000011s0001dd0d11dd10000000001111001dd0d111dd00111100011dd001dt0d10000001dd100011dd001d11d10000001dd100011dd00dd11110011111dd100011dd00000000001dddddd100011dd1111dbd1111ddd111100011ddddddd0dd1d1ddd100000011ddddddd0000d1ddd1e0000011ddddddd1110d1ddd111cccc11dddddddddd0d1ddd111dddd111111111111011111111111116 12 -1 \ No newline at end of file +13 \ No newline at end of file diff --git a/editor/levels/6.lvl b/editor/levels/6.lvl index 475527f..8d2fab9 100644 --- a/editor/levels/6.lvl +++ b/editor/levels/6.lvl @@ -1,3 +1,3 @@ -11111111111011111dddd1111100001dd0000dd100000000011s0001dd0d11dd10000000001111001dd0d111dd00111100011dd001dt0d10000001dd100011dd001d11d10000001dd100011dd00dd11110011111dd100011dd00000000001dddddd100011dd1111dbd1111ddd111100011ddddddd0dd1d1ddd100000011ddddddd0000d1ddd1e0000011ddddddd1110d1ddd111cccc11dddddddddd0d1ddd111dddd111111111111011111111111116 -12 -13 \ No newline at end of file +10001011111011111111111111000101dd10001111dddd11110000101dd10001000000000001111101dd1aaa1000ccccddd110s00010013331000000000011dddd110010001mmmdd00000100000000010e010t0dd00000011111100011111d1dddddd1111k00000001d000111001111111111111101d00000000000111000010000100000000000000010K010000100011100000011110001000010001110000dd11110001011111011111111111117 +5 +9 \ No newline at end of file diff --git a/editor/levels/7.lvl b/editor/levels/7.lvl index f693875..afb1065 100644 --- a/editor/levels/7.lvl +++ b/editor/levels/7.lvl @@ -1 +1 @@ -111001111111100d0d0011111100000111ddd000d0d0000001100000000000000dtd00000e1111111ddd111111111111111100000000000000000000d0000111111111dd111110100d000110001100000000010100d0001000011000000000d0d00d0000000000000000000d0d00d00001111dd111000000dld00111111000011111ddd00d0d0011111d000011111ddd00d0d0011111d0s0011111ddd00d0d0011111111001111111100d0d00111116 +111001111111100d0d0011111100000111ddd000d0d0000001100000000000000dtd00000e1111111ddd111111111111111100000000000000000h00d0000111111111dd111110100d000110001100000000010100d0001000011000000000i0d00d0000000000000000000i0d00d00001111dd111000000ild00111111000011111ddd00i0d0011111d000011111ddd00i0d0011111d0s0011111ddd00i0d0011111111001111111100i0d00111116 diff --git a/include/collide.h b/include/collide.h index 6286a58..4444f13 100644 --- a/include/collide.h +++ b/include/collide.h @@ -3,3 +3,4 @@ char collide_solid(int x, int y, char level[]); char collide_dead(int x, int y, char level[]); char collide_point(int x, int y, char level[], char block); char collide_end(int x, int y, char level[]); +void collide_replace(int x, int y, char level[], char collide, char replace); diff --git a/src/collide.c b/src/collide.c index f0ad49c..a9fd2fc 100644 --- a/src/collide.c +++ b/src/collide.c @@ -29,7 +29,11 @@ char collide_dead(int x, int y, char level[]) return collide_point(x + DEAD_COLLISION, y + DEAD_COLLISION, level, 'd') || collide_point(x + PLAYER_HEIGHT - DEAD_COLLISION, y + DEAD_COLLISION, level, 'd') || collide_point(x + DEAD_COLLISION, y + PLAYER_HEIGHT - DEAD_COLLISION, level, 'd') || - collide_point(x + PLAYER_HEIGHT - DEAD_COLLISION, y + PLAYER_HEIGHT - DEAD_COLLISION, level, 'd'); + collide_point(x + PLAYER_HEIGHT - DEAD_COLLISION, y + PLAYER_HEIGHT - DEAD_COLLISION, level, 'd') || + collide_point(x + 1, y + 1, level, 'C') || + collide_point(x + PLAYER_HEIGHT - 1, y + 1, level, 'C') || + collide_point(x + 1, y + PLAYER_HEIGHT - 1, level, 'C') || + collide_point(x + PLAYER_HEIGHT - 1, y + PLAYER_HEIGHT - 1, level, 'C'); } char collide_point(int x, int y, char level[], char block) @@ -41,3 +45,23 @@ char collide_end(int x, int y, char level[]) { return collide(x, y, level, 'e'); } + +void collide_replace(int x, int y, char level[], char collide, char replace) +{ + if(collide_point(x, y, level, collide)) + { + level[((x)/16)+((y)/16)*25] = replace; + } + if(collide_point(x + PLAYER_HEIGHT, y, level, collide)) + { + level[((x + PLAYER_HEIGHT)/16)+((y)/16)*25] = replace; + } + if(collide_point(x, y + PLAYER_HEIGHT, level, collide)) + { + level[((x)/16)+((y + PLAYER_HEIGHT)/16)*25] = replace; + } + if(collide_point(x + PLAYER_HEIGHT, y + PLAYER_HEIGHT, level, collide)) + { + level[((x + PLAYER_HEIGHT)/16)+((y + PLAYER_HEIGHT)/16)*25] = replace; + } +} diff --git a/src/drawlevel.c b/src/drawlevel.c index 833c225..5cee78a 100644 --- a/src/drawlevel.c +++ b/src/drawlevel.c @@ -91,6 +91,9 @@ void draw_level(char level[]) case 'h': //void appear blocks dimage(x,y,&img_appear); break; + case 'y': //void appear blocks + dimage(x,y,&img_appear); + break; case 'H': //appear blocks dimage(x,y,&img_appearblock); break; diff --git a/src/main.c b/src/main.c index 8762ade..800a233 100644 --- a/src/main.c +++ b/src/main.c @@ -45,9 +45,11 @@ void game(int *id_level, char mode) char blackout = 0; int start_x; int start_y; + int death_count = 0; unsigned int coin = 0; char check_coin = 0; + char double_check = 1; int appear = 10; int disappear = 13; @@ -76,16 +78,16 @@ void game(int *id_level, char mode) if(!mode) draw_timer(frame); else draw_timer(framelevel); - if(*id_level==1 && !mode) + if(*id_level==0 && !mode) { dprint(85,180,C_RGB(245,245,0),"SHIFT"); - dprint(167,19,C_RGB(110,110,110),"Ne touchez pas ces blocs !"); - dprint(162,160,C_RGB(110,110,110),"Les clefs agissent"); - dprint(162,173,C_RGB(110,110,110),"sur certains blocs"); - dprint(315,115,C_RGB(110,110,110),"Bravo !"); + dprint(120,3,C_RGB(220,220,220),"Keys has effects on blocks"); + dprint(15,67,C_RGB(220,220,220),"Red blocks = death"); + dprint(30,211,C_RGB(220,220,220),"^ special blocks"); + dprint(290,131,C_RGB(110,110,110),"Well done !"); } //dprint(150,100,C_GREEN,"%d",player_x); - //dprint(150,120,C_GREEN,"%d",player_y); + //dprint(150,120,C_GREEN,"%d",double_check); if(!mode) 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)); dprint(320,140,C_GREEN,"%d",collide_solid(player_x-1, player_y, level)); @@ -102,6 +104,11 @@ void game(int *id_level, char mode) pollevent(); + if(keydown(KEY_OPTN)) + { + level[((player_x+6)/16)+((player_y+6)/16)*25] = 'd'; + death_count--; + } //Right collision if(keydown(KEY_RIGHT)) { @@ -177,28 +184,27 @@ void game(int *id_level, char mode) if(collide_dead(player_x, player_y, level)) { vspd = 1; - //hspd = 2.0; player_x = start_x; player_y = start_y; if(check_coin) coin--; check_coin = 0; set_level(*id_level, level, &start_x, &start_y, &gravity, &appear, &disappear); blackout = 0; + death_count++; + double_check = 1; framelevel = 0; } //Collide with the end if(collide_end(player_x, player_y, level)) { - if(!mode) *id_level+=1; - if(mode) - { - break; - } + if(!mode && *id_level !=0) *id_level+=1; + else break; check_coin = 0; set_level(*id_level, level, &start_x, &start_y, &gravity, &appear, &disappear); player_x = start_x; player_y = start_y; blackout = 0; + double_check = 1; framelevel=0; } if(collide(player_x, player_y, level, 'k')) //Collide with key1 = disappearance of blocks @@ -293,17 +299,31 @@ void game(int *id_level, char mode) vspd=1.0; } - if((collide_point(player_x, player_y, level, 'h') || collide_point(player_x + PLAYER_HEIGHT, player_y, level, 'h')) && !gravity) //appear block + collide_replace(player_x, player_y, level, 'h', 'y'); //Appear block + if(!collide(player_x, player_y, level, 'y') && double_check) //Appear block { - if(level[((player_x)/16)+((player_y)/16)*25] == 'h') level[((player_x)/16)+((player_y)/16)*25] = 'H'; - if(level[((player_x+PLAYER_HEIGHT)/16)+((player_y)/16)*25] == 'h') level[((player_x+PLAYER_HEIGHT)/16)+((player_y)/16)*25] = 'H'; - player_y += 16; + for (int i = 0; level[i]!='\0' ; i++) + { + if(level[i]=='y') + { + double_check = 1; + break; + } + else if(level[i]=='h') + { + double_check = 1; + break; + } + else double_check = 0; //This loop is executed only when an h or y is on the level + } + for (int i = 0; level[i]!='\0'; ++i) + { + if(level[i]=='y') + { + level[i]='H'; + } } - else if((collide_point(player_x, player_y + PLAYER_HEIGHT, level, 'h') || collide_point(player_x + PLAYER_HEIGHT, player_y + PLAYER_HEIGHT, level, 'h')) && gravity) //appear block - { - if(level[((player_x)/16)+((player_y)/16)*25] == 'h') level[((player_x)/16)+((player_y)/16)*25] = 'H'; - if(level[((player_x+PLAYER_HEIGHT)/16)+((player_y)/16)*25] == 'h') level[((player_x+PLAYER_HEIGHT)/16)+((player_y)/16)*25] = 'H'; - player_y -= 16; + } if(level[((player_x+6)/16)+((player_y+6)/16)*25] == 'S') //Switch block { @@ -325,6 +345,7 @@ void game(int *id_level, char mode) char menu_loop = 1; char selected = 0; int Y_POS = 18; + char buffer = 1; while(menu_loop) { clearevents(); @@ -340,7 +361,8 @@ void game(int *id_level, char mode) else dtext(32, Y_POS + 12, C_BLACK, "SPEEDRUN MENU"); dtext(16, Y_POS + (selected * 12), C_BLACK, ">"); dprint(180, 45, C_RGB(83,255,0), "LEVEL : %d", *id_level); - dprint(320, 8, C_RGB(255,178,0), "COIN : %d", coin); + dprint(320, 3, C_RGB(255,178,0), "COIN : %d", coin); + dprint(311, 17, C_RGB(150,16,16), "DEATH : %d", death_count); dupdate(); if (keydown_any(KEY_SHIFT, KEY_EXE, 0)) { @@ -355,6 +377,16 @@ void game(int *id_level, char mode) break; } } + if(keydown_any(KEY_EXIT, KEY_MENU, 0)) + { + if(!buffer) + { + menu_loop = 0; + game_loop = 0; + break; + } + } + else buffer = 0; while (keydown_any(KEY_UP, KEY_DOWN, 0)) clearevents(); } } @@ -377,6 +409,7 @@ void game(int *id_level, char mode) if(!speed_menu(id_level)) { mode = 1; + death_count = 0; game(id_level, mode); } else main(); @@ -406,8 +439,8 @@ int main(void) } else if(valeur==2) { - dprint_opt(198, 90, C_WHITE, C_BLACK, DTEXT_LEFT, DTEXT_TOP, "CONTROLS"); - getkey(); + int id_level = 0; + game(&id_level, mode); } return 0; } diff --git a/src/menu.c b/src/menu.c index 9942e08..6e3f543 100644 --- a/src/menu.c +++ b/src/menu.c @@ -22,7 +22,7 @@ char start_menu() else if (selection == -1) selection = 3; dtext(32, Y_POS, C_BLACK, "PLAY"); dtext(32, Y_POS + 12, C_BLACK, "SPEEDRUN MODE"); - dtext(32, Y_POS + 24, C_BLACK, "CONTROL"); + dtext(32, Y_POS + 24, C_BLACK, "TUTORIAL"); dtext(32, Y_POS + 36, C_BLACK, "EXIT GAME"); dtext(16, Y_POS + (selection * 12), C_BLACK, ">"); dupdate(); @@ -45,7 +45,7 @@ char speed_menu(int *id_level) char gravity = 0; //0 down 1 up int start_x; int start_y; - + char buffer = 1; int appear = 10; int disappear = 13; @@ -86,7 +86,10 @@ char speed_menu(int *id_level) del_level(level); return 0; } - if(keydown_any(KEY_EXIT, KEY_MENU, 0)) return 1; + if(keydown_any(KEY_EXIT, KEY_MENU, 0)) { + if(!buffer) return 1; + } + else buffer = 0; while (keydown_any(KEY_RIGHT, KEY_LEFT, 0)) clearevents(); } return 0; diff --git a/src/setlevel.c b/src/setlevel.c index 359f9cd..ae9341f 100644 --- a/src/setlevel.c +++ b/src/setlevel.c @@ -2,25 +2,25 @@ #include void set_level(int id_level, char level[], int *startx, int *starty, char *gravity, int *appear, int *disappear){ switch(id_level){case 0: -memcpy(level,"11100111111111111111111111l00000l01BB1BB1BB1BB1BB11000000001001001001001001100000000i0000010010010011b0t00000i0hhh00001001001111111000i00000000000100111111d000i000S00S0000000100000d000i00000000000000010000d000000000000000011110000d000030000a0c0m0000110000d000030000a0c0m0000110000d000030000a0c0m0000110s00d00k0300K0a0c0m00e011110011111111111111111111",350); -*appear=7; -*disappear=9; +memcpy(level,"111111111111111111111111100000000c300000000000100000000000c3000000k0K0l1000111ddd1111aaa111111111hh1111ddd1111aaa1ddddd00000110000001110001d000000000110s00001110001d000000000111111001110001d0011d1100110b01001110001d00e000000110S01001110001d000000000110001001110001d011111000100t01000m00001d000000000000001000m00001ddddd0000001111111111111111111111111",350); +*appear=9; +*disappear=13; break; case 1: memcpy(level,"10011111111dddd1111111111000111100000000000000000000011110011111111ddd100001111111001dd000ddddd111111111111001dd0t0ddddddddd11000001001dd000ddddddddd11000001001aaaaaaaaaaaaaa110s00010010000000000000e11d1100100100000000000aaa11111001001000000000ddddd1111100100100000000011111100010000010000000003000000001000001000K0000030k0001001111111111111111111111",350); break; case 2: -memcpy(level,"10001011111011111111111111000101dd10001111dddd11110000101dd10001000000000001111101dd1aaa1000ccccddd110s00010013331000000000011dddd110010001mmmdd00000100000000010e010t0dd00000011111100011111d1dddddd1111k00000001d000111001111111111111101d00000000000111000010000100000000000000010K010000100011100000011110001000010001110000dd1111000101111101111111111111",350); -*appear=5; -*disappear=9; +memcpy(level,"1dddddd100111111111111111000000000011111000000000000000000l01100c00000000001aaaaaaa111100c00000000011dddddddddd1001aaaaaaaaa11cccccccccc1001ddddddddd10000000000d1331000000aa000000000000s10e1k0000000001ccccccccc111111111113311100000000011001000000000110000000001100b0000000001100000000011t0b00000000011000K0000011111aaaaaaaaa1111111110011111ddddddddd1",350); +*appear=12; +*disappear=1; break; case 3: memcpy(level,"11001111111001111111111111000111dddd000000000100013000111dddd00000000010003300000000dd11111000010e03100000000dd03a01000011111111110000dd03a01000000001100s1dd00ddt3a0100000000110001dd00dd1110100000000110001dd0Kdd00001ddd000ddd10001dd00dd00001111100ddd10001dd00dd00001000000ddd30001dd0000000010k000000330001dd0000000010000000031d00111111100111111111111",350); break; case 4: -memcpy(level,"1dddddd100111111111111111000000000011111000000000000000000l01100c00000000001aaaaaaa111100c00000000011dddddddddd1001aaaaaaaaa11cccccccccc1001ddddddddd10000000000d1331000000aa000000000000s10e1k0000000001ccccccccc111111111113311100000000011001000000000110000000001100b0000000001100000000011t0b00000000011000K0000011111aaaaaaaaa1111111110011111ddddddddd1",350); +memcpy(level,"11111111111011111dddd1111100001dd0000dd100000000011s0001dd0d11dd10000000001111001dd0d111dd00111100011dd001dt0d10000001dd100011dd001d11d10000001dd100011dd00dd11110011111dd100011dd00000000001dddddd100011dd1111dbd1111ddd111100011ddddddd0dd1d1ddd100000011ddddddd0000d1ddd1e0000011ddddddd1110d1ddd111cccc11dddddddddd0d1ddd111dddd11111111111101111111111111",350); *appear=12; -*disappear=1; +*disappear=13; break; case 5: memcpy(level,"000000000000000000000000000000000000000000000000t000000000000000000000000000011dd111111111111111110000100000100000010000001000011cc001s0000d00000001000010000e111dd0100000dd100001001111000d0000000dd100001000001000111d000ddd1000010000000000000000ddd1000011111111111d111B1111100000000000000000000000000000000000000000000000000000000000000000000000000000",350); @@ -28,12 +28,12 @@ memcpy(level,"000000000000000000000000000000000000000000000000t00000000000000000 *disappear=6; break; case 6: -memcpy(level,"11111111111011111dddd1111100001dd0000dd100000000011s0001dd0d11dd10000000001111001dd0d111dd00111100011dd001dt0d10000001dd100011dd001d11d10000001dd100011dd00dd11110011111dd100011dd00000000001dddddd100011dd1111dbd1111ddd111100011ddddddd0dd1d1ddd100000011ddddddd0000d1ddd1e0000011ddddddd1110d1ddd111cccc11dddddddddd0d1ddd111dddd11111111111101111111111111",350); -*appear=12; -*disappear=13; +memcpy(level,"10001011111011111111111111000101dd10001111dddd11110000101dd10001000000000001111101dd1aaa1000ccccddd110s00010013331000000000011dddd110010001mmmdd00000100000000010e010t0dd00000011111100011111d1dddddd1111k00000001d000111001111111111111101d00000000000111000010000100000000000000010K010000100011100000011110001000010001110000dd1111000101111101111111111111",350); +*appear=5; +*disappear=9; break; case 7: -memcpy(level,"111001111111100d0d0011111100000111ddd000d0d0000001100000000000000dtd00000e1111111ddd111111111111111100000000000000000000d0000111111111dd111110100d000110001100000000010100d0001000011000000000d0d00d0000000000000000000d0d00d00001111dd111000000dld00111111000011111ddd00d0d0011111d000011111ddd00d0d0011111d0s0011111ddd00d0d0011111111001111111100d0d00111116",350); +memcpy(level,"111001111111100d0d0011111100000111ddd000d0d0000001100000000000000dtd00000e1111111ddd111111111111111100000000000000000h00d0000111111111dd111110100d000110001100000000010100d0001000011000000000i0d00d0000000000000000000i0d00d00001111dd111000000ild00111111000011111ddd00i0d0011111d000011111ddd00i0d0011111d0s0011111ddd00i0d0011111111001111111100i0d00111116",350); break; case 8: memcpy(level,"dddddddddddddddddddddddddBBBBBBBBBBBBBBBBBBBBBBBBB100001kk10011111dt0a000011000010010010000d11a00001100001BB100100000000000013000000000010001110000000300000000001aaaaaa0000000111111000001000000001111110dd00000001000000001000110000000a001BBBd00a0100013000000000010001000010003300s000000010K0100001e003aaBBBBBBBBBBBBBBBBBBBaaaaddddddddddddddddddddddddd",350); @@ -48,7 +48,7 @@ case 11: memcpy(level,"1ddddddddddd11dddddddddd11dddddddddd00000dd3aaa11i1dd111100000000000030000i1dd000000000001110003000i1d000001111100K000003000i1d00000S00k0000000003aBB110s000100000ddd011103atl11111331ddddddddddddddd1111ddd001dddddddd11d0S0ddd11ddd00d1dd11d000300000dd11ddd000000000000300000dd11dddaaa00000000d3S00e0dd11dddddd00S0d111d3d000ddd11ddddddddddddddddddddddd1",350); break; case 12: -memcpy(level,"111111111111111111111111110000ddd000010000000i0001100000t0000010000000i000110hhh111000010000000i000110000000000000000000i000110000000hhh000000000i000110000000000000000000i000110000S000S000S000S00i000110000000000000000000i0001100s0000000000000000i00011011100S000S000S000000001100000000000000000000000110000000000000000000000e11111111111111111111111111",350); +memcpy(level,"1111111111010001dd11111110000001000013331001000000000000100t01000h0010000001111iB111111000h0013311111e00ik11d111000300300000d10ddi011d0010003003000s0d10aai01000010001hh1hh11111000i01h1h1100010010000011dd0i000000h00010010001a11aa01dd0dd110001001000h0110001dd1d1110S0100100010110000S0S0001ddd100h0001Kd100000S0S001111100h00011111111dddd10h0001111111111",350); break; } set_gravity(id_level, gravity); @@ -72,7 +72,7 @@ case 1: *default_gravity = 0; break; case 2: -*default_gravity = 1; +*default_gravity = 0; break; case 3: *default_gravity = 1; @@ -84,7 +84,7 @@ case 5: *default_gravity = 0; break; case 6: -*default_gravity = 0; +*default_gravity = 1; break; case 7: *default_gravity = 0; diff --git a/src/times.c b/src/times.c index 99974d7..c68193c 100644 --- a/src/times.c +++ b/src/times.c @@ -12,7 +12,7 @@ void check_medal(unsigned int frame_level, int id_level) { float time=1.0; float framefloat = frame_level; -float level_time[] = {5.81,8.38,5.89,8.68,3.84,3.58,6.81,7.48,10.46,9.25,6.48}; +float level_time[] = {5.81,8.38,5.89,8.68,3.84,3.58,6.81,7.48,10.46,9.25,6.48,11.94}; time = level_time[id_level-1]; if(frame_level/FPS < (unsigned int)time || (frame_level/FPS <= (unsigned int)time && @@ -29,7 +29,7 @@ void draw_time(int id_level) { dclear(C_WHITE); float time=1.0; -float level_time[] = {5.81,8.38,5.89,8.68,3.84,3.58,6.81,7.48,10.46,9.25,6.48}; +float level_time[] = {5.81,8.38,5.89,8.68,3.84,3.58,6.81,7.48,10.46,9.25,6.48,11.94}; time = level_time[id_level-1]; dimage(160,90,&img_createur); diff --git a/times.lvl b/times.lvl index 797977f..895efbf 100644 --- a/times.lvl +++ b/times.lvl @@ -8,4 +8,5 @@ 7.48 10.46 9.25 -6.48 \ No newline at end of file +6.48 +11.94