2.0 KiB
2.0 KiB
Proposal
Why
En jeu, localiser le portail de l'End (dans un stronghold) en suivant des yeux de l'Ender à l'écran F3 est fastidieux et imprécis à faire de tête. Deux lancers d'œil de l'Ender réalisés à deux endroits distincts suffisent pourtant à trianguler la position du stronghold : chaque œil vole vers le stronghold, donc la droite (lancé → chute) passe par lui, et l'intersection des deux droites donne sa position. Ce petit programme fait ce calcul à la place du joueur.
What Changes
- Nouveau script Python interactif unique, sans aucune dépendance externe (stdlib uniquement) : il demande les positions de lancé et de chute de deux yeux de l'Ender (coordonnées x, z relevées en jeu), puis affiche les coordonnées approximatives du portail de l'End.
- Garde-fous de fiabilité : message d'erreur explicite si les deux droites sont parallèles (aucune intersection exploitable) ou si un lancer n'a pas de direction (chute ≈ lancé) ; avertissement si les droites sont quasi parallèles (angle faible → résultat peu fiable).
- Entrées tolérantes : décimales acceptées (F3), séparateur espace ou virgule, re-demande en cas de saisie invalide plutôt que de planter.
- Tests unitaires (stdlib
unittest) couvrant la géométrie (intersection, cas parallèles) et l'analyse des saisies. - README court : mode d'emploi et rappel de la méthode de relevé des coordonnées en jeu.
Capabilities
New Capabilities
end-portal-triangulation: calcul de la position approximative du portail de l'End (stronghold) par intersection des trajectoires de deux yeux de l'Ender, à partir des positions de lancé et de chute de chaque œil.
Modified Capabilities
- Néant (dépôt vierge, aucune spec existante).
Impact
- Créations :
end_finder.py(script unique à la racine),tests/test_triangulation.py,README.md. - Aucune dépendance externe, aucun outil de packaging (pas de
pyproject.toml— YAGNI, lançable parpython end_finder.py). - Aucun code existant impacté (dépôt vide hors OpenSpec).