Bug de code dont je ne trouve pas la source
Bonjour,
En désespoir de cause, je me tourne vers vous.
Cela fait 2 jours que je m'arrache les cheveux pour trouver mon erreur et je ne comprend pas d’où elle peut venir.
Je ne demande que l'on fasse le code a ma place, mais juste m'aider a trouver d'ou peut bien venir mon erreur..
J'ai donc un code "tout simple" qui me sert a construire un tableau à deux dimension contenant des structures.
Jusque la tout va bien, j'ai mon tableau, mes structures, que j'initialise et auquel je peux accéder depuis mon main sans problème.
Le soucis vient lorsque j'essaie d'y avoir accès dans une autre fonction.
Pour expliquer brièvement mon intention..
Les structure contiennent entres autre les coordonnées x et y des cellules du tableau a 2 dimensions, que j'initialise lors de la création du tableau.
Comme je le disais plus haut, depuis mon main, je n'ai pas de problème pour y accéder, et ma petite boucle de test m'affiche bien les bonnes coordonnées pour chaque cellules.
Or, dans une autres fonction, où j'essaie aussi d'afficher ces deux valeurs de coordonnée de cellules, mon x et mon y s'inversent.. j'ai beau chercher mon erreur, une "stupide" inversion dans les variables.. je ne vois pas..
Pour moi le code est bon, mais apparemment il ne l'est pas..
Plutôt que de copier l’entièreté du code ici, j'ai rendu mon repo sur github public, et vous pouvez y accéder via ce lien
BatailleNavale (vous tomber directement dans la bonne branche du repo avec le lien, sinon c'est la branche Develop v0.3.1)
(Le projet s'appelle BatailleNavale, mais ne fait que de s'en inspirer)
Vous pouvez forker, soumettre des commit ou push dans le repo github si vous le voulez, ou bien directement ici..
Le fichier incriminer se nomme fct_CoordBateau.c, les lignes qui me posent problème sont la 90 et 91
Ce fichier contient des lignes en printf qui me permettent de debugger le code et qui ne sont pas destinées a rester.
Le code est censé me permettre de placer la case de départ d'un bateau et d'extrapoler les 4 positions (droite, haut, gauche, bas) sur le damier, le tout en tenant compte de sa taille.
Le fichier fct_Crea_tDamier.h contient la déclaration de la structure, et fct_Crea_tDamier.c la construction des tableaux et l'initialisation de la structure avec des valeurs par défaut.
La fonction fct_Crea_tIndexPos.h fct_Crea_tIndexPos.c ne servent a rien pour le moment.
Si vous lancer le projet pour test, vous pouvez entrer les valeurs 10 10 5 (pour dans l'ordre, la taille du damier, la taille du bateau le plus grand, et la taille du bateau choisi).
Si le bug est corrigé, normalement le damier (vide pour le moment) s'affiche..
Je ne pense pas avoir a expliquer pas avant le projet, mais je peux le faire pour ceux qui voudrait en savoir plus.. il me reste encore pas mal de chose a faire, et le code du projet est encore vide de beaucoup de chose a implémenter.
Mais je ne peux pas continuer tant que j'ai ce bug :/
Un tout grand merci a ceux qui prendront la peine de m'aider a trouver se "'&é'"@# bug :)