Classes

Accueil Remonter

 

Ce diagramme de classes UML présente une partie des classes utilisées par l'algorithme de recherche. La classe racine "CcaseNB" contient toutes les méthodes. Les classes dérivées de l'arbre d'héritage spécialisent entre 2 et 4 méthodes. Les 2 méthodes toujours spécialisées sont IsFree() et GetSource().

Toutes les classes ne sont pas représentées sur ce diagramme. En effet, pour la recherche de carré semi-magique, 4 familles de classes sont créées représentant des cases appartenant à chaque quart de l'échiquier. La case externe de l'échiquier contenue dans chaque quart est utilisée pour repérer le quart (A1 en bas a gauche, H1 en bas à droite, A8 en haut à gauche et H8 en haut à droite). Seules les cases dérivées du quart A1 sont représentées sur le diagramme.

 

La complexité du diagramme vient de plusieurs faits. 

D'une part, 9 cas sont traités par l'algorithme :

  •  les carrés semi-magiques, magiques ou quelconques
  • les diagonales semi-magiques, magiques ou quelconques.

Il est possible par exemple de rechercher des carrés quelconques avec diagonales semi-magiques. Les cases sur les diagonales ou sur les diagonales de chaque quart d'échiquier sont associées à plusieurs classes en fonction du type de chemin recherché, même s'il n'existe aucune contraintes sur les diagonales.  

D'autre part, l'algorithme supporte 2 modes d'exécution. Un mode standard et un mode optimisé. Dans le mode standard, des traces sont enregistrées pour analyser en temps réel les caractéristiques de la recherche. Ces traces disparaissent en mode optimisé.

Les classes qui doivent être utilisées par l'algorithme en fonction du type de recherche sont décrites dans ces tableaux.