-
Notifications
You must be signed in to change notification settings - Fork 0
/
game.c
69 lines (63 loc) · 1.54 KB
/
game.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
/*
** EPITECH PROJECT, 2022
** my_hunter
** File description:
** my_hunter
*/
#include "include/my_hunter.h"
int game(void)
{
sfRenderWindow *window;
sfVideoMode video_mode = {1920, 1080, 32};
sfEvent event;
game_t game;
scene_t scene;
menu_t menu;
window = sfRenderWindow_create(video_mode,"DOOM Hunter V1",
sfClose | sfResize, NULL);
init_base(window, &game, &menu);
while (sfRenderWindow_isOpen(window)){
while (sfRenderWindow_pollEvent(window, &event)) {
close_event(window, event);
}
srand(time(0));
load_base(window, &game, &menu, &scene);
}
destroy_all(window, &game, &menu, &scene);
return 0;
}
void init_base(sfRenderWindow *window, game_t *game, menu_t *menu)
{
game->time_ref = 0;
game->score = 0;
game->lives = 3;
game->game_over = 0;
game->h_score = get_score();
sfRenderWindow_setFramerateLimit(window, 60);
malloc_all_struct(menu, game);
game->clock = sfClock_create();
init_game(game);
init_menu(menu);
}
void load_base(sfRenderWindow *window, game_t
*game, menu_t *menu, scene_t *scene)
{
event_manager_menu(window, scene, menu);
lives_manager(window,scene,game);
if (scene->game == true)
load_game(window, game);
else{
game_reset(game);
load_menu(window,menu);
}
}
void close_event(sfRenderWindow *window, sfEvent event)
{
if (event.type == sfEvtClosed)
sfRenderWindow_close(window);
}
void game_reset(game_t *game)
{
game->score = 0;
game->lives = 3;
}