Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sujet de projet : Développement d'un jeu 2048 en C++

Contexte :

Vous êtes ingénieurs en devenir et, pour développer vos compétences en programmation orientée objet et en bonnes pratiques de développement, vous êtes invités à créer une version simplifiée du jeu 2048. Ce jeu devra s'exécuter dans un terminal et permettre une expérience utilisateur fluide et agréable.

Objectifs pédagogiques :

  • Approfondir vos connaissances en programmation orientée objet avec le langage C++.
  • Mettre en pratique les concepts de réflexion préalable, de conception de classes, de versionning de code avec Git et de refactoring de code.
  • Travailler en équipe pour favoriser la collaboration et l'échange d'idées.

Travail en équipe :

  • Formez des groupes de 4 à 6 étudiants pour collaborer sur le projet. La réflexion préalable doit être réalisée en groupe, en identifiant les différentes étapes et en proposant un plan de développement collaboratif.

Consignes :

  1. Analyse du problème :

    • Prenez le temps de réfléchir aux éléments constitutifs du jeu (plateau de jeu, mécanismes de fusion des tuiles, génération aléatoire de nouvelles tuiles, détection de victoire ou de défaite).
    • Identifiez les classes et les méthodes nécessaires pour structurer le code de manière modulaire et maintenable. Pensez à une modélisation efficace en utilisant les concepts de la POO (par exemple, des classes Grille, Tuile, et Jeu).
    • Livrables à l'issue de cette phase : Un diagramme simplifié des classes que vous allez implémenter, une liste des méthodes à implémenter pour chaque classe, avec leurs descriptions, un plan de travail clair que vous allez suivre pour l'implémentation (ce plan servira également de base pour le versioning Git).
  2. Mise en œuvre :

    • Implémentez le jeu en respectant les étapes de développement suivantes :
      • Initialisation du jeu : Le jeu doit commencer avec une grille 4x4, contenant deux tuiles (2 ou 4) placées aléatoirement.
      • Déplacement des tuiles : Implémentez les mouvements (haut, bas, gauche, droite) avec la logique de fusion des tuiles de même valeur.
      • Ajout de nouvelles tuiles : Après chaque mouvement, une nouvelle tuile (valeur 2 ou 4) doit apparaître dans une case libre.
      • Conditions de fin de jeu : Le jeu doit pouvoir détecter une victoire (une tuile de 2048 atteinte) et une défaite (aucun mouvement possible).
  3. Fonctionnalités supplémentaires (facultatif) :

    • Ajoutez des fonctionnalités pour afficher le score actuel et enregistrer le score maximum atteint.
    • Implémentez une option pour recommencer une partie ou quitter le jeu.
    • Utilisez Git pour versionner votre code. Chaque membre du groupe doit contribuer et réaliser des commits significatifs avec des messages explicites.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages