Sokoban
Chargement...
Recherche...
Aucune correspondance
Référence du fichier function.c
#include "../include/function.h"
#include "../include/display.h"
#include <SDL2/SDL_events.h>
#include <SDL2/SDL_keycode.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>
Graphe des dépendances par inclusion de function.c:

Fonctions

char ** creatArea2D (const unsigned int N)
 Cette fonction permet de creer une liste 2D carre.
 
void free2D (char **tab, int N)
 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.
 
void 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.
 
void inGameLoop (char **tab2d, int N, vect *playerPos, vect *targets, int nbr_targets, dis *display_user, score *score_user)
 La fonction permet de faire la boucle de jeu.
 
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)
 

Description détaillée

Ce fichier contient toute les fonction utile pour le jeu. Sauf pour l'affichage.

Documentation des fonctions

◆ blockBox()

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é.

Paramètres
tab2dLe tableau 2D carre du plateau de jeu.
box_coorLes corrdonnée de la boite que la fonction test.
Renvoie
True si la la boite est bloquer, sinon false.
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ canIGoDirection()

char canIGoDirection ( char valueOfNCase,
char valueOfNPlusOneCase )

La fontction permet de savoir si le joueur peut ce deplacer dans une direction.

Paramètres
valueOfNCaseLa valeur de la case dans la direction que le joueur veut aller.
valueOfNPlusOneCaseLa valeur de la case dans la direction que le joueur veut aller mais une fois de plus.
Renvoie
0 Si c'est un mur devant le joueur, 1 si c'est vide devant le joueur, 2 si c'est une boite mais qu'on peux la pousser ,3 si le joueur pousse une boite sur un point d'interer, 4 si le joueur bouge sur un point d'interer, 5 si le joueur peux pousser une boite mais le joueur se place sur un point d'interer et 6 si le joeuur pousse une boite sur un point d'interer et que le joueu est aussi sur un point d'interer.
Voici le graphe des appelants de cette fonction :

◆ creatArea2D()

char ** creatArea2D ( const unsigned int N)

Cette fonction permet de creer une liste 2D carre.

Paramètres
NLa valeur N est le nombre d'élément dans le tableau.
Renvoie
Le pointeur du tableau 2D carre de char (1 octet).

◆ free2D()

void free2D ( char ** tab,
int N )

Cette fontion permet de liberer l'espace tu tableau 2D de char.

Paramètres
tabLe tableau 2D.
NLe nombre d'éléments.
Renvoie
Void.

◆ inGameLoop()

void inGameLoop ( char ** tab2d,
int N,
vect * playerPos,
vect * targets,
int nbr_targets,
dis * display_user,
score * score_user )

La fonction permet de faire la boucle de jeu.

Paramètres
tab2dLe tableau 2d carre.
NLE nombre d'element de tab2d.
playerPosLa position de depart du joueur.
targetsLe tableau de toutes les positions des points d'interer de la maps.
intnbr_targets Le nombre de point d'interer.
display_userTout les information SDL pour afficher le jeu.
score_userToute les données nécessaire pour calculer le score fini du joueur.
Renvoie
Void
Voici le graphe d'appel pour cette fonction :

◆ islose()

bool islose ( char ** tab2d,
const int N )

La fonction renvois si la partie est perdante.

Paramètres
tab2dLe tableau 2d carre du plateau de jeu.
NLe nombre d'éléments dans le tab2d.
Renvoie
True si c'est perdu, false si c'est pas perdu a cette instant.
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ isWin()

bool isWin ( char ** tab2d,
vect * targets,
int nbr_targets )

Cette fonction verrifie si la partie est gagnante.

Paramètres
tab2dLe tableau 2D du jeu.
targetsLe tableau de toute les positions des points d'interer.
nbr_targetsLe nombre de points d'interer.
Renvoie
True si le joueur a remplis tout les points d'interer, false si ce n'est pas le cas .
Voici le graphe des appelants de cette fonction :

◆ move()

void 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.

Paramètres
tabLe tableau 2D du plateau de jeu.
playerposLa position actuel du joueur.
directionLa direction que le joueur veut effectuer.
score_userToutes les données nécessaire pour calculer le score fini du joueur.
Renvoie
Void
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ plusVect()

vect plusVect ( vect one,
vect two )

La fonction fait une addition de vecteur, (x1+x2, y1+y2).

Paramètres
onePremier vecteur.
twoDeuzieme vecteur.
Renvoie
vect Un vecteur de l'addition de one et two.
Voici le graphe des appelants de cette fonction :

◆ timeToText()

char * timeToText ( time_t time)

Cette fonction renvois transforme le forma time en texte. (min:sec)

Paramètres
timeLe temps qu'on veux convertire.
Renvoie
char Le string du texte.
Voici le graphe des appelants de cette fonction :