update temps + précis, facilité changement temps

This commit is contained in:
Tituya 2020-08-14 20:48:32 +02:00
parent e43151aa29
commit c0a0df5d25
6 changed files with 155 additions and 114 deletions

BIN
AST3.g3a

Binary file not shown.

View File

@ -2,6 +2,11 @@
echo "making setlevel.c from editor"
rm src/setlevel.c
python compile_level.py
echo "done"
echo "making times.c from times.lvl"
rm src/times.c
python time.py
echo "done"
echo "building for cg"
fxsdk build-cg
echo "done"

View File

@ -332,7 +332,9 @@ void game(int *id_level, char mode)
if(game_loop)
{
dclear(C_WHITE);
dprint_opt(198, 112, C_WHITE, C_BLACK, DTEXT_LEFT, DTEXT_TOP, "%u.%02u",(framelevel)/FPS, (framelevel)%FPS);
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));
check_medal(framelevel, *id_level);
dupdate();
sleep_ms(5000);

View File

@ -1,7 +1,6 @@
#include "times.h"
#include "define.h"
#include <gint/display.h>
#include <gint/clock.h>
#include <gint/keyboard.h>
extern bopti_image_t img_bronze;
@ -11,120 +10,91 @@ extern bopti_image_t img_createur;
void check_medal(unsigned int frame_level, int id_level)
{
int time=1, time2=1;
switch(id_level)
{
case 1:
time = 5;
time2 = 60;
break;
case 2:
time = 8;
time2 = 13;
break;
case 3:
time = 6;
time2 = 12;
break;
case 4:
time = 8;
time2 = 57;
break;
case 5:
time = 4;
time2 = 15;
break;
case 6:
time = 3;
time2 = 62;
break;
case 7:
time = 8;
time2 = 25;
break;
case 8:
time = 7;
time2 = 62;
break;
case 9:
time = 12;
time2 = 26;
break;
}
if(frame_level/FPS < (unsigned int)time || (frame_level/FPS <= (unsigned int)time && frame_level%FPS <= (unsigned int)time2)) dimage(380,8,&img_createur);
if(time2*2.5>=100)
{
if(frame_level/FPS < (unsigned int)(time*1.05+0.5+1) || (frame_level/FPS <= (unsigned int)(time*1.05+0.5+1) && frame_level%FPS <= (unsigned int)(time2*2.5+0.5-100))) dimage(360,8,&img_or);
}
else if(frame_level/FPS < (unsigned int)(time*1.05+0.5) || (frame_level/FPS <= (unsigned int)(time*1.05+0.5) && frame_level%FPS <= (unsigned int)(time2*2.5+0.5))) dimage(360,8,&img_or);
if(time2*1.2>=100)
{
if(frame_level/FPS < (unsigned int)(time*1.2+0.5)+1 || (frame_level/FPS <= (unsigned int)(time*1.2+0.5)+1 && frame_level%FPS <= (unsigned int)(time2*1.2+0.5)-100)) dimage(340,8,&img_argent);
}
else if(frame_level/FPS < (unsigned int)(time*1.2+0.5) || (frame_level/FPS <= (unsigned int)(time*1.2+0.5) && frame_level%FPS <= (unsigned int)(time2*1.2+0.5))) dimage(340,8,&img_argent);
if(time2*1.5>=100)
{
if(frame_level/FPS < (unsigned int)(time*1.5+0.5)+1 || (frame_level/FPS <= (unsigned int)(time*1.5+0.5)+1 && frame_level%FPS <= (unsigned int)(time2*1.5+0.5)-100)) dimage(320,8,&img_bronze);
}
else if(frame_level/FPS < (unsigned int)(time*1.5+0.5) || (frame_level/FPS <= (unsigned int)(time*1.5+0.5) && frame_level%FPS <= (unsigned int)(time2*1.5+0.5))) dimage(320,8,&img_bronze);
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;
}
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);
if(frame_level/FPS < (unsigned int)(time*1.1) || (frame_level/FPS <= (unsigned int)(time*1.1) &&
(unsigned int)((framefloat)/FPS*100-frame_level/FPS*100) <= (unsigned int)((time*1.1)*100-(int)(time*1.1)*100))) dimage(360,8,&img_or);
if(frame_level/FPS < (unsigned int)(time*1.2) || (frame_level/FPS <= (unsigned int)(time*1.2) &&
(unsigned int)((framefloat)/FPS*100-frame_level/FPS*100) <= (unsigned int)((time*1.2)*100-(int)(time*1.2)*100))) dimage(340,8,&img_argent);
if(frame_level/FPS < (unsigned int)(time*1.5) || (frame_level/FPS <= (unsigned int)(time*1.5) &&
(unsigned int)((framefloat)/FPS*100-frame_level/FPS*100) <= (unsigned int)((time*1.1)*100-(int)(time*1.1)*100))) dimage(320,8,&img_bronze);
}
void draw_time(int id_level)
{
dclear(C_WHITE);
int time=1, time2=1;
switch(id_level)
{
case 1:
time = 5;
time2 = 60;
break;
case 2:
time = 8;
time2 = 13;
break;
case 3:
time = 6;
time2 = 12;
break;
case 4:
time = 8;
time2 = 57;
break;
case 5:
time = 4;
time2 = 15;
break;
case 6:
time = 3;
time2 = 62;
break;
case 7:
time = 8;
time2 = 25;
break;
case 8:
time = 7;
time2 = 62;
break;
case 9:
time = 12;
time2 = 26;
break;
}
dimage(160,90,&img_createur);
dprint(175,90,C_BLACK,"%d.%02d",time,time2);
dimage(160,110,&img_or);
if(time2*2.5>=100) dprint(175,110,C_BLACK,"%d.%02d",(int)(time*1.05+0.5)+1, (int)(time2*2.5+0.5)-100);
else dprint(175,110,C_BLACK,"%d.%02d",(int)(time*1.05+0.5), (int)(time2*2.5+0.5));
dimage(160,130,&img_argent);
if(time2*1.2>=100) dprint(175,110,C_BLACK,"%d.%02d",(int)(time*1.05+0.5)+1, (int)(time2*1.2+0.5)-100);
else dprint(175,130,C_BLACK,"%d.%02d",(int)(time*1.2+0.5), (int)(time2*1.2+0.5));
dimage(160,150,&img_bronze);
if(time2*1.5>=100) dprint(175,110,C_BLACK,"%d.%02d",(int)(time*1.05+0.5)+1, (int)(time2*1.5+0.5)-100);
else dprint(175,150,C_BLACK,"%d.%02d",(int)(time*1.5+0.5), (int)(time2*1.5+0.5));
dupdate();
getkey();
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;
}
dimage(160,90,&img_createur);
dprint(175,90,C_BLACK,"%d.%02d",(int)(time),(int)((time)*100-(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));
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));
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));
dupdate();
getkey();
}

55
time.py Normal file
View File

@ -0,0 +1,55 @@
f = open("times.lvl","r+")
d = open("src/times.c","w")
ids=f.readlines()
d.write("#include \"times.h\"\n\
#include \"define.h\"\n\
#include <gint/display.h>\n\
#include <gint/keyboard.h>\n\n\
extern bopti_image_t img_bronze;\n\
extern bopti_image_t img_argent;\n\
extern bopti_image_t img_or;\n\
extern bopti_image_t img_createur;\n\n\
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")
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("}\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\
(unsigned int)((framefloat)/FPS*100-frame_level/FPS*100) <= (unsigned int)((time*1.1)*100-(int)(time*1.1)*100))) dimage(360,8,&img_or);\n\
if(frame_level/FPS < (unsigned int)(time*1.2) || (frame_level/FPS <= (unsigned int)(time*1.2) && \n\
(unsigned int)((framefloat)/FPS*100-frame_level/FPS*100) <= (unsigned int)((time*1.2)*100-(int)(time*1.2)*100))) dimage(340,8,&img_argent);\n\
if(frame_level/FPS < (unsigned int)(time*1.5) || (frame_level/FPS <= (unsigned int)(time*1.5) && \n\
(unsigned int)((framefloat)/FPS*100-frame_level/FPS*100) <= (unsigned int)((time*1.1)*100-(int)(time*1.1)*100))) dimage(320,8,&img_bronze);\n\
}\n\
\n\
void draw_time(int id_level)\n\
{\n\
dclear(C_WHITE);\n\
float time=1.0;\n\
switch(id_level)\n\
{\n")
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("}\n\
dimage(160,90,&img_createur);\n\
dprint(175,90,C_BLACK,\"%d.%02d\",(int)(time),(int)((time)*100-(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\
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\
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\
dupdate();\n\
getkey();\n\
}")

9
times.lvl Normal file
View File

@ -0,0 +1,9 @@
5.88
8.31
6.12
8.72
3.92
3.51
6.76
7.48
12.26