Avencement, scrolling ajouté, faut l'opti

This commit is contained in:
Etienne Rey-bethbeder 2022-12-14 20:06:15 +01:00
parent 1186421e98
commit 403cc84d9b
17 changed files with 562 additions and 26 deletions

Binary file not shown.

68
assets/background_64.xpm Normal file
View file

@ -0,0 +1,68 @@
/* XPM */
static char * background_64_xpm[] = {
"64 64 1 1",
" c #000000",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" "};

85
assets/collectible_64.xpm Normal file
View file

@ -0,0 +1,85 @@
/* XPM */
static char * collectible_64_xpm[] = {
"64 64 18 1",
" c #000000",
". c #002600",
"+ c #013A00",
"@ c #013700",
"# c #014400",
"$ c #09B700",
"% c #0DDC00",
"& c #10F800",
"* c #10F600",
"= c #0ABD00",
"- c #058D00",
"; c #09BA00",
"> c #11FD00",
", c #11FB00",
"' c #10F900",
") c #059100",
"! c #0DDA00",
"~ c #0DD900",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" .+++++@ ",
" #$%&&&&&*=-. ",
" @;*>>>>>>>>>,%- ",
" -%>>>>>>>>>>>>>';@ ",
" )'>>>>>>>>>>>>>>>>!@ ",
" #*>>>>>>>>>>>>>>>>>>; ",
" .~>>>>>>>>>>>>>>>>>>>'- ",
" -,>>>>>>>>>>>>>>>>>>>>%. ",
" .%>>>>>>>>>>>>>>>>>>>>>,- ",
" #'>>>>>>>>>>>>>>>>>>>>>>= ",
" $>>>>>>>>>>>>>>>>>>>>>>>*@ ",
" ;>>>>>>>>>>>>>>>>>>>>>>>&+ ",
" ;>>>>>>>>>>>>>>>>>>>>>>>&+ ",
" ;>>>>>>>>>>>>>>>>>>>>>>>&+ ",
" ;>>>>>>>>>>>>>>>>>>>>>>>&+ ",
" ;>>>>>>>>>>>>>>>>>>>>>>>&+ ",
" -,>>>>>>>>>>>>>>>>>>>>>>%. ",
" @*>>>>>>>>>>>>>>>>>>>>>>$ ",
" ;>>>>>>>>>>>>>>>>>>>>>*# ",
" #*>>>>>>>>>>>>>>>>>>>>; ",
" ),>>>>>>>>>>>>>>>>>>%@ ",
" .~>>>>>>>>>>>>>>>>>'- ",
" @~,>>>>>>>>>>>>>>*) ",
" .)*>>>>>>>>>>>,~# ",
" #;*,>>>>>>'%-. ",
" @-;;;;;$#. ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" "};

86
assets/enemy_64.xpm Normal file
View file

@ -0,0 +1,86 @@
/* XPM */
static char * enemy_64_xpm[] = {
"64 64 19 1",
" c #000000",
". c #260000",
"+ c #3B0000",
"@ c #380000",
"# c #450000",
"$ c #B90000",
"% c #DE0000",
"& c #FA0000",
"* c #F80000",
"= c #BE0000",
"- c #8E0000",
"; c #BB0000",
"> c #FF0000",
", c #FD0000",
"' c #FB0000",
") c #920000",
"! c #DC0000",
"~ c #DB0000",
"{ c #930000",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" .+++++@ ",
" #$%&&&&&*=-. ",
" @;*>>>>>>>>>,%- ",
" -%>>>>>>>>>>>>>';@ ",
" )'>>>>>>>>>>>>>>>>!@ ",
" #*>>>>>>>>>>>>>>>>>>; ",
" .~>>>>>>>>>>>>>>>>>>>'- ",
" -,>>>>>>>>>>>>>>>>>>>>%. ",
" .%>>>>>>>>>>>>>>>>>>>>>,- ",
" #'>>>>>>>>>>>>>>>>>>>>>>= ",
" $>>>>>>>>>>>>>>>>>>>>>>>*@ ",
" ;>>>>>>>>>>>>>>>>>>>>>>>&+ ",
" ;>>>>>>>>>>>>>>>>>>>>>>>&+ ",
" ;>>>>>>>>>>>>>>>>>>>>>>>&+ ",
" ;>>>>>>>>>>>>>>>>>>>>>>>&+ ",
" ;>>>>>>>>>>>>>>>>>>>>>>>&+ ",
" -,>>>>>>>>>>>>>>>>>>>>>>%. ",
" @*>>>>>>>>>>>>>>>>>>>>>>$ ",
" ;>>>>>>>>>>>>>>>>>>>>>*# ",
" #*>>>>>>>>>>>>>>>>>>>>; ",
" {,>>>>>>>>>>>>>>>>>>%@ ",
" .~>>>>>>>>>>>>>>>>>'- ",
" @~,>>>>>>>>>>>>>>*) ",
" .{*>>>>>>>>>>>,~# ",
" #;*,>>>>>>'%-. ",
" @-;;;;;$#. ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" "};

75
assets/exit_64.xpm Normal file
View file

@ -0,0 +1,75 @@
/* XPM */
static char * exit_64_xpm[] = {
"64 64 8 1",
" c #000000",
". c #030021",
"+ c #2900A3",
"@ c #2A00A6",
"# c #060031",
"$ c #3B00DE",
"% c #3C00E2",
"& c #3A00DA",
" ",
" ",
" ",
" ",
" .+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+. ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$# ",
" #&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&# ",
" ###################################################### ",
" ",
" ",
" "};

83
assets/player_64.xpm Normal file
View file

@ -0,0 +1,83 @@
/* XPM */
static char * player_64_xpm[] = {
"64 64 16 1",
" c #000000",
". c #262626",
"+ c #383838",
"@ c #454545",
"# c #B6B6B6",
"$ c #BABABA",
"% c #8D8D8D",
"& c #DCDCDC",
"* c #F8F8F8",
"= c #FDFDFD",
"- c #FBFBFB",
"; c #F6F6F6",
"> c #BDBDBD",
", c #8C8C8C",
"' c #DADADA",
") c #919191",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" .+@#$$$$$%++ ",
" .%$&**======-*;>#@ ",
" @#&-===============;>%. ",
" +$;====================-&, ",
" ,&========================*$+ ",
" +$*===========================&, ",
" +'==============================*) ",
" +'================================*) ",
" +'==================================*) ",
" +'====================================*) ",
" $======================================;@ ",
" ,*======================================='. ",
" +&========================================-) ",
" $==========================================;@ ",
" @;===========================================$ ",
" #============================================;+ ",
" .&============================================-% ",
" %-=============================================&. ",
" $==============================================*+ ",
" .&==============================================-% ",
" +*===============================================$ ",
" @*===============================================> ",
" #================================================;+ ",
" $================================================*+ ",
" $================================================*+ ",
" $================================================*+ ",
" $================================================*+ ",
" $================================================*+ ",
" %-===============================================&. ",
" +*===============================================$ ",
" +;===============================================# ",
" >==============================================*@ ",
" #==============================================;+ ",
" @;=============================================$ ",
" >============================================*@ ",
" %-===========================================&. ",
" .&==========================================-% ",
" ,*========================================='. ",
" $========================================;@ ",
" +&======================================-) ",
" ,*====================================='. ",
" )*==================================='+ ",
" )*================================='+ ",
" )*==============================='+ ",
" );============================-'+ ",
" @'-=========================;). ",
" .);======================-'@ ",
" @$;-=================*&%. ",
" +%&*-===========*;$@. ",
" .+%$>;*****&$#@+ ",
" ++++++. ",
" ",
" ",
" ",
" ",
" ",
" "};

68
assets/wall_64.xpm Normal file
View file

@ -0,0 +1,68 @@
/* XPM */
static char * wall_64_xpm[] = {
"64 64 1 1",
" c #FFFFFF",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" "};

View file

@ -6,7 +6,7 @@
# By: erey-bet <marvin@42.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2022/09/27 04:19:30 by erey-bet #+# #+# #
# Updated: 2022/12/12 13:46:44 by erey-bet ### ########.fr #
# Updated: 2022/12/13 13:23:28 by erey-bet ### ########.fr #
# #
# **************************************************************************** #
@ -16,7 +16,7 @@ ft_strlcat.c ft_toupper.c ft_tolower.c ft_strchr.c ft_strrchr.c ft_strncmp.c \
ft_memchr.c ft_memcmp.c ft_strnstr.c ft_atoi.c ft_calloc.c ft_strdup.c \
ft_substr.c ft_strjoin.c ft_strtrim.c ft_split.c ft_itoa.c ft_strmapi.c \
ft_striteri.c ft_putchar_fd.c ft_putstr_fd.c ft_putendl_fd.c ft_putnbr_fd.c \
ft_get_size.c ft_power.c ft_atoi_check.c ft_strlen_double.c
ft_get_size.c ft_power.c ft_atoi_check.c ft_strlen_double.c ft_strjoin_free.c
OBJS = ${SRCS:.c=.o}
BONUS_SRCS = ft_lstnew.c ft_lstadd_front.c ft_lstsize.c ft_lstlast.c \
ft_lstadd_back.c ft_lstdelone.c ft_lstclear.c ft_lstiter.c ft_lstmap.c

33
libft/ft_strjoin_free.c Normal file
View file

@ -0,0 +1,33 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strjoin_free.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: erey-bet <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/07/27 14:47:27 by erey-bet #+# #+# */
/* Updated: 2022/12/13 13:24:11 by erey-bet ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
char *ft_strjoin_free(char *s1, char *s2, int b)
{
char *tmp;
int size;
if (s1 == NULL || s2 == NULL)
return (NULL);
size = ft_strlen(s1) + ft_strlen(s2) + 1;
tmp = ft_calloc(size, 1);
if (tmp == NULL)
return (NULL);
ft_strlcpy(tmp, s1, size);
ft_strlcat(tmp, s2, size);
if (b > 0)
free(s1);
if (b > 1)
free(s2);
return (tmp);
}

BIN
libft/ft_strjoin_free.o Normal file

Binary file not shown.

Binary file not shown.

View file

@ -6,7 +6,7 @@
/* By: erey-bet <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/09/26 16:31:10 by erey-bet #+# #+# */
/* Updated: 2022/12/12 13:46:30 by erey-bet ### ########.fr */
/* Updated: 2022/12/13 13:23:44 by erey-bet ### ########.fr */
/* */
/* ************************************************************************** */
@ -55,6 +55,7 @@ void ft_putnbr_fd(int n, int fd);
int ft_get_size(long n);
int ft_power(int nb, int power);
char *ft_strjoin(char const *s1, char const *s2);
char *ft_strjoin_free(char *s1, char *s2, int b);
char *ft_strtrim(char const *s1, char const *set);
char *ft_substr(char const *s, unsigned int start, size_t len);
t_list *ft_lstnew(void *content);

6
map_test2.txt Normal file
View file

@ -0,0 +1,6 @@
1111111111111111111111111111111111
1E0000000000000C00000C000000000001
1010010100100000101001000000010101
1010010010101010001001000000010101
1P0000000C00C0000000000000000000C1
1111111111111111111111111111111111

BIN
so_long

Binary file not shown.

View file

@ -6,22 +6,27 @@
/* By: erey-bet <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/12/09 14:18:18 by erey-bet #+# #+# */
/* Updated: 2022/12/12 21:52:42 by erey-bet ### ########.fr */
/* Updated: 2022/12/14 17:15:45 by erey-bet ### ########.fr */
/* */
/* ************************************************************************** */
#include "so_long.h"
#include <stdio.h>
void free_img(t_data *data)
void all_free(t_data *data)
{
mlx_destroy_image(data->mlx, data->mlx_img);
free(data->mlx_img);
(void)data;
}
int quit(t_data *data)
{
(void)data;
mlx_destroy_image(data->mlx, data->mlx_img);
mlx_clear_window(data->mlx, data->mlx_win);
mlx_destroy_window(data->mlx, data->mlx_win);
mlx_destroy_display(data->mlx);
mlx_loop_end(data->mlx);
free(data->mlx);
//free(data);
exit(0);
return (0);
}
@ -47,6 +52,11 @@ t_xy *get_position(t_data *data, char c)
return (xy);
}
char get_element(t_data *data, t_xy xy)
{
return (data->map[xy.y][xy.x]);
}
int get_new_element(t_data *data, int x, int y)
{
return(data->map[data->y_player + y][data->x_player + x]);
@ -67,6 +77,7 @@ int end(t_data *data)
void set_position_player(t_data *data, t_xy *xy)
{
data->x_player = xy->x;
data->y_player = xy->y;
free(xy);
}
@ -102,7 +113,7 @@ int key_hook(int key, t_data *data)
char *assets(char c)
{
if (c == '0')
if (c == '0' || c == 'P')
return ("assets/background.xpm");
else if (c == '1')
return ("assets/wall.xpm");
@ -113,23 +124,36 @@ char *assets(char c)
return (NULL);
}
void draw_map(t_data *data)
void draw(t_data *data)
{
int x;
int y;
int range;
x = 0;
while (x < (data->w_screen / data->size))
range = 4;
x = data->x_player - range;
while (x < data->x_player + range)
{
y = 0;
while (y < (data->h_screen / data->size))
while (x < 0)
x++;
y = data->y_player - range;
while (y < data->y_player + range)
{
if (x != data->x_player || y != data->y_player)
while (y < 0)
y++;
if (x == data->x_player && y == data->y_player)
{
data->mlx_img = mlx_xpm_file_to_image(data->mlx, "assets/player.xpm", &data->size, &data->size);
mlx_put_image_to_window(data->mlx, data->mlx_win, data->mlx_img, data->w_screen / 2, data->h_screen / 2);
}
else if (x >= 0 && y >= 0 && y < data->h_map && data->map[y] != NULL)
{
if (data->map[y][x] == '\n' || data->map[y][x] == '\0')
break;
data->mlx_img = mlx_xpm_file_to_image(data->mlx, assets(data->map[y][x]), &data->size, &data->size);
if (!data->mlx_img)
data->mlx_img = mlx_xpm_file_to_image(data->mlx, assets('0'), &data->size, &data->size);
mlx_put_image_to_window(data->mlx, data->mlx_win, data->mlx_img, x * data->size, y * data->size);
mlx_put_image_to_window(data->mlx, data->mlx_win, data->mlx_img, (data->w_screen / 2) + ((x - data->x_player) * data->size), (data->h_screen / 2) + ((y - data->y_player) * data->size));
}
y++;
}
@ -141,9 +165,8 @@ int render(t_data *data)
{
if (data->update == 1)
{
draw_map(data);
data->mlx_img = mlx_xpm_file_to_image(data->mlx, "assets/player.xpm", &data->size, &data->size);
mlx_put_image_to_window(data->mlx, data->mlx_win, data->mlx_img, data->x_player * data->size, data->y_player * data->size);
//mlx_clear_window(data->mlx, data->mlx_win);
draw(data);
data->update = 0;
}
return (0);
@ -155,14 +178,14 @@ void init_data(t_data *data)
data->size = 128;
data->x_player = 0;
data->y_player = 0;
data->h_screen = 768;
data->w_screen = 768;
data->mlx = mlx_init();
mlx_get_screen_size(data->mlx, &data->w_screen, &data->h_screen);
}
void get_map(char *argv[], t_data *data)
{
char *tmp_map;
//char *tmp_map2;
char *map;
int i;
int fd;
@ -175,16 +198,22 @@ void get_map(char *argv[], t_data *data)
tmp_map = NULL;
while (i == 0 || tmp_map != NULL)
{
if (tmp_map)
free(tmp_map);
tmp_map = get_next_line(fd);
if (tmp_map && map)
map = ft_strjoin(map, tmp_map);
{
map = ft_strjoin_free(map, tmp_map, 1);
}
else if (tmp_map)
map = tmp_map;
map = ft_strdup(tmp_map);
i++;
}
if (tmp_map)
free(tmp_map);
data->map = ft_split(map, '\n');
data->h_screen = (i - 1) * data->size;
data->w_screen = ft_strlen(*data->map) * data->size;
data->h_map = i - 1;
free(map);
}
int main(int argc, char *argv[])

View file

@ -6,7 +6,7 @@
/* By: erey-bet <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/12/10 17:59:18 by erey-bet #+# #+# */
/* Updated: 2022/12/12 20:53:26 by erey-bet ### ########.fr */
/* Updated: 2022/12/14 16:12:41 by erey-bet ### ########.fr */
/* */
/* ************************************************************************** */
@ -28,6 +28,8 @@ typedef struct s_data
void *mlx_win;
void *mlx_img;
char **map;
int h_map;
int w_map;
int update;
int size;
int x_player;

BIN
so_long.o

Binary file not shown.