2
-200 -300 2 2
100 0 2 2
2
2 1
3 2
0
Le bug précédent et celui que vous signalez sont maintenent corrigés.
L'exécutable de démo vient d'être mis à jour sur moodle:
https://moodlearchive.epfl.ch/2018-2019/mod/resource/view.php?id=1016896
Nous utiliserons les fichiers de test ayant permis la détection de ces bugs pour l'évaluation du rendu final.
Bonjour,
Après avoir tester la démo (nouvelle version) il me semble qu'elle ne respecte pas la consigne ("La matrice est initialisée avec les distances connues, c’est-à-dire la distance aux spots voisins : [...] racine de 2 selon la diagonale sauf si cette diagonale est tangente à un obstacle, auquel cas on met 3").
Avec le fichier ci-dessous, les joueurs ne prennent pas le chemin le plus court ( comme si la diagonale tangente à l'obstacle avait un poid de 2)
# Projet Dodgeball 2019
4
# Players
2
-353 355 4 0
372 -376 4 0
# Obstacles
4
1 2
1 1
2 2
3 0
# Balls
0
Les joueurs prennent un chemin de longeur 6 alors qu'il en existe un de longeur 5.46
votre remarque est juste: le poids sur la diagonale est finalement de 2 car, même si on initialise avec 3, l'algorithme de Floyd remet cette valeur de 2 .
La donnée V 1.04 a été ajustée comme suit en section 3.2.2 (nouveau texte en bleu) :
- on initialise avec la valeur de 2 pour la diagonale tangente à un obstacle.
- on interdit le choix d'un spot selon la diagonale quand elle est tangente à un obstacle
J'ai aussi détecté l'erreur suivante dans la démo (qui est aussi dans le dernière version fournie):
Si les joueurs sont sur le bord de la carte, le programme effectue la lecture correctement puisque c'est une situation autorisée, mais il bloque indéfiniment dès que la simulation est lancée.
Voici deux images pour illustrer la situation:
Les fichiers de tests sont les suivants: