Производитель кроссвордов, написанный в GO (также известный как компилятор сетки Crossword, сеттер, создатель, генератор или композитор). Решите проблему удовлетворенности ограничения, связанную с построением кроссвордов из списка слов.
Этот код в настоящее время работает в процессе. Вы можете запустить go test -v .
И это все.
Чтобы запустить тесты
go test -v ./grid ./words ./generate .
Чтобы запустить код
go build
./go-crossword-maker --wordlist ukacd.txt --size 4
Мне нужен кроссворд, который будет хорошо работать с небольшим списком слов. Я строю кроссворд с очень специфической темой. Это сложная проблема, чтобы решить вручную, и я нашел кучу академических работ по этой теме, но не очень полезный код.
Поэтому я подумал, что внедю свой собственный кусок кода и посмотрю, как далеко я могу зайти.
Я выбрал Go, потому что хочу, чтобы конечный результат был инструментом командной строки, который может работать на нескольких разных платформах. Go делает кросс-компилирование легким.
Я также подумал, что GO позволяет писать эффективный код параллельной обработки и будет легче занять все ядра. Коробка, которую я планирую запустить, имеет несколько процессоров с 10 ядрами каждый.