15パズルを作ってみた。

アバター
もるも
記事: 54
登録日時: 9年前
連絡を取る:

15パズルを作ってみた。

投稿記事 by もるも » 7年前

あけましておめでとうございます。今年もよろしくお願いします( ´∀` )

ということで新年早々、まずは簡単なものから作り、徐々に自信を取り戻していこうかと。(カブトムシ感
簡単なものなので、ソースファイル分けずにまるっと作っちゃいました。
しかし、やはり作りこんでいくほどに不便になりますね(;^ω^)
↓ソースコード
► スポイラーを表示
ピースをすべてランダムにシャッフルという風ではなく、
動かせるピースをランダムに選んで混ぜていくという方法を使えば絶対解けるだろうと思ったのですが、
私はパズルが得意じゃないので、まったく解けず、クリア不可かどうかがわかりません(笑)
しかもシャッフル具合にたいへんムラがあります(;^ω^)
スクリーンショット (60).png
スクリーンショット (60).png (7.74 KiB) 閲覧数: 301 回
添付ファイル

[拡張子 zip は無効化されているため、表示できません]


アバター
もるも
記事: 54
登録日時: 9年前
連絡を取る:

Re: 15パズルを作ってみた。

投稿記事 by もるも » 7年前

>>いわんさん
プレイしてくださって、ありがとうございます!!(*'ω'*)
シャッフル数をもう少し増やせばよかったかもですね(;´Д`)

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

Re: 15パズルを作ってみた。

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

usao さん
> こういう話って,ほんとにそうだと納得できないと実装に踏み切れないですよね.

任意の3マス(重複なし)のローテーションでも解けるはず。

任意の3マスを選び、頑張って動かせば、2×2の範囲に空きマスと一緒に持ってこれるはず。
そこではローテーションができるし、頑張って思い出せば、元の3マスの場所にローテーションした状態で戻せるはず。
もちろん厳密な証明ではないですが、usaoさんならこれで納得できませんか?
3マスのローテーションが納得できたら、これを2回行なうことで「任意の2マスを2回」の形にできるはず。

アバター
usao
記事: 1889
登録日時: 12年前

Re: 15パズルを作ってみた。

投稿記事 by usao » 7年前

なるほど……

「 『異なる4つのピースを選択し,その4つを2つのペアに分けて,ペアになったピースの場所を入れ替える』 という作業を任意回数繰り返す 」
というシャッフル方法でいけそうな気がしまする.

> (ただし{A,B}と{C,D}の間に重複が合っても良い:たとえばA=Cとか)
という話でも成り立つかどうかは,把握できてませんが…

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

Re: 15パズルを作ってみた。

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

> > (ただし{A,B}と{C,D}の間に重複が合っても良い:たとえばA=Cとか)
> という話でも成り立つかどうかは,把握できてませんが…

その場合だと、ABDのローテーションですね。
A=Bの場合だと、単なるCDの入れ替えになるので、NGです。

アバター
usao
記事: 1889
登録日時: 12年前

Re: 15パズルを作ってみた。

投稿記事 by usao » 7年前

> 任意の3マスを選び、頑張って動かせば、2×2の範囲に空きマスと一緒に持ってこれるはず。

このとき,任意の3個と空きマス{A,B,C, SPC }を,ある2x2の場所に持ってくるときに
作れるこのベクトルの並び順には制限がある気がするので
そのことが自分がやりたい入れ替えを達成できるのかできないのかに影響しないのだろうか…? とか思ったけど
2x2の場所を変更すれば作れるベクトルセットが変わる気がするからやっぱり大丈夫なのかもしれない.

#15パズルの実物って人生で2回くらいしか触ったことない気がする

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

Re: 15パズルを作ってみた。

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

> このとき,任意の3個と空きマス{A,B,C, SPC }を,ある2x2の場所に持ってくるときに
> 作れるこのベクトルの並び順には制限がある気がするので

当然制限があります。
{A,B,C,SPC}が不可能で、{A,C,B,SPC}になってしまうこともあるでしょう。
ですが、ABCのローテーションはどちらの場合も可能です。

アバター
usao
記事: 1889
登録日時: 12年前

RE: 15パズルを作ってみた。

投稿記事 by usao » 7年前

何かこんな絵柄とかだと,難易度高そう.
ptn.png
パイプみたいな
ptn.png (836 バイト) 閲覧数: 39 回
(この絵は単なるイメージ図なので,正解配置が1パターンに限定されないかもだけど)