Estoy pensando en crear un programa que me permita jugar o resolver acertijos slitherlink, como en krazydad.com. Consiste en fichas de 4, 5, 6, 7 y 8 lados. Todas las baldosas, excepto las de siete lados, parecen tener lados con la misma longitud, con los lados entre dos baldosas de siete lados (y por lo tanto, conectando baldosas de cinco lados con baldosas de 4 lados) con lados de aproximadamente el 70% de la longitud normal. Como puede ver en la imagen siguiente, los octágonos están rodeados de pentágonos y hexágonos alternados. Estos están unidos a otros a por los lados de los hexágonos. Adjunta a las puntas de los pentágonos hay líneas más pequeñas que conectan con cuadrados que se conectan a otros grupos. Alrededor de los cuadrados se forman figuras de siete lados con dos lados cortos. Creo que el borde exterior se define omitiendo las fichas que están demasiado lejos del centro.Algoritmo de mosaico/Estructuras de datos?
Para una estructura de datos Creo que necesito un gráfico que conecta todos los nodos. Puedo dejar que el usuario haga clic para colocar una línea continua en el enlace más cercano, y puedo verificar bucles o demasiadas líneas que ingresan a un nodo con bastante facilidad. También necesitaré crear mosaicos y asociar líneas a ellos, con líneas internas asignadas a ambos mosaicos, pero tratadas como una línea.
En cuanto a la configuración, estoy pensando en calcular manualmente los puntos y definir el conjunto mínimo de mosaicos repetidos (1 8, 4 5, 4 6, 4 7 y 1 4) y colocarlos al lado de cada uno otro. Al colocar, verificaría los puntos cercanos existentes a cada uno que estoy colocando y los combinaría si los encontrara. Entonces necesitaría verificar si hay líneas duplicadas y unirlas también.
¿Existe una forma más fácil o más clara de A) generar el mosaico o B) fusionar los nodos y los enlaces al hacer el mosaico?
¿Hay alguna razón por la cual mi respuesta no estaba bien? –