From d9e8cd3fe457032ad117da9aa0a4e99dd0daa9e4 Mon Sep 17 00:00:00 2001 From: Tituya Date: Fri, 17 Jul 2020 01:34:21 +0200 Subject: [PATCH] =?UTF-8?q?modification=20g=C3=A9n=C3=A9rateur+icone?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AST3.g3a | Bin 59936 -> 59920 bytes AST3generator.py | 102 +++++++++++++++++--------------------- assets-cg/icon-cg-sel.png | Bin 8388 -> 11080 bytes assets-cg/icon-cg-uns.png | Bin 4629 -> 7621 bytes editor/levels/1.lvl | 1 + editor/levels/2.lvl | 1 + editor/levels/3.lvl | 1 + editor/setlevel.c | 40 --------------- 8 files changed, 48 insertions(+), 97 deletions(-) create mode 100644 editor/levels/1.lvl create mode 100644 editor/levels/2.lvl create mode 100644 editor/levels/3.lvl delete mode 100644 editor/setlevel.c diff --git a/AST3.g3a b/AST3.g3a index 275199b22a82205ece2000515aeeee6551200ebc..526d0bfad3192df5b2bf1aafe33e3f11d1e684af 100644 GIT binary patch delta 15499 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 delta 15706 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 Beysoi diff --git a/AST3generator.py b/AST3generator.py index c093dc7..3a45655 100644 --- a/AST3generator.py +++ b/AST3generator.py @@ -7,6 +7,7 @@ import pygame from pygame.locals import * clock = pygame.time.Clock() + def newgrille(): global grille grille=\ @@ -25,41 +26,27 @@ def newgrille(): ["1","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","1"],\ ["1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1"] -newgrille() - def load(ids): - global grille - for lev,ide in niv.items(): - if lev==ids: - grille=[] - print(ide) - for j in range(14): - grille.append([]) - for i in range(25): - grille[-1].append(str(ide[i+25*j])) - place() - break - -niv={} -niveau=1 -texte = open("src/setlevel.c", "r+") -for line in texte: - if "memcpy" in line: - niv[niveau]=line[14:-8] - niveau+=1 - if "del_level" in line: - break - -p = open("editor/setlevel.c","w+") -p.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){") - - -#Defini la suite des blocs pendant les changements (cliquer sur un 1 va donner un 2, cliquer sur un 11 un 0...) -suite=["0","1","d","s","e","k","3","K","a","c","m","t","l","b"] + global grille, gravityid + try: + lv = open(f"editor/levels/{ids}.lvl","r") + ide = lv.read() + gravityid=ide[350:] + ide = ide[:-1] + grille=[] + for j in range(14): + grille.append([]) + for i in range(25): + grille[-1].append(str(ide[i+25*j])) + except FileNotFoundError: + newgrille() + gravityid="6" + place() def place(): level = font.render(str(id_level),1,(0,0,0)) - levelgr = font.render(str(gravityid),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)) for a in range(14): for b in range(25): pygame.draw.rect(fenetre,(255,255,255),((52*b, 52*a), (52, 52))) @@ -97,16 +84,21 @@ def place(): fenetre.blit(levelgr, (10, 60)) pygame.display.flip() + + pygame.init() pygame.mixer.quit() pygame.display.set_caption('AST3 generator (Tituya)') fenetre = pygame.display.set_mode((25*52, 14*52)) font = pygame.font.SysFont('arial',25,True) +#Defini la suite des blocs pendant les changements (cliquer sur un 1 va donner un 2, cliquer sur un 11 un 0...) +suite=["0","1","d","s","e","k","3","K","a","c","m","t","l","b"] + id_level = 1 -gravity = "" -identifiant = "" -gravityid = 0 +gravityid = 6 + + solid_0 = pygame.image.load("editor/img/solid_0.png").convert() player = pygame.image.load("editor/img/player.png").convert() @@ -122,12 +114,9 @@ coin = pygame.image.load("editor/img/coin.png").convert_alpha() change = pygame.image.load("editor/img/change.png").convert_alpha() blackout = pygame.image.load("editor/img/blackout.png").convert_alpha() -for cle in niv: - if id_level==cle: - load(id_level) - break - else: - newgrille() + + +load(id_level) place() securite=False while securite==False: @@ -136,22 +125,22 @@ while securite==False: if event.type==QUIT: securite=True elif event.type == pygame.KEYDOWN: - if event.key == pygame.K_TAB: - identifiant+=f"case {id_level}:\nmemcpy(level,\""+str(grille).replace("]","").replace("(","").replace(")","").replace("'","").replace("[","").replace(" ","").replace(",","")+"\",350);\nbreak;\n" - gravity+=f"case {id_level}:\n*default_gravity = {gravityid};\nbreak;\n" + if event.key == pygame.K_d: id_level+=1 - for cle in niv: - if id_level==cle: - load(id_level) - break - else: - newgrille() + load(id_level) + place() + if event.key == pygame.K_q: + if id_level!=1: id_level-=1 + load(id_level) place() if event.key == pygame.K_LSHIFT: - if gravityid: - gravityid=0 + if gravityid=="7": + gravityid="6" else: - gravityid=1 + 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() place() elif event.type == pygame.MOUSEBUTTONDOWN: if event.button == 1: @@ -168,11 +157,7 @@ while securite==False: pygame.draw.rect(fenetre,(255,255,255),((52*x, 52*y), (52, 52))) place() if event.button == 2: - p.write(identifiant+"}if(check_coin) for (int i = 0; level[i]!='\\0' ; i++) if(level[i]=='t') level[i]='0';\nset_gravity(id_level, gravity);\nunsigned int x = 0;\ -\nunsigned int y = 0;\nunsigned int i = 0;\nwhile (i!=strlen(level)){\nswitch(level[i]){\ncase 's':\n*startx = x;\n*starty = y;\nbreak;}\nx+=16;\nif(x==16*25){x=0;\ny+=16;}i++;}}\n\ -void set_gravity(int id_level, char *default_gravity){\nswitch(id_level){\n"+gravity+"}}\nvoid del_level(char level[])\n{memcpy(level,\"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",350);}") securite=True - texte.close() if event.button == 3: x=int(event.pos[0]/52) y=int(event.pos[1]/52) @@ -185,4 +170,7 @@ void set_gravity(int id_level, char *default_gravity){\nswitch(id_level){\n"+gra grille[y][x]=suite[len(suite)] break pygame.draw.rect(fenetre,(255,255,255),((52*x, 52*y), (55, 55))) - place() \ No newline at end of file + 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 diff --git a/assets-cg/icon-cg-sel.png b/assets-cg/icon-cg-sel.png index 7137b504cfd44f62f3105ce7a203b9100a557d0f..0885070a826903458e6557bf70e9e7fe1f5d5037 100644 GIT binary patch literal 11080 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 O0000 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 ag#Q8hHNm}t`+-sb0000 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 diff --git a/editor/levels/1.lvl b/editor/levels/1.lvl new file mode 100644 index 0000000..6d9e087 --- /dev/null +++ b/editor/levels/1.lvl @@ -0,0 +1 @@ +1111111111111111111111111100000000000100001dt10001100000000000100001td10001100000000000100001dt10001100000000000000001111000110000ddd00000000000000001100000000000000000000d001100000000000000000000d0011110000000000000000111111101000000000000000000100110000000000000000000000011000000000001110000000001100s0000l0000b0000l000e0111111111111111111111111116 \ No newline at end of file diff --git a/editor/levels/2.lvl b/editor/levels/2.lvl new file mode 100644 index 0000000..b34d61f --- /dev/null +++ b/editor/levels/2.lvl @@ -0,0 +1 @@ +111001111111100d0d0011111100000111ddd000d0d0000001100000000000000dtd00000e1111111ddd111111111111111100000000000000000l00d0000111111111dd111110100d000110001100000000010100d0001000011000000000d0d00d000000000l000000000d0d00d00001111dd111000000d0d00111111000011111ddd00d0d00111111000011111ddd00d0d001111110s0011111ddd00d0d0011111111001111111100d0d00111116 \ No newline at end of file diff --git a/editor/levels/3.lvl b/editor/levels/3.lvl new file mode 100644 index 0000000..8115d8e --- /dev/null +++ b/editor/levels/3.lvl @@ -0,0 +1 @@ +11111111111001111111111111000111dddd000000000100013000111dddd00000000010003300000000dd11111000010e03100000000dd03a01000011111111110000dd03a01000000001100s1dd00ddt3a0100000000110001dd00dd1110100000000110001dd0Kdd00001ddd000ddd10001dd00dd00001111100ddd10001dd00dd00001000000ddd30001dd0000000010k000000330001dd0000000010000000031d001111111001111111111117 \ No newline at end of file diff --git a/editor/setlevel.c b/editor/setlevel.c deleted file mode 100644 index 6b0b1b5..0000000 --- a/editor/setlevel.c +++ /dev/null @@ -1,40 +0,0 @@ -#include "setlevel.h" -#include -void set_level(int id_level, char level[], int *startx, int *starty, char *gravity, char check_coin){ -switch(id_level){case 1: -memcpy(level,"1111111111111111111111111100000000000100001dt10001100000000000100001td10001100000000000100001dt10001100000000000000001111000110000ddd00000000000000001100000000000000000000d001100000000000000000000d0011110000000000000000111111101000000000000000000100110000000000000000000000011000000000001110000000001100s0000l0000b0000l000e011111111111111111111111111",350); -break; -case 2: -memcpy(level,"111001111111100d0d0011111100000111ddd000d0d0000001100000000000000dtd00000e1111111ddd111111111111111100000000000000000l00d0000111111111dd111110100d000110001100000000010100d0001000011000000000d0d00d000000000l000000000d0d00d00001111dd111000000d0d00111111000011111ddd00d0d00111111000011111ddd00d0d001111110s0011111ddd00d0d0011111111001111111100d0d0011111",350); -break; -case 3: -memcpy(level,"11111111111001111111111111000111dddd000000000100013000111dddd00000000010003300000000dd11111000010e03100000000dd03a01000011111111110000dd03a01000000001100s1dd00ddt3a0100000000110001dd00dd1110100000000110001dd0Kdd00001ddd000ddd10001dd00dd00001111100ddd10001dd00dd00001000000ddd30001dd0000000010k000000330001dd0000000010000000031d00111111100111111111111",350); -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 = 0; -break; -}} -void del_level(char level[]) -{memcpy(level,"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",350);} \ No newline at end of file