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> +#+ +:+ +#+ */
|
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2025/04/15 15:52:44 by qmennen #+# #+# */
|
/* 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
|
typedef struct s_sprite
|
||||||
{
|
{
|
||||||
int n_frames;
|
int n_frames;
|
||||||
|
int animation_speed;
|
||||||
double dist;
|
double dist;
|
||||||
double cam_frac;
|
double cam_frac;
|
||||||
int alpha;
|
int alpha;
|
||||||
@ -145,7 +146,7 @@ typedef struct s_game
|
|||||||
t_player *player;
|
t_player *player;
|
||||||
t_screen *screen;
|
t_screen *screen;
|
||||||
t_keyboard *keyboard;
|
t_keyboard *keyboard;
|
||||||
int framecount;
|
double elapsed_time;
|
||||||
int fps;
|
int fps;
|
||||||
} t_game;
|
} t_game;
|
||||||
typedef struct s_game_manager
|
typedef struct s_game_manager
|
||||||
|
|||||||
@ -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 14:28:16 by qmennen ### ########.fr */
|
/* Updated: 2025/05/28 16:40:12 by qmennen ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -14,7 +14,7 @@
|
|||||||
// #include "glad.h"
|
// #include "glad.h"
|
||||||
// #include "MLX42_Int.h"
|
// #include "MLX42_Int.h"
|
||||||
|
|
||||||
int game_create(t_game **game)
|
int game_create(t_game **game)
|
||||||
{
|
{
|
||||||
*game = malloc(sizeof(t_game));
|
*game = malloc(sizeof(t_game));
|
||||||
if (!game)
|
if (!game)
|
||||||
@ -24,7 +24,7 @@ int game_create(t_game **game)
|
|||||||
return (SUCCESS);
|
return (SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
void free_game(t_game **game)
|
void free_game(t_game **game)
|
||||||
{
|
{
|
||||||
if (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);
|
fps += (int)(1.f / game->screen->mlx->delta_time);
|
||||||
set_uniforms(game);
|
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);
|
player_update(game, game->screen->mlx->delta_time);
|
||||||
cast_rays(game);
|
cast_rays(game);
|
||||||
render_map(game);
|
render_map(game);
|
||||||
if (game->player->is_moving)
|
if (game->player->is_moving)
|
||||||
{
|
{
|
||||||
game->screen->img->instances[0].x = sin(game->framecount / 6.0) * 20;
|
game->screen->img->instances[0].x = sin(game->elapsed_time * 10) * 20;
|
||||||
game->screen->img->instances[0].y = cos(game->framecount / 3.0) * 10;
|
game->screen->img->instances[0].y = cos(game->elapsed_time * 18) * 10;
|
||||||
}
|
}
|
||||||
handle_battery(game);
|
handle_battery(game);
|
||||||
handle_record(game);
|
handle_record(game);
|
||||||
}
|
}
|
||||||
|
|
||||||
void game_free(t_game *game)
|
void game_free(t_game *game)
|
||||||
{
|
{
|
||||||
if (game->screen)
|
if (game->screen)
|
||||||
{
|
{
|
||||||
@ -86,7 +81,7 @@ void game_free(t_game *game)
|
|||||||
free(game);
|
free(game);
|
||||||
}
|
}
|
||||||
|
|
||||||
void game_terminate(t_game *game)
|
void game_terminate(t_game *game)
|
||||||
{
|
{
|
||||||
print_scores(game);
|
print_scores(game);
|
||||||
game_free(game);
|
game_free(game);
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2025/05/28 14:26:29 by qmennen #+# #+# */
|
/* 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 x;
|
||||||
int y;
|
int y;
|
||||||
|
|
||||||
flash = (game->framecount / 30) % 2;
|
flash = ((int) game->elapsed_time) % 2;
|
||||||
y = -15;
|
y = -15;
|
||||||
while (y <= 15)
|
while (y <= 15)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -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 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> +#+ +:+ +#+ */
|
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2025/05/08 12:23:17 by qmennen #+# #+# */
|
/* 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 = (y - column.start.y) * sprite->texture->height;
|
||||||
tex.y *= inv_range.y;
|
tex.y *= inv_range.y;
|
||||||
color = sample_texture_color(sprite, tex,
|
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)
|
if (y > 0 && y < game->screen->height && (color & 0xFF) != 0)
|
||||||
mlx_put_pixel(game->screen->img, column.x, y, color);
|
mlx_put_pixel(game->screen->img, column.x, y, color);
|
||||||
y++;
|
y++;
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2025/04/22 17:08:26 by qmennen #+# #+# */
|
/* 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);
|
// exit(EXIT_FAILURE);
|
||||||
// }
|
// }
|
||||||
sprite.n_frames = sprite.texture->width / sprite.texture->height;
|
sprite.n_frames = sprite.texture->width / sprite.texture->height;
|
||||||
|
sprite.animation_speed = 10;
|
||||||
sprite.pos.x = x;
|
sprite.pos.x = x;
|
||||||
sprite.pos.y = y;
|
sprite.pos.y = y;
|
||||||
sprite.visible = 1;
|
sprite.visible = 1;
|
||||||
|
|||||||
3
test.cub
3
test.cub
@ -18,12 +18,13 @@ CT ./assets/ceiling64x64.png
|
|||||||
-s a ./assets/lamp.png
|
-s a ./assets/lamp.png
|
||||||
-c b ./assets/accu.png
|
-c b ./assets/accu.png
|
||||||
-s p ./assets/plant.png
|
-s p ./assets/plant.png
|
||||||
|
-s g ./assets/mushroom.png
|
||||||
-s m ./assets/broken_mirror.png
|
-s m ./assets/broken_mirror.png
|
||||||
-s t ./assets/test.png
|
-s t ./assets/test.png
|
||||||
|
|
||||||
1111111 111 1111 111111 1111111111 111111
|
1111111 111 1111 111111 1111111111 111111
|
||||||
1000001110111001 100001 1000000001 10001
|
1000001110111001 100001 1000000001 10001
|
||||||
10010000000b0001 100001 100000110111100011
|
1001000g000b0001 100001 100000110111100011
|
||||||
10b0001110000001110011111111 1100b0001000000001
|
10b0001110000001110011111111 1100b0001000000001
|
||||||
1000001 1000100a000010000001 10000000100b000001
|
1000001 1000100a000010000001 10000000100b000001
|
||||||
100m00111000100000b00000b00111110p00000100p00m001
|
100m00111000100000b00000b00111110p00000100p00m001
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user