From 488f9a5fb009abe5ad26a76b7ba123628e76360e Mon Sep 17 00:00:00 2001 From: Dukantic Date: Wed, 8 Jan 2025 13:33:42 +0100 Subject: [PATCH] fix emplacement de function --- include/display.h | 1 + include/read.h | 1 + script/display.c | 48 +++++++++++++++++++++++++++++++++++++++++++++++ script/function.c | 33 +------------------------------- script/main.c | 45 -------------------------------------------- script/read.c | 31 ++++++++++++++++++++++++++++++ 6 files changed, 82 insertions(+), 77 deletions(-) diff --git a/include/display.h b/include/display.h index 57d42a3..756ddb4 100644 --- a/include/display.h +++ b/include/display.h @@ -16,5 +16,6 @@ void initSDL (dis *display_user); void displayTextSDL(dis *display_user,char *text, vect coor, vect size, int font_size); void screenDisplayGameSDL (char **tab,vect dim_tab, dis *display_user, vect *player_pos, int fov, vect direction); void backgroundDisplay(dis *display_user,int bg); +void playAudio(int sfx); #endif // !DISPLAY_H diff --git a/include/read.h b/include/read.h index bad7bd2..29aba25 100644 --- a/include/read.h +++ b/include/read.h @@ -5,4 +5,5 @@ vect *fileToTab2D (const char *name_file, char **tab, const unsigned N, vect *player, int *nbr_targets); int countCustomMaps(char *name_directory); char ** generatorMenu(char *name_directory, vect *size, vect *pos_player); +void save_grid_to_file(int filename, char **tab2D); #endif // !READ_H diff --git a/script/display.c b/script/display.c index 996a224..effb710 100644 --- a/script/display.c +++ b/script/display.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -311,3 +312,50 @@ void backgroundDisplay(dis *display_user,int bg) SDL_DestroyTexture (texture); return; } + +/** + * \brief Cette fonction permet de joueur des effet sonor. + * \param sfx un int designant le numero du son a jouer. + * du joueur. + * \return Void + * + */ +void playAudio(int sfx) +{ + // Charger un fichier son + Mix_Chunk* sfx_win = Mix_LoadWAV("sfx/win.wav"); + Mix_Chunk* sfx_lose = Mix_LoadWAV("sfx/lose.wav"); + Mix_Chunk* sfx_cant_move = Mix_LoadWAV("sfx/cantmove.wav"); + Mix_Chunk* sfx_block_on_target = Mix_LoadWAV("sfx/blockontarget.wav"); + Mix_Chunk* sfx_move = Mix_LoadWAV("sfx/move.mp3"); + Mix_Chunk* sfx_move_block = Mix_LoadWAV("sfx/moveblock.wav"); + switch (sfx) + { + case 0: + Mix_PlayChannel(-1, sfx_win, 0); + return; + case 1: + Mix_PlayChannel(-1, sfx_lose, 0); + return; + case 2: + Mix_PlayChannel(-1, sfx_cant_move, 0); + return; + case 3: + Mix_PlayChannel(-1, sfx_block_on_target, 0); + return; + case 4: + Mix_PlayChannel(-1, sfx_move, 0); + return; + case 5: + Mix_PlayChannel(-1, sfx_move_block, 0); + return; + } + + Mix_FreeChunk(sfx_win); + Mix_FreeChunk(sfx_lose); + Mix_FreeChunk(sfx_cant_move); + Mix_FreeChunk(sfx_block_on_target); + Mix_FreeChunk(sfx_move); + Mix_FreeChunk(sfx_move_block); +} + diff --git a/script/function.c b/script/function.c index 5f7bfb8..0ddf04f 100644 --- a/script/function.c +++ b/script/function.c @@ -7,6 +7,7 @@ #include "../include/function.h" #include "../include/display.h" +#include "../include/read.h" #include #include @@ -435,38 +436,6 @@ int inGameLoop (char **tab2d, vect *dim_tab, vect *playerPos, vect *targets, return -1; } -/** - * - * \brief La fonction permet de retranscrire un niveau creer du tableau vers le fichier.txt - * \param filename Le nom du fichier a remplir. - * \param tab2d Le tableau 2d carre. - */ -void save_grid_to_file(int filename, char **tab2D) { - - char path[250]; - snprintf(path, sizeof(path), "maps/custom_%d.txt", filename); - FILE *file = fopen(path, "w"); - - // Parcours et sauvegarde du tableau 2D dans le fichier - for (int i = 0; i < 20; i++) { - for (int j = 0; j < 20; j++) { - switch (tab2D[i][j]) { - case EMPTY: fputc(' ',file);break; - case WALL: fputc('#',file); break; - case BOX: fputc('C',file);break; - case TARGET: fputc('I',file); break; - case BOX_ON_TARGET: fputc(' ',file); break; - case PLAYER: fputc('P',file); break; - case PLAYER_ON_TARGET: fputc('P',file); break; - default: return; - } - } - fputc('\n',file); // Nouvelle ligne pour chaque ligne du tableau - - } - fclose(file); -} - /** * diff --git a/script/main.c b/script/main.c index a83fb4c..c4c69df 100644 --- a/script/main.c +++ b/script/main.c @@ -22,51 +22,6 @@ unsigned int seed; -/** - * \brief Cette fonction permet de joueur des effet sonor. - * \param sfx un int designant le numero du son a jouer. - * du joueur. - * \return Void - * - */ -void playAudio(int sfx) -{ - // Charger un fichier son - Mix_Chunk* sfx_win = Mix_LoadWAV("sfx/win.wav"); - Mix_Chunk* sfx_lose = Mix_LoadWAV("sfx/lose.wav"); - Mix_Chunk* sfx_cant_move = Mix_LoadWAV("sfx/cantmove.wav"); - Mix_Chunk* sfx_block_on_target = Mix_LoadWAV("sfx/blockontarget.wav"); - Mix_Chunk* sfx_move = Mix_LoadWAV("sfx/move.mp3"); - Mix_Chunk* sfx_move_block = Mix_LoadWAV("sfx/moveblock.wav"); - switch (sfx) - { - case 0: - Mix_PlayChannel(-1, sfx_win, 0); - return; - case 1: - Mix_PlayChannel(-1, sfx_lose, 0); - return; - case 2: - Mix_PlayChannel(-1, sfx_cant_move, 0); - return; - case 3: - Mix_PlayChannel(-1, sfx_block_on_target, 0); - return; - case 4: - Mix_PlayChannel(-1, sfx_move, 0); - return; - case 5: - Mix_PlayChannel(-1, sfx_move_block, 0); - return; - } - - Mix_FreeChunk(sfx_win); - Mix_FreeChunk(sfx_lose); - Mix_FreeChunk(sfx_cant_move); - Mix_FreeChunk(sfx_block_on_target); - Mix_FreeChunk(sfx_move); - Mix_FreeChunk(sfx_move_block); -} int main () { diff --git a/script/read.c b/script/read.c index a89ad17..5486ecc 100644 --- a/script/read.c +++ b/script/read.c @@ -145,3 +145,34 @@ char ** generatorMenu(char *name_directory, vect *size, vect *pos_player) } +/** + * + * \brief La fonction permet de retranscrire un niveau creer du tableau vers le fichier.txt + * \param filename Le nom du fichier a remplir. + * \param tab2d Le tableau 2d carre. + */ +void save_grid_to_file(int filename, char **tab2D) { + + char path[250]; + snprintf(path, sizeof(path), "maps/custom_%d.txt", filename); + FILE *file = fopen(path, "w"); + + // Parcours et sauvegarde du tableau 2D dans le fichier + for (int i = 0; i < 20; i++) { + for (int j = 0; j < 20; j++) { + switch (tab2D[i][j]) { + case EMPTY: fputc(' ',file);break; + case WALL: fputc('#',file); break; + case BOX: fputc('C',file);break; + case TARGET: fputc('I',file); break; + case BOX_ON_TARGET: fputc(' ',file); break; + case PLAYER: fputc('P',file); break; + case PLAYER_ON_TARGET: fputc('P',file); break; + default: return; + } + } + fputc('\n',file); // Nouvelle ligne pour chaque ligne du tableau + + } + fclose(file); +}