J'ai revu un petit peu mon code. Maintenant, mon fichier texte est bien lu (mon fichier texte n'avait pas d'extension, ce qui a mit le programme incapable de le reconnaître). J'ai aussi modifié la taille de mon tableau.
Cependant, un problème persiste. Mon fichier texte est bien lu (j'ai fait un cout dans un fichier vierge pour m'en assurer). Or, il semblerait qu'il ne parvienne pas à tester la valeur.
int boxc = 0, goalc = 0, wallc = 0;
Box = new box[nbBox];
Goal = new goal[nbGoal];
Wall = new wall[nbWall];
for( int j=1 ; j<19 ; j++ )
{
for( int i=1 ; i<27 ; i++ )
{
lvl[i][j] = fgetc(file);
// Position 1
if( lvl[i][j] == 3 )
{
// Position 2
Box[boxc] = box(i,j);
boxc++;
}
if( lvl[i][j] == 2 )
{
Goal[goalc] = goal(i,j);
goalc++;
}
if( lvl[i][j] == 5 )
{
Sokoban[0] = soko(i,j);
}
if( lvl[i][j] == 1 )
{
Wall[wallc] = wall(i,j);
wallc++;
}
}
}
Voici le morceau de code qui se trouve dans la boucle précédente. Si je met un cout en position 1, je retrouve tout dans mon fichier texte. Si je le met en position 2, il n'y a rien (il devrait y avoir au moins un 2). Je soupçonne donc une erreur dans la condition if... Mais, quelle-est elle ?