Salut, je viens pour vous demandez de l'aide car ça fait une nuit que je cherche en vain
!
Je travail avec allegro.
J'ai ma boucle principal (Peu importante)
while(!key[KEY_ESC])
{
clear_bitmap(buffer);
DrawMap(buffer, map);
blit(buffer, screen, 0, 0, 0, 0, SCREEN_W, SCREEN_W);
}
J'ai ensuite le Delete du pointeur "buffer" (Que j'ai mis dans un try & catch pour le moment, vous saurez pourquoi après
!)
try
{
delete buffer;
buffer = 0;
} catch (exception const& e)
{
cerr << "ERREUR: " << e.what() << endl;
}
Jusque là pas de problème, viens le problème de la map :
for ( int i=0 ; i < 5 ; ++i)
{
delete map[i];
map[i] = NULL;
}
map = 0;
Ici j'ai un gros plantage rien qu'au premier tour de boucle et je ne sais pas pourquoi
!
Le code de la map :
int** map;
map = new int*[NBR_TILES_LARGEUR];
for (int i = 0; i < NBR_TILES_LARGEUR; ++i)
map[i] = new int[NBR_TILES_HAUTEUR];
NBR_TILES_LARGEUR et NBR_TILES_HAUTEUR sont deux define :
- define LARGEUR_ECRAN SCREEN_W
- define HAUTEUR_ECRAN SCREEN_H
- define TAILLE_TILE 16
- define NBR_TILES_LARGEUR LARGEUR_ECRAN/TAILLE_TILE
- define NBR_TILES_HAUTEUR HAUTEUR_ECRAN/TAILLE_TILE
Voila, et je ne sais pas pourquoi ça plante. Mon ancien tableau était pareil (Sauf les dimension) et plantait pas
!
Cordialement
!