Catch a single piece of cheese... with mud
Durée2h30 + préparationPrésentation & objectifs
Dans cette séance, nous augmentons légèrement la difficulté en introduisant de la boue dans le labyrinthe.
Deux emplacements adjacents dans le labyrinthe séparés par de la boue nécessitent plus d’une unité de temps pour être atteints, ce qui ralentit donc le personnage.
Alors que l’algorithme BFS vu dans la séance précédente avait la propriété de trouver le chemin le plus court dans un graphe non pondéré, ce n’est plus le cas ici.
Nous introduisons donc l’algorithme de Dijkstra, qui peut trouver le chemin le plus court dans un graphe pondéré.
Pour l’implémenter, il est nécessaire d’introduire une nouvelle structure de données appelée min-heap.
Les notions ci-dessus sont couvertes par quelques articles que vous devez étudier avant le cours.
Dans l’activité pratique, vous devrez programmer l’algorithme de Dijkstra, afin que votre personnage puisse se déplacer d’un emplacement à un autre dans un labyrinthe avec de la boue.
Le contenu de cette séance sera évalué.
Consultez les détails à la fin de cette page.
Avant le cours
Prérequis techniques
Pour pouvoir commencer à travailler sur l’activité, vous devez remplir les conditions suivantes :
- Veuillez apporter votre propre ordinateur.
- Assurez-vous d’avoir une connexion réseau fonctionnelle.
Acquisition des connaissances préalables
Pour pouvoir commencer efficacement l’activité pratique, nous avons introduit certains concepts nécessaires à la fin de la séance précédente.
Voici les diapositives utilisées en cours :
Ces diapositives couvrent uniquement les éléments principaux du cours, et de nombreux autres détails sont donnés dans les articles associés.
Vous devez donc étudier les articles suivants chez vous avant la séance :
Vous pouvez vérifier votre compréhension de ces articles ici :
Pendant le cours
Quiz
Au tout début de la séance, nous commençons par un quiz Wooclap évalué pour vérifier votre compréhension des articles que vous avez dû étudier.
Le lien sera donné par l’enseignant au début du cours.
Assurez-vous d’être à l’heure !
Attribution des rôles
La séance en cours sera évaluée, et vous ne serez pas tous évalués sur les mêmes aspects, comme mentionné sur la page principale du projet.
Avant de commencer l’activité pratique, discutez avec votre groupe pour décider qui sera en charge de :
- La qualité du code.
- La documentation.
- Les tests unitaires.
Comme décrit à la fin de cette page, vous devrez téléverser une archive, qui inclut un README.md
file.
Dans ce fichier, vous devrez indiquer qui est responsable de quoi.
Activité pratique
Le cours est dédié à une activité pratique.
Une fois que vous avez terminé toutes les étapes ci-dessus, cliquez sur le lien ci-dessous pour commencer :
Après le cours
Compléter la séance en cours
Cette séance est évaluée.
La modalité d’évaluation est décrite sur la page principale du projet.
Avant la prochaine séance, vous devez donc :
-
Revoir le contenu des articles ci-dessus.
-
Compléter les parties non optionnelles de l’activité pratique.
-
Créer une archive nommée
student1_student2_student3.zip
, oùstudent1
,student2
etstudent3
sont les noms de famille des membres de votre groupe.
Cette archive doit être structurée comme suit :student1_student2_student3.zip | |_ games | |_ # Put your game scripts here | |_ players | |_ # Put your players here | |_ tests | |_ # Put your unit tests here | |_ utils | |_ # Put your additional codes here (if any) | |_ data | |_ # Put your other files here (if any) | |_ README.md
Le fichier
README.md
doit être un fichier texte formaté en Markdown.
Téléchargez ce fichier pour l’utiliser comme base, et remplissez-le là où c’est demandé (remplacez tout ce qui est dans<...>
). -
L’étudiant responsable du code doit téléverser cette archive sur Moodle avant le début de la séance 4.
En plus de la qualité du code, de la documentation et des tests unitaires, nous évaluerons également votre capacité à produire un livrable.
Autrement dit, faites attention aux éléments importants suivants :
-
Nous allons décompresser votre archive, et l’utiliser comme espace de travail dans Visual Studio Code.
Votre code doit fonctionner directement, c’est-à-dire qu’exécuter un script dans les répertoiresgames
outests
doit créer un jeu ou effectuer des tests sans aucune intervention de notre part.
Vous devez vous en assurer en testant cela dans un nouvel espace de travail Visual Studio Code avant de téléverser votre code sur Moodle. -
Nous évaluerons votre capacité à produire un livrable selon des directives données.
Considérez que nous sommes un client à qui vous envoyez un logiciel que vous avez dû produire.
Le nom de l’archive, l’organisation de son contenu, et le contenu du fichierREADME.md
doivent correspondre à nos exigences listées ci-dessus.
Préparer la prochaine séance
- Consultez la section “Avant le cours” de la prochaine séance, et assurez-vous de faire tout ce qui est nécessaire pour la préparer.
- La prochaine séance commencera par un quiz évalué pour vérifier que vous avez bien compris les articles.