~/$ cat SAE_Trains.md

La SAE Trains ?

Lors du deuxième semestre de ma première année (2023-2024), nous nous étions vus assigner un projet de programmation en binôme, avec comme objectif de refaire le jeu de plateau Trains en Java.

Pour démarrer, une base de code contenant principalement des fonctions à remplir et une batterie de tests unitaires nous avait été fournie, mais c'était clairement le projet le plus ambitieux que nous avons eu à réaliser cette année.


Un des défis principaux était d'appliquer des algorithmes tels que l'algorithme de Dijkstra, appris durant nos cours de maths sur la théorie des Graphes.

Dans un graphe, l'algorithme de Dijkstra donne très rapidement le chemin le moins coûteux d'un point à un autre. Par exemple (voir image ci-dessous), le chemin le moins coûteux entre le point A et le point D est : [A > B > F > C > D].

Graph with costs

Durant ce projet, nous avons appris à :