encore meilleur

This commit is contained in:
2024-12-14 15:26:00 +01:00
parent af546b8440
commit fa7d5ce51a
5 changed files with 456 additions and 450 deletions

82
read.c
View File

@@ -5,48 +5,48 @@
vect *fileToTab2D (const char *name_file, unsigned short int **tab,
const unsigned N, vect *player, int *nbr_targets)
{
vect *targets = malloc (sizeof (vect));
(*nbr_targets) = 0;
FILE *file = fopen (name_file, "r");
unsigned int x = 0, y = 1;
while (!feof (file))
{
char current = fgetc (file);
switch (current)
vect *targets = malloc (sizeof (vect));
(*nbr_targets) = 0;
FILE *file = fopen (name_file, "r");
unsigned int x = 0, y = 1;
while (!feof (file))
{
case '#':
tab[x][y] = WALL;
break;
case 'C':
tab[x][y] = BOX;
break;
case 'I':
targets = realloc (targets, sizeof (vect) * (++nbr_targets[0]));
targets[nbr_targets[0] - 1].x = x;
targets[nbr_targets[0] - 1].y = y;
tab[x][y] = TARGET;
break;
case 'P':
player->x = x;
player->y = y;
tab[x][y] = PLAYER;
break;
case '\n':
y = 0;
++x;
break;
default:
tab[x][y] = EMPTY;
break;
}
++y;
char current = fgetc (file);
switch (current)
{
case '#':
tab[x][y] = WALL;
break;
case 'C':
tab[x][y] = BOX;
break;
case 'I':
targets = realloc (targets, sizeof (vect) * (++nbr_targets[0]));
targets[nbr_targets[0] - 1].x = x;
targets[nbr_targets[0] - 1].y = y;
tab[x][y] = TARGET;
break;
case 'P':
player->x = x;
player->y = y;
tab[x][y] = PLAYER;
break;
case '\n':
y = 0;
++x;
break;
default:
tab[x][y] = EMPTY;
break;
}
++y;
if (x >= N || y >= N)
{
perror ("Level out of range !");
exit (-1);
if (x >= N || y >= N)
{
perror ("Level out of range !");
exit (-1);
}
}
}
fclose (file);
return targets;
fclose (file);
return targets;
}