
Найдите все возможные слова, которые дают доску Boggle и слова (или нет!), С визуальным представлением о том, как работает алгоритм в Интернете!
Веб -демонстрация: скоро!
Frondend разработан с использованием TypeScript и следующей структуры CSS
Бэкэнд -фреймворк, выбранная для этого проекта, -это FastAPI, производительный веб -структура на основе Python . В Fastapi я создаю конечные точки API для связи с Frontend (клиент). Эти конечные точки предназначены для расшифровки данной платы Boggle от клиента и возврата всех возможных комбинаций, координат и оценки с использованием Pyggle . Пользователь также может отправить изображение платы Boggle, где я использую OpenCV , чтобы предварительно обработать изображение и использовать easyoc , чтобы точно извлечь символы с доски Boggle.
Слова и координаты отправляются клиенту в качестве полезной нагрузки JSON для рендеринга.
Pypi: https://pypi.org/project/pyggle/
pip install pyggleВвод чувствителен к корпусу (для платы).
Вход будет состоять из: платы N x M в качестве строки с рядами, разделенными пространствами. В качестве альтернативы, вы можете передать список списков, где каждый элемент является символом на доске.
Если слова не передаются как аргумент, он будет использовать текстовый файл, который состоит из 479 тыс. Слова.
Если официальный официальный аргумент не дан логическому аргументу, найдите все слова независимо от длины, и буква «Q» не представлена как «Qu». Если чиновник принят в качестве логического аргумента, то алгоритм следует официальным правилам Boggle. Pyggle решит и:
from pyggle import Boggle
board = "ea st"
boggle = Boggle ( board )
boggle . print_result () Для получения дополнительных функций от pyggle , проверьте:
lib/examples/2x2_example.py для общих функций и более специфичностиlib/examples/qu_example.py для примера, где буква «q» представляет «qu»lib/docs/boggle-api.md для понимания каждого методаЯ не знаю, как «AE» или «AES» или «AST» - это слово, но w/e: p
a: [(0, 1)]
ae: [(0, 1), (0, 0)]
aes: [(0, 1), (0, 0), (1, 0)]
aet: [(0, 1), (0, 0), (1, 1)]
as: [(0, 1), (1, 0)]
ase: [(0, 1), (1, 0), (0, 0)]
ast: [(0, 1), (1, 0), (1, 1)]
at: [(0, 1), (1, 1)]
ate: [(0, 1), (1, 1), (0, 0)]
ates: [(0, 1), (1, 1), (0, 0), (1, 0)]
e: [(0, 0)]
ea: [(0, 0), (0, 1)]
east: [(0, 0), (0, 1), (1, 0), (1, 1)]
eat: [(0, 0), (0, 1), (1, 1)]
eats: [(0, 0), (0, 1), (1, 1), (1, 0)]
es: [(0, 0), (1, 0)]
est: [(0, 0), (1, 0), (1, 1)]
et: [(0, 0), (1, 1)]
eta: [(0, 0), (1, 1), (0, 1)]
etas: [(0, 0), (1, 1), (0, 1), (1, 0)]
s: [(1, 0)]
sa: [(1, 0), (0, 1)]
sae: [(1, 0), (0, 1), (0, 0)]
sat: [(1, 0), (0, 1), (1, 1)]
sate: [(1, 0), (0, 1), (1, 1), (0, 0)]
se: [(1, 0), (0, 0)]
sea: [(1, 0), (0, 0), (0, 1)]
seat: [(1, 0), (0, 0), (0, 1), (1, 1)]
set: [(1, 0), (0, 0), (1, 1)]
seta: [(1, 0), (0, 0), (1, 1), (0, 1)]
st: [(1, 0), (1, 1)]
sta: [(1, 0), (1, 1), (0, 1)]
t: [(1, 1)]
ta: [(1, 1), (0, 1)]
tae: [(1, 1), (0, 1), (0, 0)]
tas: [(1, 1), (0, 1), (1, 0)]
te: [(1, 1), (0, 0)]
tea: [(1, 1), (0, 0), (0, 1)]
teas: [(1, 1), (0, 0), (0, 1), (1, 0)]
ts: [(1, 1), (1, 0)]