私はボーグルに似たゲームをコーディングしています。このゲームでは、ゲーマーはランダムな文字でできた大きな文字列の中から単語を見つける必要があります。
たとえば、このように内部に文字列を含む 5 つの配列があります。5 行、それぞれ 6 文字で構成されています。
AMSDNS
MASDOM
ASDAAS
DSMMMS
OAKSDO
したがって、ゲームのユーザーは、次の制限とルールを念頭に置いて、利用可能な文字を使用して単語を作成する必要があります。
- 同じ文字を繰り返して単語を作ることはできません。サイコロであるゲームの「物理的な」文字について話しています。単語を作るために同じサイコロを 2 回以上使用することはできません。
- 文字を「ジャンプ」して単語を作ることはできません。単語を構成する文字は連続している必要があります。
- ユーザーは、上記の 2 つ以上の制限なしに、好きな方向に移動できます。したがって、上、下、右、上、というように移動できます。そのため、言葉を探す動きがどこか不安定なのかもしれません。
すべての文字列を調べて単語を作る方法を知りたいです。単語を知るには、単語を含むtxtファイルを使用します。
検索を実行できるアルゴリズムを設計する方法がわかりません。特に、単語を見つけるために必要な不規則な動きについて考え、制限も尊重します。
UX、サイコロを振ってボードゲームを埋めるロジック、および 6 文字のサイコロのすべてのロジックは既に実装しています。
しかし、この部分は簡単ではありません。この興味深い課題に対するあなたの提案を読みたいと思います。
このゲームでは Python を使用しています。これは、コーディングに使用する言語であり、最も好きな言語だからです。しかし、言語に関係なく、アルゴリズム自体の説明や提案も素晴らしいはずです。