-
Notifications
You must be signed in to change notification settings - Fork 0
Wadjetz/crowd-simulator
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
L'objectif du projet est de simuler le déplacement d'une foule à l'intérieur d'un terrain prédéfini. Le terrain contient des zones de déplacement autorisées, des zones de déplacements interdits ainsi que des points d'apparition des personnages constituant la foule et des objectifs de destination. Le terrain est construit à partir d'un fichier texte qui suit la structure suivante : ************************************************ * * * A * * ** A * ********** * * * * * ** * * * * ******* ***** * * * **** * G* * GGG * * * * * * * G* ******* * ****** * * GG* * * * ** * *****G******************** * ******** * * * GGGG * GGGG * * * * * * * *** GG * G*G***** *** ****** * * * *GGGGGG * G*G* * * * ** * * G**** * ************* ****** * * * GGGGGGGGG * P GGGG * * * ****** ****** **** GGGG * ******** * * * * GGG * * * ****** * * * * P D * * D * * ************************************************ Sémantique des symboles : • * : un mur • G : une zone d'herbe • ' ' : une zone de déplacement • D : les points d'apparition des personnages • A : les points d'arrivée des personnages. Le terrain doit obligatoirement être fermé (entouré de murs). Les zones d'herbe nécessitent 2 unités de temps pour un déplacement, alors que les zones standards, 1 seule unité. Les personnes constituant la foule sont symbolisées par des souris. Lors de leurs déplacements, les souris ne peuvent pas passer simultanément sur la même case, de même, elles de peuvent pas passer par dessus. Si une zone de passage est embouteillée, elle doivent attendre leur tour ou chercher un autre itinéraire plus rapide. Les souris apparaissent à un endroit déterminée, mais elles choisissent librement leur destination. Elles ne peuvent apparaître que sur une case contiguë à la porte. Si aucune case n'est disponible, elles doivent attendre qu'une se libère. Votre objectif est que l'ensemble des souris rejoignent les gruyères en un nombre de tour minimum. Le tour est l'unité de déplacement par défaut (un tour), pour la simulation, l'unité de temps est fixé à 1 seconde, mais devra être facilement paramétrable pendant la soutenance. A chaque tour, tant qu'il y a des souris à l'intérieur de la porte, elles doivent apparaître sur la carte. Le nombre de souris pouvant apparaître à chaque porte devra pouvoir être déterminé dans le programme que vous avez à réaliser. Concernant le calcul d'itinéraire, vous devrez implémenter une solution à partir d'un graphe et utiliser l'algorithme de Djikstra ou A*. Les optimisations tels que les calculs bidirectionnels seront les bienvenues. Le programme devra permettre de charge n'importe quelle carte respectant le format défini.
About
No description or website provided.
Topics
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published