スライドパズルゲームの問題作成について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
根岸

スライドパズルゲームの問題作成について

#1

投稿記事 by 根岸 » 9年前

下記、動画のようなスライドパズルゲームを制作致しました。
不具合がないかと思うのですが、デバッグのためにも問題をたくさん生成したいと考えております。
[youtube][/youtube]

マス目は現在7×7でデバッグしているのですが、
システム的には何×何マスでもいけるように設計しております。

こういった問題は手作業で作るしかないのでしょうか?
スライドパズルという単語で調べると15パズルの方が出てきてしまうのと、
どういった状況が難しいのかといったこと仮定が難しく、作業が止まってしまいました・・・。

アバター
usao
記事: 1887
登録日時: 11年前

Re: スライドパズルゲームの問題作成について

#2

投稿記事 by usao » 9年前

実際に使う問題を用意する というのではなく
デバッグ用ということなら
最終状態から開始してランダムに動かしていけばいいのではないでしょうか.

たいちう
記事: 418
登録日時: 13年前

Re: スライドパズルゲームの問題作成について

#3

投稿記事 by たいちう » 9年前

このようなものを買えば、デバッグに必要な数の問題が手に入りませんか?

ラッシュアワー

根岸

Re: スライドパズルゲームの問題作成について

#4

投稿記事 by 根岸 » 9年前

みなさんご回答ありがとうございます!
なるほど・・・アナログを使うのもありですね。。。

確かに最終状態から動かしていけばよいのですが、盤面上に配置されている
オブジェクトがステージごとに違うので、ここをどうすれば難しい問題が作れるのかを悩んでおります。

ステージごとに動かせないオブジェクトがでてきたり、そうでなかったりするので、
アルゴリズムとかで難しさの判定ができないものかと・・・。

アバター
usao
記事: 1887
登録日時: 11年前

Re: スライドパズルゲームの問題作成について

#5

投稿記事 by usao » 9年前

>難しさの判定
単純に
 クリアするために必要な手数が多い ≒ 難しい
という話なのかわかりませんけど…

(1)適当に(クリア可能な)ステージを生成する手段
(2)ステージを与えられたらそれを解く(最短の手順を求める)手段
の2つを用意し,
(1)の作ったステージを (2)に食わせて出力される手数が多い奴を収集

…とか?
( (1)ではクリア可能かどうかすら考えず,(2)が「これは解けないし」と判定するという形でもよい )

根岸

Re: スライドパズルゲームの問題作成について

#6

投稿記事 by 根岸 » 9年前

usao様

ありがとうございます。なるほど!!
難しい問題を作ろうとしていたせいか、そういった発想が欠如しておりました。

とりあえず問題を作りまくって、最短手順でソートしてみるべきですね。

どちらのプログラムも作るのが難しそうですが、試してみます。
こちらありがとうございました!!

閉鎖

“C言語何でも質問掲示板” へ戻る