問題タブ [boggle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
2221 参照

python - Pythonで大きなテキストファイルを保存して使用するための最良の方法

Pythonで作成したboggle-clone用のネットワークサーバーを作成しています。これは、ユーザーを受け入れ、ボードを解決し、プレーヤーの入力をスコアリングします。私が使用している辞書ファイルは1.8MB(ENABLE2K辞書)であり、いくつかのゲームソルバークラスで使用できるようにする必要があります。現在、各クラスがファイルを1行ずつ繰り返し、ハッシュテーブル(連想配列)を生成するようにしていますが、インスタンス化するソルバークラスが多いほど、より多くのメモリを消費します。

What I would like to do is import the dictionary file once and pass it to each solver instance as they need it. But what is the best way to do this? Should I import the dictionary in the global space, then access it in the solver class as globals()['dictionary']? Or should I import the dictionary then pass it as an argument to the class constructor? Is one of these better than the other? Is there a third option?

0 投票する
3 に答える
1041 参照

php - PHP ボグルゲーム

プロジェクトでは、PHP で Boggle タイプのゲームを構築することを検討しています。私がオンラインで見たすべてのソリューションは、ある種のツリーまたはハッシュ ベースのアプローチを使用しています。

PHP に組み込まれている同様のデータ構造はありますか? 現在の掲示板にどの単語が存在するかを把握する方法について何かアドバイスはありますか?

0 投票する
35 に答える
223632 参照

algorithm - 文字行列から可能な単語のリストを見つける方法 [Boggle Solver]

最近はiPhoneでスクランブルというゲームをやっています。このゲームを Boggle として知っている人もいるかもしれません。基本的に、ゲームが開始すると、次のような文字のマトリックスが表示されます。

このゲームの目的は、文字をつなげてできる単語をできるだけ多く見つけることです。任意の文字から始めることができ、それを囲むすべての文字は公正なゲームであり、次の文字に移ると、その文字を囲むすべての文字は、以前に使用された文字を除いて公正なゲームです. たとえば、上のグリッドでは、、、、、などの単語を思いつくことができます。単語LOBは、少なくとも 3 文字で、NxN 文字以下である必要があります。このゲームでは 16 文字ですが、実装によっては異なる場合があります。 . このゲームは楽しくて中毒性がありますが、私はどうやらそれが得意ではないようで、可能な限り最高の単語 (単語が長いほど、より多くのポイントを獲得できる) を提供するプログラムを作成して、少しごまかしたかったのです。TUXSEAFAME

サンプルボーグル
(出典:boggled.org

残念ながら、私はアルゴリズムやその効率などについてあまり得意ではありません。私の最初の試みは、このような辞書(~2.3MB) を使用して、組み合わせを辞書エントリと一致させようとする線形検索を行います。これは、可能な単語を見つけるのに非常に長い時間がかかります。また、ラウンドごとに 2 分しか与えられないため、単純に不十分です。

Stackoverflowers がより効率的なソリューションを思い付くことができるかどうかを確認することに興味があります。Python、PHP、Perl のビッグ 3 P を使用したソリューションを主に探していますが、速度が不可欠であるため、Java や C++ を使用するものもクールです。

現在のソリューション:

  • Adam Rosenfield、パイソン、20 代まで
  • John Fouhy、Python、~3 秒
  • Kent Fredric、Perl、~1 秒
  • Darius Bacon、パイソン、~1 秒
  • rvarcher、VB.NET、~1 秒
  • Paolo Bergantino、PHP (ライブ リンク)、~5 秒 (ローカルで~2 秒)
0 投票する
1 に答える
1754 参照

vb.net - Boggleボードで単語を見つけるアルゴリズム

私はvb.netでボグルゲームを構築しています。現在、私のサイコロは2D配列(0,0 0,1)などです。

私がやりたいのは、単語を入力しているときに、それを強調表示するbutton(x,y).doclickサブを使用して、ボード上でそれを強調表示することです。現在、私の実装は最初の文字を見つけ、8コーナーの条件を満たすまで(つまり、最後の文字に隣接するまで)各文字を試し続けますが、これは常に機能するとは限りません。ボード上に2つの「G」があり、一番下のものが必要な場合、これは機能しません。誰かが私に何が起こる必要があるかの擬似コードの例を教えてもらえますか?私はこれを理解しようとしてほぼ6時間困惑してきました。ありがとう

0 投票する
5 に答える
5395 参照

python - Pythonでランダムな入力文字から単語を検索します。すでにそこにある使用/コーディングするアルゴリズムは何ですか?

私はここでこのような単語デスクランブラーをコーディングしようとしていますが、これを実装するためにどのアルゴリズムを使用すべきか疑問に思っていました。また、誰かがこれのための既存のコードを見つけることができれば、それも素晴らしいでしょう。基本的に、機能はボグルソルバーのようになりますが、マトリックスではなく、文字列からすべての単語の可能性を検索するだけです。私はすでに十分な辞書を持っています。

私はこれをPythonまたはRubyのいずれかで行うことを計画していました。よろしくお願いします!

0 投票する
2 に答える
1175 参照

java - 現在のインスタンスのJavaタイマー

上記のクラスがあり、指定された時間ループを実行し、その後インスタンスメソッドを呼び出す必要があります。基本的に、現在のインスタンスでendGame()が呼び出される前に、newGame()のループを1分ほど実行する必要があります。ただし、Timerクラスを使用すると、timertasks runメソッドにパラメーターを渡すことができないため、現在のインスタンスで必要なメソッドをどのように呼び出すかがわかりません。

これを行う簡単な方法はありますか、それとも私はこれを間違った方法で行っていますか?(注:これはコンソールプロジェクトのみであり、GUIはありません)

==========

編集されたコード

推奨事項に従ってコードを上記に変更しました。ほぼ期待どおりに機能しますが、スレッドはまだ正しく終了していないようです。私はwhileループが終了し、制御が最終的にメインメソッドに戻ることになりました。何か案は?

0 投票する
1 に答える
2028 参照

python - ボグルタイプのゲームで答えを再帰的にチェックする方法

演習として、Pythonで非GUIボグルタイプのゲームを作成しようとしています。これまでのところ、ユーザーはボードサイズ(4x4、5x5など)を入力できます。文字の「配列」が表示されたら、ユーザーは有効なオプションと思われる単語を入力できます。

入力した単語が有効かどうかを再帰関数で確認したかったのです。小さなボードでは、私のソリューションはうまく機能しているようです。ただし、大きなボードでは、同じような開始と複数のパスを持つ単語は登録されません。正しい単語が見つからずに現在のパスが終了すると、関数の最後の部分が十分に後退できないためだと感じています。

これが私がこれまでに持っているものです:

問題の少なくとも一部は、関数の最後にあるtryブロックにあると思います。単語が長すぎない場合、または可能性のあるものが多すぎない場合に機能します。たとえば、次の「raws」を検索しようとしても、そこにある場合でも機能しません。

これはかなり単純な再帰関数で実行できると確信していますが、何時間も経つと迷子になります。ああ、私はむしろすべての可能な単語を事前に生成したくありません。これの目的は、再帰を使用して入力された単語を見つけることでした。

どんな助けでも大歓迎です!

0 投票する
3 に答える
2323 参照

opencv - 画像からのボグル/スクラブル文字の認識

おそらくopenCVを使用して、Boggleボードの文字を認識することに興味があります。文字はすべて同じフォントですが、回転させることができるため、標準のテキスト認識ライブラリを使用するのは少し問題です。さらに、M と W にはそれらを区別するためのアンダースコアがあり、Q は実際には Qu です。画像内の個別の文字を分離できるとかなり確信しています。認識部分をどのように行うのか疑問に思っています。

0 投票する
2 に答える
3892 参照

java - boggleアルゴリズムを最適化する

私は次のboggleアルゴリズムを実装しています:

すべての単語を見つけるのに約2分半かかるので、最適化したいと思います。最適化手法について何かアイデアはありますか?

0 投票する
1 に答える
3804 参照

php - Boggle ソルバーで「引数がありません」という警告が表示されるのはなぜですか?

何年か前に、誰かが PHP で作成した Boggle ソルバーに PHP コードを投稿しました。

文字行列から可能な単語のリストを見つける方法 [Boggle Solver]

私はそれを機能させようとしましたが、「警告: find_words() の引数 7 がありません」というエラーが表示されます。これは、関数に変数を渡すのを忘れたように見えるため、既にわかっています。私はそれを機能させようとしてきましたが、それを理解できないようです.他の誰かがそれを行うことができますか? 誰かが少し凝ったものを持っている可能性はありますか? たぶん、言葉の経路を追跡できる何か?とにかく、誰かが素晴らしいと思ういくつかの入力をすることができれば.