Add the basic code structure and build system
[Project_algorithmic_C.git] / analyse_descendante
index 8204c999ecda67ffa136bf37ea3830b2e788270e..4f00777cb415f137b81944ff72017099e78ee1a8 100644 (file)
@@ -1,3 +1,4 @@
+->Analyse:
 * Joueur 1: pose un pion ou c'est possible (jouer un coup parmi les coups possibles)
   si aucun coup n'est possible, alors on passe au joueur suivant  
 
@@ -8,11 +9,39 @@
 * Partie finie: - othellier plein
                 - les deux joueurs "passent"
 
-Liste des taches:
-
+->Liste des taches:
 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: MinMax + stratégies
+9) IHM graphique
+
+->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)