Consignes mini-projets TD de programmation C/C++

Ces mini-projets ont pour but de vous confronter à la programmation avec un objectif concret, en utilisant les notions théoriques vues en cours.

Sujets

Jeux d’automates cellulaires avec différents algorithmes

Réaliser un jeu de la vie de Conway en C++. Chaque début de nouvelle partie doit être généré aléatoirement. Votre programme devra pouvoir sauvegarder son état actuel dans un fichier pour continuer lors d’une prochaine éxécution, sauf si la partie est terminée. Ce mécanisme permettra également de choisir une configuration de démarrage.

Au démarrage, si aucun fichier de sauvegarde n’est passé en paramètre, vous générer une nouvelle partie automatiquement. A la fin d’une partie, demandez au joueur si l’on doit lancer une nouvelle partie.

Pokemon simplifié

Réaliser un jeu Pokemon simplifié en mode console. L’objectif principal est de permettre à deux joueurs de s’affronter, et un mode “libre” permet de capturer de nouveaux Pokemons apparaissant aléatoirement. Votre jeu doit être capable de charger les Pokemons dynamiquement et de gérer des combats entre joueurs qui peuvent utiliser jusqu’à 6 Pokemons chacun. Vous pourrez utiliser un système de PC pour sauvegarder plus de 6 Pokemons par joueur, et implementer un Pokedex (ces tâches sont secondaires).

Gestion de bibliothèque musicale / vidéo

Le but de ce projet est de créer un programme permettant de gérer une bibliothèque musicale. L’objectif principal est de pouvoir gérer les informations d’artiste, album et nom de chanson de manière à pouvoir récupérer et classer les informations dynamiquement.

Gestionnaire de fichiers

L’objectif de ce projet est de créer un mini gestionnaire de fichiers, capable de naviguer dans l’arborescence, afficher les droits des fichiers dans le repertoire courant, créer et supprimer des fichiers et répertoires. La copie de fichiers et de repertoires peut être faite en objectif secondaire.

Evaluation

Ces mini-projets font l’objet d’un passage à l’oral qui sera pris en compte dans la note finale du module UNIX / Programmation. Ces oraux auront une durée de 10 minutes par groupe, durant lesquelles vous devrez.

  • Présenter le sujet choisi et les fonctionnalités demandées.
  • Présenter votre approche du problème, et expliquer les solutions que vous avez choisies.
  • Donner la définition de l’architecture de votre programme et de son fonctionnement, comment celui-ci est découpé, les différentes structures de données que vous avez utilisé et leurs interactions.
  • Donner la répartition des tâches au sein du groupe.
  • Faire un point sur l’état d’avancement : où en êtes vous, quels problèmes sont encore à résoudre, quelles fonctionnalités pourraient être ajoutées.