suppression friction mur, ajout accélération hspd. Edit levels

This commit is contained in:
Tituya 2020-08-17 20:36:46 +02:00
parent e2db72b033
commit b44efef7f1
16 changed files with 31 additions and 61 deletions

BIN
AST3.g3a

Binary file not shown.

View File

@ -67,8 +67,10 @@ def place():
pygame.draw.rect(fenetre,(255,255,255),((52*b, 52*a), (52, 52)))
if grille[a][b]=="1":
fenetre.blit(pygame.transform.scale(solid_0,(52,52)),(52*b,52*a))
if grille[a][b]=="s":
if grille[a][b]=="s" and int(gravityid)==6:
fenetre.blit(pygame.transform.scale(player,(39,39)),(52*b,52*a+13))
elif grille[a][b]=="s" and int(gravityid)==7:
fenetre.blit(pygame.transform.scale(player,(39,39)),(52*b,52*a))
if grille[a][b]=="e":
fenetre.blit(pygame.transform.scale(end,(52,52)),(52*b,52*a))
if grille[a][b]=="d":

View File

@ -1,4 +1,3 @@
11100111111111111111111111l00000l01BB1BB1BB1BB1BB11000000001001001001001001100000000i0000010010010011b0t00000i000000001001001111111000i00000000000100111111d000i000S00S0000000100000d000i00000000000000010000d000000000000000011110000d000030000a0c0m0000110000d000030000a0c0m0000110000d000030000a0c0m0000110s00d00k0300K0a0c0m00e0111100111111111111111111116
7
9

View File

@ -1 +1 @@
10011111111dddd1111111111000111100000000000000000000011110011111111ddd100001111111001dd000ddddd111111111111001dd0t0ddddddddd11000001001dd000ddddddddd11000001001aaaaaaaaaaaaaa110s00010010000000000000e1111100100100000000000aaa11111001001000000000ddddd1111100100100000000011111100010000010000000003000000001000001000K0000030k00010011111111111111111111116
10011111111dddd1111111111000111100000000000000000000011110011111111ddd100001111111001dd000ddddd111111111111001dd0t0ddddddddd11000001001dd000ddddddddd11000001001aaaaaaaaaaaaaa110s00010010000000000000e11d1100100100000000000aaa11111001001000000000ddddd1111100100100000000011111100010000010000000003000000001000001000K0000030k00010011111111111111111111117

View File

@ -1 +1 @@
111111111133111111100011111111111133311111110K01111100000100111111111000111110s000101111111000000011111110K10111111d000000011111110K1011111a001BBBBB111100000101111d0a010000011110000010111a03011d0ddd1111001ddd011d0a0d11000001111000000010a30111100e00111100000k0130ad1111aaaaa1111dd000001031111111ddd1111111111111001111111aaa11111111111110011111110001116
11111111t133111111100011111111111133311111110K01111100000100111111111000111110s00010i11111100000001111d110K10i11111d000000011111110K10i1111a001BBBBB11110000010i111d0a010000011110000010i11a03011d0ddd1111001ddd0i1d0a0d110000011110000000i0a30111100e00111100000k0130ad11110aa001111dd000001031111111ddd11111111111B1001111111aaa11111111111010011111110001116

View File

@ -1 +1 @@
1ddddddddddd11dddddddddd11dddddddddd00000dd3aaaaai1dd111100000000000030000i1dd000000000001110003000i1d000001111100K000003000i1d00000S00k0000000003aBB110s000100000ddd011103atl11111331ddddddddddddddd1111ddd001dddddddd11d0S0ddd11ddd00d1dd11d000300000dd11ddd000000000000300000dd11dddaaa00000000d3S00e0dd11dddddd00S0d111d3d000ddd11ddddddddddddddddddddddd16
1ddddddddddd11dddddddddd11dddddddddd00000dd3aaa11i1dd111100000000000030000i1dd000000000001110003000i1d000001111100K000003000i1d00000S00k0000000003aBB110s000100000ddd011103atl11111331ddddddddddddddd1111ddd001dddddddd11d0S0ddd11ddd00d1dd11d000300000dd11ddd000000000000300000dd11dddaaa00000000d3S00e0dd11dddddd00S0d111d3d000ddd11ddddddddddddddddddddddd16

View File

@ -1,4 +1,3 @@
10001011111011111111111111000101dd10001111dddd11110000101dd10001000000000001111101dd1aaa1000ccccddd110s00010013331000000000011dddd110010001mmmdd00000100000000010e010t0dd00000011111100011111d1dddddd1111k00000001d000111001111111111111101d00000000000111000010000100000000000000010K010000100011100000011110001000010001110000dd11110001011111011111111111117
5
9

View File

@ -1 +1 @@
11001111111001111111111111000111dddd000000000100013000111dddd00000000010003300000000dd11111000010e03100000000dd03a01000011111111110000dd03a01000000001100s1dd00ddt3a0100000000110001dd00dd1110100000000110001dd0Kdd00001ddd000ddd10001dd00dd00001111100ddd10001dd00dd00001000000ddd30001dd0000000010k000000330001dd0000000010000000031d001111111001111111111117
11001111111001111111111111000111dddd000000000100013000111dddd00000000010003300000000dd11111000010e03100000000dd03a01000011111111110000dd03a01000000001100s1dd00ddt3a0100000000110001dd00dd1110100000000110001dd0Kdd00001ddd000ddd10001dd00dd00001111100ddd10001dd00dd00001000000ddd30001dd0000000010k000000330001dd0000000010000000031d001111111001111111111117

View File

@ -1,3 +1,3 @@
1dddddd100111111111111111000000000011111000000000000000000l01100c00000000001aaaaaaa111100c00000000011dddddddddd1001aaaaaaaaa11cccccccccc1001ddddddddd1000000000001331000000aa000000000000s10e1k0000000001ccccccccc111111111113311100000000011001000000000110000000001100b0000000001100000000011t0b00000000011000K0000011111aaaaaaaaa1111111110011111ddddddddd16
1dddddd100111111111111111000000000011111000000000000000000l01100c00000000001aaaaaaa111100c00000000011dddddddddd1001aaaaaaaaa11cccccccccc1001ddddddddd10000000000d1331000000aa000000000000s10e1k0000000001ccccccccc111111111113311100000000011001000000000110000000001100b0000000001100000000011t0b00000000011000K0000011111aaaaaaaaa1111111110011111ddddddddd16
12
1

View File

@ -1,4 +1,3 @@
000000000000000000000000000000000000000000000000t000000000000000000000000000011dd111111111111111110000100000100000010000001000011cc001s0000d00000001000010000e111dd0100000dd100001001111000d0000000dd100001000001000111d000ddd1000010000000000000000ddd1000011111111111d111B11111000000000000000000000000000000000000000000000000000000000000000000000000000006
12
6

View File

@ -1 +1 @@
111001111111100d0d0011111100000111ddd000d0d0000001100000000000000dtd00000e1111111ddd111111111111111100000000000000000000d0000111111111dd111110100d000110001100000000010100d0001000011000000000d0d00d0000000000000000000d0d00d00001111dd111000000dld00111111000011111ddd00d0d00111111000011111ddd00d0d001111110s0011111ddd00d0d0011111111001111111100d0d00111116
111001111111100d0d0011111100000111ddd000d0d0000001100000000000000dtd00000e1111111ddd111111111111111100000000000000000000d0000111111111dd111110100d000110001100000000010100d0001000011000000000d0d00d0000000000000000000d0d00d00001111dd111000000dld00111111000011111ddd00d0d0011111d000011111ddd00d0d0011111d0s0011111ddd00d0d0011111111001111111100d0d00111116

View File

@ -1 +1 @@
dddddddddddddddddddddddddBBBBBBBBBBBBBBBBBBBBBBBBB100001kk10011111dt0a000011000010010010000d11a00001100001BB100100000000000013000000000010001110000000300000000001aaaaaa00000001111110000010000000011111100000000001000000001000110000000a001BBBd00a0100013000000000010001000010003300s000000010K0100001e003aaBBBBBBBBBBBBBBBBBBBaaaaddddddddddddddddddddddddd6
dddddddddddddddddddddddddBBBBBBBBBBBBBBBBBBBBBBBBB100001kk10011111dt0a000011000010010010000d11a00001100001BB100100000000000013000000000010001110000000300000000001aaaaaa0000000111111000001000000001111110dd00000001000000001000110000000a001BBBd00a0100013000000000010001000010003300s000000010K0100001e003aaBBBBBBBBBBBBBBBBBBBaaaaddddddddddddddddddddddddd6

View File

@ -1 +1 @@
00000ddddddd100000000000011111111111111111110011111000000dd1111ddd0K10000b1100111000000100000100000110000100000010000010010011000k111dd101dd00d10000011000110000001000001BBBB011000100011dd1000001dddd01100010ddd1dd1d00dd1011001133310ddd1dd1000001t00001100000ddd1dd1BBBBB1ddd1111s0000ddd1dd10000011111111BBB111aaaaa110001111111100000000000e10000000000006
00000ddddddd100000000000011111111111111111110011111000000dd1111ddd0K10000b1100111000000100000100000110000100000010000010010011000k111dd101dd00d10000011000110000001000001BBBB011000100011dd1000001dddd01100010ddd1dd1d00dd1011001133310ddd1dd1BBBBB1t00001100000ddd1dd1000001ddd1111s0000ddd1dd10000011111111BBB111aaaaa110001111111100000000000e10000000000006

View File

@ -12,10 +12,9 @@
#include "define.h"
#define VACCELERATION 0.2
#define HACCELERATION 0.01
#define HACCELERATION 0.4
#define MAX_VSPD 9.0
//#define MAX_HSPD 3.0
#define FRICTION 0.06
#define FRICTION 0.2
int main(void);
@ -25,6 +24,11 @@ int callback(volatile int *frame_elapsed)
return TIMER_CONTINUE;
}
int round(float num) //round(2.5) = 3 round(-3.2) = -3
{
return num < 0 ? num - 0.5 : num + 0.5;
}
void game(int *id_level, char mode)
{
volatile int frame_elapsed = 1;
@ -49,7 +53,8 @@ void game(int *id_level, char mode)
int disappear = 13;
float vspd = 1.0;
//float hspd = 2.0;
float hspd = 0;
extern bopti_image_t img_speedrun;
set_level(*id_level, level, &start_x, &start_y, &gravity, &appear, &disappear);
@ -81,8 +86,6 @@ void game(int *id_level, char mode)
}
//dprint(150,100,C_GREEN,"%d",player_x);
//dprint(150,120,C_GREEN,"%d",player_y);
//dprint(150,120,C_GREEN,"%.2j",(int)(hspd*100));
dprint(150,120,C_GREEN,"%.2j",(int)(vspd*100));
if(!mode) 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));
dprint(320,140,C_GREEN,"%d",collide_solid(player_x-1, player_y, level));
@ -98,54 +101,26 @@ void game(int *id_level, char mode)
}
pollevent();
//Right collision
if(keydown(KEY_RIGHT))
{
/*if(!collide_solid(player_x+(int)hspd+1, player_y, level))
{
if (hspd<MAX_HSPD) hspd+=HACCELERATION;
player_x+=(int)hspd;
}
else if(!collide_solid(player_x+(int)hspd, player_y, level))
{
hspd-=HACCELERATION;
player_x+=(int)hspd;
}
else if(!collide_solid(player_x+1, player_y, level))
{
hspd=2.0;
player_x+=1;
}
else if(collide_solid(player_x+1, player_y, level)) hspd=2.0;*/
if(!collide_solid(player_x+PLAYER_SPEED, player_y, level)) player_x+=PLAYER_SPEED;
hspd *= 1 - FRICTION;
hspd += (keydown(KEY_RIGHT)-keydown(KEY_LEFT)) * HACCELERATION;
if(!collide_solid(player_x+round(hspd)+1, player_y, level)) player_x += round(hspd);
else if(!collide_solid(player_x+1, player_y, level)) player_x+=1;
if(player_x>=388) player_x=-4;
}
//Left collision
else if(keydown(KEY_LEFT))
{
/*if(!collide_solid(player_x-(int)hspd-1, player_y, level))
{
if (hspd<MAX_HSPD) hspd+=HACCELERATION;
player_x-=(int)hspd;
}
else if(!collide_solid(player_x-(int)hspd, player_y, level))
{
hspd-=HACCELERATION;
player_x-=(int)hspd;
}
else if(!collide_solid(player_x-1, player_y, level))
{
hspd=2.0;
player_x-=1;
}
else if(collide_solid(player_x-1, player_y, level)) hspd=2.0;*/
if(!collide_solid(player_x-PLAYER_SPEED, player_y, level)) player_x-=PLAYER_SPEED;
hspd *= 1 - FRICTION;
hspd += (keydown(KEY_RIGHT)-keydown(KEY_LEFT)) * HACCELERATION;
if(!collide_solid(player_x+round(hspd)-1, player_y, level)) player_x += round(hspd);
else if(!collide_solid(player_x-1, player_y, level)) player_x-=1;
if(player_x<-9) player_x=384;
}
//else hspd=2.0;
else hspd=0;
//Action key
if(keydown(KEY_SHIFT) && !check && ((collide_solid(player_x, player_y-1, level) && gravity) || (collide_solid(player_x, player_y+1, level) && !gravity)))
{
@ -161,8 +136,6 @@ void game(int *id_level, char mode)
if(!collide_solid(player_x, player_y+(int)vspd+1, level))
{
if (vspd<MAX_VSPD) vspd+=VACCELERATION;
if(collide_solid(player_x+1, player_y, level)) vspd-=FRICTION;
if(collide_solid(player_x-1, player_y, level)) vspd-=FRICTION;
if(collide(player_x+1, player_y, level, 'i')) vspd+=0.15;
if(collide(player_x-1, player_y, level, 'i')) vspd+=0.15;
player_y+=(int)vspd;
@ -184,8 +157,6 @@ void game(int *id_level, char mode)
if(!collide_solid(player_x, player_y-(int)vspd-1, level))
{
if (vspd<MAX_VSPD) vspd+=VACCELERATION;
if(collide_solid(player_x+1, player_y, level)) vspd-=FRICTION;
if(collide_solid(player_x-1, player_y, level)) vspd-=FRICTION;
if(collide(player_x+1, player_y, level, 'i')) vspd+=0.15;
if(collide(player_x-1, player_y, level, 'i')) vspd+=0.15;
player_y-=(int)vspd;

View File

@ -39,13 +39,13 @@ case 8:
memcpy(level,"dddddddddddddddddddddddddBBBBBBBBBBBBBBBBBBBBBBBBB100001kk10011111dt0a000011000010010010000d11a00001100001BB100100000000000013000000000010001110000000300000000001aaaaaa00000001111110000010000000011111100000000001000000001000110000000a001BBBd00a0100013000000000010001000010003300s000000010K0100001e003aaBBBBBBBBBBBBBBBBBBBaaaaddddddddddddddddddddddddd",350);
break;
case 9:
memcpy(level,"00000ddddddd100000000000011111111111111111110011111000000dd1111ddd0K10000b1100111000000100000100000110000100000010000010010011000k111dd101dd00d10000011000110000001000001BBBB011000100011dd1000001dddd01100010ddd1dd1d00dd1011001133310ddd1dd1000001t00001100000ddd1dd1BBBBB1ddd1111s0000ddd1dd10000011111111BBB111aaaaa110001111111100000000000e1000000000000",350);
memcpy(level,"00000ddddddd100000000000011111111111111111110011111000000dd1111ddd0K10000b1100111000000100000100000110000100000010000010010011000k111dd101dd00d10000011000110000001000001BBBB011000100011dd1000001dddd01100010ddd1dd1d00dd1011001133310ddd1dd1BBBBB1t00001100000ddd1dd1000001ddd1111s0000ddd1dd10000011111111BBB111aaaaa110001111111100000000000e1000000000000",350);
break;
case 10:
memcpy(level,"111111111133111111100011111111111133311111110K01111100000100111111111000111110s000101111111000000011111110K10111111d000000011111110K1011111a001BBBBB111100000101111d0a010000011110000010111a03011d0ddd1111001ddd011d0a0d11000001111000000010a30111100e00111100000k0130ad1111aaaaa1111dd000001031111111ddd1111111111111001111111aaa1111111111111001111111000111",350);
break;
case 11:
memcpy(level,"1ddddddddddd11dddddddddd11dddddddddd00000dd3aaaaai1dd111100000000000030000i1dd000000000001110003000i1d000001111100K000003000i1d00000S00k0000000003aBB110s000100000ddd011103atl11111331ddddddddddddddd1111ddd001dddddddd11d0S0ddd11ddd00d1dd11d000300000dd11ddd000000000000300000dd11dddaaa00000000d3S00e0dd11dddddd00S0d111d3d000ddd11ddddddddddddddddddddddd1",350);
memcpy(level,"1ddddddddddd11dddddddddd11dddddddddd00000dd3aaa11i1dd111100000000000030000i1dd000000000001110003000i1d000001111100K000003000i1d00000S00k0000000003aBB110s000100000ddd011103atl11111331ddddddddddddddd1111ddd001dddddddd11d0S0ddd11ddd00d1dd11d000300000dd11ddd000000000000300000dd11dddaaa00000000d3S00e0dd11dddddd00S0d111d3d000ddd11ddddddddddddddddddddddd1",350);
break;
case 12:
memcpy(level,"111111111111111111111111100000000000010000000i000010000000000010000000i000110000000000010000000i000110000000000000000000i000110000000000000000000i000110000000000000000000i000110000S000S000S000S00i000110000000000000000000i000110000000000000000000i00011011100S000S000S00000000110000000000000000000000011s000000000000000000000e11111111111111111111111111",350);

View File

@ -8,4 +8,4 @@
7.48
10.46
9.25
7.72
6.48