MAGNIN Pierre 2 MIC D MAILLARD Adrien 2 MIC D Soutenance le 17/06/09
Pourquoi ce projet ? - Intérêt pour la programmation - Découverte du travail en équipe Sujet : - Jeu de réflexion à un joueur Démonstration
Cahier des charges Langage : Ada Organisation en paquetages Lisibilité Tests unitaires et dintégration Outils Compilateur : GNAT IDE : Emacs OS : Windows et Linux
IIntroduction IIConception générale III Algorithmique et Codage IVGestion du projet V Perspectives et Conclusions
1 – Structures de données 2 – Organisation en paquetages 3 – Problèmes rencontrés lors de la conception
Cellule Couleur Groupe la contenant Grille Tableau dynamique à deux dimensions de Cellules
Groupe Nombre de cellules dans un groupe non constant Contient une cellule Grille Nombre total de groupes non constant
Liste : Fonctions de manipulation Pack_groupe : Gestion de la liste des groupes Cellule_grille : Gestion de la grille et des cellules Console : « Jeu », affichage
Constantes ou fonctions à nombreux paramètres ? Modélisation des groupes Paquetage Liste générique
1 – Explications sur quelques algorithmes 2 – Tests (i) Unitaires (ii) Intégration 3 – Cas particulier de linterface graphique
Rechercher_liste_groupe Arguments : Une grille et une liste de groupes à remplir Procédures utilisées: Vider_liste_groupe Adajcence_essentielle Rechercher_cases_adjacentes
Generer_grille_aleatoire : Arguments : Une grille à remplir Procédures utilisées : Générateur pseudo-aléatoire de nombres flottants Fonction delay Principe : Génère un nombre aléatoire pour chaque case
Difficile en ADA Liaison C-ADA Principe : Importer les bibliothèques Ada en C et Interface en C-SDL
Exceptions Concerne les entrées utilisateur Objectif : que le programme ne sinterrompe pas Plusieurs types : Data_error, Constraint_error Tests unitaires et dintégration Principe : Tester chaque fonction aux limites de fonctionnement Ici, ce nétait pas indispensable
1 – Gestion du temps, Organisation 2 – SVN et Gestion des conflits
Conception générale à plusieurs groupes Travail réparti au départ séances en commun (avantages multiples) Manque de temps sur la fin du projet
SVN À lINSA au départ sur un site externe ensuite (Assembla.com) Utilisation de TortoiseSVN Gestion des conflits Pas de conflit majeur Objectifs à atteindre Algorithmique
1- Perspectives 2 – Conclusions
Objectif atteint Quelques améliorations possibles : Interface graphique « Intelligence artificielle » Optimisation des algorithmes Portabilité assurée (deux versions disponibles)
Programme 100% fonctionnel Travail en groupe très satisfaisant Apports multiples tant le plan technique que sur le plan humain
Avez-vous des questions ?