スイングオブジェクトからスイングオブジェクトへの使用可能なパスがあるかどうかを教えてくれる、マップ構築アプリケーション用の論理関数を作成しようとしています。スイングでオブジェクト間の可能なパスを計算するための戦略(無限大の可能性あり)?
具体的には、あるJabelから別のJlabelへのすべての可能なパスを特定したいと思います。
空のスペースは白いイメージ、壁は青のイメージ、プレーヤーのスタートはオレンジ、プレーヤーの終了は緑色で表されます。
私がしたいと思うことは、出発点から利用可能な各パスを確認することです。ゴールでパスが終了したらtrueを返し、壁で終わったら新しいスタートパスにします。私の現在のアイデアは、int型の0を入力する2次元配列を作成することです。ユーザがタイルを白以外のものに変更すると、配置されたタイルに応じて、配列の対応する点が1,2または3に変わります。次に、マップを保存しようとすると、アルゴリズムはその2次元配列を使用してマップを表し、隣接する線形パスをチェックします。
これで正しい軌道にいるのですか、それとももっと複雑ですか?
パスが分岐する可能性があるため、複雑なマップの場合、これは非常に遅くなることがあります(n^2など)。私はこれを解決するために一種のDijkestrasメソッドを使用することを考えていますが、スイングでどのように正確に行うのかもわかりません。
ゲームにはいくつかの動き制限があります。
- 停止していない限り、方向を変更することはできません。
- 壁やマップの端に当たっていなければ止めることはできません。
これにより、パスの数がより制限されるようになるため、いくつかのオプションが除外されます。
私はアルゴリズムに何の専門家だとそうあなたの質問に直接コメントすることはできませんが、私はそれはだから問題は、主に、アルゴリズムである、とSwingとは何の関係もないことを疑いもせずに述べることができます実際にはJavaとはほとんど関係がありません。ここでもアルゴリズムは全面的な問題です。 –
ええ、私はそれを考えていましたが、私も気付いていない特別なツールがある場合に、スイングを使って人々が私のことを知っていることを確認したかったのです。 – Remixt