monsters
This commit is contained in:
parent
20b0c461b0
commit
5d47d033c3
2
Makefile
2
Makefile
@ -6,7 +6,7 @@
|
|||||||
# By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ #
|
# By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ #
|
||||||
# +#+#+#+#+#+ +#+ #
|
# +#+#+#+#+#+ +#+ #
|
||||||
# Created: 2024/10/15 11:48:46 by whaffman #+# #+# #
|
# 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> +#+ +:+ +#+ */
|
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2025/04/15 12:22:29 by qmennen #+# #+# */
|
/* 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 "texture.h"
|
||||||
# include "game_manager.h"
|
# include "game_manager.h"
|
||||||
# include "game_menu.h"
|
# include "game_menu.h"
|
||||||
|
# include "monster.h"
|
||||||
|
|
||||||
int initialize_cub3d(t_game **game, const char *mapfile);
|
int initialize_cub3d(t_game **game, const char *mapfile);
|
||||||
int shader_init(t_game **game);
|
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> +#+ +:+ +#+ */
|
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2025/04/15 15:46:08 by qmennen #+# #+# */
|
/* 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;
|
game->elapsed_time += game->screen->mlx->delta_time;
|
||||||
fps += (int)(1.f / game->screen->mlx->delta_time);
|
fps += (int)(1.f / game->screen->mlx->delta_time);
|
||||||
set_uniforms(game);
|
set_uniforms(game);
|
||||||
|
|
||||||
player_update(game, game->screen->mlx->delta_time);
|
player_update(game, game->screen->mlx->delta_time);
|
||||||
cast_rays(game);
|
cast_rays(game);
|
||||||
|
update_monsters(game);
|
||||||
render_map(game);
|
render_map(game);
|
||||||
if (game->player->is_moving)
|
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> +#+ +:+ +#+ */
|
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2025/04/22 13:10:06 by whaffman #+# #+# */
|
/* 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
|
else
|
||||||
{
|
{
|
||||||
sprite.collectible = 0;
|
sprite.collectible = 0;
|
||||||
sprite.type = SPRITE_TYPE_DEFAULT;
|
sprite.type = SPRITE_TYPE_ENEMY;
|
||||||
}
|
}
|
||||||
symbol = *ft_strtok(NULL, " ");
|
symbol = *ft_strtok(NULL, " ");
|
||||||
if (symbol < 'a' || symbol > 'z')
|
if (symbol < 'a' || symbol > 'z')
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user