Properly nullify a debug function.
[Project_algorithmic_C.git] / analyse_descendante
CommitLineData
8d5f2ac4 1->Analyse:
cc94dbe8
JB
2* Joueur 1: pose un pion ou c'est possible (jouer un coup parmi les coups possibles)
3 si aucun coup n'est possible, alors on passe au joueur suivant
4
5* Mettre à jour l'othellier (retourner les pions de l'adversaire en fonction du pion posé)
6
7* Passer au joueur suivant (tant que partie non finie)
8
9* Partie finie: - othellier plein
10 - les deux joueurs "passent"
11
8d5f2ac4 12->Liste des taches:
cc94dbe8
JB
131) Affichage de l'othellier
142) Saisie d'un coup
153) Détection othellier plein
480acfeb
JB
164) Boucle de jeu (+ affichage scores, le vainqueur, etc)
175) Mettre à jour l'othellier (retournement pions de l'adversaire suite à un coup joué)
186) Coups jouables (calcul liste, affichage des coups jouables, test si coup saisi est dans la liste)
8d5f2ac4 197) Jeu 2 joueurs humains
480acfeb
JB
208) IA: MinMax + stratégies
219) IHM graphique
8d5f2ac4 22
480acfeb 23->Stratégie de jeu (fonction d'évalution de l'algo MinMax):
8d5f2ac4
JB
24* Nombre de pions de la même couleur
25* Position/valeur des cases
26* Diminuer les coups possibles de l'adversaire
27* "S'augmenter" les possibilités de jeu
480acfeb
JB
28
29->Initialisation: toutes les cases sont initialisées à VIDE
30
31->Structures de données:
32 - Othellier: tableau à deux dimensions
33 - Coups jouables: liste chainée de coup
34 - Constantes: NOIR 1 |N (nord)
35 BLANC 2 |S (sud)
36 VIDE 0 |E (est)
37 ... |O (ouest)
38 JOUEUR_NOIR ?
39 JOUEUR_BLANC ?
40
54f1c58c 41->Modules:
480acfeb
JB
42 main: othello.{c,h}
43 ia: ia.{c,h} (MinMax, fcts d'évaluation, ...)
44 IHM: ihm.{c,h} (affichage de l'othellier, saisie d'un coup, entrée au clavier, ...)
45 coups: coups.{c.h} (coups jouables)
46 regle: regle.{c,h} (implantation des règles du jeu)
a80646b7 47 constantes: constantes.{c,h} (les constantes)
54f1c58c
JB
48
49->Exploration dans une direction (i, j):
50Si hors_othellier ou case vide
51 alors Rien;
52Sinon si case contient un pion adverse
53 alors continuer l'exploration dans la même direction;
54Sinon si case contient pion du joueur
55 alors les pions adverses vus précédement doivent être retournés
45ce2fe3
JB
56
57explorer(i, j, dir)
58Si Vide ou Dehors
59 Rien à faire
60Sinon
61 Si PionAdverse
62 explorer CaseSuivante
63 Sinon
64 RetournerPionsRencontrés