Add the basic code structure and build system
[Project_algorithmic_C.git] / analyse_descendante
index 513d5a5bee2e5c5ddbfa10526cc44868a110b478..4f00777cb415f137b81944ff72017099e78ee1a8 100644 (file)
 1) Affichage de l'othellier
 2) Saisie d'un coup
 3) Détection othellier plein
-4) Boucle de jeu
-5) Mettre à jour l'othellier 
-6) Coups jouables
+4) Boucle de jeu (+ affichage scores, le vainqueur, etc)
+5) Mettre à jour l'othellier (retournement pions de l'adversaire suite à un coup joué) 
+6) Coups jouables (calcul liste, affichage des coups jouables, test si coup saisi est dans la liste)
 7) Jeu 2 joueurs humains
-8) IA: min-max
-9) IHM
+8) IA: MinMax + stratégies
+9) IHM graphique
 
-->Stratégie de jeu (fonction d'évalution de l'algo min-max):
+->Stratégie de jeu (fonction d'évalution de l'algo MinMax):
 * Nombre de pions de la même couleur
 * Position/valeur des cases
 * Diminuer les coups possibles de l'adversaire
 * "S'augmenter" les possibilités de jeu
+
+->Initialisation: toutes les cases sont initialisées à VIDE
+
+->Structures de données:
+    - Othellier: tableau à deux dimensions
+    - Coups jouables: liste chainée de coup
+    - Constantes: NOIR 1                 |N (nord)
+                  BLANC 2                |S (sud)
+                  VIDE 0                 |E (est)
+                  ...                    |O (ouest)
+                  JOUEUR_NOIR ?
+                  JOUEUR_BLANC ?
+
+-> Modules: 
+    main: othello.{c,h} 
+    ia: ia.{c,h} (MinMax, fcts d'évaluation, ...)
+    IHM: ihm.{c,h} (affichage de l'othellier, saisie d'un coup, entrée au clavier, ...)
+    coups: coups.{c.h} (coups jouables)
+    regle: regle.{c,h} (implantation des règles du jeu)
+    constantes: constantes.h (les constantes)