monsters
This commit is contained in:
parent
20b0c461b0
commit
5d47d033c3
2
Makefile
2
Makefile
@ -6,7 +6,7 @@
|
||||
# By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2024/10/15 11:48:46 by whaffman #+# #+# #
|
||||
# Updated: 2025/05/27 17:00:58 by qmennen ### ########.fr #
|
||||
# Updated: 2025/05/28 17:44:58 by qmennen ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2025/04/15 12:22:29 by qmennen #+# #+# */
|
||||
/* Updated: 2025/05/27 18:14:06 by qmennen ### ########.fr */
|
||||
/* Updated: 2025/05/28 17:30:51 by qmennen ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -60,6 +60,7 @@
|
||||
# include "texture.h"
|
||||
# include "game_manager.h"
|
||||
# include "game_menu.h"
|
||||
# include "monster.h"
|
||||
|
||||
int initialize_cub3d(t_game **game, const char *mapfile);
|
||||
int shader_init(t_game **game);
|
||||
|
||||
20
inc/monster.h
Normal file
20
inc/monster.h
Normal file
@ -0,0 +1,20 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* monster.h :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2025/05/28 17:16:29 by qmennen #+# #+# */
|
||||
/* Updated: 2025/05/28 17:16:43 by qmennen ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#ifndef MONSTER_H
|
||||
# define MONSTER_H
|
||||
|
||||
# include "cub3d.h"
|
||||
|
||||
void update_monsters(t_game *game);
|
||||
|
||||
#endif
|
||||
24
monster.cub
Normal file
24
monster.cub
Normal file
@ -0,0 +1,24 @@
|
||||
|
||||
|
||||
NO ./assets/tiles256.png
|
||||
|
||||
WE ./assets/bricks2.png
|
||||
|
||||
SO ./assets/stonewall256.png
|
||||
EA ./assets/bricksx64.png
|
||||
|
||||
F 90,30,30
|
||||
|
||||
|
||||
C 100,100,200
|
||||
|
||||
FT ./assets/tiles3.png
|
||||
CT ./assets/ceiling64x64.png
|
||||
|
||||
-s a ./assets/flying_eye.png
|
||||
|
||||
11111111
|
||||
1000a001
|
||||
10000001
|
||||
100N0001
|
||||
11111111
|
||||
@ -6,7 +6,7 @@
|
||||
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2025/04/15 15:46:08 by qmennen #+# #+# */
|
||||
/* Updated: 2025/05/28 16:40:12 by qmennen ### ########.fr */
|
||||
/* Updated: 2025/05/28 17:39:24 by qmennen ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -45,9 +45,9 @@ void game_run(t_game *game)
|
||||
game->elapsed_time += game->screen->mlx->delta_time;
|
||||
fps += (int)(1.f / game->screen->mlx->delta_time);
|
||||
set_uniforms(game);
|
||||
|
||||
player_update(game, game->screen->mlx->delta_time);
|
||||
cast_rays(game);
|
||||
update_monsters(game);
|
||||
render_map(game);
|
||||
if (game->player->is_moving)
|
||||
{
|
||||
|
||||
38
src/monster/monster.c
Normal file
38
src/monster/monster.c
Normal file
@ -0,0 +1,38 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* monster.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2025/05/28 17:15:52 by qmennen #+# #+# */
|
||||
/* Updated: 2025/05/28 17:45:37 by qmennen ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
# include "cub3d.h"
|
||||
|
||||
void update_monsters(t_game *game)
|
||||
{
|
||||
int i;
|
||||
double dx;
|
||||
double dy;
|
||||
t_sprite *sprite;
|
||||
|
||||
i = -1;
|
||||
while (++i < game->map->n_sprites)
|
||||
{
|
||||
sprite = &game->map->sprites[i];
|
||||
if (sprite->type != SPRITE_TYPE_ENEMY)
|
||||
continue;
|
||||
dx = game->player->pos.x - sprite->pos.x;
|
||||
dy = game->player->pos.y - sprite->pos.y;
|
||||
double dist_squared = dx * dx + dy * dy;
|
||||
if (dist_squared > 0)
|
||||
{
|
||||
double inv_dist = 1.0 / sqrt(dist_squared);
|
||||
sprite->pos.x += dx * inv_dist * .05f;
|
||||
sprite->pos.y += dy * inv_dist * .05f;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -6,7 +6,7 @@
|
||||
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2025/04/22 13:10:06 by whaffman #+# #+# */
|
||||
/* Updated: 2025/05/28 17:13:29 by qmennen ### ########.fr */
|
||||
/* Updated: 2025/05/28 17:32:08 by qmennen ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -112,7 +112,7 @@ int handle_sprite(char *token, t_map *map)
|
||||
else
|
||||
{
|
||||
sprite.collectible = 0;
|
||||
sprite.type = SPRITE_TYPE_DEFAULT;
|
||||
sprite.type = SPRITE_TYPE_ENEMY;
|
||||
}
|
||||
symbol = *ft_strtok(NULL, " ");
|
||||
if (symbol < 'a' || symbol > 'z')
|
||||
|
||||
Loading…
Reference in New Issue
Block a user