forked from Tituya/AST3_C
update chrono block timer modifiable + modif editeur
This commit is contained in:
parent
92b22c52ff
commit
c06c5df873
|
@ -2,12 +2,16 @@ ids = 1
|
|||
|
||||
save = open("src/setlevel.c","w+")
|
||||
save.write("#include \"setlevel.h\"\n#include <gint/std/string.h>\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()
|
||||
|
|
|
@ -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()
|
||||
write()
|
|
@ -1 +1,3 @@
|
|||
1dddddd100111111111111111000000000011111000000000000000000l01100c00000000001aaaaaaa111100c00000000011dddddddddd1001aaaaaaaaa11cccccccccc1001ddddddddd1000000000001331000000aa000000000000s10e1k0000000001ccccccccc111111111113311100000000001001000000000110000000000100b0000000001100000000001t0b00000000011000K0000001111aaaaaaaaa1111111110011111ddddddddd16
|
||||
1dddddd100111111111111111000000000011111000000000000000000l01100c00000000001aaaaaaa111100c00000000011dddddddddd1001aaaaaaaaa11cccccccccc1001ddddddddd1000000000001331000000aa000000000000s10e1k0000000001ccccccccc111111111113311100000000011001000000000110000000001100b0000000001100000000011t0b00000000011000K0000011111aaaaaaaaa1111111110011111ddddddddd16
|
||||
12
|
||||
5
|
|
@ -1 +0,0 @@
|
|||
11111111111111111111111111000000000000000000000001100000000000000000000000110ddd0ddd000d0d0d00000001100d0d0d0d0d0d0d0d0000001100d0d0d0d0d0d0ddd0000001100d0d0d0ddd0d0d0d00000011000000000000000000000001100000000000000000000000110000000000000000000000011000000000000000000000001100000000000000000000000110s0000000000000000000e0111111111111111111111111116
|
|
@ -0,0 +1,55 @@
|
|||
#include "setlevel.h"
|
||||
#include <gint/std/string.h>
|
||||
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);}
|
|
@ -1,3 +1,3 @@
|
|||
#define PLAYER_SPEED 2
|
||||
#define PLAYER_HEIGHT 11
|
||||
#define FPS 60
|
||||
#define FPS 80
|
||||
|
|
|
@ -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[]);
|
||||
|
|
15
src/main.c
15
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;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#include "setlevel.h"
|
||||
#include <gint/std/string.h>
|
||||
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);}
|
Loading…
Reference in New Issue