Je suis en train de coder un petit jeu que j'avais sur ma calculatrice, appelé Block Dude. Quelqu'un sur ce forum avait commencé à le recoder à sa façon, mais j'avais remarqué quelques bugs, et surtout une taille de map constante.
Pour rappel, ce jeu est un genre de casse-tête, dans lequel le personnage se déplace dans une map contenant de multiples plateformes accessibles en empilant des caisses. Sur ces platesformes se trouvent d'autres caisses qui permettront finalement d'accéder à un point de sortie.
J'ai totalement recommencé le projet depuis zéro pour pouvoir gérer des cartes de dimensions variables.
Malheureusement, j'ai une erreur assez bizarre qui survient alors que je lance la partie :
Je suis sur un Ubuntu/Linux, ce message s'affiche dans mon terminal.
J'ai fait une archive tarball (tar.gz) contenant les sources : c'est par ici.
J'ai beau chercher avec gdb (débuggueur) où se trouve la panne, je ne comprends pas. D'autant plus que parfois, ça fonctionne, mais dans ce cas là, le sprite du mur qui devrait normalement s'afficher, est remplacé par le sprite de Mario .
Apparemment, d'après le message, c'est le malloc qui fait planter le tout. Je n'ai qu'un malloc, lors de la création de la carte (fonction chargerCarte() dans fichiers.c).
La compilation se fait par : gcc -o marioblock *.c *.h -lSDL -lSDLmain -lSDL_image
Est ce que quelqu'un y voit plus clair que moi ?
Merci beaucoup d'avance !
Memory Corruption suite à un malloc
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.