(align:"=><=")+(box:"======XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=========")[<h1>Bienvenido a FlatLand</h1>]
Vaya vaya, ¡parece que hemos entrado en FlatLand! Por si acaso no lo has leído, FlatLand es un mundo en el que todo es plano ideado por Edwin A. Abbott en su novela <a href="https://en.wikipedia.org/wiki/Flatland">«Flatland: A Romance of Many Dimensions»</a> de 1884.
Nos acaban de avisar de que ha ocurrido algo muy serio en FlatLand... [[¿Qué habrá sido?->Intro]]
(set: $circleVisited to false)
(set: $triangleVisited to false)
(set: $hexagonVisited to false)
(set: $circleGuilty to false)
(set: $triangleGuilty to false)
(set: $hexagonGuilty to false)
<!--
Documentación del lenguaje del proyecto (i.e. Harlowe):
https://twine2.neocities.org
-->(align:"=><=")+(box:"======XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=========")[<h1>¿FlatBank? </h1>]
Como suena, en FlatBank se guarda una gran parte del dinero de FlatLand: los ''FlatCoins''. Como hace poco que llego ''Bizum'' a FlatLand la gente ya no se preocupa por el dinero físico, pero sigue siendo muy importante...
En fin, que nos liamos, vamos a ver [[qué ha ocurrido->Sheriff]]...(align:"=><=")+(box:"======XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=========")[<h3>Sheriff Cuadrado</h3>]
(align:"=><=")+(box:"======XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=========")[<img src="Square.png" alt="Sheriff Cuadrado" width="200" height="200">]
Creo que el ''Oráculo Estrella'' ya te ha puesto al día: ¡ha habido un robo!
Ya hemos hecho bastante trabajo (he tenido que madrugar un montón...) y hemos reducido la lista de sospechosos a tres personas:
0. El [[''Círculo Enfadado''->Circle]].
0. El [[''Triángulo Recursivo''->Triangle]].
0. El [[''Hexágono Feliz''->Hexagon]].
Además, las cámaras de seguridad parecen indicar que el ladrón tenía un perímetro de ''algo más de 6 metros''. Tenemos que investigar a cada uno de los posibles sospechosos para poder ver si su perímetro les convierte en ''culpables''.
¿A qué esperas? ¡Hora de interrogar!
Cuando hayas interrogado a todos (y con eso queremos decir, a todos) podrás [[resolver el caso->Solve]].(align:"=><=")+(box:"======XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=========")[<h3>Un caso muy plano</h3>]
(align:"=><=")+(box:"======XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=========")[<img src="Star.png" alt="Oráculo Estrella" width="200" height="200">]
Según nos comenta el ''Oráculo Estrella'', alguien ha robado mucho dinero del [[''FlatBank''->FlatBank]], y debemos saber quién ha sido...
Vamos a ver qué nos dice el [[''Sheriff Cuadrado''->Sheriff]].(align:"=><=")+(box:"======XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=========")[<h3>Círculo Enfadado </h3>]
(align:"=><=")+(box:"======XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=========")[<img src="Circle.png" alt="Círculo Enfadado" width="200" height="200">]
¡Yo soy el círculo! ¿Qué pasa? ¿Quieres problemas?
(click: "problemas")[Venga vale, me calmo. ¿Qué quieres?
(click: "quieres")[¿Qué? ¿Mi diámetro? Ni que quisieras calcular mi perímetro... Venga, como me he calmado te lo diré. Pero... antes tienes que responder una cosa.(click: "responder")[(set: _ans to (confirm: "¿Qué constante hace falta para calcular el perímetro de una circunferencia?", "Pi", "Phi"))
(if: _ans is false)[¡Muy bien! Lo prometido es deuda: mi diámetro es de ''2 metros''.
Con esto y un bizcocho... de vuelta a ver al [[Sheriff]] ¿no?](if: _ans is true)[Vaya... ¡Esa no es la respuesta! Pero bueno, como sigo de buen humor te diré que mi diámetro es de ''2 metros''.
Con esto y un bizcocho... de vuelta a ver al [[Sheriff]] ¿no?]
(set: $circleVisited to true)
]]]
(align:"=><=")+(box:"======XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=========")[<h3>Hora de resolver</h3>]
(align:"=><=")+(box:"======XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=========")[<img src="Star.png" alt="Oráculo Estrella" width="200" height="200">]
(if: $circleVisited is false or $triangleVisited is false or $hexagonVisited is false)[
Vaya vaya, parece que nos falta alguna declaración...
(if: $circleVisited is false)[- No hemos visitado al [[''Círculo Enfadado''->Circle]]... ]
(if: $triangleVisited is false)[- Nos falta ir a ver al [[''Triángulo Recursivo''->Triangle]]...]
(if: $hexagonVisited is false)[- Aún tenemos que hablar con el [[''Hexágono Feliz''->Hexagon]]...]
](else:)[
Ya tenemos todos los testimonios. Sabiendo que el perímetro de nuestro ladrón es de algo más de ''6 metros'' ¿sabrías quién es el autor de todas estas fechorías?:
* ''Círculo Enfadado''.
* ''Triángulo Recursivo''.
* ''Hexágono Feliz''.](click: "Círculo Enfadado")[(set: $circleGuilty to true)¡Vamos a [[''comprobarlo''->Solution]]!](click: "Triángulo Recursivo")[(set: $triangleGuilty to true)¡Vamos a [[''comprobarlo''->Solution]]!](click: "Hexágono Feliz")[(set: $hexagonGuilty to true)¡Vamos a [[''comprobarlo''->Solution]]!](align:"=><=")+(box:"======XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=========")[<h3>Triángulo Recursivo </h3>]
(align:"=><=")+(box:"======XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=========")[<img src="Triangle.png" alt="Triángulo Recursivo" width="200" height="200">]
¡Yo soy el triángulo de triángulos de triángulos...! ¿Qué te trae por aquí? ¿Buscas algo?
(click: "algo")[¿Quieres saber la longitud de mis lados? Quizá te interese saber qué tipo de triángulo soy ¿no? ¿Tú qué crees?
(click: "crees")[(set: _ans to (confirm: "Soy un triángulo...", "Isósceles", "Equilátero"))
(if: _ans is false)[Pues va a ser que no... Si fuera isósceles uno de mis lados sería distinto, pero todos son iguales... Aún así, te diré que todos mis lados exteriores miden justamente ''2 metros''.
Ya tienes todo lo que necesitas ¿verdad? Quizá sea buena idea volver a ver al [[Sheriff]] ¿no?](if: _ans is true)[¡Exacto! Todos mis lados miden exactamente lo mismo: ''2 metros''.
Ya tienes todo lo que necesitas ¿verdad? Quizá sea buena idea volver a ver al [[Sheriff]] ¿no?]
(set: $triangleVisited to true)
]](align:"=><=")+(box:"======XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=========")[<h3>Hexágono Feliz </h3>]
(align:"=><=")+(box:"======XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=========")[<img src="Hexagon.png" alt="Hexágono Feliz" width="200" height="200">]
Yo soy el hexágono feliz. Quizá sea porque ayudo muchísimo a las abejas a construir sus colmenas... En fin: ¿querías algo de miel o era alguna otra cosa?
(click: "cosa")[¿Quieres saber la longitud de mis lados? ¿Para qué? Bueno, te lo diré. Pero antes debes responderme a una pregunta súper importante:
(click: "pregunta")[(set: _ans to (confirm: "¿En cuántos triángulos equiláteros me puedo descomponer?", "5", "6"))
(if: _ans is false)[Casi... Como soy un ''hexágono'' realmente puedo descomponerme en ''6'' triángulos equiláteros. Como has fallado te diré lo que mide la ''mitad'' de mi lado: ''50 centímetros''.
Imagino que ya no querrás preguntarme nada más ¿no? Creo que el [[Sheriff]] te está buscando...](if: _ans is true)[¡Exacto! El prefijo ''hexa'' significa ''seis''. Como has acertado te diré la medida de mis lados sin artimañas: ''1 metro''.
Imagino que ya no querrás preguntarme nada más ¿no? Creo que el [[Sheriff]] te está buscando...]
(set: $hexagonVisited to true)
]](align:"=><=")+(box:"======XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=========")[<h3>El culpable</h3>]
(align:"=><=")+(box:"======XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=========")[<img src="Square.png" alt="Sheriff Cuadrado" width="200" height="200">]
(if: $circleGuilty is true)[¡Exacto! El perímetro del ''Círculo Enfadado'' es de ''2 * PI * r = PI * D = 6,28 metros''. Resulta que el ''Círculo Enfadado'' quería irse de vacaciones para calmarse y no quería esperar a ahorrar...
(align:"=><=")+(box:"======XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=========")[<h2>¡Enhorabuena por resolver el caso!</h2>]](else-if: $triangleGuilty is true)[Va a ser que no... Recuerda que cada lado del ''Triángulo Recursivo'' mide exactamente ''2 metros''. Si el triángulo es ''equilátero'', ¿cuál es su perímetro? Quizá buena idea volver a [[preguntarle->Triangle]]...](else-if: $hexagonGuilty)[Resulta que no... Recuerda que cada lado del ''Hexágono Feliz'' mide ''1 metro''. Si todos sus lados son iguales, ¿cuál es su perímetro? Quizá buena idea volver a [[preguntarle->Hexagon]]...]
(set: $circleGuilty to false)
(set: $triangleGuilty to false)
(set: $hexagonGuilty to false)