forked from Tituya/AST3_C
Ajout gravité par défaut dans un niveau
This commit is contained in:
parent
9ec8ffc738
commit
53e81843dc
Binary file not shown.
Before Width: | Height: | Size: 102 B After Width: | Height: | Size: 314 B |
Binary file not shown.
Before Width: | Height: | Size: 116 B After Width: | Height: | Size: 221 B |
Binary file not shown.
Before Width: | Height: | Size: 115 B After Width: | Height: | Size: 221 B |
|
@ -1 +1,2 @@
|
|||
void set_level(int id_level, char level[], int *startx, int *starty);
|
||||
void set_level(int id_level, char level[], int *startx, int *starty, char *gravity);
|
||||
void set_gravity(int id_level, char *default_gravity);
|
||||
|
|
|
@ -14,7 +14,7 @@ void draw_player(int x, int y)
|
|||
}
|
||||
void draw_level(char level[])
|
||||
{
|
||||
dclear(C_WHITE);
|
||||
dclear(C_BLACK);
|
||||
unsigned int x = 0;
|
||||
unsigned int y = 0;
|
||||
unsigned int i = 0;
|
||||
|
|
|
@ -16,7 +16,7 @@ int main(void)
|
|||
int id_level = 1;
|
||||
int start_x;
|
||||
int start_y;
|
||||
set_level(id_level, level, &start_x, &start_y);
|
||||
set_level(id_level, level, &start_x, &start_y, &gravity);
|
||||
player_x = start_x;
|
||||
player_y = start_y;
|
||||
draw_level(level);
|
||||
|
@ -33,11 +33,11 @@ int main(void)
|
|||
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,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
|
||||
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();
|
||||
|
||||
|
@ -77,11 +77,12 @@ int main(void)
|
|||
{
|
||||
player_x = start_x;
|
||||
player_y = start_y;
|
||||
set_gravity(id_level, &gravity);
|
||||
}
|
||||
if(collide_end(player_x, player_y, level, gravity))
|
||||
{
|
||||
id_level++;
|
||||
set_level(id_level, level, &start_x, &start_y);
|
||||
set_level(id_level, level, &start_x, &start_y, &gravity);
|
||||
player_x = start_x;
|
||||
player_y = start_y;
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#include "setlevel.h"
|
||||
#include <gint/std/string.h>
|
||||
|
||||
void set_level(int id_level, char level[], int *startx, int *starty)
|
||||
void set_level(int id_level, char level[], int *startx, int *starty, char *gravity)
|
||||
{
|
||||
switch(id_level)
|
||||
{
|
||||
|
@ -13,6 +13,8 @@ void set_level(int id_level, char level[], int *startx, int *starty)
|
|||
break;
|
||||
}
|
||||
|
||||
set_gravity(id_level, gravity);
|
||||
|
||||
unsigned int x = 0;
|
||||
unsigned int y = 0;
|
||||
unsigned int i = 0;
|
||||
|
@ -34,3 +36,16 @@ void set_level(int id_level, char level[], int *startx, int *starty)
|
|||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
void set_gravity(int id_level, char *default_gravity)
|
||||
{
|
||||
switch(id_level)
|
||||
{
|
||||
case 1:
|
||||
*default_gravity = 0; //0 down - 1 up
|
||||
break;
|
||||
case 2:
|
||||
*default_gravity = 1; //0 down - 1 up
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue