added an enemy
This commit is contained in:
parent
10d8544c61
commit
c252a9bed1
BIN
assets/flying_eye.png
Normal file
BIN
assets/flying_eye.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.4 KiB |
BIN
assets/mushroom.png
Normal file
BIN
assets/mushroom.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.6 KiB |
@ -6,7 +6,7 @@
|
||||
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2025/04/15 15:52:44 by qmennen #+# #+# */
|
||||
/* Updated: 2025/05/28 14:40:50 by qmennen ### ########.fr */
|
||||
/* Updated: 2025/05/28 16:44:33 by qmennen ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -61,6 +61,7 @@ typedef struct s_player
|
||||
typedef struct s_sprite
|
||||
{
|
||||
int n_frames;
|
||||
int animation_speed;
|
||||
double dist;
|
||||
double cam_frac;
|
||||
int alpha;
|
||||
@ -145,7 +146,7 @@ typedef struct s_game
|
||||
t_player *player;
|
||||
t_screen *screen;
|
||||
t_keyboard *keyboard;
|
||||
int framecount;
|
||||
double elapsed_time;
|
||||
int fps;
|
||||
} t_game;
|
||||
typedef struct s_game_manager
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2025/04/15 15:46:08 by qmennen #+# #+# */
|
||||
/* Updated: 2025/05/28 14:28:16 by qmennen ### ########.fr */
|
||||
/* Updated: 2025/05/28 16:40:12 by qmennen ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
// #include "glad.h"
|
||||
// #include "MLX42_Int.h"
|
||||
|
||||
int game_create(t_game **game)
|
||||
int game_create(t_game **game)
|
||||
{
|
||||
*game = malloc(sizeof(t_game));
|
||||
if (!game)
|
||||
@ -24,7 +24,7 @@ int game_create(t_game **game)
|
||||
return (SUCCESS);
|
||||
}
|
||||
|
||||
void free_game(t_game **game)
|
||||
void free_game(t_game **game)
|
||||
{
|
||||
if (game && *game)
|
||||
{
|
||||
@ -38,32 +38,27 @@ void free_game(t_game **game)
|
||||
}
|
||||
}
|
||||
|
||||
void game_run(t_game *game)
|
||||
void game_run(t_game *game)
|
||||
{
|
||||
static int fps = 0;
|
||||
static int fps = 0;
|
||||
|
||||
game->framecount++;
|
||||
game->elapsed_time += game->screen->mlx->delta_time;
|
||||
fps += (int)(1.f / game->screen->mlx->delta_time);
|
||||
set_uniforms(game);
|
||||
if (game->framecount % 20 == 0)
|
||||
{
|
||||
game->fps = (int)(fps / 20);
|
||||
fprintf(stderr, "FPS: %d\n", fps / 20);
|
||||
fps = 0;
|
||||
}
|
||||
|
||||
player_update(game, game->screen->mlx->delta_time);
|
||||
cast_rays(game);
|
||||
render_map(game);
|
||||
if (game->player->is_moving)
|
||||
{
|
||||
game->screen->img->instances[0].x = sin(game->framecount / 6.0) * 20;
|
||||
game->screen->img->instances[0].y = cos(game->framecount / 3.0) * 10;
|
||||
game->screen->img->instances[0].x = sin(game->elapsed_time * 10) * 20;
|
||||
game->screen->img->instances[0].y = cos(game->elapsed_time * 18) * 10;
|
||||
}
|
||||
handle_battery(game);
|
||||
handle_record(game);
|
||||
}
|
||||
|
||||
void game_free(t_game *game)
|
||||
void game_free(t_game *game)
|
||||
{
|
||||
if (game->screen)
|
||||
{
|
||||
@ -86,7 +81,7 @@ void game_free(t_game *game)
|
||||
free(game);
|
||||
}
|
||||
|
||||
void game_terminate(t_game *game)
|
||||
void game_terminate(t_game *game)
|
||||
{
|
||||
print_scores(game);
|
||||
game_free(game);
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2025/05/28 14:26:29 by qmennen #+# #+# */
|
||||
/* Updated: 2025/05/28 14:28:40 by qmennen ### ########.fr */
|
||||
/* Updated: 2025/05/28 16:03:03 by qmennen ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -78,7 +78,7 @@ void handle_record(t_game *game)
|
||||
int x;
|
||||
int y;
|
||||
|
||||
flash = (game->framecount / 30) % 2;
|
||||
flash = ((int) game->elapsed_time) % 2;
|
||||
y = -15;
|
||||
while (y <= 15)
|
||||
{
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2025/04/22 13:10:06 by whaffman #+# #+# */
|
||||
/* Updated: 2025/05/28 14:32:43 by qmennen ### ########.fr */
|
||||
/* Updated: 2025/05/28 16:42:59 by qmennen ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2025/05/08 12:23:17 by qmennen #+# #+# */
|
||||
/* Updated: 2025/05/28 15:05:38 by qmennen ### ########.fr */
|
||||
/* Updated: 2025/05/28 16:45:20 by qmennen ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -60,7 +60,7 @@ static void draw_sprite_column(
|
||||
tex.y = (y - column.start.y) * sprite->texture->height;
|
||||
tex.y *= inv_range.y;
|
||||
color = sample_texture_color(sprite, tex,
|
||||
(int)(game->framecount / 20) % sprite->n_frames);
|
||||
(int)(game->elapsed_time * sprite->animation_speed) % sprite->n_frames);
|
||||
if (y > 0 && y < game->screen->height && (color & 0xFF) != 0)
|
||||
mlx_put_pixel(game->screen->img, column.x, y, color);
|
||||
y++;
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2025/04/22 17:08:26 by qmennen #+# #+# */
|
||||
/* Updated: 2025/05/28 15:05:21 by qmennen ### ########.fr */
|
||||
/* Updated: 2025/05/28 16:44:40 by qmennen ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -30,6 +30,7 @@ t_sprite make_sprite(mlx_texture_t *texture, double x, double y,
|
||||
// exit(EXIT_FAILURE);
|
||||
// }
|
||||
sprite.n_frames = sprite.texture->width / sprite.texture->height;
|
||||
sprite.animation_speed = 10;
|
||||
sprite.pos.x = x;
|
||||
sprite.pos.y = y;
|
||||
sprite.visible = 1;
|
||||
|
||||
3
test.cub
3
test.cub
@ -18,12 +18,13 @@ CT ./assets/ceiling64x64.png
|
||||
-s a ./assets/lamp.png
|
||||
-c b ./assets/accu.png
|
||||
-s p ./assets/plant.png
|
||||
-s g ./assets/mushroom.png
|
||||
-s m ./assets/broken_mirror.png
|
||||
-s t ./assets/test.png
|
||||
|
||||
1111111 111 1111 111111 1111111111 111111
|
||||
1000001110111001 100001 1000000001 10001
|
||||
10010000000b0001 100001 100000110111100011
|
||||
1001000g000b0001 100001 100000110111100011
|
||||
10b0001110000001110011111111 1100b0001000000001
|
||||
1000001 1000100a000010000001 10000000100b000001
|
||||
100m00111000100000b00000b00111110p00000100p00m001
|
||||
|
||||
Loading…
Reference in New Issue
Block a user