• [^] # variables globales & code

    Posté par . En réponse au journal un peu de pub !. Évalué à 2.

    De plus, il est en general déconseillé d'utiliser des variables globales :)

    tu n'en n'as pas beaucoup pour l'instant, profites-en des maintenant pour y penser. D'un autre coté vu qu'en définitive tout est inclu dans main.c ... ;)

    Tu pourrais peut-etre creer une structure contenant l'ensemble du jeu, au lieu d'avoir des variables dispersées (le tableau de jeu, le numero de coup) que tu passerai en parametre à toutes les fonctions. Ca rallonge un peu l'ecriture de certaines variables, mais je pense qu'un jour ca te sera utile...

    Pense à utiliser des enum{} à la place de tes #defines pour les types de pieces etc. Le compilateur pourra ainsi te signaler des erreurs de type, et les sessions gdb seront + lisibles.

    J'ai pas trop lu le code pour l'instant, mais j'ai une remarque de "coding style" (Holy War Alert) : rajoute des espaces autour des operateurs, virgules et parentheses !! Il y a des sections de code tres dense, et assez dure à lire.

    Question qui me hante: le tableau de jeu est unidimensionnel, et du coup tu utilise des horreurs (désolé) du style if (echiquier[piece.place+25].type_piece!=bord . Est-ce que c'est fait expres ? Dans un numero de Login sur les echecs ils parlaient du stockage lineaire pour optimiser certains trucs, est-ce le cas ? Si oui, utilise au moins des constantes du style HAUT=12 BAS=-12 DROITE=1 et ecris (place+2*HAUT+DROITE) pour qu'un s'y retrouve; sinon, utilise un tableau bidimensionnel !

    De meme dans echecs_init, tu as le droit d'utiliser 2 boucles imbriquées pour faire tes initialisations en x ET en y ;)