From c06c5df873205e15c52b74f70f149f6efa31da95 Mon Sep 17 00:00:00 2001 From: Tituya Date: Sun, 19 Jul 2020 18:00:08 +0200 Subject: [PATCH] update chrono block timer modifiable + modif editeur --- AST3.g3a | Bin 60488 -> 60264 bytes compile_level.py | 10 +++++--- editor/AST3generator.py | 49 +++++++++++++++++++++++++++-------- editor/levels/4.lvl | 4 ++- editor/levels/5.lvl | 1 - editor/setlevel.c | 55 ++++++++++++++++++++++++++++++++++++++++ include/define.h | 2 +- include/setlevel.h | 2 +- src/main.c | 15 ++++++----- src/setlevel.c | 12 +++------ 10 files changed, 118 insertions(+), 32 deletions(-) delete mode 100644 editor/levels/5.lvl create mode 100644 editor/setlevel.c diff --git a/AST3.g3a b/AST3.g3a index 3474d88a6e81f3afad35facc325c42f79ab53639..7e6bc0b1b4191bf8d8f9770de3f7e211036b5848 100644 GIT binary patch delta 4450 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 L-1ldM3&;NlTkp#d diff --git a/compile_level.py b/compile_level.py index 5a8edd4..d084d87 100644 --- a/compile_level.py +++ b/compile_level.py @@ -2,12 +2,16 @@ ids = 1 save = open("src/setlevel.c","w+") save.write("#include \"setlevel.h\"\n#include \nvoid set_level(int id_level, char level[], int *startx, \ -int *starty, char *gravity, char check_coin){\nswitch(id_level){") +int *starty, char *gravity, char check_coin, int *appear, int *disappear){\nswitch(id_level){") while 1: try: lv = open(f"editor/levels/{ids}.lvl","r") - ide = lv.read() - save.write(f"case {ids}:\nmemcpy(level,\"{ide[:-1]}\",350);\nbreak;\n") + ide = lv.readlines() + if len(ide)==1: save.write(f"case {ids}:\nmemcpy(level,\"{str(ide[0][:-1])}\",350);\nbreak;\n") + elif ide[1]!='\n': + save.write(f"case {ids}:\nmemcpy(level,\"{str(ide[0][:-2])}\",350);\n*appear={ide[1][:-1]};\n*disappear={ide[2]};\nbreak;\n") + else: + save.write(f"case {ids}:\nmemcpy(level,\"{str(ide[0][:-2])}\",350);\n*appear={ide[2][:-1]};\n*disappear={ide[3]};\nbreak;\n") ids+=1 except FileNotFoundError: lv.close() diff --git a/editor/AST3generator.py b/editor/AST3generator.py index 764b13b..1c4001d 100644 --- a/editor/AST3generator.py +++ b/editor/AST3generator.py @@ -30,9 +30,12 @@ def load(ids): global grille, gravityid try: lv = open(f"editor/levels/{ids}.lvl","r") - ide = lv.read() - gravityid=ide[350:] - ide = ide[:-1] + ide = lv.readlines() + gravityid=str(ide[0][350:]) + if len(ide)==1: + ide = str(ide[0][:-1]) + else: + ide = str(ide[0][:-2]) grille=[] for j in range(14): grille.append([]) @@ -47,6 +50,8 @@ def place(): level = font.render(str(id_level),1,(0,0,0)) if int(gravityid)==6: levelgr = font.render("↓",1,(120,0,0)) if int(gravityid)==7: levelgr = font.render("↑",1,(0,120,120)) + timeapp = font.render(str(app),1,(0,120,120)) + timedisa = font.render(str(disa),1,(0,120,120)) for a in range(14): for b in range(25): pygame.draw.rect(fenetre,(255,255,255),((52*b, 52*a), (52, 52))) @@ -82,9 +87,18 @@ def place(): fenetre.blit(pygame.transform.scale(blackout,(52,52)),(52*b,52*a)) fenetre.blit(level, (10, 10)) fenetre.blit(levelgr, (10, 60)) + fenetre.blit(timeapp, (50, 10)) + fenetre.blit(timedisa, (100, 10)) pygame.display.flip() - +def write(): + f = open(f"editor/levels/{id_level}.lvl","w+") + if not "c" in str(grille): + if not "m" in str(grille): + f.write(str(grille).replace("]","").replace("(","").replace(")","").replace("'","").replace("[","").replace(" ","").replace(",","")+f"{gravityid}") + else: f.write(str(grille).replace("]","").replace("(","").replace(")","").replace("'","").replace("[","").replace(" ","").replace(",","")+f"{gravityid}\n{app}\n{disa}") + else: f.write(str(grille).replace("]","").replace("(","").replace(")","").replace("'","").replace("[","").replace(" ","").replace(",","")+f"{gravityid}\n{app}\n{disa}") + f.close() pygame.init() pygame.mixer.quit() @@ -97,7 +111,8 @@ suite=["0","1","d","s","e","k","3","K","a","c","m","t","l","b"] id_level = 1 gravityid = 6 - +disa = 10 +app = 13 solid_0 = pygame.image.load("editor/img/solid_0.png").convert() @@ -134,14 +149,28 @@ while securite==False: if id_level!=1: id_level-=1 load(id_level) place() + if carac == "z": + app+=1 + write() + place() + if carac == "s": + app-=1 + write() + place() + if carac == "r": + disa+=1 + write() + place() + if carac == "f": + disa-=1 + write() + place() if event.key == pygame.K_LSHIFT: if gravityid=="7": gravityid="6" else: gravityid="7" - f = open(f"editor/levels/{id_level}.lvl","w+") - f.write(str(grille).replace("]","").replace("(","").replace(")","").replace("'","").replace("[","").replace(" ","").replace(",","")+f"{gravityid}") - f.close() + write() place() elif event.type == pygame.MOUSEBUTTONDOWN: if event.button == 1: @@ -172,6 +201,4 @@ while securite==False: break pygame.draw.rect(fenetre,(255,255,255),((52*x, 52*y), (55, 55))) place() - f = open(f"editor/levels/{id_level}.lvl","w+") - f.write(str(grille).replace("]","").replace("(","").replace(")","").replace("'","").replace("[","").replace(" ","").replace(",","")+f"{gravityid}") - f.close() \ No newline at end of file + write() \ No newline at end of file diff --git a/editor/levels/4.lvl b/editor/levels/4.lvl index b0ead9c..12f86cf 100644 --- a/editor/levels/4.lvl +++ b/editor/levels/4.lvl @@ -1 +1,3 @@ -1dddddd100111111111111111000000000011111000000000000000000l01100c00000000001aaaaaaa111100c00000000011dddddddddd1001aaaaaaaaa11cccccccccc1001ddddddddd1000000000001331000000aa000000000000s10e1k0000000001ccccccccc111111111113311100000000001001000000000110000000000100b0000000001100000000001t0b00000000011000K0000001111aaaaaaaaa1111111110011111ddddddddd16 \ No newline at end of file +1dddddd100111111111111111000000000011111000000000000000000l01100c00000000001aaaaaaa111100c00000000011dddddddddd1001aaaaaaaaa11cccccccccc1001ddddddddd1000000000001331000000aa000000000000s10e1k0000000001ccccccccc111111111113311100000000011001000000000110000000001100b0000000001100000000011t0b00000000011000K0000011111aaaaaaaaa1111111110011111ddddddddd16 +12 +5 \ No newline at end of file diff --git a/editor/levels/5.lvl b/editor/levels/5.lvl deleted file mode 100644 index 724cde1..0000000 --- a/editor/levels/5.lvl +++ /dev/null @@ -1 +0,0 @@ -11111111111111111111111111000000000000000000000001100000000000000000000000110ddd0ddd000d0d0d00000001100d0d0d0d0d0d0d0d0000001100d0d0d0d0d0d0ddd0000001100d0d0d0ddd0d0d0d00000011000000000000000000000001100000000000000000000000110000000000000000000000011000000000000000000000001100000000000000000000000110s0000000000000000000e0111111111111111111111111116 \ No newline at end of file diff --git a/editor/setlevel.c b/editor/setlevel.c new file mode 100644 index 0000000..8e44bda --- /dev/null +++ b/editor/setlevel.c @@ -0,0 +1,55 @@ +#include "setlevel.h" +#include +void set_level(int id_level, char level[], int *startx, int *starty, char *gravity, char check_coin, int *appear, int *disappear){ +switch(id_level){case 1: +memcpy(level,"10011111111dddd111111111100011110000000000000000000001111001111111dddd100001111111001dd000ddddd111111111111001dd0t0ddddddddd11000001001dd000ddddddddd11000001001aaaaaaaaaaaaaa110s00010010000000000000e1111100100100000000000aaa11111001001000000000ddddd1111100100100000000011111100010000010000000003000000001000001000K0000030k0001001111111111111111111111",350); +break; +case 2: +memcpy(level,"111001111111100d0d0011111100000111ddd000d0d0000001100000000000000dtd00000e1111111ddd111111111111111100000000000000000l00d0000111111111dd111110100d000110001100000000010100d0001000011000000000d0d00d00000000l0000000000d0d00d00001111dd111000000d0d00111111000011111ddd00d0d00111111000011111ddd00d0d001111110s0011111ddd00d0d0011111111001111111100d0d0011111",350); +break; +case 3: +memcpy(level,"11001111111001111111111111000111dddd000000000100013000111dddd00000000010003300000000dd11111000010e03100000000dd03a01000011111111110000dd03a01000000001100s1dd00ddt3a0100000000110001dd00dd1110100000000110001dd0Kdd00001ddd000ddd10001dd00dd00001111100ddd10001dd00dd00001000000ddd30001dd0000000010k000000330001dd0000000010000000031d00111111100111111111111",350); +break; +case 4: +memcpy(level,"1dddddd100111111111111111000000000011111000000000000000000l01100c00000000001aaaaaaa111100c00000000011dddddddddd1001aaaaaaaaa11cccccccccc1001ddddddddd1000000000001331000000aa000000000000s10e1k0000000001ccccccccc111111111113311100000000011001000000000110000000001100b0000000001100000000011t0b00000000011000K0000011111aaaaaaaaa1111111110011111ddddddddd1",350); +*appear=13; +*disappear=10; +break; +case 5: +memcpy(level,"11111111111111111111111111000000000000000000000001100000000000000000000000110000000000000000000000011000000000000000000000001100000000000000000000000110000000000000000000000011000000000000000000000001100000000000000000000000110s00000000000000000000011111c0000000000000000000110010000000000000000000011001000000000000000000e011111111111111111111111111",350); +*appear=8; +*disappear=15; +break; +}if(check_coin) for (int i = 0; level[i]!='\0' ; i++) if(level[i]=='t') level[i]='0'; +set_gravity(id_level, gravity); +unsigned int x = 0; +unsigned int y = 0; +unsigned int i = 0; +while (i!=strlen(level)){ +switch(level[i]){ +case 's': +*startx = x; +*starty = y; +break;} +x+=16; +if(x==16*25){x=0; +y+=16;}i++;}} +void set_gravity(int id_level, char *default_gravity){ +switch(id_level){case 1: +*default_gravity = 0; +break; +case 2: +*default_gravity = 0; +break; +case 3: +*default_gravity = 1; +break; +case 4: +*default_gravity = 0; +break; +case 5: +*default_gravity = 0; +break; +}} +void del_level(char level[]) +{memcpy(level,"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",350);} \ No newline at end of file diff --git a/include/define.h b/include/define.h index 003b806..af1280c 100644 --- a/include/define.h +++ b/include/define.h @@ -1,3 +1,3 @@ #define PLAYER_SPEED 2 #define PLAYER_HEIGHT 11 -#define FPS 60 +#define FPS 80 diff --git a/include/setlevel.h b/include/setlevel.h index 2ac8cb2..c9320de 100644 --- a/include/setlevel.h +++ b/include/setlevel.h @@ -1,3 +1,3 @@ -void set_level(int id_level, char level[], int *startx, int *starty, char *gravity, char check_coin); +void set_level(int id_level, char level[], int *startx, int *starty, char *gravity, char check_coin, int *appear, int *disappear); void set_gravity(int id_level, char *default_gravity); void del_level(char level[]); diff --git a/src/main.c b/src/main.c index d52e933..6ae9aa4 100644 --- a/src/main.c +++ b/src/main.c @@ -26,7 +26,7 @@ int main(void) char game_loop = 1; unsigned int frame = 0; - unsigned int framelevel = 0; + int framelevel = 0; int player_x = 20, player_y = 20; char level[351]; char gravity = 0; //0 down 1 up @@ -39,10 +39,13 @@ int main(void) unsigned int coin = 0; char check_coin = 0; + int appear = 10; + int disappear = 13; + float vspd = 1.0; int vert_spd = 1; - set_level(id_level, level, &start_x, &start_y, &gravity, check_coin); + set_level(id_level, level, &start_x, &start_y, &gravity, check_coin, &appear, &disappear); player_x = start_x; player_y = start_y; draw_level(level); @@ -153,7 +156,7 @@ int main(void) vspd = 1; player_x = start_x; player_y = start_y; - set_level(id_level, level, &start_x, &start_y, &gravity, check_coin); + set_level(id_level, level, &start_x, &start_y, &gravity, check_coin, &appear, &disappear); blackout = 0; framelevel = 0; } @@ -161,7 +164,7 @@ int main(void) { id_level++; check_coin = 0; - set_level(id_level, level, &start_x, &start_y, &gravity, check_coin); + set_level(id_level, level, &start_x, &start_y, &gravity, check_coin, &appear, &disappear); player_x = start_x; player_y = start_y; blackout = 0; @@ -246,8 +249,8 @@ int main(void) else gravity=0; } - if((framelevel/FPS)>13) for (int i = 0; level[i]!='\0' ; i++) if(level[i]=='c') level[i]='0'; //after 13 seconds blocks disappear - if((framelevel/FPS)>10) for (int i = 0; level[i]!='\0' ; i++) if(level[i]=='m') level[i]='C'; //after 10 seconds blocks appear + if((framelevel/FPS)>disappear) for (int i = 0; level[i]!='\0' ; i++) if(level[i]=='c') level[i]='0'; //after x seconds blocks disappear + if((framelevel/FPS)>appear) for (int i = 0; level[i]!='\0' ; i++) if(level[i]=='m') level[i]='C'; //after x seconds blocks appear if(player_y>=212) player_y=-4; if(player_y<-6) player_y=212; diff --git a/src/setlevel.c b/src/setlevel.c index 6b0a010..956402f 100644 --- a/src/setlevel.c +++ b/src/setlevel.c @@ -1,6 +1,6 @@ #include "setlevel.h" #include -void set_level(int id_level, char level[], int *startx, int *starty, char *gravity, char check_coin){ +void set_level(int id_level, char level[], int *startx, int *starty, char *gravity, char check_coin, int *appear, int *disappear){ switch(id_level){case 1: memcpy(level,"10011111111dddd111111111100011110000000000000000000001111001111111dddd100001111111001dd000ddddd111111111111001dd0t0ddddddddd11000001001dd000ddddddddd11000001001aaaaaaaaaaaaaa110s00010010000000000000e1111100100100000000000aaa11111001001000000000ddddd1111100100100000000011111100010000010000000003000000001000001000K0000030k0001001111111111111111111111",350); break; @@ -11,10 +11,9 @@ case 3: memcpy(level,"11001111111001111111111111000111dddd000000000100013000111dddd00000000010003300000000dd11111000010e03100000000dd03a01000011111111110000dd03a01000000001100s1dd00ddt3a0100000000110001dd00dd1110100000000110001dd0Kdd00001ddd000ddd10001dd00dd00001111100ddd10001dd00dd00001000000ddd30001dd0000000010k000000330001dd0000000010000000031d00111111100111111111111",350); break; case 4: -memcpy(level,"1dddddd100111111111111111000000000011111000000000000000000l01100c00000000001aaaaaaa111100c00000000011dddddddddd1001aaaaaaaaa11cccccccccc1001ddddddddd1000000000001331000000aa000000000000s10e1k0000000001ccccccccc111111111113311100000000001001000000000110000000000100b0000000001100000000001t0b00000000011000K0000001111aaaaaaaaa1111111110011111ddddddddd1",350); -break; -case 5: -memcpy(level,"11111111111111111111111111000000000000000000000001100000000000000000000000110ddd0ddd000d0d0d00000001100d0d0d0d0d0d0d0d0000001100d0d0d0d0d0d0ddd0000001100d0d0d0ddd0d0d0d00000011000000000000000000000001100000000000000000000000110000000000000000000000011000000000000000000000001100000000000000000000000110s0000000000000000000e011111111111111111111111111",350); +memcpy(level,"1dddddd100111111111111111000000000011111000000000000000000l01100c00000000001aaaaaaa111100c00000000011dddddddddd1001aaaaaaaaa11cccccccccc1001ddddddddd1000000000001331000000aa000000000000s10e1k0000000001ccccccccc111111111113311100000000011001000000000110000000001100b0000000001100000000011t0b00000000011000K0000011111aaaaaaaaa1111111110011111ddddddddd1",350); +*appear=12; +*disappear=5; break; }if(check_coin) for (int i = 0; level[i]!='\0' ; i++) if(level[i]=='t') level[i]='0'; set_gravity(id_level, gravity); @@ -43,9 +42,6 @@ break; case 4: *default_gravity = 0; break; -case 5: -*default_gravity = 0; -break; }} void del_level(char level[]) {memcpy(level,"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",350);} \ No newline at end of file