Mini-projet 2 (2025) : «ICMaze»


But

Le but de ce mini-projet est de vous faire pratiquer les éléments de programmation orientée-objets vu au cours du semestre (encapsulation, abstraction, polymorphisme etc.).


item item item item
Les «jeux de labyrinthes» nous servent de source d'inspiration pour le projet de cette année ... dans des versions modestes (faute de temps) :-).

Pré-requis et mise en place

Comme pour le tutoriel, il vous est demandé de créer un projet à partir d'une archive. Vous utiliserez l'archive mp2-2025-provided.zip.
Le démarrage du projet est en principe facilité si vous avez réalisé les étapes du tutoriel sur le matériel fourni. Si vous n'avez pas eu le temps de faire le tutoriel, il est cependant recommandé de vous lancer directement dans le projet en vous inspirant de la solution fournies dans le dossier tutos (fourni dans l'archive ci-dessus).

Pour créer un projet IntelliJ à partie de cette archive procédez comme suit :

  1. téléchargez l'archive ci-dessus dans un répertoire de votre choix;
  2. dezzipez-la;
  3. ouvrez le dossier MP2-2025 dans IntelliJ;
  4. faites confiance au projet fourni :-) (bouton Trust..).
Pour Eclipse, une fois l’archive dezippée créez le projet en utilsant l’option "From existing sources" et en indiquant le répertoire hôte comme racine du projet.

Supprimez l’archive mp2-2025-provided.zip une fois le projet installé.

Rendu

Le rendu est fixé au Jeudi 18 Décembre 13h00. Les instructions détaillées pour le rendu vous seront communiquées en temps voulu.

Le rendu du projet devra comporter :

Ces fichiers seront rédigés de façon succincte et sans formalisme (il ne s'agit pas de rapports). Vous utiliserez un format non propriétaire (pdf, Markdown ou simplement texte, avec une préférence pour les deux derniers formats).

Il vous est aussi demandé de documenter toutes les entêtes de méthodes introduites (à l'image de ce qui est fait par exemple dans le fichier TextGraphics du game-engine).

Si vous souhaitez apporter des modifications fondamentales au matériel fourni (par exemple le codage de l'interface graphique), merci de solliciter notre avis au préalable en envoyant un message à cs107@epfl.ch.

Vous pouvez ajouter des images additionnelles libres de droit (et dont la source est référencée dans le fichier README). Ces images devront être de petite taille car la taille de l'archive à rendre sera limitée (3 MB)). Au cas où vous avez fait des extensions qui seraient bridées par cette limitation, envoyez nous aussi un message (à cs107@epfl.ch) pour que nous puissions étudier la question au cas par cas.

Enoncé

L'énoncé est à votre disposition ici [Lien].
[An English translation is provided, it was produced by an automatic tool translation then proofread. The reference document is however the French version. In case something is unclear in the English version please refer to the French one or ask questions]

Pour la réalisation du projet ainsi que pour éviter des problèmes de rendu, veillez à configurer votre IDE en UTF-8 (voir pour cela ”Réglage de l’encodage des caractères” dans le guide de configuration de IntelliJ ou celui de Eclipse).

« Wall of fame » 🏆

Pour participer au concours du «Meilleur jeu du CS107» consultez la section 6 de l'énoncé du projet. Les gagnants verront leur nom s'afficher sur le « Wall of fame » (+ une petite attention symbolique).

Barème

Il y a quatre étapes à compléter pour la partie obligatoire de ce mini-projet. La grille ci-dessous vous donne la répartition des points par étape.

Les modalités est critères de correction vous sont expliqués ici.

Maximum possible sur 6
Aspects généraux
(documentation, README, CONCEPTION)
1.5
«ICMaze» de base
(étape 1)
3.5
Labyrinthes
(étape 2)
4.5
Niveaux et ennemis
(étape 3)
5.5
Défi final
(étape 4)
6.0
Extensions à choix
(étape 5, bonus/concours)
(bonus, max 20 points)
Fixez-vous des objectifs raisonnables en fonction de votre niveau.

Important:

Le projet est un élément noté. L'échange d'idée entre groupes ou avec des tiers est autorisée et même recommandée. Par contre, l'échange de code est strictement interdit ! Le plagiat de code, quelqu'en soit la source et qui sera contrôlé, sera considéré comme de la tricherie.

En cas de tricherie, vous recevrez la note «NA» (voir également l'ordonnance sur la discipline).

Dans tous les cas, il est fortement conseillé de pouvoir expliquer les lignes de code de son projet.