debug
This commit is contained in:
parent
39c2fc307f
commit
94e9eda7f9
28
grille.c
28
grille.c
@ -13,7 +13,7 @@ typedef enum jeton {
|
|||||||
|
|
||||||
typedef struct colonne {
|
typedef struct colonne {
|
||||||
int hauteur;
|
int hauteur;
|
||||||
int hauteur_max;
|
int capacite;
|
||||||
jeton* jetons;
|
jeton* jetons;
|
||||||
} colonne;
|
} colonne;
|
||||||
|
|
||||||
@ -26,7 +26,7 @@ void print_tab(jeton *tab, int n)
|
|||||||
|
|
||||||
void print_colonne(colonne *col)
|
void print_colonne(colonne *col)
|
||||||
{
|
{
|
||||||
print_tab(col->jetons, col->hauteur_max);
|
print_tab(col->jetons, col->capacite);
|
||||||
}
|
}
|
||||||
|
|
||||||
void init_zeros(jeton* ptr, int count)
|
void init_zeros(jeton* ptr, int count)
|
||||||
@ -38,13 +38,13 @@ void init_zeros(jeton* ptr, int count)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
colonne *creer_colonne(int hauteur_max)
|
colonne *creer_colonne(int capacite)
|
||||||
{
|
{
|
||||||
colonne *col = malloc(sizeof(colonne));
|
colonne *col = malloc(sizeof(colonne));
|
||||||
col->jetons = malloc(hauteur_max*sizeof(jeton));
|
col->jetons = malloc(capacite*sizeof(jeton));
|
||||||
init_zeros(col->jetons, hauteur_max);
|
init_zeros(col->jetons, capacite);
|
||||||
|
|
||||||
col->hauteur_max = hauteur_max;
|
col->capacite = capacite;
|
||||||
col->hauteur = 0;
|
col->hauteur = 0;
|
||||||
|
|
||||||
return col;
|
return col;
|
||||||
@ -52,24 +52,22 @@ colonne *creer_colonne(int hauteur_max)
|
|||||||
|
|
||||||
bool agrandir_colonne(int diff_taille, colonne *col)
|
bool agrandir_colonne(int diff_taille, colonne *col)
|
||||||
{
|
{
|
||||||
printf("J'appelle realloc.\n");
|
printf("J'appelle realloc(%p, %d + %d)\n", col->jetons, col->capacite + diff_taille);
|
||||||
jeton* jetons_nouv = realloc(col->jetons, col->hauteur_max + diff_taille);
|
jeton *jetons_nouv = realloc(col->jetons, col->capacite + diff_taille);
|
||||||
|
|
||||||
if (jetons_nouv == NULL)
|
if (jetons_nouv == NULL)
|
||||||
return false; // allocation impossible, on garde col->jetons tel quel
|
return false; // allocation impossible, on garde col->jetons tel quel
|
||||||
|
col->jetons = jetons_nouv;
|
||||||
|
|
||||||
// on met des zéros dans la partie nouvellement attribuée
|
// on met des zéros dans la partie nouvellement attribuée
|
||||||
init_zeros(jetons_nouv + col->hauteur_max, diff_taille);
|
init_zeros(col->jetons + col->capacite, diff_taille);
|
||||||
|
|
||||||
|
|
||||||
printf("vérif travail init_zeros\n");
|
printf("vérif travail init_zeros\n");
|
||||||
print_tab(jetons_nouv, col->hauteur_max + diff_taille);
|
print_tab(col->jetons, col->capacite + diff_taille);
|
||||||
|
|
||||||
// free est appelé par realloc et les éléments sont copiés par realloc
|
// free est appelé par realloc et les éléments sont copiés par realloc
|
||||||
col->hauteur_max += diff_taille;
|
col->capacite += diff_taille;
|
||||||
col->jetons = jetons_nouv;
|
|
||||||
|
|
||||||
//print_colonne(col);
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
@ -78,7 +76,7 @@ bool agrandir_colonne(int diff_taille, colonne *col)
|
|||||||
bool ajouter_jeton(jeton j, colonne *col)
|
bool ajouter_jeton(jeton j, colonne *col)
|
||||||
{
|
{
|
||||||
printf("%d", col->hauteur);
|
printf("%d", col->hauteur);
|
||||||
if (col->hauteur >= col->hauteur_max)
|
if (col->hauteur >= col->capacite)
|
||||||
{
|
{
|
||||||
if (!agrandir_colonne(Y_BLOCK_SIZE, col))
|
if (!agrandir_colonne(Y_BLOCK_SIZE, col))
|
||||||
return false;
|
return false;
|
||||||
|
Loading…
Reference in New Issue
Block a user