Обновить
5
0
Danik Rudkevich @RudKub

Пользователь

Отправить сообщение

Самый простой алгоритм для создания Филворда (Часть 1)

Время на прочтение3 мин
Количество просмотров26K

Привет, Хабровцы. В этой статье я хочу поделиться с вами немного своим опытом и показать вам мой простой алгоритм, который я придумал для создания Филворда.


Под «Филвордом» я буду иметь ввиду эту многим знакомую игру.



В игре есть поле размером обычно NxN заполненное словами. Наша цель — найти все слова.
В нашей версии не будет букв в поле, которые не принадлежат ни одному слову и служат для сбивания игрока, а также не будет букв, которые принадлежат сразу нескольким словам. Обычный классический Филворд. И так, задача поставлена. Нужно решать.


Первым делом я всегда разбиваю задачу на подзадачи. Для решения этой задачи мне понадобится:


  1. БД со словами.
  2. Алгоритм, который вставляет слова в поле.
  3. Алгоритм, который проверяет выбранное пользователем слово на корректность. К примеру мы в поле поместили слово «программирование», а пользователь увидел там «мир» и выделяет это слово. Пользователь прав – такое слово есть, но мы его не загадывали. Нам нужен алгоритм, который будет проверять догадки пользователя и говорить ему прав он или нет.

Все, игра простая поэтому пунктов тоже не много. Начнем выполнять по порядку.


1) БД со словами.


Для решение данной задачи я сделал простую БД с несколькими таблицами, каждая из которых хранит в себе слова определенной длинны. Таблица words_2 хранит в себе слова длинной в две буквы. Таблица words_3 хранит в себе слова длинной в три буквы и так далее. Выглядеть это будет примерно так:


Пример

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность