
웹에서 알고리즘이 어떻게 작동하는지에 대한 시각적 표현과 함께 Boggle 보드와 단어 (또는 없음!)가 주어진 모든 가능한 단어를 찾으십시오!
웹 데모 : 곧 출시됩니다!
Frontend는 Tailwind CSS를 선택한 CSS 프레임 워크로 TypeScript 및 The Next.js 프레임 워크를 사용하여 개발되었습니다.
이 프로젝트를 위해 선택된 백엔드 프레임 워크는 성능 Python 기반 웹 프레임 워크 인 Fastapi입니다. Fastapi에서는 Frontend (클라이언트)와 통신하기 위해 API 엔드 포인트를 만듭니다. 이 엔드 포인트는 주어진 Boggle 보드를 클라이언트에서 해독하고 Pyglle을 사용하여 가능한 모든 조합, 좌표 및 점수를 반환하도록 설계되었습니다. 사용자는 OpenCV를 사용하여 이미지를 전제로하고 EasyOcr을 사용하여 Boggle 보드에서 캐릭터를 정확하게 검색하는 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"가 어떻게 단어인지 모르겠지만 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)]