Correction timer + nouveau niveau + fps constant
This commit is contained in:
parent
f0cb3509b4
commit
92b22c52ff
|
@ -1 +1 @@
|
|||
111001111111100d0d0011111100000111ddd000d0d0000001100000000000000dtd00000e1111111ddd111111111111111100000000000000000l00d0000111111111dd111110100d000110001100000000010100d0001000011000000000d0d00d000000000l000000000d0d00d00001111dd111000000d0d00111111000011111ddd00d0d00111111000011111ddd00d0d001111110s0011111ddd00d0d0011111111001111111100d0d00111116
|
||||
111001111111100d0d0011111100000111ddd000d0d0000001100000000000000dtd00000e1111111ddd111111111111111100000000000000000l00d0000111111111dd111110100d000110001100000000010100d0001000011000000000d0d00d00000000l0000000000d0d00d00001111dd111000000d0d00111111000011111ddd00d0d00111111000011111ddd00d0d001111110s0011111ddd00d0d0011111111001111111100d0d00111116
|
|
@ -0,0 +1 @@
|
|||
1dddddd100111111111111111000000000011111000000000000000000l01100c00000000001aaaaaaa111100c00000000011dddddddddd1001aaaaaaaaa11cccccccccc1001ddddddddd1000000000001331000000aa000000000000s10e1k0000000001ccccccccc111111111113311100000000001001000000000110000000000100b0000000001100000000001t0b00000000011000K0000001111aaaaaaaaa1111111110011111ddddddddd16
|
|
@ -0,0 +1 @@
|
|||
11111111111111111111111111000000000000000000000001100000000000000000000000110ddd0ddd000d0d0d00000001100d0d0d0d0d0d0d0d0000001100d0d0d0d0d0d0ddd0000001100d0d0d0ddd0d0d0d00000011000000000000000000000001100000000000000000000000110000000000000000000000011000000000000000000000001100000000000000000000000110s0000000000000000000e0111111111111111111111111116
|
|
@ -1,3 +1,3 @@
|
|||
#define PLAYER_SPEED 3
|
||||
#define PLAYER_SPEED 2
|
||||
#define PLAYER_HEIGHT 11
|
||||
#define FPS 60
|
||||
|
|
60
src/main.c
60
src/main.c
|
@ -9,7 +9,7 @@
|
|||
#include "collide.h"
|
||||
#include "define.h"
|
||||
|
||||
#define ACCELERATION 0.4
|
||||
#define ACCELERATION 0.2
|
||||
#define MAX_VSPD 9.0
|
||||
|
||||
int callback(volatile int *frame_elapsed)
|
||||
|
@ -53,10 +53,13 @@ int main(void)
|
|||
|
||||
frame++;
|
||||
framelevel++;
|
||||
draw_level(level);
|
||||
if(blackout) draw_blackout(player_x, player_y);
|
||||
draw_player(player_x,player_y);
|
||||
draw_timer(frame);
|
||||
if(!(frame%2))
|
||||
{
|
||||
draw_level(level);
|
||||
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");
|
||||
|
@ -65,21 +68,22 @@ int main(void)
|
|||
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,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));
|
||||
dprint(320,180,C_GREEN,"%d",collide_solid(player_x, player_y-1, level, gravity));*/
|
||||
|
||||
/*dprint(300,100,C_GREEN,"%d",collide_dead(player_x, player_y, level));
|
||||
dprint(300,120,C_GREEN,"%c",level[(int)((player_x-1)/16)+(int)((player_y-1)/16*25)]); //top left
|
||||
dprint(300,140,C_GREEN,"%c",level[(int)((player_x+PLAYER_HEIGHT+1)/16)+(int)((player_y-1)/16*25)]); //top right
|
||||
dprint(300,160,C_GREEN,"%c",level[(int)((player_x-1)/16)+(int)((player_y+PLAYER_HEIGHT+1)/16*25)]); //bottom left
|
||||
dprint(300,180,C_GREEN,"%c",level[(int)((player_x+PLAYER_HEIGHT+1)/16)+(int)((player_y+PLAYER_HEIGHT+1)/16*25)]); //bottom right*/
|
||||
|
||||
dupdate();
|
||||
dprint(150,100,C_GREEN,"%d",player_x);
|
||||
dprint(150,120,C_GREEN,"%d",player_y);
|
||||
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));
|
||||
dprint(320,180,C_GREEN,"%d",collide_solid(player_x, player_y-1, level, gravity));*/
|
||||
|
||||
/*dprint(300,100,C_GREEN,"%d",collide_dead(player_x, player_y, level));
|
||||
dprint(300,120,C_GREEN,"%c",level[(int)((player_x-1)/16)+(int)((player_y-1)/16*25)]); //top left
|
||||
dprint(300,140,C_GREEN,"%c",level[(int)((player_x+PLAYER_HEIGHT+1)/16)+(int)((player_y-1)/16*25)]); //top right
|
||||
dprint(300,160,C_GREEN,"%c",level[(int)((player_x-1)/16)+(int)((player_y+PLAYER_HEIGHT+1)/16*25)]); //bottom left
|
||||
dprint(300,180,C_GREEN,"%c",level[(int)((player_x+PLAYER_HEIGHT+1)/16)+(int)((player_y+PLAYER_HEIGHT+1)/16*25)]); //bottom right*/
|
||||
|
||||
dupdate();
|
||||
}
|
||||
|
||||
pollevent();
|
||||
if(keydown(KEY_RIGHT))
|
||||
|
@ -104,12 +108,18 @@ int main(void)
|
|||
else if(!keydown(KEY_SHIFT) && check) check=0;
|
||||
if(!gravity)
|
||||
{
|
||||
if(!collide_solid(player_x, player_y+vert_spd, level, gravity))
|
||||
if(!collide_solid(player_x, player_y+vert_spd+1, level, gravity))
|
||||
{
|
||||
if (vspd<MAX_VSPD) vspd+=ACCELERATION;
|
||||
vert_spd = vspd;
|
||||
player_y+=vert_spd;
|
||||
}
|
||||
else if(!collide_solid(player_x, player_y+vert_spd, level, gravity))
|
||||
{
|
||||
vspd-=ACCELERATION;
|
||||
vert_spd = vspd;
|
||||
player_y+=vert_spd;
|
||||
}
|
||||
else if(!collide_solid(player_x, player_y+1, level, gravity))
|
||||
{
|
||||
vspd = 1;
|
||||
|
@ -119,12 +129,18 @@ int main(void)
|
|||
}
|
||||
else
|
||||
{
|
||||
if(!collide_solid(player_x, player_y-vert_spd, level, gravity))
|
||||
if(!collide_solid(player_x, player_y-vert_spd-1, level, gravity))
|
||||
{
|
||||
if (vspd<MAX_VSPD) vspd+=ACCELERATION;
|
||||
vert_spd = vspd;
|
||||
player_y-=vert_spd;
|
||||
}
|
||||
else if(!collide_solid(player_x, player_y-vert_spd, level, gravity))
|
||||
{
|
||||
vspd-=ACCELERATION;
|
||||
vert_spd = vspd;
|
||||
player_y-=vert_spd;
|
||||
}
|
||||
else if(!collide_solid(player_x, player_y-1, level, gravity))
|
||||
{
|
||||
vspd = 1;
|
||||
|
|
|
@ -5,11 +5,17 @@ switch(id_level){case 1:
|
|||
memcpy(level,"10011111111dddd111111111100011110000000000000000000001111001111111dddd100001111111001dd000ddddd111111111111001dd0t0ddddddddd11000001001dd000ddddddddd11000001001aaaaaaaaaaaaaa110s00010010000000000000e1111100100100000000000aaa11111001001000000000ddddd1111100100100000000011111100010000010000000003000000001000001000K0000030k0001001111111111111111111111",350);
|
||||
break;
|
||||
case 2:
|
||||
memcpy(level,"111001111111100d0d0011111100000111ddd000d0d0000001100000000000000dtd00000e1111111ddd111111111111111100000000000000000l00d0000111111111dd111110100d000110001100000000010100d0001000011000000000d0d00d000000000l000000000d0d00d00001111dd111000000d0d00111111000011111ddd00d0d00111111000011111ddd00d0d001111110s0011111ddd00d0d0011111111001111111100d0d0011111",350);
|
||||
memcpy(level,"111001111111100d0d0011111100000111ddd000d0d0000001100000000000000dtd00000e1111111ddd111111111111111100000000000000000l00d0000111111111dd111110100d000110001100000000010100d0001000011000000000d0d00d00000000l0000000000d0d00d00001111dd111000000d0d00111111000011111ddd00d0d00111111000011111ddd00d0d001111110s0011111ddd00d0d0011111111001111111100d0d0011111",350);
|
||||
break;
|
||||
case 3:
|
||||
memcpy(level,"11001111111001111111111111000111dddd000000000100013000111dddd00000000010003300000000dd11111000010e03100000000dd03a01000011111111110000dd03a01000000001100s1dd00ddt3a0100000000110001dd00dd1110100000000110001dd0Kdd00001ddd000ddd10001dd00dd00001111100ddd10001dd00dd00001000000ddd30001dd0000000010k000000330001dd0000000010000000031d00111111100111111111111",350);
|
||||
break;
|
||||
case 4:
|
||||
memcpy(level,"1dddddd100111111111111111000000000011111000000000000000000l01100c00000000001aaaaaaa111100c00000000011dddddddddd1001aaaaaaaaa11cccccccccc1001ddddddddd1000000000001331000000aa000000000000s10e1k0000000001ccccccccc111111111113311100000000001001000000000110000000000100b0000000001100000000001t0b00000000011000K0000001111aaaaaaaaa1111111110011111ddddddddd1",350);
|
||||
break;
|
||||
case 5:
|
||||
memcpy(level,"11111111111111111111111111000000000000000000000001100000000000000000000000110ddd0ddd000d0d0d00000001100d0d0d0d0d0d0d0d0000001100d0d0d0d0d0d0ddd0000001100d0d0d0ddd0d0d0d00000011000000000000000000000001100000000000000000000000110000000000000000000000011000000000000000000000001100000000000000000000000110s0000000000000000000e011111111111111111111111111",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;
|
||||
|
@ -34,6 +40,12 @@ 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);}
|
Loading…
Reference in New Issue