問題タブ [maze]
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.
java - スタックを使用して迷路を解く
私はしばらくこのコードに取り組んできましたが、うまく動作しないようです。何度もやり直しました。私の論理が間違っているのか、それとももっと良いことができるのかわかりません。正しい方向への提案や試してみるべき新しいアイデアは役に立ちます。迷路は再帰的に解決できることは理解していますが、課題のこの部分ではスタックを使用する必要があります。
スタックを 2 つ作成しました。1 つはパス用、もう 1 つは既に検索したスポット用です。理想的には、検索されたパスにある方向の次のスポットが含まれているかどうかを確認します。一致する場合は、別の方向をチェックします。
サンプル迷路
0 1 0 1 0
0 0 0 1 0
0 1 0 0 0
0 1 0 1 1
0 1 0 0 0
私のアルゴリズムは 2,3 と 2,4 の間で動かなくなったようです。1,4 または 0,4 を探索しません。無限ループで 2,3 と 2,4 の間を跳ね続けているのがわかります。したがって、searched.contains() が正しく機能していないようです。検索スタックを修正するための提案はありますか? 理想的には、コードを実行するとき。東、南、西、そして北はすでに検索されているかどうかを確認したい。すべてのポイントがチェックされている場合、while ループ内で current= path.pop を使用してパス スタックから最後の位置をポップし、繰り返します。
位置はカスタム クラスです。位置クラスのコンストラクターに以前の位置変数を追加することを検討しましたが、パススタックを機能させることができれば必要ないようです。私がこれについて間違っている場合は、私に知らせてください。
c++ - テキストファイルを読み込んで迷路を作る
迷路に関する情報を含むファイルを読み取り、その情報を使用して迷路を通るパスを見つけるプログラムに取り組んでいます。私が抱えている問題は、配列内の迷路を表すことです。X を整数に変換して配列内の壁として表す方法がわかりません。引数が 1 つのコンストラクターでは、for ループを使用してファイルを調べ、各文字を適切な配列インデックスに入れます。私がこれを行った方法は明らかに機能しません。配列内の迷路を適切に表現する方法についてアドバイスをいただければ幸いです。
ファイルの内容がどのように見えるかの例を次に示します。数字の最初のセットは、列と行の迷路の寸法です。2 番目の数値セットは出口の行と列の位置で、3 番目の数値セットは入口の行と列の位置です。
java - Javaで迷路を作る?
私の質問は、Java でランダムに生成された迷路を作成するにはどうすればよいですか? 迷路を作成する DFS の方法の主な概要は知っていますが、それを実装するのに苦労しています。私のプログラムでは、迷路は 2D 配列に保持されており、配列に 1 を追加すると、範囲外の配列例外が発生します。どうすればそれを回避できますか?私は非常に複雑な迷路を作りたくありません。単純な迷路だけです。コードの作成を開始しましたが、それを機能させる方法がわかりません。
DFS メソッドの擬似コードは次のとおりです。
隣人の壁が無傷であるかどうかを確認する方法と、それらを破壊する方法がわかりません。誰でもこのプログラムについての洞察を得ることができますか? とても有難い。
algorithm - 迷路を解くアルゴリズム。複雑な迷路
迷路を解くアルゴリズムをいくつか見つけました。十分に単純なものは、出口が外側の境界にある場合にのみ適しています (ウォールフォロワー、誓約...)。
境界の形状がランダムで、ゾーンのコストが等しくなく、出口が迷路のどこかにある場合の、より洗練されたアルゴリズムはありますか? (ところで、すべての要素は二次です)
更新: また、迷路がどのように見えるかアプリオリにはわからず、特定の領域しか見ることができません。
c - C識別子が必要ですか?
私は迷路ゲームに取り組んでいるので、迷路生成コードを調べて、このhttp://en.wikipedia.org/wiki/User:Purpy_Pupple/Mazeを見つけました。行、それは私に「Mze.c:33:識別子が期待されます」を与えました
これが私の修正バージョンです(バグを修正するためだけです)私はCを学び始めたばかりです。
java - 迷路で最短経路を見つける
私はプログラミングの方法を学んでいるアマチュアプログラマーです。私はコンピュータ サイエンスのコースを受講したことがないため、この些細な問題に苦労しています。
どの部屋にも隣人がいます。4 を超えるため、行列指向の問題とは異なります。終わりの部屋が与えられ、最初の部屋からの最短経路を見つけなければなりません (部屋の名前を比較します)。結果は次のように「方法」である必要があります。
スタート:キッチン
終了:トイレ
パス: キッチン、リビング ルーム、廊下、ベッドルーム、トイレ
部屋に再帰を使用する必要があると思います。また、スタック内の既に行っている場所を保存する必要があると思います。でも、どうやって始めたらいいのかわからない。
CS担当者の何人かが私を助けてくれますか?ありがとう
algorithm - C++でツリーを表す
動的計画法の場合、ツリーを保存する方法にはどのようなものがありますか?
私は、左折せずに右折を最小限に抑えて迷路を解決する必要がある課題に取り組んでいます。私が持っていたアイデアは、すべての可能なパスをツリーに格納してから、ツリーを通過(トラバース)して最小の右折を探すことです。コードをより効率的にするために、パスに次のいずれかが含まれる場合はいつでも
a)左折b)現在最もよく知られている解決策よりも右折している解決策
ツリーには追加しません。うまくいけば、私はここで何をしているのかを明確に理解しています。私はこれについての入力に本当に感謝しています。
私が保存しようとしているツリーには、迷路内のすべての可能な方向が含まれ、各子の親が前の場所になります。両親の中には2人以上の子供がいると思います。
この種の木を保管する最良の方法は何でしょうか。
前もって感謝します。
java - 迷路が正しく生成されない。範囲外の例外
迷路ジェネレーターに問題があるようです。この迷路のようなものを生成しようとして います 私のプログラムはこれを表示します:
そしてエラー
ジェネレーター プログラムを修正するにはどうすればよいですか?
java - OutOfBoundsException。境界チェックをどこに置くか?
プログラムが迷路全体を生成するように、境界チェックをどこに配置すればよいですか? このコードは、セル間の壁を壊して描かれた迷路を含むグリッドを出力する必要があります。しかし、非常に残念なことに、グリッドはインデックス 0 または 24 に達すると停止します。停止する前にすべてのセルにアクセスするプログラムが必要です (境界線に到達すると、元に戻ります)。
これが私が得ている以前のエラーです:
ソースコードは次のとおりです。