C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 27 を表示中)
■12503 / )  パズルのアルゴリズムについて質問
□投稿者/ com (1回)-(2008/01/10(Thu) 18:05:49)

分類:[Java] 

授業でパズルを作るのですが、アルゴリズムが思いつかず悩んでいます
作り方、もしくは考え方を教えて頂けると幸いです
パズルの内容は
テキストデータからマップを読み込み、人、荷物、ゴールをマップに配置し
人が荷物を押して、ゴールまで運び、その荷物の移動距離を表示すると言うものです

要はドラクエの岩運びですね
例えば、マップは以下のように設定されます
0:床 1:人 2:荷物 3:ゴール

441400
442400
300000
040400
000400

荷物が移動するだけのパズルならば、ゴールから荷物への最短ルートを探索しますが
人が後ろから押す制約のせいで随分と混乱しています
もっと単純な例ならば、人が押す制約があっても、ゴールから荷物への最短ルートを探し
逐一、荷物の最短ルートの1マス先に人が押すスペースがあるか、をチェックしていけば出来ると思います
しかし、少なくとも、この例ではゴールと荷物を結ぶ最短ルートを押していくことが不可能です
自分には、このような複雑な例でも荷物の動きを追うことが出来るアルゴリズムが思いつきませんでした

やはり、考え方を大きく変えなければ駄目でしょうか?
返信 編集キー/


管理者用

- Child Tree -