RPGツクール2000/システム
絵合わせパズル
■シャッフル機能を付ける
(更新:2015/12/19)


絵合わせパズルにシャッフル機能を追加します。


このページは続きとなっているページです
絵合わせパズルの基礎ページをご覧の上で
このページをご覧ください。
【絵合わせパズルの基礎ページを開く】

この色の部分は絵合わせパズルのページにあった部分です。



☆シャッフル機能とは?
シャッフル機能は、絵合わせパズルを起動した時に、
ピースの並び順を自動的にランダムな状態に変える機能の事を言います。

正しい並び順の状態からピースの並び順を変えていきますので、
どんなランダムな並び順になっても、
必ずクリアする事ができるピースの並び順になります。


今回のシャッフルでは、ピースを移動したら、
次のピースの移動では、1つ前の位置にピースを戻さないようにします。

例えば、下図の赤い矢印のように移動したあとに、
青い矢印のように動かしますと、1つ前の位置に戻ってしまいます。
このような移動を繰り返しますと、複雑なランダムにするのが難しくなります。

そこでピースをに移動した時には、
次のピースの移動は左以外の移動になるようにします。
こうする事で、よりランダムな状態にする事ができます。


シャッフル時のピースの移動方向は0〜3の数値で決めます。
=上にあるピースを下に移動
=右にあるピースを左に移動
=左にあるピースを右に移動
=下にあるピースを上に移動


例えば、の方向にピースを移動した時には、
次にの方向へピースを移動しますと、元の状態に戻ってしまいます。
もしも次の方向がになった時には、
◆変数の操作:[0007:キー入力]加算,乱数[1〜3]
◆変数の操作:[0007:キー入力]剰余,4
を実行して、1以外(0、2、3)の移動方向になるようにします。

ピースを動かす処理は、プレイヤーのキー入力の処理ほぼ同じ処理を使いますので、
処理としては、プレイヤーの代わってコンピュータがめちゃくちゃに方向キーを押して、
ピースをランダムな状態にしているような感じになります。


4×4のピースの移動処理では、スイッチ[0001:シャッフル:移動設定変更]を使って、
スイッチOFF:ランダム移動
スイッチON:前と同じ移動方向

と言った具合にピースを移動方法を交互に変えながら移動していきます。
この設定によって、より広範囲にピースを移動が行われるようになります。
※3×3では、中心が移動しない事がありますので、ランダム移動のみにします。


シャッフル時は、正しいピースの並び順からランダムな状態にしていきますので、
シャッフルされていく時のピースの移動順を記憶すれば、
一応短い時間でクリアする事はできます。
但し、秒間20回くらいの移動速度でピースが移動しますので、
ピースの移動順を記憶するのは、至難の業と言えます。

なお、今回はシャッフルされていく状態を画面上に表示しない設定方法も紹介します。



☆スイッチ・変数
スイッチと変数の番号使用内容の一覧表です。

スイッチ
番号 名前 使用内容
0001 シャッフル:移動設定変更 ランダムとまっすぐ移動を交互に実行。※4×4のみで使用。

変数
番号 名前 使用内容
0001 マスのX位置確認。ピクチャー表示のX位置の設定に使用。
0002 マスのY位置確認。ピクチャー表示のY位置の設定に使用。
0003 変数番号A 変数の値を呼び出す時などに使用。
0004 変数番号B 変数の値を呼び出す時などに使用。
0005 変数番号C 変数の値を呼び出す時などに使用。
0006 空いているマス 空いているマスの変数番号を記憶。
0007 キー入力 現在押されているキー番号を設定。
0008 シャッフル:移動回数 ピースを移動する回数をカウント。
0009 シャッフル:前に戻る方向 ピース移動後に前のマスに戻させない処理で使用。
 
0021 マス 左0 下0 このマスにあるピクチャー番号を記憶。
0022 マス 左1 下0 このマスにあるピクチャー番号を記憶。
0023 マス 左2 下0 このマスにあるピクチャー番号を記憶。
0024 マス 左0 下1 このマスにあるピクチャー番号を記憶。
0025 マス 左1 下1 このマスにあるピクチャー番号を記憶。
0026 マス 左2 下1 このマスにあるピクチャー番号を記憶。
0027 マス 左0 下2 このマスにあるピクチャー番号を記憶。
0028 マス 左1 下2 このマスにあるピクチャー番号を記憶。
0029 マス 左2 下2 このマスにあるピクチャー番号を記憶。
 
0041 ピース02 X ピクチャー2番のX表示位置を記憶。
0042 ピース03 X ピクチャー3番のX表示位置を記憶。
0043 ピース04 X ピクチャー4番のX表示位置を記憶。
0044 ピース05 X ピクチャー5番のX表示位置を記憶。
0045 ピース06 X ピクチャー6番のX表示位置を記憶。
0046 ピース07 X ピクチャー7番のX表示位置を記憶。
0047 ピース08 X ピクチャー8番のX表示位置を記憶。
0048 ピース09 X ピクチャー9番のX表示位置を記憶。
0049 ピース10 X ピクチャー10番のX表示位置を記憶。
 
0061 ピース02 Y ピクチャー2番のY表示位置を記憶。
0062 ピース03 Y ピクチャー3番のY表示位置を記憶。
0063 ピース04 Y ピクチャー4番のY表示位置を記憶。
0064 ピース05 Y ピクチャー5番のY表示位置を記憶。
0065 ピース06 Y ピクチャー6番のY表示位置を記憶。
0066 ピース07 Y ピクチャー7番のY表示位置を記憶。
0067 ピース08 Y ピクチャー8番のY表示位置を記憶。
0068 ピース09 Y ピクチャー9番のY表示位置を記憶。
0069 ピース10 Y ピクチャー10番のY表示位置を記憶。



☆イベントの設定
イベント処理は、以下の流れで処理されます。

注釈 処理内容
ピクチャーの表示 枠とピースの画像を表示。
ピースの配置 正しいマス位置にピースを配置して、空きのマスを作る。
そして空きマスとなった部分のピース画像を消去する。
ピースの表示 左上のマスから順にピースの表示位置を
変数41〜69番に設定し、ピクチャーを表示する。
ピースの配置変更 ピースの操作と同じような処理を作り、
ピースの並びをランダムにします。
ピースの操作 キー入力によってピースを移動する。
ピースの移動ができない時にはピースの操作の初めに戻る。
パズル完成確認 ピースの並びを確認して、
8枚のピースが正しい位置→パズル完成へ行く。
8枚のピースが正しくない位置→ピースの操作へ戻る。
パズル完成 空いているマスに抜けていた9枚目のピースを表示して、
パズルを完成させる。
終了 ピクチャーを全て消去してイベント処理を終了する。

ピースの配置変更の設定は、ピースの操作の設定をコピー&貼り付けにする事で、
 短時間で設定する事ができるでしょう。
 但し、コピーしたあとのイベント設定の修正のし忘れには注意してください。




このページで紹介しているイベントの設定は、
ピースサイズ48で3×3の時のものです。

【ピースサイズ48で4×4の時の設定方法はこちらをクリックしてください】

【ピースサイズ64で3×3の時の設定方法はこちらをクリックしてください】



◆メニュー画面の禁止の変更:禁止する
◆注釈:------------------------------------------------------------
:  :ピクチャーの表示
:  : 

◆ピクチャーの表示:1,48_3x3_p01waku,(160,120)(透明:100%)
◆ピクチャーの表示:2,48_3x3_p02,(160,120)(透明:100%)
◆ピクチャーの表示:3,48_3x3_p03,(160,120)(透明:100%)
◆ピクチャーの表示:4,48_3x3_p04,(160,120)(透明:100%)
◆ピクチャーの表示:5,48_3x3_p05,(160,120)(透明:100%)
◆ピクチャーの表示:6,48_3x3_p06,(160,120)(透明:100%)
◆ピクチャーの表示:7,48_3x3_p07,(160,120)(透明:100%)
◆ピクチャーの表示:8,48_3x3_p08,(160,120)(透明:100%)
◆ピクチャーの表示:9,48_3x3_p09,(160,120)(透明:100%)
◆ピクチャーの表示:10,48_3x3_p10,(160,120)(透明:100%)
◆ウェイト:0.1秒
◆注釈:------------------------------------------------------------
:  :ピースの配置
:  : 

◆変数の操作:[0021:マス 左0 下0]代入,2
◆変数の操作:[0022:マス 左1 下0]代入,3
◆変数の操作:[0023:マス 左2 下0]代入,4
◆変数の操作:[0024:マス 左0 下1]代入,5
◆変数の操作:[0025:マス 左1 下1]代入,6
◆変数の操作:[0026:マス 左2 下1]代入,7
◆変数の操作:[0027:マス 左0 下2]代入,8
◆変数の操作:[0028:マス 左1 下2]代入,9
◆変数の操作:[0029:マス 左2 下2]代入,10
◆変数の操作:[0006:空いているマス]代入,乱数[21〜29]<空きマスを決めます
◆変数の操作:[V[0006]]代入,0<空きマスのピクチャー番号を無くします
◆条件分岐:変数[0006:空いているマス]が21
 ◆ピクチャーの消去:2
 ◆
:分岐終了
◆条件分岐:変数[0006:空いているマス]が22
 ◆ピクチャーの消去:3
 ◆
:分岐終了
◆条件分岐:変数[0006:空いているマス]が23
 ◆ピクチャーの消去:4
 ◆
:分岐終了
◆条件分岐:変数[0006:空いているマス]が24
 ◆ピクチャーの消去:5
 ◆
:分岐終了
◆条件分岐:変数[0006:空いているマス]が25
 ◆ピクチャーの消去:6
 ◆
:分岐終了
◆条件分岐:変数[0006:空いているマス]が26
 ◆ピクチャーの消去:7
 ◆
:分岐終了
◆条件分岐:変数[0006:空いているマス]が27
 ◆ピクチャーの消去:8
 ◆
:分岐終了
◆条件分岐:変数[0006:空いているマス]が28
 ◆ピクチャーの消去:9
 ◆
:分岐終了
◆条件分岐:変数[0006:空いているマス]が29
 ◆ピクチャーの消去:10
 ◆
:分岐終了

◆注釈:------------------------------------------------------------
:  :ピースの表示
:  : 

◆変数の操作:[0001:X]代入,112
◆変数の操作:[0002:Y]代入,72
◆変数の操作:[0003:変数番号A]代入,21
◆ラベルの設定:1番
◆変数の操作:[0004〜0005]代入,変数[V[0003]]の値
◆条件分岐:変数[0004:変数番号B]が1以上
 ◆変数の操作:[0004:変数番号B]加算,39
 ◆変数の操作:[0005:変数番号C]加算,59
 ◆変数の操作:[V[0004]]代入,変数[0001]の値
 ◆変数の操作:[V[0005]]代入,変数[0002]の値
 ◆
:分岐終了
◆条件分岐:変数[0001:X]が208(それ以外の場合:ON)
 ◆変数の操作:[0001:X]代入,112
 ◆変数の操作:[0002:Y]加算,48
 ◆
:それ以外の場合
 ◆変数の操作:[0001:X]加算,48
 ◆
:分岐終了
◆変数の操作:[0003:変数番号A]加算,1
◆条件分岐:変数[0003:変数番号A]が29以下
 ◆指定ラベルへ飛ぶ:1番
 ◆
:分岐終了
◆ピクチャーの移動:1,(160,120),0.0秒(透明:0%)
◆ピクチャーの移動:2,(V[0041],V[0061]),0.0秒(透明:0%)
◆ピクチャーの移動:3,(V[0042],V[0062]),0.0秒(透明:0%)
◆ピクチャーの移動:4,(V[0043],V[0063]),0.0秒(透明:0%)
◆ピクチャーの移動:5,(V[0044],V[0064]),0.0秒(透明:0%)
◆ピクチャーの移動:6,(V[0045],V[0065]),0.0秒(透明:0%)
◆ピクチャーの移動:7,(V[0046],V[0066]),0.0秒(透明:0%)
◆ピクチャーの移動:8,(V[0047],V[0067]),0.0秒(透明:0%)
◆ピクチャーの移動:9,(V[0048],V[0068]),0.0秒(透明:0%)
◆ピクチャーの移動:10,(V[0049],V[0069]),0.0秒(透明:0%)
◆注釈:------------------------------------------------------------
:  :ピースの配置変更(シャッフル処理)
:  : 

◆ウェイト:0.1秒
◆変数の操作:[0008:シャッフル:移動カウント]代入,0<移動回数の設定を初期化
◆変数の操作:[0009:シャッフル:前に戻る方向]代入,-1<前の方向は無いので「-1」を設定
◆変数の操作:[0007:キー入力]代入,乱数[0〜3]<移動方向を設定
◆ラベルの設定:3番
◆変数の操作:[0008:シャッフル:移動カウント]加算,1<移動回数を増やす
◆条件分岐:変数[0008:シャッフル:移動カウント]が31以上<移動回数を超えた時
 ◆指定ラベルへ飛ぶ:2番ピースの操作へ移動
 ◆
:分岐終了
◆変数の操作:[0001〜0004]代入,変数[0006]の値
◆変数の操作:[0001〜0002]減算,21
◆変数の操作:[0001:X]剰余,3
◆変数の操作:[0002:Y]除算,3
◆ラベルの設定:4番
◆変数の操作:[0007:キー入力]加算,乱数[1〜3]<別の方向に変更
◆変数の操作:[0007:キー入力]剰余,4<値を0〜3にする
◆条件分岐:変数[0009:シャッフル:前に戻る方向]がV[0007]と同値<前の状態に戻る方向である
 ◆指定ラベルへ飛ぶ:4番
 ◆
:分岐終了
◆条件分岐:変数[0007:キー入力]が0<上にあるピースを下に移動
 ◆条件分岐:変数[0002:Y]が0<一番上のマスなのでその上にピースが無い時
  ◆指定ラベルへ飛ぶ:4番
  ◆
 :分岐終了
 ◆変数の操作:[0003:変数番号A]減算,3<1つ上のマスの変数番号にする
 ◆
:分岐終了
◆条件分岐:変数[0007:キー入力]が1<右にあるピースを左に移動
 ◆条件分岐:変数[0001:X]が2<一番右のマスなのでその右にピースが無い時
  ◆指定ラベルへ飛ぶ:4番
  ◆
 :分岐終了
 ◆変数の操作:[0003:変数番号A]加算,1<1つ右のマスの変数番号にする
 ◆
:分岐終了
◆条件分岐:変数[0007:キー入力]が2<左にあるピースを右に移動
 ◆条件分岐:変数[0001:X]が0<一番左のマスなのでその左にピースが無い時
  ◆指定ラベルへ飛ぶ:4番
  ◆
 :分岐終了
 ◆変数の操作:[0003:変数番号A]減算,1<1つ左のマスの変数番号にする
 ◆
:分岐終了
◆条件分岐:変数[0007:キー入力]が3<下にあるピースを上に移動
 ◆条件分岐:変数[0002:Y]が2<一番下のマスなのでその下にピースが無い時
  ◆指定ラベルへ飛ぶ:4番
  ◆
 :分岐終了
 ◆変数の操作:[0003:変数番号A]加算,3<1つ下のマスの変数番号にする
 ◆
:分岐終了
◆変数の操作:[0009:シャッフル:前に戻る方向]代入,3<元に戻る移動方向の設定準備
◆変数の操作:[0009:シャッフル:前に戻る方向]減算,変数[0007]の値<元に戻る方向を設定
◆変数の操作:[V[0004]]代入,変数[V[0003]]の値<空きマスにピクチャー番号を設定
◆変数の操作:[V[0003]]代入,0<移動したピクチャー番号のマスの変数の値を「0」にする
◆変数の操作:[0006:空いているマス]代入,変数[0003]の値<空きマスを設定
◆変数の操作:[0001〜0002]乗算,48<1ピース分の幅を乗算
◆変数の操作:[0001:X]加算,112<左上のマスのX表示位置を加算
◆変数の操作:[0002:Y]加算,72<左上のマスのY表示位置を加算
◆変数の操作:[0003〜0004]代入,変数[V[0004]]の値<移動したピクチャー番号を設定
◆変数の操作:[0003:変数番号A]加算,39<ピクチャー番号+39で変数41〜49番にする
◆変数の操作:[0004:変数番号B]加算,59<ピクチャー番号+59で変数61〜69番にする
◆変数の操作:[V[0003]]代入,変数[0001]の値<ピクチャーのX表示位置を設定
◆変数の操作:[V[0004]]代入,変数[0002]の値<ピクチャーのY表示位置を設定
◆効果音の演奏:スイッチ2<ピース移動時の効果音
◆ピクチャーの移動:2,(V[0041],V[0061]),0.0秒(透明:0%)
◆ピクチャーの移動:3,(V[0042],V[0062]),0.0秒(透明:0%)
◆ピクチャーの移動:4,(V[0043],V[0063]),0.0秒(透明:0%)
◆ピクチャーの移動:5,(V[0044],V[0064]),0.0秒(透明:0%)
◆ピクチャーの移動:6,(V[0045],V[0065]),0.0秒(透明:0%)
◆ピクチャーの移動:7,(V[0046],V[0066]),0.0秒(透明:0%)
◆ピクチャーの移動:8,(V[0047],V[0067]),0.0秒(透明:0%)
◆ピクチャーの移動:9,(V[0048],V[0068]),0.0秒(透明:0%)
◆ピクチャーの移動:10,(V[0049],V[0069]),0.0秒(透明:0%)
◆ウェイト:0.0秒<次のピースを動かすまでの時間を設定
◆ウェイト:0.0秒
◆ウェイト:0.0秒
◆指定ラベルへ飛ぶ:3番

◆注釈:------------------------------------------------------------
:  :ピースの操作
:  : 

◆ラベルの設定:2番
◆キー入力の処理:[0007:キー入力]
◆条件分岐:変数[0007:キー入力]が6
 ◆ピクチャーの消去:1
 ◆ピクチャーの消去:2
 ◆ピクチャーの消去:3
 ◆ピクチャーの消去:4
 ◆ピクチャーの消去:5
 ◆ピクチャーの消去:6
 ◆ピクチャーの消去:7
 ◆ピクチャーの消去:8
 ◆ピクチャーの消去:9
 ◆ピクチャーの消去:10
 ◆メニュー画面の禁止の変更:許可する
 ◆イベント処理の中断
 ◆
:分岐終了
◆変数の操作:[0001〜0004]代入,変数[0006]の値
◆変数の操作:[0001〜0002]減算,21
◆変数の操作:[0001:X]剰余,3
◆変数の操作:[0002:Y]除算,3
◆条件分岐:変数[0007:キー入力]が1
 ◆条件分岐:変数[0002:Y]が0
  ◆指定ラベルへ飛ぶ:2番
  ◆
 :分岐終了
 ◆変数の操作:[0003:変数番号A]減算,3
 ◆
:分岐終了
◆条件分岐:変数[0007:キー入力]が2
 ◆条件分岐:変数[0001:X]が2
  ◆指定ラベルへ飛ぶ:2番
  ◆
 :分岐終了
 ◆変数の操作:[0003:変数番号A]加算,1
 ◆
:分岐終了
◆条件分岐:変数[0007:キー入力]が3
 ◆条件分岐:変数[0001:X]が0
  ◆指定ラベルへ飛ぶ:2番
  ◆
 :分岐終了
 ◆変数の操作:[0003:変数番号A]減算,1
 ◆
:分岐終了
◆条件分岐:変数[0007:キー入力]が4
 ◆条件分岐:変数[0002:Y]が2
  ◆指定ラベルへ飛ぶ:2番
  ◆
 :分岐終了
 ◆変数の操作:[0003:変数番号A]加算,3
 ◆
:分岐終了
◆変数の操作:[V[0004]]代入,変数[V[0003]]の値
◆変数の操作:[V[0003]]代入,0
◆変数の操作:[0006:空いているマス]代入,変数[0003]の値
◆変数の操作:[0001〜0002]乗算,48
◆変数の操作:[0001:X]加算,112
◆変数の操作:[0002:Y]加算,72
◆変数の操作:[0003〜0004]代入,変数[V[0004]]の値
◆変数の操作:[0003:変数番号A]加算,39
◆変数の操作:[0004:変数番号B]加算,59
◆変数の操作:[V[0003]]代入,変数[0001]の値
◆変数の操作:[V[0004]]代入,変数[0002]の値
◆効果音の演奏:スイッチ2
◆ピクチャーの移動:2,(V[0041],V[0061]),0.1秒(透明:0%)
◆ピクチャーの移動:3,(V[0042],V[0062]),0.1秒(透明:0%)
◆ピクチャーの移動:4,(V[0043],V[0063]),0.1秒(透明:0%)
◆ピクチャーの移動:5,(V[0044],V[0064]),0.1秒(透明:0%)
◆ピクチャーの移動:6,(V[0045],V[0065]),0.1秒(透明:0%)
◆ピクチャーの移動:7,(V[0046],V[0066]),0.1秒(透明:0%)
◆ピクチャーの移動:8,(V[0047],V[0067]),0.1秒(透明:0%)
◆ピクチャーの移動:9,(V[0048],V[0068]),0.1秒(透明:0%)
◆ピクチャーの移動:10,(V[0049],V[0069]),0.1秒(透明:0%)
◆ウェイト:0.1秒
◆注釈:------------------------------------------------------------
:  :パズル完成確認
:  : 
◆注釈:変数0003番=正しい位置にピースがある数
:  : 

◆変数の操作:[0003:変数番号A]代入,0
◆条件分岐:変数[0021:マス 左0 下0]が2
 ◆変数の操作:[0003:変数番号A]加算,1
 ◆
:分岐終了
◆条件分岐:変数[0022:マス 左1 下0]が3
 ◆変数の操作:[0003:変数番号A]加算,1
 ◆
:分岐終了
◆条件分岐:変数[0023:マス 左2 下0]が4
 ◆変数の操作:[0003:変数番号A]加算,1
 ◆
:分岐終了
◆条件分岐:変数[0024:マス 左0 下1]が5
 ◆変数の操作:[0003:変数番号A]加算,1
 ◆
:分岐終了
◆条件分岐:変数[0025:マス 左1 下1]が6
 ◆変数の操作:[0003:変数番号A]加算,1
 ◆
:分岐終了
◆条件分岐:変数[0026:マス 左2 下1]が7
 ◆変数の操作:[0003:変数番号A]加算,1
 ◆
:分岐終了
◆条件分岐:変数[0027:マス 左0 下2]が8
 ◆変数の操作:[0003:変数番号A]加算,1
 ◆
:分岐終了
◆条件分岐:変数[0028:マス 左1 下2]が9
 ◆変数の操作:[0003:変数番号A]加算,1
 ◆
:分岐終了
◆条件分岐:変数[0029:マス 左2 下2]が10
 ◆変数の操作:[0003:変数番号A]加算,1
 ◆
:分岐終了
◆条件分岐:変数[0003:変数番号A]が7以下
 ◆指定ラベルへ飛ぶ:2番
 ◆
:分岐終了
◆注釈:------------------------------------------------------------
:  :パズル完成
:  : 

◆ウェイト:0.3秒
◆効果音の演奏:冷気4
◆変数の操作:[0001〜0002]代入,変数[0006]の値
◆変数の操作:[0001〜0002]減算,21
◆変数の操作:[0001:X]剰余,3
◆変数の操作:[0002:Y]除算,3
◆変数の操作:[0001〜0002]乗算,48
◆変数の操作:[0001:X]加算,112
◆変数の操作:[0002:Y]加算,72
◆条件分岐:変数[0006:空いているマス]が21
 ◆ピクチャーの表示:2,48_3x3_p02,(V[0001],V[0002])(透明:0%)
 ◆
:分岐終了
◆条件分岐:変数[0006:空いているマス]が22
 ◆ピクチャーの表示:3,48_3x3_p03,(V[0001],V[0002])(透明:0%)
 ◆
:分岐終了
◆条件分岐:変数[0006:空いているマス]が23
 ◆ピクチャーの表示:4,48_3x3_p04,(V[0001],V[0002])(透明:0%)
 ◆
:分岐終了
◆条件分岐:変数[0006:空いているマス]が24
 ◆ピクチャーの表示:5,48_3x3_p05,(V[0001],V[0002])(透明:0%)
 ◆
:分岐終了
◆条件分岐:変数[0006:空いているマス]が25
 ◆ピクチャーの表示:6,48_3x3_p06,(V[0001],V[0002])(透明:0%)
 ◆
:分岐終了
◆条件分岐:変数[0006:空いているマス]が26
 ◆ピクチャーの表示:7,48_3x3_p07,(V[0001],V[0002])(透明:0%)
 ◆
:分岐終了
◆条件分岐:変数[0006:空いているマス]が27
 ◆ピクチャーの表示:8,48_3x3_p08,(V[0001],V[0002])(透明:0%)
 ◆
:分岐終了
◆条件分岐:変数[0006:空いているマス]が28
 ◆ピクチャーの表示:9,48_3x3_p09,(V[0001],V[0002])(透明:0%)
 ◆
:分岐終了
◆条件分岐:変数[0006:空いているマス]が29
 ◆ピクチャーの表示:10,48_3x3_p10,(V[0001],V[0002])(透明:0%)
 ◆
:分岐終了
◆キー入力の処理:[0007:キー入力](決定・取消・Shift/オプション:ON)
◆注釈:------------------------------------------------------------
:  :終了
:  : 

◆ピクチャーの消去:1
◆ピクチャーの消去:2
◆ピクチャーの消去:3
◆ピクチャーの消去:4
◆ピクチャーの消去:5
◆ピクチャーの消去:6
◆ピクチャーの消去:7
◆ピクチャーの消去:8
◆ピクチャーの消去:9
◆ピクチャーの消去:10
◆メニュー画面の禁止の変更:許可する




☆シャッフルし終わった状態でパズルを表示
シャッフルしていく様子はプレイヤーには見せずに、
シャッフルし終わった状態になった時点でパズルを表示するようにしたい時には、
上記のシャッフル設定が終わったあとに、以下のようにイベントを修正してください。

◆メニュー画面の禁止の変更:禁止する
◆注釈:------------------------------------------------------------
:  :ピクチャーの表示
:  : 

◆ピクチャーの表示:1,48_3x3_p01waku,(160,120)(透明:100%)
◆ピクチャーの表示:2,48_3x3_p02,(160,120)(透明:100%)
◆ピクチャーの表示:3,48_3x3_p03,(160,120)(透明:100%)
◆ピクチャーの表示:4,48_3x3_p04,(160,120)(透明:100%)
◆ピクチャーの表示:5,48_3x3_p05,(160,120)(透明:100%)
◆ピクチャーの表示:6,48_3x3_p06,(160,120)(透明:100%)
◆ピクチャーの表示:7,48_3v3_p07,(160,120)(透明:100%)
◆ピクチャーの表示:8,48_3x3_p08,(160,120)(透明:100%)
◆ピクチャーの表示:9,48_3x3_p09,(160,120)(透明:100%)
◆ピクチャーの表示:10,48_3x3_p10,(160,120)(透明:100%)
◆ウェイト:0.1秒
◆注釈:------------------------------------------------------------
:  :ピースの配置
:  : 

◆変数の操作:[0021:マス 左0 下0]代入,2
◆変数の操作:[0022:マス 左1 下0]代入,3
◆変数の操作:[0023:マス 左2 下0]代入,4
◆変数の操作:[0024:マス 左0 下1]代入,5
◆変数の操作:[0025:マス 左1 下1]代入,6
◆変数の操作:[0026:マス 左2 下1]代入,7
◆変数の操作:[0027:マス 左0 下2]代入,8
◆変数の操作:[0028:マス 左1 下2]代入,9
◆変数の操作:[0029:マス 左2 下2]代入,10
◆変数の操作:[0006:空いているマス]代入,乱数[21〜29]
◆変数の操作:[V[0006]]代入,0
◆条件分岐:変数[0006:空いているマス]が21
 ◆ピクチャーの消去:2
 ◆
:分岐終了
◆条件分岐:変数[0006:空いているマス]が22
 ◆ピクチャーの消去:3
 ◆
:分岐終了
◆条件分岐:変数[0006:空いているマス]が23
 ◆ピクチャーの消去:4
 ◆
:分岐終了
◆条件分岐:変数[0006:空いているマス]が24
 ◆ピクチャーの消去:5
 ◆
:分岐終了
◆条件分岐:変数[0006:空いているマス]が25
 ◆ピクチャーの消去:6
 ◆
:分岐終了
◆条件分岐:変数[0006:空いているマス]が26
 ◆ピクチャーの消去:7
 ◆
:分岐終了
◆条件分岐:変数[0006:空いているマス]が27
 ◆ピクチャーの消去:8
 ◆
:分岐終了
◆条件分岐:変数[0006:空いているマス]が28
 ◆ピクチャーの消去:9
 ◆
:分岐終了
◆条件分岐:変数[0006:空いているマス]が29
 ◆ピクチャーの消去:10
 ◆
:分岐終了
◆注釈:------------------------------------------------------------
:  :ピースの表示
:  : 

◆変数の操作:[0001:X]代入,112
◆変数の操作:[0002:Y]代入,72
◆変数の操作:[0003:変数番号A]代入,21
◆ラベルの設定:1番
◆変数の操作:[0004〜0005]代入,変数[V[0003]]の値
◆条件分岐:変数[0004:変数番号B]が1以上
 ◆変数の操作:[0004:変数番号B]加算,39
 ◆変数の操作:[0005:変数番号C]加算,59
 ◆変数の操作:[V[0004]]代入,変数[0001]の値
 ◆変数の操作:[V[0005]]代入,変数[0002]の値
 ◆
:分岐終了
◆条件分岐:変数[0001:X]が208(それ以外の場合:ON)
 ◆変数の操作:[0001:X]代入,112
 ◆変数の操作:[0002:Y]加算,48
 ◆
:それ以外の場合
 ◆変数の操作:[0001:X]加算,48
 ◆
:分岐終了
◆変数の操作:[0003:変数番号A]加算,1
◆条件分岐:変数[0003:変数番号A]が29以下
 ◆指定ラベルへ飛ぶ:1番
 ◆
:分岐終了
◆注釈:------------------------------------------------------------
:  :ピースの配置変更(シャッフル処理)
:  : 

◆ウェイト:0.1秒<削除する
◆変数の操作:[0008:シャッフル:移動カウント]代入,0
◆変数の操作:[0009:シャッフル:前に戻る方向]代入,-1
◆変数の操作:[0007:キー入力]代入,乱数[0〜3]
◆ラベルの設定:3番
◆変数の操作:[0008:シャッフル:移動カウント]加算,1
◆条件分岐:変数[0008:シャッフル:移動カウント]が31以上
 ◆ピクチャーの移動:1,(160,120),0.0秒(透明:0%)ピースの表示にあった設定を移動
 ◆ピクチャーの移動:2,(V[0041],V[0061]),0.0秒(透明:0%)
 ◆ピクチャーの移動:3,(V[0042],V[0062]),0.0秒(透明:0%)
 ◆ピクチャーの移動:4,(V[0043],V[0063]),0.0秒(透明:0%)
 ◆ピクチャーの移動:5,(V[0044],V[0064]),0.0秒(透明:0%)
 ◆ピクチャーの移動:6,(V[0045],V[0065]),0.0秒(透明:0%)
 ◆ピクチャーの移動:7,(V[0046],V[0066]),0.0秒(透明:0%)
 ◆ピクチャーの移動:8,(V[0047],V[0067]),0.0秒(透明:0%)
 ◆ピクチャーの移動:9,(V[0048],V[0068]),0.0秒(透明:0%)
 ◆ピクチャーの移動:10,(V[0049],V[0069]),0.0秒
(透明:0%)
 ◆指定ラベルへ飛ぶ:2番
 ◆
:分岐終了
◆変数の操作:[0001〜0004]代入,変数[0006]の値
◆変数の操作:[0001〜0002]減算,21
◆変数の操作:[0001:X]剰余,3
◆変数の操作:[0002:Y]除算,3
◆ラベルの設定:4番
◆変数の操作:[0007:キー入力]加算,乱数[1〜3]
◆変数の操作:[0007:キー入力]剰余,4
◆条件分岐:変数[0009:シャッフル:前に戻る方向]がV[0007]と同値
 ◆指定ラベルへ飛ぶ:4番
 ◆
:分岐終了
◆条件分岐:変数[0007:キー入力]が0
 ◆条件分岐:変数[0002:Y]が0
  ◆指定ラベルへ飛ぶ:4番
  ◆
 :分岐終了
 ◆変数の操作:[0003:変数番号A]減算,3
 ◆
:分岐終了
◆条件分岐:変数[0007:キー入力]が1
 ◆条件分岐:変数[0001:X]が2
  ◆指定ラベルへ飛ぶ:4番
  ◆
 :分岐終了
 ◆変数の操作:[0003:変数番号A]加算,1
 ◆
:分岐終了
◆条件分岐:変数[0007:キー入力]が2
 ◆条件分岐:変数[0001:X]が0
  ◆指定ラベルへ飛ぶ:4番
  ◆
 :分岐終了
 ◆変数の操作:[0003:変数番号A]減算,1
 ◆
:分岐終了
◆条件分岐:変数[0007:キー入力]が3
 ◆条件分岐:変数[0002:Y]が2
  ◆指定ラベルへ飛ぶ:4番
  ◆
 :分岐終了
 ◆変数の操作:[0003:変数番号A]加算,3
 ◆
:分岐終了
◆変数の操作:[0009:シャッフル:前に戻る方向]代入,3
◆変数の操作:[0009:シャッフル:前に戻る方向]減算,変数[0007]の値
◆変数の操作:[V[0004]]代入,変数[V[0003]]の値
◆変数の操作:[V[0003]]代入,0
◆変数の操作:[0006:空いているマス]代入,変数[0003]の値
◆変数の操作:[0001〜0002]乗算,48
◆変数の操作:[0001:X]加算,112
◆変数の操作:[0002:Y]加算,72
◆変数の操作:[0003〜0004]代入,変数[V[0004]]の値
◆変数の操作:[0003:変数番号A]加算,39
◆変数の操作:[0004:変数番号B]加算,59
◆変数の操作:[V[0003]]代入,変数[0001]の値
◆変数の操作:[V[0004]]代入,変数[0002]の値
◆効果音の演奏:スイッチ2この色の部分を削除する
◆ピクチャーの移動:2,(V[0041],V[0061]),0.0秒(透明:0%)
◆ピクチャーの移動:3,(V[0042],V[0062]),0.0秒(透明:0%)
◆ピクチャーの移動:4,(V[0043],V[0063]),0.0秒(透明:0%)
◆ピクチャーの移動:5,(V[0044],V[0064]),0.0秒(透明:0%)
◆ピクチャーの移動:6,(V[0045],V[0065]),0.0秒(透明:0%)
◆ピクチャーの移動:7,(V[0046],V[0066]),0.0秒(透明:0%)
◆ピクチャーの移動:8,(V[0047],V[0067]),0.0秒(透明:0%)
◆ピクチャーの移動:9,(V[0048],V[0068]),0.0秒(透明:0%)
◆ピクチャーの移動:10,(V[0049],V[0069]),0.0秒(透明:0%)
◆ウェイト:0.0秒
◆ウェイト:0.0秒
◆ウェイト:0.0秒

◆指定ラベルへ飛ぶ:3番
◆注釈:------------------------------------------------------------
:  :ピースの操作
:  : 

◆ラベルの設定:2番
◆キー入力の処理:[0007:キー入力]
◆条件分岐:変数[0007:キー入力]が6
 ◆ピクチャーの消去:1
 ◆ピクチャーの消去:2
 ◆ピクチャーの消去:3
 ◆ピクチャーの消去:4
 ◆ピクチャーの消去:5
 ◆ピクチャーの消去:6
 ◆ピクチャーの消去:7
 ◆ピクチャーの消去:8
 ◆ピクチャーの消去:9
 ◆ピクチャーの消去:10
 ◆メニュー画面の禁止の変更:許可する
 ◆イベント処理の中断
 ◆
:分岐終了
◆変数の操作:[0001〜0004]代入,変数[0006]の値
◆変数の操作:[0001〜0002]減算,21
◆変数の操作:[0001:X]剰余,3
◆変数の操作:[0002:Y]除算,3
◆条件分岐:変数[0007:キー入力]が1
 ◆条件分岐:変数[0002:Y]が0
  ◆指定ラベルへ飛ぶ:2番
  ◆
 :分岐終了
 ◆変数の操作:[0003:変数番号A]減算,3
 ◆
:分岐終了
◆条件分岐:変数[0007:キー入力]が2
 ◆条件分岐:変数[0001:X]が2
  ◆指定ラベルへ飛ぶ:2番
  ◆
 :分岐終了
 ◆変数の操作:[0003:変数番号A]加算,1
 ◆
:分岐終了
◆条件分岐:変数[0007:キー入力]が3
 ◆条件分岐:変数[0001:X]が0
  ◆指定ラベルへ飛ぶ:2番
  ◆
 :分岐終了
 ◆変数の操作:[0003:変数番号A]減算,1
 ◆
:分岐終了
◆条件分岐:変数[0007:キー入力]が4
 ◆条件分岐:変数[0002:Y]が2
  ◆指定ラベルへ飛ぶ:2番
  ◆
 :分岐終了
 ◆変数の操作:[0003:変数番号A]加算,3
 ◆
:分岐終了
◆変数の操作:[V[0004]]代入,変数[V[0003]]の値
◆変数の操作:[V[0003]]代入,0
◆変数の操作:[0006:空いているマス]代入,変数[0003]の値
◆変数の操作:[0001〜0002]乗算,48
◆変数の操作:[0001:X]加算,112
◆変数の操作:[0002:Y]加算,72
◆変数の操作:[0003〜0004]代入,変数[V[0004]]の値
◆変数の操作:[0003:変数番号A]加算,39
◆変数の操作:[0004:変数番号B]加算,59
◆変数の操作:[V[0003]]代入,変数[0001]の値
◆変数の操作:[V[0004]]代入,変数[0002]の値
◆効果音の演奏:スイッチ2
◆ピクチャーの移動:2,(V[0041],V[0061]),0.1秒(透明:0%)
◆ピクチャーの移動:3,(V[0042],V[0062]),0.1秒(透明:0%)
◆ピクチャーの移動:4,(V[0043],V[0063]),0.1秒(透明:0%)
◆ピクチャーの移動:5,(V[0044],V[0064]),0.1秒(透明:0%)
◆ピクチャーの移動:6,(V[0045],V[0065]),0.1秒(透明:0%)
◆ピクチャーの移動:7,(V[0046],V[0066]),0.1秒(透明:0%)
◆ピクチャーの移動:8,(V[0047],V[0067]),0.1秒(透明:0%)
◆ピクチャーの移動:9,(V[0048],V[0068]),0.1秒(透明:0%)
◆ピクチャーの移動:10,(V[0049],V[0069]),0.1秒(透明:0%)
◆ウェイト:0.1秒
◆注釈:------------------------------------------------------------
:  :パズル完成確認
:  : 
◆注釈:変数0003番=正しい位置にピースがある数
:  : 

◆変数の操作:[0003:変数番号A]代入,0
◆条件分岐:変数[0021:マス 左0 下0]が2
 ◆変数の操作:[0003:変数番号A]加算,1
 ◆
:分岐終了
◆条件分岐:変数[0022:マス 左1 下0]が3
 ◆変数の操作:[0003:変数番号A]加算,1
 ◆
:分岐終了
◆条件分岐:変数[0023:マス 左2 下0]が4
 ◆変数の操作:[0003:変数番号A]加算,1
 ◆
:分岐終了
◆条件分岐:変数[0024:マス 左0 下1]が5
 ◆変数の操作:[0003:変数番号A]加算,1
 ◆
:分岐終了
◆条件分岐:変数[0025:マス 左1 下1]が6
 ◆変数の操作:[0003:変数番号A]加算,1
 ◆
:分岐終了
◆条件分岐:変数[0026:マス 左2 下1]が7
 ◆変数の操作:[0003:変数番号A]加算,1
 ◆
:分岐終了
◆条件分岐:変数[0027:マス 左0 下2]が8
 ◆変数の操作:[0003:変数番号A]加算,1
 ◆
:分岐終了
◆条件分岐:変数[0028:マス 左1 下2]が9
 ◆変数の操作:[0003:変数番号A]加算,1
 ◆
:分岐終了
◆条件分岐:変数[0029:マス 左2 下2]が10
 ◆変数の操作:[0003:変数番号A]加算,1
 ◆
:分岐終了
◆条件分岐:変数[0003:変数番号A]が7以下
 ◆指定ラベルへ飛ぶ:2番
 ◆
:分岐終了
◆注釈:------------------------------------------------------------
:  :パズル完成
:  : 

◆ウェイト:0.3秒
◆効果音の演奏:冷気4
◆変数の操作:[0001〜0002]代入,変数[0006]の値
◆変数の操作:[0001〜0002]減算,21
◆変数の操作:[0001:X]剰余,3
◆変数の操作:[0002:Y]除算,3
◆変数の操作:[0001〜0002]乗算,48
◆変数の操作:[0001:X]加算,112
◆変数の操作:[0002:Y]加算,72
◆条件分岐:変数[0006:空いているマス]が21
 ◆ピクチャーの表示:2,48_3x3_p02,(V[0001],V[0002])(透明:0%)
 ◆
:分岐終了
◆条件分岐:変数[0006:空いているマス]が22
 ◆ピクチャーの表示:3,48_3x3_p03,(V[0001],V[0002])(透明:0%)
 ◆
:分岐終了
◆条件分岐:変数[0006:空いているマス]が23
 ◆ピクチャーの表示:4,48_3x3_p04,(V[0001],V[0002])(透明:0%)
 ◆
:分岐終了
◆条件分岐:変数[0006:空いているマス]が24
 ◆ピクチャーの表示:5,48_3x3_p05,(V[0001],V[0002])(透明:0%)
 ◆
:分岐終了
◆条件分岐:変数[0006:空いているマス]が25
 ◆ピクチャーの表示:6,48_3x3_p06,(V[0001],V[0002])(透明:0%)
 ◆
:分岐終了
◆条件分岐:変数[0006:空いているマス]が26
 ◆ピクチャーの表示:7,48_3x3_p07,(V[0001],V[0002])(透明:0%)
 ◆
:分岐終了
◆条件分岐:変数[0006:空いているマス]が27
 ◆ピクチャーの表示:8,48_3x3_p08,(V[0001],V[0002])(透明:0%)
 ◆
:分岐終了
◆条件分岐:変数[0006:空いているマス]が28
 ◆ピクチャーの表示:9,48_3x3_p09,(V[0001],V[0002])(透明:0%)
 ◆
:分岐終了
◆条件分岐:変数[0006:空いているマス]が29
 ◆ピクチャーの表示:10,48_3x3_p10,(V[0001],V[0002])(透明:0%)
 ◆
:分岐終了
◆キー入力の処理:[0007:キー入力](決定・取消・Shift/オプション:ON)
◆注釈:------------------------------------------------------------
:  :終了
:  : 

◆ピクチャーの消去:1
◆ピクチャーの消去:2
◆ピクチャーの消去:3
◆ピクチャーの消去:4
◆ピクチャーの消去:5
◆ピクチャーの消去:6
◆ピクチャーの消去:7
◆ピクチャーの消去:8
◆ピクチャーの消去:9
◆ピクチャーの消去:10
◆メニュー画面の禁止の変更:許可する




◎関連ページ
 ●絵合わせパズル
 ○4×4に変更
 ┣○ピースサイズを変更
 ┗
○シャッフル機能を付ける


YADOTトップ  このサイトは何?  気紛れな空間へ戻る  メール