diff --git a/src/main.c b/src/main.c index 5c6d963f7872b2e3c3e30dac742b0c0c77455d70..a25ff34024c2dc4749b72118d09d9d47fcd05f47 100644 --- a/src/main.c +++ b/src/main.c @@ -2,7 +2,7 @@ * @file main.c * @author Efe ERKEN (efe.erken@etu.unistra.fr) * @brief Fichier source centrale qui fait marcher le jeu - * @version 0.1 + * @version 0.2 * @date 2022-11-19 * * @copyright Copyright (c) 2022 @@ -32,19 +32,17 @@ int main() { // on charge le niveau de jeu depuis un fichier grid *level = init_level("levels/level1.txt"); + // on initialise le système d'affichage de niveau + init_display(); char entry = '\0'; // on initialise le stockage pour les entrées de l'utilisateur bool run = true; // on initialise l'interrupteur de boucle // on continue le jeu tant que l'utilisateur n'a pas appuyé sur 'q' while (run) { - // on affiche les messages sur comment interagir - printf("\nAppuyez sur \"q\" pour quitter\n"); - printf("Appuyez sur \"h, j, k, l\" pour vous déplacer\n\n"); // on affiche le niveau de jeu - display(level); - printf("Votre choix : "); + draw_display(level); // on récupère l'entrée de l'utilisateur - scanf(" %c", &entry); + entry = input_display(); // on décide ce qu'on va faire en fonction de l'entrée switch (entry) { @@ -61,9 +59,11 @@ int main() break; // on affiche un message si l'entrée n'est pas définie dans le programme default: - printf("---> Cette touche n'a pas de fonctionnalité\n"); + error_input_display(); } } + // on referme le système d'affichage de niveau pour désallouer la mémoire qu'il utilisait + end_display(); // on désalloue la structure qui stockait le niveau free_level(level); return EXIT_SUCCESS;