2.7 KiB
Spec Delta
Purpose
Permet de localiser le portail de l'End (stronghold) à partir de deux yeux de l'Ender lancés depuis deux endroits distincts, en calculant l'intersection des droites (lancé → chute) de chaque œil.
ADDED Requirements
Requirement: Calcul de la position du portail par intersection
Étant donné deux lancers d'œil de l'Ender, chacun défini par une position de lancé et une position de chute (coordonnées x et z, l'altitude étant ignorée), le système SHALL calculer l'intersection des deux droites (lancé → chute) et l'afficher comme position approximative du portail de l'End.
Scenario: Deux lancers exploitables
- WHEN l'utilisateur saisit les positions de lancé et de chute de deux yeux dont les trajectoires ne sont ni parallèles ni quasi parallèles
- THEN le système affiche les coordonnées (x, z) du point d'intersection, clairement identifiées comme position approximative du portail de l'End
Scenario: Coordonnées décimales
- WHEN l'utilisateur saisit des positions décimales (ex. relevées via l'écran F3)
- THEN le système les accepte telles quelles et le résultat est calculé avec ces valeurs
Requirement: Saisie interactive des quatre positions
Le système SHALL demander à l'utilisateur, dans un flux interactif, les positions de lancé puis de chute de chaque œil, en n'acceptant que deux nombres par saisie (x et z, séparés par une espace ou une virgule).
Scenario: Saisie invalide
- WHEN l'utilisateur saisit une valeur non numérique, ou un nombre incorrect de valeurs
- THEN le système affiche un message d'erreur et redemande la même saisie, sans s'interrompre
Scenario: Lancer sans direction
- WHEN la position de chute saisie est confondue avec la position de lancé du même œil (aucune direction exploitable)
- THEN le système affiche un message expliquant que ce lancer est inexploitable et redemande une saisie utilisable pour ce lancer
Requirement: Détection des cas non fiables
Le système SHALL vérifier la fiabilité de la triangulation avant d'afficher un résultat.
Scenario: Droites parallèles
- WHEN les deux droites (lancé → chute) sont parallèles ou quasi parallèles au point de rendre l'intersection inexploitable
- THEN le système affiche une erreur explicite et ne présente aucune coordonnée de portail
Scenario: Droites quasi parallèles
- WHEN l'angle entre les deux droites est faible (sous le seuil défini) sans être inexploitable
- THEN le système affiche les coordonnées du portail accompagnées d'un avertissement indiquant que la triangulation est peu précise, avec l'angle entre les droites