【Unity】15パズル&ジグソーパズルのシャッフル
ブログをサボっている間、パズルのシャッフルを考えていました。
ピースの動作は割と簡単に出来たのですがシャッフルが難しくて…
いろいろ試して試行錯誤の上、やっと完成する事ができました。
Unity 2018.2.5f1 Personal (64bit) - BlogUp.unity - SlidePuzzle_Shufflealgorithm - Android _DX11 on DX9 GPU_ 2019_02_02 19_57_51.mp4
まずは15パズルから
シャッフルボタンを押すとピースが自動的にシャッフルされます。
Unity 2018.2.5f1 Personal (64bit) - BlogUpScene.unity - Puzzle_Jigsaw - Android _DX11 on DX9 GPU_ 2019_02_02 20_05_13.mp4
ジグソーはピースが飛んで行くようにしてみました。
どちらも動作が1ピース毎に処理をしないといけないので、
ピースの動きが連動するように動きにウェイトを掛けないとダメです。
ローテーションパズルの時に悩んだ処理です。
ようやくIEnumeratorの使い方が分かって実装できるようになりました。
それぞれのパズルの難しかった点ですが、
・15パズル
ランダム変数を使ったのですが、0番ピースを起点に
方向を0~3に振って、方向をランダム変数で指定しました。
…