forked from Tituya/AST3_C
mise à jour editeur + carte de tuto + README
This commit is contained in:
parent
d9e8cd3fe4
commit
f0cb3509b4
14
README.md
14
README.md
|
@ -1,11 +1,23 @@
|
|||
# AST3_C
|
||||
|
||||
## Présentation :
|
||||
|
||||
A Switch To The Top est un jeu prévu pour fx-cg50 (90+E). Ou vous pouvez changer la gravité afin de traverser un niveau.
|
||||
Ceci est une adaptation utilisant Gint de Lephenixnoir pour avoir un jeu plus plaisant et fluide.
|
||||
|
||||
## Comment installer :
|
||||
|
||||
- Glisser le fichier AST3.g3a dans votre calculatrice.
|
||||
- Lancer le jeu directement depuis le menu principal.
|
||||
|
||||
Un bug ? Contactez moi directement sur Planète Casio. Je vous répondrais très vite si possible.
|
||||
## Éditer le jeu :
|
||||
|
||||
Clone ce dépot :
|
||||
`$ git clone https://gitea.planet-casio.com/Tituya/AST3_C && cd AST3_C`
|
||||
|
||||
Pour ouvrir l'éditeur de niveau (Python et Pygame obligatoire).
|
||||
`$ ./editor.sh`
|
||||
|
||||
Pour compiler le jeu (fxsdk + gint obligatoire).
|
||||
`$ ./build.sh`
|
||||
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
#!/usr/bin/bash
|
||||
echo "making setlevel.c from editor"
|
||||
rm src/setlevel.c
|
||||
python compile_level.py
|
||||
echo "building for cg"
|
||||
fxsdk build-cg
|
||||
echo "done"
|
|
@ -0,0 +1,44 @@
|
|||
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){")
|
||||
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")
|
||||
ids+=1
|
||||
except FileNotFoundError:
|
||||
lv.close()
|
||||
break
|
||||
save.write("}if(check_coin) for (int i = 0; level[i]!='\\0' ; i++) if(level[i]=='t') level[i]='0';\n\
|
||||
set_gravity(id_level, gravity);\n\
|
||||
unsigned int x = 0;\n\
|
||||
unsigned int y = 0;\n\
|
||||
unsigned int i = 0;\n\
|
||||
while (i!=strlen(level)){\n\
|
||||
switch(level[i]){\n\
|
||||
case 's':\n\
|
||||
*startx = x;\n\
|
||||
*starty = y;\n\
|
||||
break;}\n\
|
||||
x+=16;\n\
|
||||
if(x==16*25){x=0;\n\
|
||||
y+=16;}i++;}}\n\
|
||||
void set_gravity(int id_level, char *default_gravity){\n\
|
||||
switch(id_level){")
|
||||
ids = 1
|
||||
gravity = 0
|
||||
while 1:
|
||||
try:
|
||||
lv = open(f"editor/levels/{ids}.lvl","r")
|
||||
ide = lv.read()
|
||||
if ide[350]=="6": gravity=0
|
||||
else: gravity = 1
|
||||
save.write(f"case {ids}:\n*default_gravity = {gravity};\nbreak;\n")
|
||||
ids+=1
|
||||
except FileNotFoundError:
|
||||
break
|
||||
save.write("}}\nvoid del_level(char level[])\n{memcpy(level,\"\
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",350);}")
|
|
@ -0,0 +1,3 @@
|
|||
#!/usr/bin/bash
|
||||
echo "opening editor"
|
||||
python editor/AST3generator.py
|
|
@ -125,11 +125,12 @@ while securite==False:
|
|||
if event.type==QUIT:
|
||||
securite=True
|
||||
elif event.type == pygame.KEYDOWN:
|
||||
if event.key == pygame.K_d:
|
||||
carac= event.dict['unicode']
|
||||
if carac == "d":
|
||||
id_level+=1
|
||||
load(id_level)
|
||||
place()
|
||||
if event.key == pygame.K_q:
|
||||
if carac == "q":
|
||||
if id_level!=1: id_level-=1
|
||||
load(id_level)
|
||||
place()
|
|
@ -1 +1 @@
|
|||
1111111111111111111111111100000000000100001dt10001100000000000100001td10001100000000000100001dt10001100000000000000001111000110000ddd00000000000000001100000000000000000000d001100000000000000000000d0011110000000000000000111111101000000000000000000100110000000000000000000000011000000000001110000000001100s0000l0000b0000l000e0111111111111111111111111116
|
||||
10011111111dddd111111111100011110000000000000000000001111001111111dddd100001111111001dd000ddddd111111111111001dd0t0ddddddddd11000001001dd000ddddddddd11000001001aaaaaaaaaaaaaa110s00010010000000000000e1111100100100000000000aaa11111001001000000000ddddd1111100100100000000011111100010000010000000003000000001000001000K0000030k00010011111111111111111111116
|
|
@ -1 +1 @@
|
|||
11111111111001111111111111000111dddd000000000100013000111dddd00000000010003300000000dd11111000010e03100000000dd03a01000011111111110000dd03a01000000001100s1dd00ddt3a0100000000110001dd00dd1110100000000110001dd0Kdd00001ddd000ddd10001dd00dd00001111100ddd10001dd00dd00001000000ddd30001dd0000000010k000000330001dd0000000010000000031d001111111001111111111117
|
||||
11001111111001111111111111000111dddd000000000100013000111dddd00000000010003300000000dd11111000010e03100000000dd03a01000011111111110000dd03a01000000001100s1dd00ddt3a0100000000110001dd00dd1110100000000110001dd0Kdd00001ddd000ddd10001dd00dd00001111100ddd10001dd00dd00001000000ddd30001dd0000000010k000000330001dd0000000010000000031d001111111001111111111117
|
10
src/main.c
10
src/main.c
|
@ -57,9 +57,17 @@ int main(void)
|
|||
if(blackout) draw_blackout(player_x, player_y);
|
||||
draw_player(player_x,player_y);
|
||||
draw_timer(frame);
|
||||
if(id_level==1)
|
||||
{
|
||||
dprint(85,180,C_RGB(245,245,0),"SHIFT");
|
||||
dprint(167,19,C_RGB(110,110,110),"Ne touchez pas ces blocs !");
|
||||
dprint(162,160,C_RGB(110,110,110),"Les clefs agissent");
|
||||
dprint(162,173,C_RGB(110,110,110),"sur certains blocs");
|
||||
dprint(315,115,C_RGB(110,110,110),"Bravo !");
|
||||
}
|
||||
dprint(150,100,C_GREEN,"%d",player_x);
|
||||
dprint(150,120,C_GREEN,"%d",player_y);
|
||||
dprint_opt(340, 0, C_RGB(255,178,0), C_BLACK, DTEXT_LEFT, DTEXT_TOP, "Coin : %d", coin);
|
||||
dprint_opt(340, 0, C_RGB(255,190,0), C_BLACK, DTEXT_LEFT, DTEXT_TOP, "Coin : %d", coin);
|
||||
/*dprint(320,120,C_GREEN,"%d",collide_solid(player_x+1, player_y, level, gravity));
|
||||
dprint(320,140,C_GREEN,"%d",collide_solid(player_x-1, player_y, level, gravity));
|
||||
dprint(320,160,C_GREEN,"%d",collide_solid(player_x, player_y+1, level, gravity));
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
#include <gint/std/string.h>
|
||||
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);
|
||||
memcpy(level,"10011111111dddd111111111100011110000000000000000000001111001111111dddd100001111111001dd000ddddd111111111111001dd0t0ddddddddd11000001001dd000ddddddddd11000001001aaaaaaaaaaaaaa110s00010010000000000000e1111100100100000000000aaa11111001001000000000ddddd1111100100100000000011111100010000010000000003000000001000001000K0000030k0001001111111111111111111111",350);
|
||||
break;
|
||||
case 2:
|
||||
memcpy(level,"111001111111100d0d0011111100000111ddd000d0d0000001100000000000000dtd00000e1111111ddd111111111111111100000000000000000l00d0000111111111dd111110100d000110001100000000010100d0001000011000000000d0d00d000000000l000000000d0d00d00001111dd111000000d0d00111111000011111ddd00d0d00111111000011111ddd00d0d001111110s0011111ddd00d0d0011111111001111111100d0d0011111",350);
|
||||
break;
|
||||
case 3:
|
||||
memcpy(level,"11111111111001111111111111000111dddd000000000100013000111dddd00000000010003300000000dd11111000010e03100000000dd03a01000011111111110000dd03a01000000001100s1dd00ddt3a0100000000110001dd00dd1110100000000110001dd0Kdd00001ddd000ddd10001dd00dd00001111100ddd10001dd00dd00001000000ddd30001dd0000000010k000000330001dd0000000010000000031d00111111100111111111111",350);
|
||||
memcpy(level,"11001111111001111111111111000111dddd000000000100013000111dddd00000000010003300000000dd11111000010e03100000000dd03a01000011111111110000dd03a01000000001100s1dd00ddt3a0100000000110001dd00dd1110100000000110001dd0Kdd00001ddd000ddd10001dd00dd00001111100ddd10001dd00dd00001000000ddd30001dd0000000010k000000330001dd0000000010000000031d00111111100111111111111",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);
|
||||
|
@ -25,16 +25,15 @@ 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:
|
||||
switch(id_level){case 1:
|
||||
*default_gravity = 0;
|
||||
break;
|
||||
case 2:
|
||||
*default_gravity = 0;
|
||||
break;
|
||||
case 3:
|
||||
*default_gravity = 0;
|
||||
*default_gravity = 1;
|
||||
break;
|
||||
}}
|
||||
void del_level(char level[])
|
||||
{memcpy(level,"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",350);}
|
||||
{memcpy(level,"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",350);}
|
Loading…
Reference in New Issue