diff --git a/AST3.g3a b/AST3.g3a index 124b84b..44d2158 100644 Binary files a/AST3.g3a and b/AST3.g3a differ diff --git a/editor/levels/10.lvl b/editor/levels/10.lvl new file mode 100644 index 0000000..5731a44 --- /dev/null +++ b/editor/levels/10.lvl @@ -0,0 +1 @@ +111111111133111111100011111111111133311111110K01111100000100111111111000111110s000101111111000000011111110K10111111d000000011111110K1011111a001BBBBB111100000101111d0a010000011110000010111a03011d0ddd1111001ddd011d0a0d11000001111000000010a30111100e00111100000k0130ad1111aaaaa1111dd000001031111111ddd1111111111111001111111aaa11111111111110011111110001116 \ No newline at end of file diff --git a/src/main.c b/src/main.c index b592609..9cb77de 100644 --- a/src/main.c +++ b/src/main.c @@ -334,7 +334,7 @@ void game(int *id_level, char mode) dclear(C_WHITE); float framefloat = framelevel; dprint_opt(198, 90, C_WHITE, C_BLACK, DTEXT_LEFT, DTEXT_TOP, "%d", framelevel); - dprint_opt(198, 112, C_WHITE, C_BLACK, DTEXT_LEFT, DTEXT_TOP, "%u.%02u",(framelevel)/FPS, (int)((framefloat)/FPS*100-framelevel/FPS*100)); + dprint_opt(198, 112, C_WHITE, C_BLACK, DTEXT_LEFT, DTEXT_TOP, "%.2j",(int)(framefloat/FPS*100)); check_medal(framelevel, *id_level); dupdate(); sleep_ms(5000); diff --git a/src/setlevel.c b/src/setlevel.c index 489a247..7fceae1 100644 --- a/src/setlevel.c +++ b/src/setlevel.c @@ -41,6 +41,9 @@ break; case 9: memcpy(level,"00000ddddddd100000000000011111111111111111110011111000000dd1111ddd0K10000b1100111000000100000100000110000100000010000010010011000k111dd101dd00d10000011000110000001000001BBBB011000100011dd1000001dddd01100010ddd1dd1d00dd1011001133310ddd1dd1BBBBB1t00001100000ddd1dd1000001ddd1111s0000ddd1dd10000011111111BBB111aaaaa110001111111100000000000e1000000000000",350); break; +case 10: +memcpy(level,"111111111133111111100011111111111133311111110K01111100000100111111111000111110s000101111111000000011111110K10111111d000000011111110K1011111a001BBBBB111100000101111d0a010000011110000010111a03011d0ddd1111001ddd011d0a0d11000001111000000010a30111100e00111100000k0130ad1111aaaaa1111dd000001031111111ddd1111111111111001111111aaa1111111111111001111111000111",350); +break; } set_gravity(id_level, gravity); unsigned int x = 0; @@ -86,6 +89,9 @@ break; case 9: *default_gravity = 0; break; +case 10: +*default_gravity = 0; +break; }} void del_level(char level[]) {memcpy(level,"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",350);} \ No newline at end of file diff --git a/src/times.c b/src/times.c index e301222..9d9e195 100644 --- a/src/times.c +++ b/src/times.c @@ -12,36 +12,8 @@ void check_medal(unsigned int frame_level, int id_level) { float time=1.0; float framefloat = frame_level; -switch(id_level) -{ - case 1: - time = 5.88; - break; - case 2: - time = 8.31; - break; - case 3: - time = 6.12; - break; - case 4: - time = 8.72; - break; - case 5: - time = 3.92; - break; - case 6: - time = 3.51; - break; - case 7: - time = 6.76; - break; - case 8: - time = 7.48; - break; - case 9: - time = 12.26; - break; -} +float level_time[] = {5.88,8.31,6.12,8.72,3.92,3.51,6.76,7.48,12.26,9.25}; +time = level_time[id_level-1]; if(frame_level/FPS < (unsigned int)time || (frame_level/FPS <= (unsigned int)time && (unsigned int)((framefloat)/FPS*100-frame_level/FPS*100) <= (unsigned int)((time)*100-(int)(time)*100))) dimage(380,8,&img_createur); @@ -57,44 +29,17 @@ void draw_time(int id_level) { dclear(C_WHITE); float time=1.0; -switch(id_level) -{ - case 1: - time = 5.88; - break; - case 2: - time = 8.31; - break; - case 3: - time = 6.12; - break; - case 4: - time = 8.72; - break; - case 5: - time = 3.92; - break; - case 6: - time = 3.51; - break; - case 7: - time = 6.76; - break; - case 8: - time = 7.48; - break; - case 9: - time = 12.26; - break; -} +float level_time[] = {5.88,8.31,6.12,8.72,3.92,3.51,6.76,7.48,12.26,9.25}; +time = level_time[id_level-1]; + dimage(160,90,&img_createur); -dprint(175,90,C_BLACK,"%d.%02d",(int)(time),(int)((time)*100-(int)(time)*100)); +dprint(175,90,C_BLACK,"%.2j",(int)(time*100)); dimage(160,110,&img_or); -dprint(175,110,C_BLACK,"%d.%02d",(int)(time*1.1),(int)((time*1.1)*100-(int)(time*1.1)*100)); +dprint(175,110,C_BLACK,"%.2j",(int)(time*1.1*100)); dimage(160,130,&img_argent); -dprint(175,130,C_BLACK,"%d.%02d",(int)(time*1.2),(int)((time*1.2)*100-(int)(time*1.2)*100)); +dprint(175,130,C_BLACK,"%.2j",(int)(time*1.2*100)); dimage(160,150,&img_bronze); -dprint(175,150,C_BLACK,"%d.%02d",(int)(time*1.5),(int)((time*1.5)*100-(int)(time*1.5)*100)); +dprint(175,150,C_BLACK,"%.2j",(int)(time*1.5*100)); dupdate(); getkey(); } \ No newline at end of file diff --git a/time.py b/time.py index c1b205a..89fb93c 100644 --- a/time.py +++ b/time.py @@ -1,6 +1,8 @@ f = open("times.lvl","r+") d = open("src/times.c","w") ids=f.readlines() +times=[] +for i in ids: times.append(i.rstrip()) d.write("#include \"times.h\"\n\ #include \"define.h\"\n\ @@ -14,13 +16,11 @@ void check_medal(unsigned int frame_level, int id_level)\n\ {\n\ float time=1.0;\n\ float framefloat = frame_level;\n\ -switch(id_level)\n\ -{\n") +float level_time[] = {") -for i in range(len(ids)): - if ids[i]!='\n': d.write(f" case {i+1}:\n time = {ids[i].rstrip()};\n break;\n") +d.write(f"{','.join(times)}") -d.write("}\n\n\ +d.write("};\ntime = level_time[id_level-1];\n\n\ if(frame_level/FPS < (unsigned int)time || (frame_level/FPS <= (unsigned int)time && \n\ (unsigned int)((framefloat)/FPS*100-frame_level/FPS*100) <= (unsigned int)((time)*100-(int)(time)*100))) dimage(380,8,&img_createur);\n\ if(frame_level/FPS < (unsigned int)(time*1.1) || (frame_level/FPS <= (unsigned int)(time*1.1) && \n\ @@ -35,21 +35,19 @@ void draw_time(int id_level)\n\ {\n\ dclear(C_WHITE);\n\ float time=1.0;\n\ -switch(id_level)\n\ -{\n") +float level_time[] = {") -for i in range(len(ids)): - if ids[i]!='\n': d.write(f" case {i+1}:\n time = {ids[i].rstrip()};\n break;\n") +d.write(f"{','.join(times)}") -d.write("}\n\ +d.write("};\ntime = level_time[id_level-1];\n\n\ dimage(160,90,&img_createur);\n\ -dprint(175,90,C_BLACK,\"%d.%02d\",(int)(time),(int)((time)*100-(int)(time)*100));\n\ +dprint(175,90,C_BLACK,\"%.2j\",(int)(time*100));\n\ dimage(160,110,&img_or);\n\ -dprint(175,110,C_BLACK,\"%d.%02d\",(int)(time*1.1),(int)((time*1.1)*100-(int)(time*1.1)*100));\n\ +dprint(175,110,C_BLACK,\"%.2j\",(int)(time*1.1*100));\n\ dimage(160,130,&img_argent); \n\ -dprint(175,130,C_BLACK,\"%d.%02d\",(int)(time*1.2),(int)((time*1.2)*100-(int)(time*1.2)*100));\n\ +dprint(175,130,C_BLACK,\"%.2j\",(int)(time*1.2*100));\n\ dimage(160,150,&img_bronze); \n\ -dprint(175,150,C_BLACK,\"%d.%02d\",(int)(time*1.5),(int)((time*1.5)*100-(int)(time*1.5)*100));\n\ +dprint(175,150,C_BLACK,\"%.2j\",(int)(time*1.5*100));\n\ dupdate();\n\ getkey();\n\ }") \ No newline at end of file diff --git a/times.lvl b/times.lvl index 4c32932..896df84 100644 --- a/times.lvl +++ b/times.lvl @@ -7,3 +7,4 @@ 6.76 7.48 12.26 +9.25 \ No newline at end of file