Files
2026-11-11 01:51:55 +01:00

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 par python end_finder.py).
  • Aucun code existant impacté (dépôt vide hors OpenSpec).