add sprint

This commit is contained in:
kinou-p 2022-06-14 15:01:21 +02:00
parent 1775902593
commit deacf577c2
6 changed files with 47 additions and 18 deletions

View File

@ -6,7 +6,7 @@
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/02/13 16:30:59 by apommier #+# #+# */
/* Updated: 2022/06/14 01:04:15 by apommier ### ########.fr */
/* Updated: 2022/06/14 14:59:08 by apommier ### ########.fr */
/* */
/* ************************************************************************** */
@ -81,6 +81,7 @@ typedef struct player_position
int front;
int side;
int angle_side;
int shift;
} player;
typedef struct s_data {
@ -98,6 +99,7 @@ typedef struct s_data {
int err;
} t_data;
int update_pos(t_data *img);
char *transform_map(char **double_map, t_data *img);
int check_texture_color(char **tab, t_data *img);
int check_map(char **av, t_data *img);

View File

@ -1,7 +1,7 @@
NO ./sprite/magma_shade.ppm
SO ./sprite/magma_shade.ppm
EA ./sprite/magma_shade.ppm
WE ./sprite/magma_shade.ppm
NO ./sprite/mossy_cobblestone.ppm
SO ./sprite/mossy_cobblestone.ppm
EA ./sprite/obsidian.ppm
WE ./sprite/obsidian.ppm
1111111111111111111111111
@ -9,8 +9,8 @@ WE ./sprite/magma_shade.ppm
1011000001110000000000001
1001000000000000000000001
111111111011000001110000000000001
100000000011000001110111111111111
11110111111111011100000010001
100000000011100001110111111111111
11110111111 11011100000010001
11110111111111011101010010001
11000000110101011100000010001
10000000000000001100000010001

View File

@ -6,7 +6,7 @@
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/02/13 16:42:55 by apommier #+# #+# */
/* Updated: 2022/06/14 00:10:50 by apommier ### ########.fr */
/* Updated: 2022/06/14 14:56:27 by apommier ### ########.fr */
/* */
/* ************************************************************************** */
@ -105,6 +105,8 @@ int key_pressed(int type, t_data *img)
img->player.angle_side = -1;
else if (type == 65363)//fleche droite
img->player.angle_side = 1;
else if (type == 65505)
img->player.shift = 1;
return (0);
}
@ -122,6 +124,8 @@ int key_released(int type, t_data *img)
img->player.angle_side = 0;
else if (type == 65363)//fleche droite
img->player.angle_side = 0;
else if (type == 65505)
img->player.shift = 0;
return (0);
}
@ -160,6 +164,11 @@ int main(int argc, char **argv)
img.player.angle = 90;
img.player.vx = cos(deg_to_rad(img.player.angle));
img.player.vy = sin(deg_to_rad(img.player.angle));
img.player.front = 0;
img.player.side = 0;
img.player.angle_side = 0;
img.player.shift = 0;
//print_map(img.map, &img);
//print_player(img.player, &img);
//print_ray(&img);

View File

@ -6,7 +6,7 @@
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/06/11 01:00:17 by apommier #+# #+# */
/* Updated: 2022/06/14 01:04:04 by apommier ### ########.fr */
/* Updated: 2022/06/14 14:58:34 by apommier ### ########.fr */
/* */
/* ************************************************************************** */
@ -46,6 +46,8 @@ char *transform_map(char **double_map, t_data *img)
img->map.size = img->map.x * img->map.y;
printf("x= %d y= %d\n", img->map.x, img->map.y);
map = ft_calloc(sizeof(char), img->map.size + 1);
if (!map)
quit_game(img);
while (double_map[++i])
{
j = -1;
@ -98,18 +100,25 @@ void set_color(char *str, t_data *img)
{
char c;
int index;
char **tab;
c = next_space(str, 0);
index = next_space_index(str, 0);
tab = ft_split(str + 1, ',');
if (!tab)
quit_game(img);
if (double_size(tab) != 3)
ft_exit("Error\nBad syntax in map file (RGB)\n");
if (c == 'F')
{
if (str[index + 1] != ' ')
ft_exit("Error\nBad syntax in map file\n");
ft_exit("Error\nBad syntax in map file (RGB)\n");
}
if (c == 'C')
{
if (str[index + 1] != ' ')
ft_exit("Error\nBad syntax in map file\n");
ft_exit("Error\nBad syntax in map file (RGB)\n");
}
}

View File

@ -3,10 +3,10 @@
/* ::: :::::::: */
/* parse_map.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: sadjigui <sadjigui@student.42.fr> +#+ +:+ +#+ */
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/05/10 17:54:25 by sadjigui #+# #+# */
/* Updated: 2022/06/14 14:56:22 by sadjigui ### ########.fr */
/* Updated: 2022/06/14 15:00:35 by apommier ### ########.fr */
/* */
/* ************************************************************************** */
@ -281,10 +281,12 @@ char **isafile(char **av, t_data *img)
while ((line = get_next_line(fd)) != NULL)
{
if (line[0] != '\n' && img->err == 0)
{
if (detect_map_line(line))
img->err = 1;
if (line[0] == '\n' && img->err == 1)
img->err = 2;
}
tmp = ft_strjoin(str, line);
if (str != NULL)
free(str);

View File

@ -6,7 +6,7 @@
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/02/13 23:37:02 by apommier #+# #+# */
/* Updated: 2022/06/14 00:09:06 by apommier ### ########.fr */
/* Updated: 2022/06/14 14:58:03 by apommier ### ########.fr */
/* */
/* ************************************************************************** */
@ -64,15 +64,21 @@ void ft_error(char *error_msg)
int update_pos(t_data *img)
{
int multiplicator;
if (img->player.shift == 1)
multiplicator = 4;
else
multiplicator = 2;
if (img->player.front == 1)
{
img->player.x += img->player.vx * 2;
img->player.y += img->player.vy * 2;
img->player.x += img->player.vx * multiplicator;
img->player.y += img->player.vy * multiplicator;
}
else if (img->player.front == -1)
{
img->player.x -= img->player.vx * 2;
img->player.y -= img->player.vy * 2;
img->player.x -= img->player.vx * multiplicator;
img->player.y -= img->player.vy * multiplicator;
}
if (img->player.side == 1)
{
@ -98,6 +104,7 @@ int update_pos(t_data *img)
img->player.vx = cos(deg_to_rad(img->player.angle));
img->player.vy = -sin(deg_to_rad(img->player.angle));
}
return (0);
}
// int is_good(t_data *img, int type)