mise à jour editeur + carte de tuto + README

This commit is contained in:
Tituya 2020-07-18 16:59:05 +02:00
parent d9e8cd3fe4
commit f0cb3509b4
10 changed files with 86 additions and 12 deletions

BIN
AST3.g3a

Binary file not shown.

View File

@ -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`

7
build.sh Executable file
View File

@ -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"

44
compile_level.py Normal file
View File

@ -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);}")

3
editor.sh Executable file
View File

@ -0,0 +1,3 @@
#!/usr/bin/bash
echo "opening editor"
python editor/AST3generator.py

View File

@ -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()

View File

@ -1 +1 @@
1111111111111111111111111100000000000100001dt10001100000000000100001td10001100000000000100001dt10001100000000000000001111000110000ddd00000000000000001100000000000000000000d001100000000000000000000d0011110000000000000000111111101000000000000000000100110000000000000000000000011000000000001110000000001100s0000l0000b0000l000e0111111111111111111111111116
10011111111dddd111111111100011110000000000000000000001111001111111dddd100001111111001dd000ddddd111111111111001dd0t0ddddddddd11000001001dd000ddddddddd11000001001aaaaaaaaaaaaaa110s00010010000000000000e1111100100100000000000aaa11111001001000000000ddddd1111100100100000000011111100010000010000000003000000001000001000K0000030k00010011111111111111111111116

View File

@ -1 +1 @@
11111111111001111111111111000111dddd000000000100013000111dddd00000000010003300000000dd11111000010e03100000000dd03a01000011111111110000dd03a01000000001100s1dd00ddt3a0100000000110001dd00dd1110100000000110001dd0Kdd00001ddd000ddd10001dd00dd00001111100ddd10001dd00dd00001000000ddd30001dd0000000010k000000330001dd0000000010000000031d001111111001111111111117
11001111111001111111111111000111dddd000000000100013000111dddd00000000010003300000000dd11111000010e03100000000dd03a01000011111111110000dd03a01000000001100s1dd00ddt3a0100000000110001dd00dd1110100000000110001dd0Kdd00001ddd000ddd10001dd00dd00001111100ddd10001dd00dd00001000000ddd30001dd0000000010k000000330001dd0000000010000000031d001111111001111111111117

View File

@ -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));

View File

@ -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);}