generated from ECE-Lyon/Base-Projet-Avec-Marp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.c
64 lines (48 loc) · 1.42 KB
/
main.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
#include "main.h"
int main() {
// Initialisation de l'aléatoires
srand(time(NULL));
// Initialisation d'Allegro
install_all_allegro();
// Menu
DEBUG_MODE > 0 ?: start_menu();
// Creatin du jeu
GameState game;
init_game(&game);
// Init Bitmap
init_bitmap(&game);
// Load sprites
load_idle_sprites(&game);
load_walk_sprites(&game);
load_background_sprite(&game);
load_background_overlay_sprite(&game);
load_ticket_sprite(&game);
game.debug_hud = create_bitmap(SCREEN_WIDTH, SCREEN_HEIGHT);
clear_to_color(game.debug_hud, makecol(255, 0, 255));
// Players creations menu
players_creation_menu(&game);
// Boucle de jeu principale
while (!game.over) {
// On incrémente le compteur d'animation
update_animation_frame(&game);
// Gère les entrées clavier
handle_input(&game);
// Vérifie les collisions avec les attractions
check_collisions(&game);
// On lance les attractions
run_attractions(&game);
// On vérifie si il y a un gagnant
check_for_winner(&game);
// Rafraîchit l'écran
display(&game);
if (close_button_pressed) {
game.over = true;
}
// Gère le framerate, pour éviter que le jeu ne tourne trop vite
rest(5);
}
// On nettoie la mémoire
clean_game(&game);
return 0;
}
END_OF_MAIN()