問題タブ [crossword]
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.
iphone - uitextview間を移動する
何度か試みた後、それを機能させる方法がわからないので、書くことにしました。クロスワードパズルを参照します。私がしたことはこれです:
しかし今、私はbecomeFirstResponderを使って次のものを読む方法がわかりません。非常に簡単なことをしたかったので、最初のテキストボックスしか選択できません。次に、2つの異なる配列をチェックして、結果が間違っているかどうかを確認しますが、これはすでにはるかに簡単です。
どのメソッドを呼び出す必要がありますか?たとえば、タグ1からタグ5が単語で、別の7から12にタグを付ける場合、フィールドごとに異なることを行う必要がありますか?そして、私が縦に書くとしたら?正しい方向に進んでいるかどうかはわかりません。drawrectを使用するようにアドバイスされましたが、この方法に従います。
コードが少し混乱している場合は、お詫び申し上げます。
他にどうしたらいいかわからなかった
formatting - プロローグ - クロスワードの書式設定
次のような solve_crossword という述語を作成しました。
ここで、クロスワードをフォーマットする write_crossword という述語を書きたいと思います。単語のリストがある場合、次のように表示します。
と
行 1、3、5 と列 1、3、5 は単語であると想定されています。
java - ImageIconスケーリングを実行するためのより効率的/高速な方法?
私はクロスワードパズルを作成および編集するためのアプリケーションに取り組んでいます。クロスワードパズルは、役立つ場合は最後に投稿したコードです。私は現在、コードのこの部分で発生した問題を解決しようとしています。
基本的に、使用しているGridLayoutによるサイズの変更を補正するために、サイズ変更後にJButtonのImageIconのサイズをJButtonのサイズに変更しようとしています。ただし、このコードの結果は、2つの理由で私の期待を完全には満たしていません。
- 225個の正方形すべてのサイズを変更するには長い時間がかかりますが、これは一般的なクロスワードサイズではないと思います。後でサイズ編集機能を作りたいので、もっと多くの正方形を処理できるようにしたいと思います。
- うまくいくこともありますが、拡大すると正方形が非常に狭くなることもあり、なぜそうなるのかわかりません。
基本的に、私はより速いアプローチを見つける必要があります。それを修正/改善する方法についてのアイデアはありますか?ペイントメソッドを介して更新を行うことで何か違いはありますか?
java - 順方向にグリッドの中央に文字を印刷する 2D 配列
上記は、クロスワード パズル ボードで単語リストの最初の 2 つの単語を交差させる方法です。私の質問はその部分です:
交点の前の文字を取得し、交点の行の上に逆方向に印刷します。私の脳は今、さまざまなことで過負荷になっており、文字を正しい順序に並べる方法を理解できないようです. 問題を表示するために画像を添付することはできませんが、たとえば、文字「o」で水平方向の単語「clowning」と交差する垂直方向の単語「throwing」は、o の前に「rht」を出力します (「」を出力する必要がある場合)。 thr")。誰か助けてくれませんか?よろしくお願いします!
algorithm - 指定されたグリッドを使用したクロスワード パズルのアルゴリズム
この問題について何かを書く前に、お知らせしておく必要があります。
- この問題は私の宿題です (作業プログラムを返すのに約 1 週間かかりました)
- 私はこの問題に毎日約1週間取り組み、自分の解決策を見つけようとしていました
- 完全なプログラムを求めているわけではありません。アルゴリズムについての一般的な考え方が必要です
問題:
与えられたもの: 単語リストと「グリッド」。例:
グリッド (X は任意の文字を意味します):
単語リスト:
「解決策」の例を見つける必要があります-単語リストから特定のグリッドに単語を適合させることは可能ですか? 解決策が少なくとも 1 つある場合は、1 つ (正しい方) を出力します。いいえ - メッセージを出力して、可能な解決策がないことを示します。与えられた例では、解決策があります:
私がすでに試したことをすべて書くのは難しいです (英語は私の母国語ではなく、間違った考えの論文もたくさん持っているため)。
私の単純なアルゴリズムは次のように機能します。
最初の単語には適切な長さが必要なので、適切な長さの (最初の?) 単語を見つけます (与えられた例のグリッドと単語リストを使用して、私が考えていることを示します):
/li>最初の一般的な文字 (2 つの単語の交差部分) については、グリッドに適合する (最初の) 単語を見つけます (つまり、適切な長さと適切な位置に共通の文字があります)。そのような単語がない場合は、(1) に戻って、別の最初の単語を取得します。元の例では、"c" で始まる単語がないため、(1) に戻って次の単語を選択します (最初の単語が "bbbb" になるまで、この手順を数回繰り返します)。これで、次のようになりました。
そして、「b」で始まる単語を探しています。たとえば、次のようになります。
/li>一般的なプロセス:与えられたグリッドに適合する単語のペアを見つけようとします。そのような単語がない場合は、前のステップに戻って別の組み合わせを使用します。そのような単語がない場合、解決策はありません。
上記のすべてが混沌としています。少なくとも問題の説明を理解していただければ幸いです。アルゴリズムのドラフトを書きましたが、それが機能するかどうか、これを適切にコーディングする方法がわかりません (私の場合: c++)。さらに、(上記の例でも) 2 つ以上の他の単語に依存する単語を見つける必要がある場合があります。
たぶん私は何か明白なことが見えないだけかもしれません、多分私は愚かすぎるのかもしれません... まあ、私は本当にこの問題を解決しようとしました. 私はこの問題について自分の考えを正確に説明できるほど十分に英語を知らないので、ここにすべてのメモを載せることはできません (1 つの考えを説明しようとしましたが、難しかったです)。信じられないかもしれませんが、私は解決策を見つけるのに何時間も費やしましたが、ほとんど何もありません...
解決策を説明したり、この問題を解決する方法のヒントを提供したりできれば、本当に感謝しています。
c# - CSP としてのクロスワード パズルの実装
C#で書かれた私のプログラムは、黒いセルと空白のセルのグリッドと単語のリストを入力として取得し、単語をグリッドに合わせる必要があります。このクロスワード パズルを CSP アルゴリズムで生成したいのですが、単語 (横または下の空白のセット) を変数として取得したいのですが、どのセルをまとめて変数にするかを決定する方法がわかりません。たとえば、この行列を入力として持っている場合、0 は空白のセルを意味し、1 は黒いセルを意味します。
変数の数とその長さをプログラムで理解するにはどうすればよいですか? for を入れ子にして何度も書いてみましたが、できませんでした。私は任意の点に感謝します。
prolog - PROLOGのクロスワードソルバー
パラダイス島のクレオールには、「放棄」、「アワビ」、「アナグラム」、「ボート」、「ボートマン」、「子供」、「接続」、「エレガント」、「強化」、「島」、「男」、「砂」、「太陽」、「女」。
パラダイスタイムズはこのクロスワードを公開しています:
クロスワードには14語の一部が含まれていますが、他の語は含まれていません。
から始まるPrologプログラムを書く
solution
述語を次のように定義します
、、、、、、およびがパラダイス島の有効な単語であり、上記のグリッドに書き込まれたときに有効なクロスワードを形成する場合H1
にのみ真です。(たとえば、の2番目の文字はの2番目の文字と一致する必要があります。)H2
H3
V1
V2
V3
H1
V1
クエリを使用する
クロスワードを解くために。クロスワードのすべての解決策を見つけてください。
ヒント:小さなクロスワードパズルとあまりリッチでないレキシコンから始めたいと思うかもしれません。
dictionary - アナグラム辞書の単語はどこで入手できますか?
こんにちはアナグラムクロスワードを実装しています。クロスワードを実装するには、たくさんの辞書の単語が必要です。では、インターネットで大量のアナグラム単語をどこで入手できますか?助けてください
algorithm - クロスワード充填アルゴリズムの支援
そのような問題は私の大学で私に与えられました。おそらく、誰かが問題を解決するための興味深いアルゴリズムを持っているでしょう。スタックオーバーフローにはいくつかの解決策がありますが、どれも問題ありません (すべての可能性をループしているため)。
問題: 与えられた単語を与えられたテーブル、グリッド (四角形、以下の入力を参照) に割り当てるためのすべての可能な組み合わせを見つけます。フリー セルがあってはならず、単語は左から右または上から下に配置できます。行 (列) 内の単語の後に単語を配置することはできません。
入力: 長方形の領域、例:
また
その後、さまざまな単語が入力され (次の入力データ)、次のようなグリッドが埋められます。
番号は最初は不明ですが、標準入力 (アクティブな EOF) の終わりまで入力します。
出力: 1 つの解が存在する場合、塗りつぶされたグリッド内にその可能な解を出力します。解または解の数がない場合は、0 またはその正確な数を出力します。
例:
(テーブル入力)
それから言葉cdi
zobxzst
tdxic
r
sc
zro
rgfvacd
oikf
df
x
c
r
xvf
ogish
za
sh
fc
hh
h
bfkh
(それぞれ入力としてですが、ここではスペースで区切られています。)
出力 (1 ソリューションのみ):
重要な注意: 入力されたグリッドは 16 (!) セルのみに制限されており、単語数は 60 未満です。すべての可能な組み合わせを検索するアルゴリズムを作成しましたが、実行時間が制限されているため (10この問題は大まかなアルゴリズムでは解決できませんでした (たとえば、15 グリッドで 15、約 60! 通常の 2GHz PC で約 1 日で処理できる可能性のある順列またはそれ以上の可能性があります)。
別のユニークなソリューションが存在する可能性があります。おそらく、この問題はプログラミングよりも数学的なものであり、上下と比較して左右のコンボを使用することは可能でしょうか? それとも加重セルですか?
PS その問題を解決するのに 3 週間かかります。そうでない場合は、3 週間後にここに解決策を投稿できます (朗報) ;)
c++ - 指定されたグリッドと単語のクロスワード
たとえば、クロスワードグリッドがあります
と単語リスト
すべての単語を使用する必要があります。目標は、このクロスワードをどのように解決できるかをすべてのバリアントを見つけることです。この場合、2 つのバリアントがあります。
と
いくつかのより複雑なクロスワードは、たとえば次のようになります。
20単語のリストなど
この種の問題を解決するアルゴリズムを作成しようとしましたが、成功しませんでした。誰かが私を助けることができますか?