Mini-projet 2 (2023) : «ICMon»


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
Les jeux de type «Pokémon» nous servent de source d'inspiration très directe pour le projet de cette année ... dans des versions sensiblement moins ambitieuses (faute de temps) :-).

« Wall of fame »

Comme chaque année, vous pouviez participer au concours du «Meilleur jeu du CS107». Toutes les soumissions au concours témoignent d'un travail engagé remarquable. Nous vous en félicitons!!

Cette année nous avons eu beaucoup de mal à départager certaines candidatures sur la vingtaine de dossiers reçus. Aussi, il a fallu serrer certains groupes sur les marches du podium :)

Classement:

(les noms dans les groupes et pour les groupes ex-aequo sont donnés par ordre alphabétique)

Le classement s'est fait sur la base de la qualité du code, de la richesse des extensions et/ou la qualité du « Gameplay » ainsi que la mise en valeur des outils mis à disposition. Il est aussi important de noter que, comme chaque année, certains groupes n'ayant pas participé au concours auraient très clairement mérité une place dans le «Wall of Fame du CS107» :-) Nous avons voulu ici récompenser l'effort de soumettre au concours et de mettre en valeur son travail.

Félicitations aux lauréats du concours et un très grand BRAVO à toutes et tous!!

Description générale et énoncé

Il s'agit dans ce mini-projet de mettre en oeuvre divers composants permettant d'implémenter des jeux de de type ««Pokémon»"» se déroulant sur des grilles. Comme résultat final, il vous sera demandé de coder un petit jeu impliquant un certain nombre de composants obligatoires

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-2023-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.

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. ouvrez le dossier MP2-2023;
  3. 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-2023-provided.zip une fois le projet installé.

Rendu

Le rendu est fixé au Jeudi 21 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 pour le code déjà fourni).

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 README). Ces images devront être de petite taille car la taille de l'archive à rendre sera limitée (2 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].

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).

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.

Maximum possible sur 6
Aspects généraux
(documentation, README, CONCEPTION)
1.5
«ICMon» de base
(étape 1)
3
Événements et actions
(étape 2)
4.75
Combats
(étape 3)
5.75
Scénario final
(étape 4)
6.0
Extensions à choix
(étape 5, bonus/concours)
(bonus, max 20 points)

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, 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.