|
Sokoban
|
#include "../include/function.h"#include "../include/display.h"#include "../include/read.h"#include <SDL2/SDL_events.h>#include <SDL2/SDL_image.h>#include <SDL2/SDL_keycode.h>#include <SDL2/SDL_rect.h>#include <SDL2/SDL_render.h>#include <SDL2/SDL_scancode.h>#include <SDL2/SDL_timer.h>#include <stdbool.h>#include <stdio.h>#include <stdlib.h>#include <time.h>
Fonctions | |
| char ** | creatArea2D (const int x, const int y) |
| Cette fonction permet de creer une liste 2D. | |
| void | free2D (char **tab, int x) |
| Cette fontion permet de liberer l'espace tu tableau 2D de char. | |
| char | canIGoDirection (char valueOfNCase, char valueOfNPlusOneCase) |
| La fontction permet de savoir si le joueur peut ce deplacer dans une direction. | |
| int | move (char **tab, vect *playerPos, vect direction, score *score_user) |
| Cette fonction effectue les deplacements du joueur et des boites en fonction de la situation. | |
| int | inGameLoop (char **tab2d, vect *dim_tab, vect *playerPos, vect *targets, int nbr_targets, dis *display_user, score *score_user, bool menu) |
| La fonction permet de faire la boucle de jeu et le menu. | |
| int | inEditorLoop (char **tab2d, vect *dim_tab, vect *playerPos, vect *targets, int nbr_targets, dis *display_user, score *score_user, int num_fichier) |
| La fonction permet de faire la boucle de l'éditeur. | |
| int | titleScreen (dis *display_user) |
| La fonction permet d' afficher le title screen. | |
| bool | isWin (char **tab2d, vect *targets, int nbr_targets) |
| Cette fonction verrifie si la partie est gagnante. | |
| bool | islose (char **tab2d, const int N) |
| La fonction renvois si la partie est perdante. | |
| vect | plusVect (vect one, vect two) |
| La fonction fait une addition de vecteur, (x1+x2, y1+y2). | |
| int | lengthVect (vect vector) |
| Renvois la longeur Manhattan. | |
| bool | blockBox (char **tab2d, vect box_coor) |
| La fonction permet de savoir si une boite est dans une situation ou le joueur ne poura pas la debloqué. | |
| char * | timeToText (time_t time) |
| Cette fonction renvois transforme le forma time en texte. (min:sec) | |
| void | nullScore (score *player_score) |
| Mets à 0 le score. | |
| void | winOrLoseLoop (dis *display_user, score *score_user, bool win) |
| Fonction de loop pour la win ou la lose. | |
| unsigned int | scoreCalculator (score *score_user, bool win) |
| unsigned int | scoreCalculatorCyp (score *score_user, bool win) |
Ce fichier contient toute les fonction utile pour le jeu. Sauf pour l'affichage.
| bool blockBox | ( | char ** | tab2d, |
| vect | box_coor ) |
La fonction permet de savoir si une boite est dans une situation ou le joueur ne poura pas la debloqué.
| tab2d | Le tableau 2D carre du plateau de jeu. |
| box_coor | Les corrdonnée de la boite que la fonction test. |


| char canIGoDirection | ( | char | valueOfNCase, |
| char | valueOfNPlusOneCase ) |
La fontction permet de savoir si le joueur peut ce deplacer dans une direction.
| valueOfNCase | La valeur de la case dans la direction que le joueur veut aller. |
| valueOfNPlusOneCase | La valeur de la case dans la direction que le joueur veut aller mais une fois de plus. |

| char ** creatArea2D | ( | const int | x, |
| const int | y ) |
Cette fonction permet de creer une liste 2D.
| x | Nombre de ligne. |
| y | Nombre de colonne. |
| void free2D | ( | char ** | tab, |
| int | x ) |
Cette fontion permet de liberer l'espace tu tableau 2D de char.
| tab | Le tableau 2D. |
| x | Le nombre de ligne. |
| int inEditorLoop | ( | char ** | tab2d, |
| vect * | dim_tab, | ||
| vect * | playerPos, | ||
| vect * | targets, | ||
| int | nbr_targets, | ||
| dis * | display_user, | ||
| score * | score_user, | ||
| int | num_fichier ) |
La fonction permet de faire la boucle de l'éditeur.
| tab2d | Le tableau 2d carre. |
| N | LE nombre d'element de tab2d. |
| playerPos | La position de depart du joueur. |
| targets | Le tableau de toutes les positions des points d'interer de la maps. |
| int | nbr_targets Le nombre de point d'interer. |
| display_user | Tout les information SDL pour afficher le jeu. |
| score_user | Toute les données nécessaire pour calculer le score fini du joueur. |
| num_fichier | Simplement le numéro de la map actuel. |

| int inGameLoop | ( | char ** | tab2d, |
| vect * | dim_tab, | ||
| vect * | playerPos, | ||
| vect * | targets, | ||
| int | nbr_targets, | ||
| dis * | display_user, | ||
| score * | score_user, | ||
| bool | menu ) |
La fonction permet de faire la boucle de jeu et le menu.
| tab2d | Le tableau 2d carre. |
| N | LE nombre d'element de tab2d. |
| playerPos | La position de depart du joueur. |
| targets | Le tableau de toutes les positions des points d'interer de la maps. |
| int | nbr_targets Le nombre de point d'interer. |
| display_user | Tout les information SDL pour afficher le jeu. |
| score_user | Toute les données nécessaire pour calculer le score fini du joueur. |
| menu | True si c'est la loop du menu. |

| bool islose | ( | char ** | tab2d, |
| const int | N ) |
La fonction renvois si la partie est perdante.
| tab2d | Le tableau 2d carre du plateau de jeu. |
| N | Le nombre d'éléments dans le tab2d. (zone de jeu est carré) |

| bool isWin | ( | char ** | tab2d, |
| vect * | targets, | ||
| int | nbr_targets ) |
Cette fonction verrifie si la partie est gagnante.
| tab2d | Le tableau 2D du jeu. |
| targets | Le tableau de toute les positions des points d'interer. |
| nbr_targets | Le nombre de points d'interer. |
Cette fonction effectue les deplacements du joueur et des boites en fonction de la situation.
| tab | Le tableau 2D du plateau de jeu. |
| playerpos | La position actuel du joueur. |
| direction | La direction que le joueur veut effectuer. |
| score_user | Toutes les données nécessaire pour calculer le score fini du joueur. |


| void nullScore | ( | score * | player_score | ) |
Mets à 0 le score.
| player_score | Le score a mettre à 0. |
La fonction fait une addition de vecteur, (x1+x2, y1+y2).
| one | Premier vecteur. |
| two | Deuzieme vecteur. |

| char * timeToText | ( | time_t | time | ) |
Cette fonction renvois transforme le forma time en texte. (min:sec)
| time | Le temps qu'on veux convertire. |

| int titleScreen | ( | dis * | display_user | ) |
La fonction permet d' afficher le title screen.
| display_user | Tout les information SDL pour afficher le jeu. |