Sokoban
Chargement...
Recherche...
Aucune correspondance
Référence du fichier function.c
#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>
Graphe des dépendances par inclusion de function.c:

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)
 

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 joueur pousse une boite sur un point d'interer et que le joueur est aussi sur un point d'interer. 7 si valueOfNCase est un bouton.
Voici le graphe des appelants de cette fonction :

◆ creatArea2D()

char ** creatArea2D ( const int x,
const int y )

Cette fonction permet de creer une liste 2D.

Paramètres
xNombre de ligne.
yNombre de colonne.
Renvoie
Le pointeur du tableau 2D de char (1 octet).

◆ free2D()

void free2D ( char ** tab,
int x )

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

Paramètres
tabLe tableau 2D.
xLe nombre de ligne.
Renvoie
Void.

◆ inEditorLoop()

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.

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.
num_fichierSimplement le numéro de la map actuel.
Renvoie
renvoie -2 ce qui signifie l'editeur
Voici le graphe d'appel pour cette fonction :

◆ inGameLoop()

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.

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.
menuTrue si c'est la loop du menu.
Renvoie
L'indice de la map si c'est un menu, sinon renvoie -1
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. (zone de jeu est carré)
Renvoie
True si c'est perdu, false si c'est pas perdu a cette instant.
Voici le graphe d'appel pour 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 .

◆ move()

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.

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
int return 1 si le joueur n'a pas bouger.
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ nullScore()

void nullScore ( score * player_score)

Mets à 0 le score.

Paramètres
player_scoreLe score a mettre à 0.
Renvoie
void

◆ 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 :

◆ titleScreen()

int titleScreen ( dis * display_user)

La fonction permet d' afficher le title screen.

Paramètres
display_userTout les information SDL pour afficher le jeu.
Renvoie
renvoie -3 ce qui signifie le title screen

◆ winOrLoseLoop()

void winOrLoseLoop ( dis * display_user,
score * score_user,
bool win )

Fonction de loop pour la win ou la lose.

Paramètres
display_userTout les information du display de l'utilisateur utile.
winSi on veut un affichage de victoire ou non.