Un fabricante de crucigramas escrito en GO (también conocido como compilador de cuadrícula de crucigrama, setter, creador, generador o compositor). Resuelve el problema de satisfacción de restricción relacionado con la construcción de crucigramas a partir de una lista de palabras.
Este código actualmente funciona en progreso. Puedes ejecutar go test -v .
Y eso es todo.
Para ejecutar las pruebas
go test -v ./grid ./words ./generate .
Para ejecutar el código
go build
./go-crossword-maker --wordlist ukacd.txt --size 4
Necesito un fabricante de crucigramas que funcione razonablemente bien con una pequeña lista de palabras. Estoy construyendo un crucigrama con un tema muy específico. Es un problema difícil de resolver manualmente y encontré un montón de documentos académicos sobre este tema, pero no mucho código utilizable.
Así que pensé que implementaría mi propio código y vería qué tan lejos puedo llegar.
Elegí Go porque quiero que el resultado final sea una herramienta de línea de comandos que puede atravesar múltiples plataformas diferentes. GO facilita la compilación cruzada.
También pensé que GO permite escribir un código de procesamiento paralelo eficiente y que será más fácil mantener ocupados todos los núcleos. La caja que planeo ejecutar esto tiene múltiples CPU con 10 núcleos cada una.