Звертаю увагу що це не готовий продукт, для любителів кросвордів, в програмі дуже маленька база питань - всього 56, а також немає зручного регулювання розмірів кросворду і кількості розміщуваних питань.
Алгоритм генерації кросворду
Мною був розроблений алгоритм вибору і розміщення слів на дошці, завданням якого є отримання максимальної кількості перетинів з іншими словами. Алгоритм, вибираючи чергове випадкове слово для розміщення, послідовно намагається розмістити його горизонтально і вертикально, поступово рухаючись від лівого верхнього кута дошки до нижнього правого. При цьому якщо не отримано жодного перетину, або слово накладається на вже розміщене слово неправильно то такі варіанти відкидаються, а якщо розміщення визнається вдалим то запам'ятовується кількість отриманих перетинів, щоб потім вибрати варіант з максимальною кількістю.
При розміщенні слова, алгоритм враховує деякі обмеження. Наприклад не можна розміщувати два слова одне за іншим впритул, інакше не буде зрозуміло де закінчується одне і починається інше.
Процедури MapWord і MapWordCheck - містять основну частину алгоритму розміщення слів на дошці.