Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
fr:cs:rapport_de_projet_d_algorithmique [2017/05/04 19:32] – [Pas de tripotage direct des structures de données (c'est indécent :p)] fraggle | fr:cs:rapport_de_projet_d_algorithmique [2021/12/27 18:25] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== | + | ====== |
===== Analyse des problématiques algorithmiques du jeu ===== | ===== Analyse des problématiques algorithmiques du jeu ===== | ||
Ligne 7: | Ligne 7: | ||
* Diviser pour mieux régner : | * Diviser pour mieux régner : | ||
Découpage des problématiques algorithmiques en sous-problèmes dit simples autant au niveau complexité (on parle de la notation "big O" ici) que difficulté d' | Découpage des problématiques algorithmiques en sous-problèmes dit simples autant au niveau complexité (on parle de la notation "big O" ici) que difficulté d' | ||
+ | |||
+ | ==== Résultante de l' | ||
Cela a conduit à l' | Cela a conduit à l' | ||
Ligne 33: | Ligne 35: | ||
==== Style du code de l’implantation : ==== | ==== Style du code de l’implantation : ==== | ||
- | Calqué sur le style de Kernighan and Ritchie aka K&R avec de légères modifications sur le placement des parenthèses pour les déclarations de fonctions. | + | Calqué sur le style de Kernighan and Ritchie aka K&R avec de légères modifications sur le placement des parenthèses pour les déclarations de fonctions.\\ |
[[https:// | [[https:// | ||
Ligne 41: | Ligne 42: | ||
* Affichage de l' | * Affichage de l' | ||
* Saisie d'un coup; | * Saisie d'un coup; | ||
- | * Détection des conditions de fin de jeu : othellier plein ou plus de coups jouables pour les deux joueurs; | + | * Détection des conditions de fin de jeu : othellier plein ou plus de coups jouables pour un des deux joueurs; |
* Boucle de jeu complète; | * Boucle de jeu complète; | ||
* Retournement des pions après un coup; | * Retournement des pions après un coup; | ||
- | * Listes des coups jouables; | ||
* Jeu pour deux joueurs humains. | * Jeu pour deux joueurs humains. | ||
===== Fonctionnalités à implanter : ===== | ===== Fonctionnalités à implanter : ===== | ||
+ | - Listes des coups jouables; | ||
- Redéfinir plus proprement certains types de donnés; | - Redéfinir plus proprement certains types de donnés; | ||
- Implantation de la fonctionnalité de retour en arrière dans la liste des coups joués; | - Implantation de la fonctionnalité de retour en arrière dans la liste des coups joués; | ||
Ligne 55: | Ligne 56: | ||
===== Problèmes rencontrés : ===== | ===== Problèmes rencontrés : ===== | ||
- | |||
- | Fonction d' | ||
- | * la liste des pions à retourner; | ||
- | * la liste des coups jouables pour un joueur. | ||
- | Problèmes avec l' | + | * Gestion du tableau à deux dimensions : retour de fonctions conjointement avec passage par adresse, donc des chevauchements mémoires et autres bizarreries (le même objet était retourné deux fois par les fonctions ...) |
+ | |||
+ | * Fonction d' | ||
+ | * la liste des pions à retourner; | ||
+ | * la liste des coups jouables pour un joueur. | ||
+ | Problèmes avec l' | ||
Remplacement par implantation d'une version itérative de l’algorithme. | Remplacement par implantation d'une version itérative de l’algorithme. | ||
+ | |||
+ | Au total, " | ||