下記、動画のようなスライドパズルゲームを制作致しました。
不具合がないかと思うのですが、デバッグのためにも問題をたくさん生成したいと考えております。
[youtube][/youtube]
マス目は現在7×7でデバッグしているのですが、
システム的には何×何マスでもいけるように設計しております。
こういった問題は手作業で作るしかないのでしょうか?
スライドパズルという単語で調べると15パズルの方が出てきてしまうのと、
どういった状況が難しいのかといったこと仮定が難しく、作業が止まってしまいました・・・。
スライドパズルゲームの問題作成について
Re: スライドパズルゲームの問題作成について
実際に使う問題を用意する というのではなく
デバッグ用ということなら
最終状態から開始してランダムに動かしていけばいいのではないでしょうか.
デバッグ用ということなら
最終状態から開始してランダムに動かしていけばいいのではないでしょうか.
Re: スライドパズルゲームの問題作成について
みなさんご回答ありがとうございます!
なるほど・・・アナログを使うのもありですね。。。
確かに最終状態から動かしていけばよいのですが、盤面上に配置されている
オブジェクトがステージごとに違うので、ここをどうすれば難しい問題が作れるのかを悩んでおります。
ステージごとに動かせないオブジェクトがでてきたり、そうでなかったりするので、
アルゴリズムとかで難しさの判定ができないものかと・・・。
なるほど・・・アナログを使うのもありですね。。。
確かに最終状態から動かしていけばよいのですが、盤面上に配置されている
オブジェクトがステージごとに違うので、ここをどうすれば難しい問題が作れるのかを悩んでおります。
ステージごとに動かせないオブジェクトがでてきたり、そうでなかったりするので、
アルゴリズムとかで難しさの判定ができないものかと・・・。
Re: スライドパズルゲームの問題作成について
>難しさの判定
単純に
クリアするために必要な手数が多い ≒ 難しい
という話なのかわかりませんけど…
(1)適当に(クリア可能な)ステージを生成する手段
(2)ステージを与えられたらそれを解く(最短の手順を求める)手段
の2つを用意し,
(1)の作ったステージを (2)に食わせて出力される手数が多い奴を収集
…とか?
( (1)ではクリア可能かどうかすら考えず,(2)が「これは解けないし」と判定するという形でもよい )
単純に
クリアするために必要な手数が多い ≒ 難しい
という話なのかわかりませんけど…
(1)適当に(クリア可能な)ステージを生成する手段
(2)ステージを与えられたらそれを解く(最短の手順を求める)手段
の2つを用意し,
(1)の作ったステージを (2)に食わせて出力される手数が多い奴を収集
…とか?
( (1)ではクリア可能かどうかすら考えず,(2)が「これは解けないし」と判定するという形でもよい )
Re: スライドパズルゲームの問題作成について
usao様
ありがとうございます。なるほど!!
難しい問題を作ろうとしていたせいか、そういった発想が欠如しておりました。
とりあえず問題を作りまくって、最短手順でソートしてみるべきですね。
どちらのプログラムも作るのが難しそうですが、試してみます。
こちらありがとうございました!!
ありがとうございます。なるほど!!
難しい問題を作ろうとしていたせいか、そういった発想が欠如しておりました。
とりあえず問題を作りまくって、最短手順でソートしてみるべきですね。
どちらのプログラムも作るのが難しそうですが、試してみます。
こちらありがとうございました!!