diff --git a/Readme.md b/Readme.md index c4d60a3..ee05bf7 100644 --- a/Readme.md +++ b/Readme.md @@ -11,22 +11,21 @@ Cub3D is a simple raycasting game using the mlx library - Minimap - Animated Sprites ### Extra -- Help screen? -- Levels? -- Collectables -- Enemies? -- Moving Enemies? -- Weapon Sprite that fires? -- Zoom with right mouse button? +- Help screen +- End level screen +- Weapon Sprite that fires +- Zoom with right mouse button - Weapon pickups +- Shooting Enemies +- Moving Enemies - HP system - Timer - Score system -- End level screen -- Skybox? -- Sounds? -- Music? -- A Start Menu? +- Levels +- Start Menu // breaks mandatory subject +- Skybox // Breaks mandatory subject +- Sounds // need forbidden functions +- Music // need forbidden functions --- ## Features diff --git a/maps/bigmap.cub b/maps/bigmap.cub index 0144f7f..3bf1d0e 100644 --- a/maps/bigmap.cub +++ b/maps/bigmap.cub @@ -7,26 +7,26 @@ SO ./assets/wall/redbrick.png WE ./assets/wall/wood.png 1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 -1G B1 1 1 1 1 1 -1 KH H H H H H D KH K 1 C H D D KHK X 1 -1 1 1 1 1 1 1 +1L B1 p 1 1 1 1 1 +1 Kl l l l l l D KC K 1 &TC D D KCK 1 +1 1V A A 1 1 ] 1 1 1 1 11111111111 11111111111 111111111111111111111 1 1111111111 1111111111 -1 1B C B1 1 1 1 1 1 D KH K 1 1 -1 1 KH HK 1 1 K H K D 1 C 1 K H K D H 1 1 K K K K K K K K 1 -1 1 1 1 1 1 H 1 1 1111111111 K K K K K K 1 -1 11111 11111 11111111111 D K K K 11111111111 1 1 K K K K 1 -1 1 1 1 K K 1 1 D KH K 1 K K 1 -1 1 K H K D 1 1 K H K D H 1 1 1 +1 1B f $ f B1 1 1 1 17 1 D KC K 1 1 +1 1 Kl T lK 1 1s K l K D 1 9&9 1 K l K D l 1 91 K K K K K K K K 1 +1 13 8 8 21 1 1 1 C 17 1 1111111111 K K K K K K 1 +1 11111 11111 11111111111 D K T K 11111111111 1 1 K K K K 1 +1 A A 1 1 1 K K 1 1 D Kl K 1 K K 1 +1P 1s K l K D 1 1 K l K D l 1 1 1 1 1 1 11111111111 1 1111111111 1 -1 H H 11111111111 1 11111111111 1 1 1 -1 1 1 D K H K 1 1 D KH K 1 1 -1B 1 K H K D 1 1 K H K D H 1 1 1 -1BB 1 1 11111111111 1 1111111111 1 +1 l l 11111111111 1 11111111111 1 1 1 +1 1 1 D K l K 1 1 D Kl K 1 1 +1B 1s K l K D 1 1 K l K D l 1 1 1 +1BB9 1 1 11111111111 1 1111111111 1 111111111 11111111111 1 11111111111 1 1 1 -1B1 1 1 1 D K H K 1 1 D HC 1 1 -1 K K K 1 1 K K 1 1 1 KHK D H 1 1 1 -1 1 H 1 H 1 K K K D 11111111111 K K K 1 1111111111 1 -1 1 C 1 N 1 KHK 1 1 1 KHK 1 1 1 -1 1111111 1 C 1 D K H K 1 C 1BH H H 1 -1 1 1BBB1 1 1BB B1 1 +1B1 1 1 1 D K l K 1 1 D l$ 1 1 +1 K K K 1 1 K K 1 1 1 KCK D l 1 1 1 +1 1 l 1 l 1 K T K D 11111111111 K T K 1 1111111111 1 +1 1 # 1P N 1 KCK 1 1 1 KCK 1 1 1 +1 1111111 1 * 1 D K l$K 1 * 1Bl l l b1 +1 b1[ 1BBB1 14 9 1BB B1 bb1 1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 diff --git a/maps/spritetest.cub b/maps/spritetest.cub index b7620a9..8e56a71 100644 --- a/maps/spritetest.cub +++ b/maps/spritetest.cub @@ -6,10 +6,10 @@ EA ./assets/wall/colorstone.png SO ./assets/wall/redbrick.png WE ./assets/wall/wood.png -1111111 -1B1B1B1 -1 G G 1 -1 1 -1 N 1 -1 1 -1111111 +11111111111111 +1BbLAPpVfTslC1 +1$#*&987[]3421 +1 1 +1 K N 1 +1 1 +11111111111111 diff --git a/src/main/main.c b/src/main/main.c index 0acdb66..6f85593 100644 --- a/src/main/main.c +++ b/src/main/main.c @@ -6,7 +6,7 @@ /* By: houtworm +#+ */ /* +#+ */ /* Created: 2023/10/26 14:13:07 by houtworm #+# #+# */ -/* Updated: 2023/11/05 11:50:09 by houtworm ######## odam.nl */ +/* Updated: 2023/11/05 12:41:47 by houtworm ######## odam.nl */ /* */ /* ************************************************************************** */ @@ -31,8 +31,11 @@ void mainloop(void *param) ft_checkpickup(vl); ft_drawsprites(vl); /*ft_drawweapon(vl);*/ + /*ft_drawminimap(vl);*/ vl->frametime = vl->mlx->delta_time; ft_printstats(vl); + /*ft_enemyaction(vl);*/ + vl->frametime = vl->mlx->delta_time; ft_processinput(vl); if (!vl->img || (mlx_image_to_window(vl->mlx, vl->img, 0, 0) < 0)) ft_errorexit("image to window failed ", "mainloop", 1); diff --git a/src/parse/map.c b/src/parse/map.c index 6ec569f..725fa28 100644 --- a/src/parse/map.c +++ b/src/parse/map.c @@ -6,7 +6,7 @@ /* By: houtworm +#+ */ /* +#+ */ /* Created: 2023/10/26 17:33:50 by houtworm #+# #+# */ -/* Updated: 2023/11/05 11:50:41 by houtworm ######## odam.nl */ +/* Updated: 2023/11/05 12:56:48 by houtworm ######## odam.nl */ /* */ /* ************************************************************************** */ @@ -90,14 +90,52 @@ char **ft_getmap(t_varlist *vl, int fd) map[y][x] = 'D'; else if (line[x] == 'B') map[y][x] = ft_addsoliddecor(vl, y, x, 0); - else if (line[x] == 'G') + else if (line[x] == 'b') + map[y][x] = ft_addsoliddecor(vl, y, x, 1); + else if (line[x] == 'L') map[y][x] = ft_addsoliddecor(vl, y, x, 2); - else if (line[x] == 'H') + else if (line[x] == 'A') + map[y][x] = ft_addsoliddecor(vl, y, x, 3); + else if (line[x] == 'P') + map[y][x] = ft_addsoliddecor(vl, y, x, 4); + else if (line[x] == 'p') + map[y][x] = ft_addsoliddecor(vl, y, x, 5); + else if (line[x] == 'V') + map[y][x] = ft_addsoliddecor(vl, y, x, 6); + else if (line[x] == 'f') + map[y][x] = ft_addsoliddecor(vl, y, x, 7); + else if (line[x] == 'T') + map[y][x] = ft_addsoliddecor(vl, y, x, 8); + else if (line[x] == 's') + map[y][x] = ft_addsoliddecor(vl, y, x, 9); + else if (line[x] == 'l') map[y][x] = ft_addwalktroughdecor(vl, y, x, 10); else if (line[x] == 'C') + map[y][x] = ft_addwalktroughdecor(vl, y, x, 11); + else if (line[x] == '$') map[y][x] = ft_addpickup(vl, y, x, 0); - else if (line[x] == 'X') - map[y][x] = ft_addenemy(vl, y, x, 0); + else if (line[x] == '#') + map[y][x] = ft_addpickup(vl, y, x, 1); + else if (line[x] == '*') + map[y][x] = ft_addpickup(vl, y, x, 2); + else if (line[x] == '&') + map[y][x] = ft_addpickup(vl, y, x, 3); + else if (line[x] == '9') + map[y][x] = ft_addpickup(vl, y, x, 4); + else if (line[x] == '8') + map[y][x] = ft_addpickup(vl, y, x, 5); + else if (line[x] == '7') + map[y][x] = ft_addpickup(vl, y, x, 6); + else if (line[x] == '[') + map[y][x] = ft_addpickup(vl, y, x, 7); + else if (line[x] == ']') + map[y][x] = ft_addpickup(vl, y, x, 8); + else if (line[x] == '3') + map[y][x] = ft_addpickup(vl, y, x, 9); + else if (line[x] == '4') + map[y][x] = ft_addpickup(vl, y, x, 10); + else if (line[x] == '2') + map[y][x] = ft_addpickup(vl, y, x, 11); else if (line[x] == 'K') map[y][x] = ft_addenemy(vl, y, x, 0); else