
ابحث عن جميع الكلمات الممكنة التي تم إعطاؤها لوحًا محيرًا وكلمات (أو لا شيء!) ، مع تمثيل مرئي حول كيفية عمل الخوارزمية على الويب!
تجريبي الويب: قادم قريبًا!
تم تطوير الواجهة الأمامية باستخدام TypeScript و Next.js Framework ، مع CSS Tailwind كإطار CSS المختار.
إطار العمل الخلفي الذي تم اختياره لهذا المشروع هو Fastapi ، وهو إطار ويب يعتمد على Python . في Fastapi ، أقوم بإنشاء نقاط نهاية API للتواصل مع الواجهة الأمامية (العميل). تم تصميم نقاط النهاية هذه لفك تشفير لوحة Boggle المحددة من العميل وإعادة جميع المجموعات الممكنة والإحداثيات والنتيجة باستخدام Pyggle . يمكن للمستخدم أيضًا إرسال صورة للوحة Boggle حيث أستخدم OpenCV للمعالجة المسبقة للصورة واستخدام EasyOcr لاسترداد الأحرف بدقة من لوحة Boggle.
ثم يتم إرسال الكلمات والإحداثيات إلى العميل كحمولة JSON لتقديمها.
pypi: https://pypi.org/project/pyggle/
pip install pyggleالمدخلات حساسة للحالة (للوحة).
ستتألف المدخلات من: لوحة n x m كسلسلة ذات صفوف مفصولة بالمسافات. بدلاً من ذلك ، يمكنك تمرير قائمة القوائم حيث يكون كل عنصر هو الحرف على اللوحة.
إذا لم يتم تمرير الكلمات كوسيطة ، فسيستخدم ملف نصي يتكون من 479K كلمة.
إذا لم يتم إعطاء المسؤول كحجة منطقية ، فابحث عن كل الكلمات بغض النظر عن الطول ، ولا يتم تمثيل الرسالة "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" هي كلمة ، لكن ث/ه: 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)]