☁2024countdown platformer

Instructions: みんなで年越しを盛り上げよう！！(≧◇≦)\nEnglish　　　　　　　　　　　　　　日本語は↓\n--- How to operate ---\n～～～PC～～～\nJump with up and W keys\nRight, D key to move right\nLeft, press A key to move left\nChat with T key!\n～～～mobile～～～\nMove by moving the stick left and right\nMove the stick up or press the button on the right to jump!\nChat is not possible on mobile.\n\n日本語\nーーー操作方法ーーーーー\n～～～PC～～～\n上、Wキーでジャンプ\n右、Dキーで右に移動\n左、Aキーで左に移動\nTキーでチャット！\n～～～mobile～～～\nスティックを左右に動かして移動\nスティックを上にするか、右にあるボタンを押してジャンプ！\nモバイルでチャットは出来ません。

@Stage\n\nwhen flag clicked\nrepeat until <<<(item (2) of [残り時間 v]) = [0]> and <(item (4) of [残り時間 v]) = [0]>> and <<(item (6) of [残り時間 v]) = [0]> and <(item (8) of [残り時間 v]) < [11]>>>\n    play sound [414_BPM85 v] until done\nend\n\nwhen I receive [game loop v]\nset [chat 送信 v] to [0]\nforever\n    wait until <key (t v) pressed?>\n    hide list [chat/チャット v]\n    ask [番号を入力してください。/ Please enter your number.] and wait\n    if <<not <[] = (answer)>> or <<not <(length of [chat/チャット v]) < (answer)>> or <not < (answer) contains [-]?>>>> then\n        set [chat 送信 v] to (answer)\n    end\n    broadcast (Tick-chat v)\n    show list [chat/チャット v]\n    wait until <not <key (t v) pressed?>>\nend\n\nwhen I receive [10秒前 v]\nrepeat (20)\n    change volume by (-5)\nend\nstop all sounds\nset volume to (100) %\nplay sound [361_BPM100 v] until done\n\n@軽量化用\n\n@プレイヤー//game\n\ndefine position set\ngo to x: ((round (*player X)) - (*cam X)) y: (([floor v] of (*player Y) ) - (*cam Y))\n\nwhen I receive [game loop v]\nclear graphic effects\nset [ghost v] effect to (0)\nforever\n    if <[0] = (★クリア？)> then\n        set [タイム v] to (timer)\n    end\n    broadcast (Tick-first v)\n    broadcast (Tick-Level v)\n    broadcast (Tick-Platforms v)\n    broadcast (Tick-Player v)\n    add (*player X) to [★送信用データ v]\n    add ([floor v] of (*player Y) ) to [★送信用データ v]\n    add (costume [number v]) to [★送信用データ v]\n    add (direction) to [★送信用データ v]\n    add (chat 送信) to [★送信用データ v]\n    set [chat 送信 v] to [0]\n    broadcast (Cloud - Tick v)\n    broadcast (Tick-last v)\nend\n\ndefine ✅touch check\nif <<touching (ステージ//level v)?> or <touching (ステージ//platform v)?>> then\n    set [touching v] to [1]\n    stop [this script v]\nend\nset [touching v] to [0]\nset [hit costume v] to (costume [name v])\nif <(costume [name v]) = [hitbox v2]> then\n    switch costume to (hitbox feet v)\nend\nif <touching (ステージ//jump through v)?> then\n    if <(jump through) < [1]> then\n        change y by (-6)\n        if <(costume [name v]) = [hitbox v2]> then\n            switch costume to (hitbox feet2 v)\n        end\n        if <touching (ステージ//jump through v)?> then\n            set [touching v] to [1]\n        else\n            set [jump through v] to [1]\n        end\n        change y by (6)\n    end\nelse\n    set [jump through v] to [0]\nend\nswitch costume to (hit costume)\n\ndefine 地面 復帰\nif <(touching) > [0]> then\n    天井？床？\nend\n\ndefine position set Y (step)\nrepeat (step)\n    change [*player y v] by ((*speed Y) / (step))\n    position set\n    ✅touch check\n    地面 復帰\nend\n\ndefine position set X (step)\nrepeat (step)\n    change [*player x v] by ((*speed X) / (step))\n    position set\n    ✅touch check\n    if <(touching) > [0]> then\n        壁？坂？\n    end\nend\n\ndefine 壁？坂？\n壁 滑れる？\nset [壁 復帰//x 保存 v] to (*player X)\nchange y by (1)\nchange [*player y v] by (1)\n✅touch check\nif <(touching) > [0]> then\n    change y by (1)\n    change [*player y v] by (1)\n    ✅touch check\n    if <(touching) > [0]> then\n        change y by (-2)\n        change [*player y v] by (-2)\n        position set\n        if <[0] < (*speed X)> then\n            set [壁　戻る方向 v] to [-1]\n        else\n            set [壁　戻る方向 v] to [1]\n        end\n        set [*speed x v] to [0]\n        set [復帰　カウント v] to [0]\n        repeat until <<(touching) = [0]> or <[20] < (復帰　カウント)>>\n            change [復帰　カウント v] by (1)\n            change [*player x v] by (壁　戻る方向)\n            position set\n            ✅touch check\n            if <[20] < (復帰　カウント)> then\n                broadcast (Lose life v)\n            end\n        end\n        stop [this script v]\n    end\n    set [*speed x v] to ((*speed X) * (0.8))\nend\nset [*speed x v] to ((*speed X) * (0.95))\nSlip\n\ndefine Ycontrol\nif <<(★スティックボタン) > [0]> or <(★スティックY) = [1]>> then\n    if <<(wall slide) > [0]> and <(jumping) = [0]>> then\n        set [falling v] to [3]\n        set [jumping v] to [1]\n        set [wall slide v] to [0]\n        turn right (180) degrees\n        set [*speed x v] to (((direction) / (90)) * (7))\n        set [long jump v] to [12]\n    end\n    if <<(falling) < [3]> and <(jumping) = [0]>> then\n        set [falling v] to [3]\n        set [jumping v] to [1]\n    end\n    if <<(jumping) > [0]> and <(jumping) < [6]>> then\n        change [jumping v] by (1)\n        set [*speed y v] to (@ジャンプ力)\n    end\nelse\n    set [jumping v] to [0]\nend\nchange [*speed y v] by (@重力)\nif <(wall slide) > [0]> then\n    壁 滑れる？\n    if <(*speed Y) < [0]> then\n        set [*speed y v] to ((*speed Y) * (0.6))\n    end\nend\n\ndefine scroll\nchange [*cam x v] by (round (((*player X) - (*cam X)) / (2)))\nchange [*cam y v] by ([floor v] of (((*player Y) - (*cam Y)) / (2)) )\nif <(*cam Y) < [-170]> then\n    set [*cam y v] to [-170]\nend\nposition set\n\nif <(*cam X) < [0]> then\n    set [*cam x v] to [0]\nend\n\ndefine 天井？床？\nset [復帰　カウント v] to [0]\nrepeat until <<(touching) = [0]> or <[20] < (復帰　カウント)>>\n    change [復帰　カウント v] by (1)\n    if <[0] < (*speed Y)> then\n        change [*player y v] by (-1)\n    else\n        change [*player y v] by (1)\n    end\n    position set\n    ✅touch check\n    if <[20] < (復帰　カウント)> then\n        broadcast (Lose life v)\n    end\nend\nif <(*speed Y) > [0]> then\n    set [*speed y v] to [0]\n    stop [this script v]\nend\nif <(falling) > [0]> then\n    set [falling v] to [0]\n    Slip\nend\nset [*speed y v] to ((*speed Y) * (0.8))\n\ndefine Slip\nchange [*player y v] by (-2)\nchange [*player x v] by (1)\nposition set\n✅touch check\nif <(touching) < [1]> then\n    set [falling v] to [9]\n    change [*speed x v] by (1)\n    stop [this script v]\nend\nchange [*player x v] by (-2)\nposition set\n✅touch check\nif <(touching) < [1]> then\n    set [falling v] to [9]\n    change [*speed x v] by (-1)\n    stop [this script v]\nend\nchange [*player y v] by (2)\nchange [*player x v] by (1)\nposition set\n\ndefine 初期化＆次のステージ\nset [*speed x v] to [0]\nset [*speed y v] to [0]\nset [falling v] to [99]\nset [jumping v] to [0]\npoint in direction (90)\nBegin go to x: (SPAWN X) go to y: (SPAWN Y)\n\nwhen I receive [tick-player v]\nif <[-20] > (*speed Y)> then\n    set [*speed y v] to [-20]\nend\nif <(item (2) of [残り時間 v]) = [0]> then\n    if <(item (4) of [残り時間 v]) = [0]> then\n        if <(item (6) of [残り時間 v]) = [0]> then\n            if <(item (8) of [残り時間 v]) < [11]> then\n            end\n        end\n    end\nend\nMoved - by Moving Platform\nchange [falling v] by (1)\nYcontrol\nXcontrol\nposition set X (([abs v] of (*speed X) ) + ([abs v] of (*speed Y) ))\nposition set Y (([abs v] of (*speed X) ) + ([abs v] of (*speed Y) ))\nset costume\n\nwhen I receive [tick-first v]\nchange [@timer v] by (1)\ndelete all of [z oeder v]\nbroadcast (order splits v)\nset rotation style [don't rotate v]\nswitch costume to (hitbox v2 v)\nset [*platform dx v] to []\nset [*platform dy v] to []\n\ndefine Xcontrol\nif <(long jump) > [0]> then\n    change [long jump v] by (-1)\n    stop [this script v]\nend\nset [key x v] to (★スティックX)\nif <([abs v] of (KEY X) ) < [0.3]> then\n    if <<(falling) > [2]> and <(wall slide) < [1]>> then\n        set [*speed x v] to ((*speed X) * (0.98))\n        stop [this script v]\n    end\n    if <([abs v] of (*speed X) ) < [1]> then\n        set [frame v] to [0]\n        set [*speed x v] to [0]\n    else\n        change [frame v] by (0.5)\n    end\nelse\n    change [*speed x v] by ((KEY X) * (1.5))\n    point in direction ((KEY X) * (90))\n    change [frame v] by (1)\nend\nset [*speed x v] to ((*speed X) * (@抵抗))\n\ndefine 数値set\nset [@ジャンプ力 v] to [12]\nset [@抵抗 v] to [0.8]\nset [@重力 v] to [-1.3]\nset [spawn x v] to [-150]\nset [spawn y v] to [55]\n\ndefine 壁 滑れる？\nif <(falling) < [2]> then\n    set [wall slide v] to [0]\n    stop [this script v]\nend\nswitch costume to (hitbox wallslide v)\nset rotation style [left-right v]\n✅touch check\nset [wall slide v] to (touching)\nswitch costume to (hitbox v2 v)\nset rotation style [don't rotate v]\n\ndefine Begin go to x: (x) go to y: (y)\nset [*player x v] to (x)\nset [*player y v] to (y)\nset [*cam x v] to (x)\nset [*cam y v] to (y)\nscroll\nbroadcast (Tick-Level v)\nwait () seconds\nposition set\nstop [other scripts in sprite v]\nwait (0) seconds\nif <(x) > []> then\n    Fix Collision in Direction [0]\nelse\n    Fix Collision in Direction [90]\nend\nbroadcast (game loop v)\n\ndefine Fix Collision in Direction (dir)\nset [temp v] to (direction)\nset [distance v] to [1]\npoint in direction (dir)\nrepeat (128)\n    ✅touch check\n    if <(touching) < [1]> then\n        point in direction (temp)\n        stop [this script v]\n    end\n    move (distance) steps\n    change [*player x v] by (([sin v] of (direction) ) * (distance))\n    change [*player y v] by (([cos v] of (direction) ) * (distance))\n    turn right (180) degrees\n    change [distance v] by (1)\nend\n\nwhen I receive [start game v]\nbroadcast (back-Setup v) and wait\nbroadcast (danger-Setup v) and wait\nbroadcast (Platform-Setup v) and wait\nbroadcast (Level-Setup v) and wait\nbroadcast (collect-Setup v) and wait\nbroadcast (背景-Setup v) and wait\nbroadcast (Cloud - Setup v) and wait\n数値set\n初期化＆次のステージ\nset [★クリア？ v] to [0]\nbroadcast (game loop v)\nreset timer\n\nwhen flag clicked\nbroadcast (start game v)\n\nwhen I receive [tick-last v]\nscroll\nif <touching (ステージ//danger v)?> then\n    broadcast (Lose life v)\nend\nif <touching (_edge_ v)?> then\n    broadcast (Lose life v)\nend\n\nwhen I receive [lose life v]\nstart sound [Lose life v]\nstop [other scripts in sprite v]\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nwait (0.5) seconds\n初期化＆次のステージ\n\ndefine Moved - by Moving Platform\nchange [*player x v] by (*PLATFORM DX)\nchange [*player y v] by (*PLATFORM DY)\nposition set\n✅touch check\nif <(touching) > [0]> then\n    Find Closest Space to ((*player X) - (*cam X)) ((*player Y) - (*cam Y)) max [16]\n    if <(touching) > [0]> then\n        broadcast (Lose life v)\n    end\nend\n\ndefine Find Closest Space to (x) (y) max (max)\nset [temp v] to (direction)\nset [distance v] to [1]\npoint in direction (0)\nrepeat (max)\n    repeat (16)\n        go to x: (x) y: (y)\n        move (distance) steps\n        ✅touch check\n        if <(touching) < [1]> then\n            point in direction (temp)\n            set [*player x v] to ((x position) + (*cam X))\n            set [*player y v] to ((y position) + (*cam Y))\n            stop [this script v]\n        end\n        turn right (22.5) degrees\n    end\n    change [distance v] by (1)\nend\nset [*player x v] to ((x) + (*cam X))\nset [*player y v] to ((y) + (*cam Y))\nposition set\npoint in direction (temp)\n\ndefine set costume\nset rotation style [left-right v]\nif <(wall slide) > [0]> then\n    switch costume to (hangon01 v)\n    set [costume v] to [HangOn]\n    stop [this script v]\nend\nif <(falling) > [1]> then\n    if <(*speed Y) > [0]> then\n        set [costume v] to [jump]\n        switch costume to (jump01 v)\n    else\n        set [costume v] to [ran jump]\n        switch costume to (run_j2 v)\n    end\n    stop [this script v]\nend\nif <(frame) > [0]> then\n    set [costume v] to ((1) + ([floor v] of ((frame) mod (16)) ))\n    switch costume to ((1) + ([floor v] of ((frame) mod (16)) ))\nelse\n    set [costume v] to []\n    switch costume to (hit angle 0 v)\n    repeat (5)\n        ✅touch check\n        if <(touching) < [1]> then\n            set [stand 角度 v] to (costume [number v])\n            switch costume to ((costume [number v]) + (5))\n            stop [this script v]\n        end\n        next costume\n    end\n    set [stand 角度 v] to [0]\n    switch costume to (stand v)\n    stop [this script v]\nend\n\nwhen I receive [order splits v]\nOrder Sprite by [-30]\n\ndefine Order Sprite by (z position)\nset [order i v] to [1]\nrepeat until <not <(z position) < (item (order i) of [z oeder v])>>\n    change [order i v] by (1)\nend\ninsert (z position) at (order i) of [z oeder v] \ngo [forward v] ((order i) - (1)) layers\n\nwhen I receive [tick-chat v]\nsay (join (username) (join [:] (item (chat 送信) of [chat/チャット v]))) for (5) seconds\n\nwhen I receive [10秒前 v]\nset [spawn x v] to [10000]\nset [spawn y v] to [8000]\nstart sound [warp v]\nstop [other scripts in sprite v]\nrepeat (10)\n    change [ghost v] effect by (10)\n    change size by (10)\nend\nwait (0.5) seconds\nset size to (40) %\n初期化＆次のステージ\n\n@プレイヤー//Cloud Player\n\ndefine エンコードする）値： (値) →エンコード文字列\nset [値 v] to (round (値))\nif <(値) < [0]> then\n    set [値 v] to (join [0] ([abs v] of (値) ))\nend\nset [エンコード文字列 v] to (join (エンコード文字列) (join (length of (値)) (値)))\n\ndefine 順番にデコードする）エンコード文字列→値// (メモ)\nset [値 v] to []\nrepeat (letter (エンコード文字の順番) of (エンコード文字列))\n    change [エンコード文字の順番 v] by (1)\n    set [値 v] to (join (値) (letter (エンコード文字の順番) of (エンコード文字列)))\nend\nchange [エンコード文字の順番 v] by (1)\nif <(letter (1) of (値)) = [0]> then\n    set [値 v] to ((0) - (値))\nend\n\nwhen I receive [cloud - setup v]\nhide\nset [★クラウドティック v] to [0]\ndelete all of [★送信用データ v]\ndelete all of [★クラウドデータ v]\ndelete all of [★プレイヤーuid一覧 v]\ndelete all of [★プレイヤーデータ一覧 v]\nadd (join [c] (☁ CLOUD 1)) to [★クラウドデータ v]\nadd (join [c] (☁ CLOUD 2)) to [★クラウドデータ v]\nadd (join [c] (☁ CLOUD 3)) to [★クラウドデータ v]\nadd (join [c] (☁ CLOUD 4)) to [★クラウドデータ v]\nadd (join [c] (☁ CLOUD 5)) to [★クラウドデータ v]\nadd (join [c] (☁ CLOUD 6)) to [★クラウドデータ v]\nset [★自プレイヤーuid v] to (pick random (1) to (9999999))\nset [プレイヤー番号 v] to []\n\nwhen I receive [cloud - tick v]\nif <(プレイヤー番号) > []> then\n    クローンティック\n    stop [this script v]\nend\nchange [★クラウドティック v] by (1)\nクラウド変数を受信する）☁番号： [1] 更新データ： (join [c] (☁ CLOUD 1))\nクラウド変数を受信する）☁番号： [2] 更新データ： (join [c] (☁ CLOUD 2))\nクラウド変数を受信する）☁番号： [3] 更新データ： (join [c] (☁ CLOUD 3))\nクラウド変数を受信する）☁番号： [4] 更新データ： (join [c] (☁ CLOUD 4))\nクラウド変数を受信する）☁番号： [5] 更新データ： (join [c] (☁ CLOUD 5))\nクラウド変数を受信する）☁番号： [6] 更新データ： (join [c] (☁ CLOUD 6))\nクラウド変数を送信する）回数： [4] 回に1回\n\ndefine クラウド変数を送信する）回数： (回数) 回に1回\nif <((★クラウドティック) mod (回数)) > [0]> then\n    stop [this script v]\nend\nset [エンコード文字列 v] to []\nエンコードする）値： (★自プレイヤーUID) →エンコード文字列\n文字列をエンコードする）文字列： (username) →エンコード文字列\nrepeat (length of [★送信用データ v])\n    エンコードする）値： (item (1) of [★送信用データ v]) →エンコード文字列\n    delete (1) of [★送信用データ v]\nend\nset [my channel v] to (pick random (1) to (length of [★クラウドデータ v]))\nif <(MY CHANNEL) < [5]> then\n    if <(MY CHANNEL) < [3]> then\n        if <(MY CHANNEL) < [2]> then\n            set [☁ cloud 1 v] to (エンコード文字列)\n        else\n            set [☁ cloud 2 v] to (エンコード文字列)\n        end\n    else\n        if <(MY CHANNEL) < [4]> then\n            set [☁ cloud 3 v] to (エンコード文字列)\n        else\n            set [☁ cloud 4 v] to (エンコード文字列)\n        end\n    end\nelse\n    if <(MY CHANNEL) < [6]> then\n        set [☁ cloud 5 v] to (エンコード文字列)\n    else\n        set [☁ cloud 6 v] to (エンコード文字列)\n    end\nend\n\ndefine クラウド変数を受信する）☁番号： (☁番号) 更新データ： (更新データ)\nif <(更新データ) = (item (☁番号) of [★クラウドデータ v])> then\n    stop [this script v]\nend\nreplace item (☁番号) of [★クラウドデータ v] with (更新データ)\nset [エンコード文字列 v] to (更新データ)\nset [エンコード文字の順番 v] to [2]\n順番にデコードする）エンコード文字列→値// [プレイヤーUID]\nif <<(値) < [1]> or <(値) = (★自プレイヤーUID)>> then\n    stop [this script v]\nend\nset [プレイヤー番号 v] to (item # of (値) in [★プレイヤーuid一覧 v])\nif <(プレイヤー番号) = [0]> then\n    set [プレイヤー番号 v] to (item # of [] in [★プレイヤーuid一覧 v])\n    if <(プレイヤー番号) = [0]> then\n        add (値) to [★プレイヤーuid一覧 v]\n        add [] to [★プレイヤーデータ一覧 v]\n        set [プレイヤー番号 v] to (length of [★プレイヤーデータ一覧 v])\n        create clone of (_myself_ v)\n    else\n        replace item (プレイヤー番号) of [★プレイヤーデータ一覧 v] with (値)\n    end\nend\nreplace item (プレイヤー番号) of [★プレイヤーデータ一覧 v] with (更新データ)\nset [プレイヤー番号 v] to []\n\ndefine クローンティック\nif <(エンコード文字の順番) > (length of (エンコード文字列))> then\n    次のプレイヤーデータを移す→エンコード文字列\n    if <(エンコード文字列) = []> then\n        change [inactive v] by (1)\n        if <(inactive) > [150]> then\n            replace item (プレイヤー番号) of [★プレイヤーuid一覧 v] with []\n            hide\n        end\n        stop [this script v]\n    end\n    show\nend\nset [inactive v] to [0]\n順番にデコードする）エンコード文字列→値// [X座標]\nset [*cloud x v] to (値)\n順番にデコードする）エンコード文字列→値// [Y座標]\nset [*cloud y v] to (値)\n順番にデコードする）エンコード文字列→値// [コスチューム]\nset [cloud costume v] to (値)\n順番にデコードする）エンコード文字列→値// [向き]\nset [cloud dir v] to (値)\n順番にデコードする）エンコード文字列→値// [chat]\nset [cloud chat v] to (item (値) of [chat/チャット v])\nif <touching (mouse-pointer v)?> then\n    say (クラウドプレイヤー名) for (0.5) seconds\nend\nif <not <(cloud chat) = [0]>> then\n    say (join (join (クラウドプレイヤー名) [:]) (cloud chat)) for (5) seconds\nend\nif <(クラウドプレイヤー名) = [ryugen0719]> then\n    set [color v] effect to (50)\nend\n\ndefine 次のプレイヤーデータを移す→エンコード文字列\nset [エンコード文字列 v] to (item (プレイヤー番号) of [★プレイヤーデータ一覧 v])\nreplace item (プレイヤー番号) of [★プレイヤーデータ一覧 v] with []\nset [エンコード文字の順番 v] to [2]\n順番にデコードする）エンコード文字列→値// [プレイヤーUID]\n文字列をデコードする）エンコード文字列→値// [ユーザー名]\nset [クラウドプレイヤー名 v] to (値)\n\nwhen I receive [tick-player v]\ngo to x: ((*cloud x) - (*cam X)) y: ((*cloud y) - (*cam Y))\nswitch costume to (cloud costume)\npoint in direction (cloud dir)\nset [ghost v] effect to (30)\n\ndelete all of [■文字一覧 v]\nadd [ !"#$%&'\(\)*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~] to [■文字一覧 v]\nrepeat (length of (item (1) of [■文字一覧 v]))\n    add (letter (length of [■文字一覧 v]) of (item (1) of [■文字一覧 v])) to [■文字一覧 v]\nend\ndelete (1) of [■文字一覧 v]\n\ndefine 文字列をエンコードする）文字列： (文字列) →エンコード文字列\nエンコードする）値： (length of (文字列)) →エンコード文字列\nset [値 v] to []\nset [_文字列インデックス v] to [1]\nrepeat (length of (文字列))\n    set [文字一覧の何文字目か v] to (item # of (letter (_文字列インデックス) of (文字列)) in [■文字一覧 v])\n    if <(文字一覧の何文字目か) < [10]> then\n        set [文字一覧の何文字目か v] to (join [0] (文字一覧の何文字目か))\n    end\n    set [値 v] to (join (値) (文字一覧の何文字目か))\n    change [_文字列インデックス v] by (1)\nend\nset [エンコード文字列 v] to (join (エンコード文字列) (値))\n\ndefine 文字列をデコードする）エンコード文字列→値// (メモ)\n順番にデコードする）エンコード文字列→値// [文字数]\nset [_文字数 v] to (値)\nset [値 v] to []\nrepeat (_文字数)\n    set [文字一覧の何文字目か v] to (join (letter (エンコード文字の順番) of (エンコード文字列)) (letter ((エンコード文字の順番) + (1)) of (エンコード文字列)))\n    set [値 v] to (join (値) (item (文字一覧の何文字目か) of [■文字一覧 v]))\n    change [エンコード文字の順番 v] by (length of (文字一覧の何文字目か))\nend\n\ndefine Order Sprite by (z position)\nset [order i v] to [1]\nrepeat until <not <(z position) < (item (order i) of [z oeder v])>>\n    change [order i v] by (1)\nend\ninsert (z position) at (order i) of [z oeder v] \ngo [forward v] ((order i) - (1)) layers\n\nwhen I receive [order splits v]\nOrder Sprite by [-29]\n\n@ステージ//Platform\n\ndefine 🔨リスト作成 ＆ クローン\n🔘リスト追加　クローン）costume: [1] ｘ: [1900] ｙ: [-150] move type: [2] dir: [90] turn: []\n🔘リスト追加　クローン）costume: [Key 1] ｘ: [2480] ｙ: [180] move type: [Key 1] dir: [90] turn: []\n🔘リスト追加　クローン）costume: [四角] ｘ: [-250] ｙ: [-120] move type: [turn] dir: [90] turn: [1]\n🔘リスト追加　クローン）costume: [円] ｘ: [2940] ｙ: [270] move type: [turn] dir: [90] turn: [1.5]\n🔘リスト追加　クローン）costume: [円] ｘ: [3320] ｙ: [340] move type: [turn] dir: [90] turn: [1.5]\n🔘リスト追加　クローン）costume: [1] ｘ: [4300] ｙ: [205] move type: [2] dir: [90] turn: []\n🔘リスト追加　クローン）costume: [1] ｘ: [4370] ｙ: [440] move type: [2] dir: [90] turn: []\n\nwhen I receive [order splits v]\nOrder Sprite by [13]\n\ndefine Order Sprite by (z position)\nset [order i v] to [1]\nrepeat until <not <(z position) < (item (order i) of [z oeder v])>>\n    change [order i v] by (1)\nend\ninsert (z position) at (order i) of [z oeder v] \ngo [forward v] ((order i) - (1)) layers\n\ndefine 🔘リスト追加　クローン）costume: (costume) ｘ: (ｘ) ｙ: (ｙ) move type: (type) dir: (dir) turn: (degrees)\nadd (ｘ) to [💨clone x\(platform\) v]\nadd (ｙ) to [💨clone y\(platform\) v]\nadd (costume) to [💨clone costume\(platform\) v]\nadd (type) to [💨clone type\(platform\) v]\nadd (dir) to [💨clone dir\(platform\) v]\nadd (degrees) to [💨clone turn\(platform\) v]\nchange [💨リスト カウント\(platform\) v] by (1)\nset [💨clone id \(platform\) v] to (💨リスト カウント\(Platform\))\nadd (💨リスト カウント\(Platform\)) to [💨clone 状況\(platform\) v]\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\n変数位置セット\n変数移動　パターン (item (💨clone ID \(Platform\)) of [💨clone type\(platform\) v])\n\ndefine Tick (new x) (new y)\nif <(item (💨clone ID \(Platform\)) of [💨clone turn\(platform\) v]) > []> then\n    change y by (4)\n    if <touching (プレイヤー//game v)?> then\n        Rotation Maths　CCW ((0) - (item (💨clone ID \(Platform\)) of [💨clone turn\(platform\) v]))\n    end\nelse\n    if <(new y) > (last y)> then\n        change y by (1)\n    else\n        set y to (((last y) - (*cam Y)) + (1))\n    end\n    if <touching (プレイヤー//game v)?> then\n        set [*platform dx v] to ((new x) - (last x))\n        set [*platform dy v] to ((new y) - (last y))\n    end\nend\ngo to x: ((new x) - (*cam X)) y: ((new y) - (*cam Y))\n\nwhen I receive [tick-platforms v]\nTick (💨move X\(Platform\)) (💨move Y\(Platform\))\nset [last x v] to (💨move X\(Platform\))\nset [last y v] to (💨move Y\(Platform\))\n\nwhen I receive [platform-setup v]\nhide\nset [💨リスト カウント\(platform\) v] to [0]\ndelete all of [💨clone costume\(platform\) v]\ndelete all of [💨clone x\(platform\) v]\ndelete all of [💨clone y\(platform\) v]\ndelete all of [💨clone 状況\(platform\) v]\ndelete all of [💨clone type\(platform\) v]\ndelete all of [💨clone dir\(platform\) v]\ndelete all of [💨clone turn\(platform\) v]\n🔨リスト作成 ＆ クローン\n\ndefine 変数移動　パターン (パターン)\nif <(パターン) = [1]> then\n    ↑↓Animate Platform (💨move Y\(Platform\))\nend\nif <(パターン) = [2]> then\n    ←→Animate Platform (💨move X\(Platform\))\nend\nif < (パターン) contains [Key]?> then\n    Door at (💨move X\(Platform\)) (💨move Y\(Platform\)) key (item (💨clone ID \(Platform\)) of [💨clone costume\(platform\) v])\nend\nif <(パターン) = [2024]> then\n    2024\nend\n\nwhen I start as a clone\nshow\nforever\n    switch costume to (blank v)\n    go to x: ((💨move X\(Platform\)) - (*cam X)) y: ((💨move Y\(Platform\)) - (*cam Y))\n    turn right (item (💨clone ID \(Platform\)) of [💨clone turn\(platform\) v]) degrees\n    switch costume to (item (💨clone ID \(Platform\)) of [💨clone costume\(platform\) v])\nend\n\ndefine Door at (x) (y) key (key name)\nshow\nforever\n    wait until <touching (プレイヤー//game v)?>\n    if <[collected v] contains (key name)?> then\n        start sound [mixkit-futuristic-door-opening-906 v]\n        repeat (24)\n            change [💨move y\(platform\) v] by (4)\n        end\n        wait (1) seconds\n        start sound [mixkit-futuristic-door-opening-2 v]\n        repeat (24)\n            change [💨move y\(platform\) v] by (-4)\n        end\n        start sound [Crunch v]\n        wait (1) seconds\n    else\n        start sound [Low Squeak v]\n    end\n    wait until <not <touching (プレイヤー//game v)?>>\nend\n\ndefine 変数位置セット\nset [💨move x\(platform\) v] to (item (💨clone ID \(Platform\)) of [💨clone x\(platform\) v])\nset [💨move y\(platform\) v] to (item (💨clone ID \(Platform\)) of [💨clone y\(platform\) v])\npoint in direction (item (💨clone ID \(Platform\)) of [💨clone dir\(platform\) v])\n\ndefine ←→Animate Platform (x)\nforever\n    repeat until <((x) + (100)) < (💨move X\(Platform\))>\n        change [💨move x\(platform\) v] by (3)\n    end\n    repeat until <(💨move X\(Platform\)) < ((x) - (100))>\n        change [💨move x\(platform\) v] by (-3)\n    end\nend\n\ndefine ↑↓Animate Platform (ｙ)\nforever\n    repeat until <((ｙ) - (100)) < (💨move Y\(Platform\))>\n        change [💨move y\(platform\) v] by (3)\n    end\n    repeat until <(💨move Y\(Platform\)) < ((ｙ) + (100))>\n        change [💨move y\(platform\) v] by (-3)\n    end\nend\n\ndefine Rotation Maths　CCW (ccw)\nset [dx v] to (([x position v] of [プレイヤー//game v]) - (x position))\nset [dy v] to (([y position v] of [プレイヤー//game v]) - (y position))\nset [sin v] to ([sin v] of (ccw) )\nset [cos v] to ([cos v] of (ccw) )\nset [*platform dx v] to ((((dx) * (cos)) - ((dy) * (sin))) - (dx))\nset [*platform dy v] to ((((dx) * (sin)) + ((dy) * (cos))) - (dy))\n\nwhen I receive [10秒前 v]\nwait (1) seconds\n🔘リスト追加　クローン）costume: [2024] ｘ: [4500] ｙ: [100] move type: [2024] dir: [90] turn: []\n🔘リスト追加　クローン）costume: [2024] ｘ: [6000] ｙ: [100] move type: [2024] dir: [90] turn: []\n🔘リスト追加　クローン）costume: [2024] ｘ: [7500] ｙ: [100] move type: [2024] dir: [90] turn: []\n🔘リスト追加　クローン）costume: [2024] ｘ: [9000] ｙ: [100] move type: [2024] dir: [90] turn: []\n\ndefine 2024\nforever\n    repeat until <[205] < (💨move Y\(Platform\))>\n        change [💨move y\(platform\) v] by (2)\n    end\n    wait (3) seconds\n    repeat until <[9200] < (💨move X\(Platform\))>\n        change [💨move x\(platform\) v] by (6)\n    end\n    wait (3) seconds\n    repeat until <(💨move Y\(Platform\)) < [5]>\n        change [💨move y\(platform\) v] by (-2)\n    end\n    wait (3) seconds\n    repeat until <(💨move X\(Platform\)) < [4400]>\n        change [💨move x\(platform\) v] by (-6)\n    end\n    wait (3) seconds\nend\n\n@ステージ//danger\n\ndefine Order Sprite by (z position)\nset [order i v] to [1]\nrepeat until <not <(z position) < (item (order i) of [z oeder v])>>\n    change [order i v] by (1)\nend\ninsert (z position) at (order i) of [z oeder v] \ngo [forward v] ((order i) - (1)) layers\n\ndefine 🔨リスト作成\n🔘リスト追加　クローン [1] ｘ [1600] ｙ [-100] 揺れ []\n🔘リスト追加　クローン [2] ｘ [760] ｙ [-380] 揺れ [1]\n🔘リスト追加　クローン [2] ｘ [1222] ｙ [-380] 揺れ [1]\n🔘リスト追加　クローン [2] ｘ [1900] ｙ [-380] 揺れ [1]\n\ndefine 🔘リスト追加　クローン (コスチューム) ｘ (ｘ) ｙ (ｙ) 揺れ (揺れ\(1or0\))\nadd (ｘ) to [🔥clone x\(danger\) v]\nadd (ｙ) to [🔥clone y\(danger\) v]\nadd (コスチューム) to [🔥clone costume\(danger\) v]\nadd (揺れ\(1or0\)) to [clone shaking\(danger\) v]\n\ndefine 🔍クローン可能な物を探す\nset [🔥リスト カウント\(danger\) v] to [0]\nrepeat (length of [🔥clone x\(danger\) v])\n    change [🔥リスト カウント\(danger\) v] by (1)\n    if <([sqrt v] of ((((item (🔥リスト カウント\(danger\)) of [🔥clone x\(danger\) v]) - (*player X)) * ((item (🔥リスト カウント\(danger\)) of [🔥clone x\(danger\) v]) - (*player X))) + (((item (🔥リスト カウント\(danger\)) of [🔥clone y\(danger\) v]) - (*player Y)) * ((item (🔥リスト カウント\(danger\)) of [🔥clone y\(danger\) v]) - (*player Y)))) ) < [960]> then\n        if <not <[🔥clone 状況\(danger\) v] contains (🔥リスト カウント\(danger\))?>> then\n            set [clone id \(danger\) v] to (🔥リスト カウント\(danger\))\n            add (🔥リスト カウント\(danger\)) to [🔥clone 状況\(danger\) v]\n            create clone of (_myself_ v)\n        end\n    end\nend\n\nwhen I receive [tick-level v]\nif <(クローン識別) = []> then\n    🔍クローン可能な物を探す\nend\n\nwhen I start as a clone\nset [クローン識別 v] to [1]\nwait until <([sqrt v] of ((((item (clone ID \(danger\)) of [🔥clone x\(danger\) v]) - (*player X)) * ((item (clone ID \(danger\)) of [🔥clone x\(danger\) v]) - (*player X))) + (((item (clone ID \(danger\)) of [🔥clone y\(danger\) v]) - (*player Y)) * ((item (clone ID \(danger\)) of [🔥clone y\(danger\) v]) - (*player Y)))) ) > [960]>\ndelete (item # of (clone ID \(danger\)) in [🔥clone 状況\(danger\) v]) of [🔥clone 状況\(danger\) v]\nwait () seconds\ndelete this clone\n\nwhen I receive [order splits v]\nOrder Sprite by [20]\n\nwhen I receive [tick-level v]\nif <(クローン識別) = [1]> then\n    show\n    switch costume to (blank v)\n    go to x: ((((item (clone ID \(danger\)) of [🔥clone x\(danger\) v]) + ((danger 揺れ) * (2))) - (10)) - (*cam X)) y: (((item (clone ID \(danger\)) of [🔥clone y\(danger\) v]) + (danger 揺れ)) - (*cam Y))\n    if <(item (clone ID \(danger\)) of [clone shaking\(danger\) v]) = [1]> then\n        set [danger 揺れ v] to ((3) * ([sin v] of ((timer) * (300)) ))\n    else\n        set [danger 揺れ v] to [0]\n    end\n    switch costume to (item (clone ID \(danger\)) of [🔥clone costume\(danger\) v])\nend\n\nwhen I receive [danger-setup v]\nhide\nset [クローン識別 v] to []\ndelete all of [🔥clone costume\(danger\) v]\ndelete all of [🔥clone x\(danger\) v]\ndelete all of [🔥clone y\(danger\) v]\ndelete all of [🔥clone 状況\(danger\) v]\ndelete all of [clone shaking\(danger\) v]\n🔨リスト作成\n\n@ステージ//background\n\ndefine Order Sprite by (z position)\nset [order i v] to [1]\nrepeat until <not <(z position) < (item (order i) of [z oeder v])>>\n    change [order i v] by (1)\nend\ninsert (z position) at (order i) of [z oeder v] \ngo [forward v] ((order i) - (1)) layers\n\nwhen I receive [tick-level v]\nif <(クローン識別) = []> then\n    🔍クローン可能な物を探す\nend\n\ndefine 🔘リスト追加　クローン (コスチューム) ｘ (ｘ) ｙ (ｙ)\nadd (ｘ) to [🌳clone x\(背景\) v]\nadd (ｙ) to [🌳clone y\(背景\) v]\nadd (コスチューム) to [🌳clone costume\(背景\) v]\n\ndefine 🔨リスト作成\n🔘リスト追加　クローン [5] ｘ [1600] ｙ [-100]\n🔘リスト追加　クローン [木1] ｘ [1227] ｙ [-182]\n🔘リスト追加　クローン [木3] ｘ [763] ｙ [-196]\n🔘リスト追加　クローン [ロープ] ｘ [1900] ｙ [-150]\n🔘リスト追加　クローン [柱] ｘ [2940] ｙ [0]\n🔘リスト追加　クローン [柱] ｘ [3320] ｙ [0]\n🔘リスト追加　クローン [2] ｘ [3790] ｙ [245]\n🔘リスト追加　クローン [ロープ] ｘ [4280] ｙ [205]\n🔘リスト追加　クローン [ロープ] ｘ [4300] ｙ [440]\n🔘リスト追加　クローン [木1] ｘ [3740] ｙ [466]\n🔘リスト追加　クローン [石] ｘ [3808] ｙ [466]\n🔘リスト追加　クローン [数字10] ｘ (() + (10000)) ｙ (((8000) / (13)) * (13))\n🔘リスト追加　クローン [数字9] ｘ (() + (10000)) ｙ (((8000) / (13)) * (12))\n🔘リスト追加　クローン [数字8] ｘ (() + (10000)) ｙ (((8000) / (13)) * (11))\n🔘リスト追加　クローン [数字7] ｘ (() + (10000)) ｙ (((8000) / (13)) * (10))\n🔘リスト追加　クローン [数字6] ｘ (() + (10000)) ｙ (((8000) / (13)) * (9))\n🔘リスト追加　クローン [数字5] ｘ (() + (10000)) ｙ (((8000) / (13)) * (8))\n🔘リスト追加　クローン [数字4] ｘ (() + (10000)) ｙ (((8000) / (13)) * (7))\n🔘リスト追加　クローン [数字3] ｘ (() + (10000)) ｙ (((8000) / (13)) * (6))\n🔘リスト追加　クローン [数字2] ｘ (() + (10000)) ｙ (((8000) / (13)) * (5))\n🔘リスト追加　クローン [数字1] ｘ (() + (10000)) ｙ (((8000) / (13)) * (4))\n🔘リスト追加　クローン [HAPPY] ｘ (() + (10000)) ｙ (((8000) / (13)) * (3))\n🔘リスト追加　クローン [NEW] ｘ (() + (10000)) ｙ (((8000) / (13)) * (2.5))\n🔘リスト追加　クローン [YEAR] ｘ (() + (10000)) ｙ (((8000) / (13)) * (2))\n🔘リスト追加　クローン [S2] ｘ ((-200) + (10000)) ｙ [35]\n🔘リスト追加　クローン [S1] ｘ ((200) + (10000)) ｙ [35]\n🔘リスト追加　クローン [S2] ｘ ((-500) + (10000)) ｙ [90]\n🔘リスト追加　クローン [S1] ｘ ((500) + (10000)) ｙ [90]\n\ndefine 🔍クローン可能な物を探す\nset [🌳リスト カウント\(背景\) v] to [0]\nrepeat (length of [🌳clone x\(背景\) v])\n    change [🌳リスト カウント\(背景\) v] by (1)\n    if <([sqrt v] of ((((item (🌳リスト カウント\(背景\)) of [🌳clone x\(背景\) v]) - (*player X)) * ((item (🌳リスト カウント\(背景\)) of [🌳clone x\(背景\) v]) - (*player X))) + (((item (🌳リスト カウント\(背景\)) of [🌳clone y\(背景\) v]) - (*player Y)) * ((item (🌳リスト カウント\(背景\)) of [🌳clone y\(背景\) v]) - (*player Y)))) ) < [960]> then\n        if <not <[🌳clone 状況\(背景\) v] contains (🌳リスト カウント\(背景\))?>> then\n            set [clone id \(背景\) v] to (🌳リスト カウント\(背景\))\n            add (🌳リスト カウント\(背景\)) to [🌳clone 状況\(背景\) v]\n            create clone of (_myself_ v)\n        end\n    end\nend\n\nwhen I receive [order splits v]\nOrder Sprite by [15]\n\nwhen I receive [tick-level v]\nswitch costume to (big v)\ngo to x: ((item (clone ID \(背景\)) of [🌳clone x\(背景\) v]) - (*cam X)) y: ((item (clone ID \(背景\)) of [🌳clone y\(背景\) v]) - (*cam Y))\nswitch costume to (item (clone ID \(背景\)) of [🌳clone costume\(背景\) v])\n\nwhen I receive [back-setup v]\nhide\nset [クローン識別 v] to []\ndelete all of [🌳clone 状況\(背景\) v]\ndelete all of [🌳clone costume\(背景\) v]\ndelete all of [🌳clone y\(背景\) v]\ndelete all of [🌳clone x\(背景\) v]\ndelete all of [z oeder v]\n🔨リスト作成\n\nwhen I start as a clone\nshow\nset [クローン識別 v] to [1]\nwait until <([sqrt v] of ((((item (clone ID \(背景\)) of [🌳clone x\(背景\) v]) - (*player X)) * ((item (clone ID \(背景\)) of [🌳clone x\(背景\) v]) - (*player X))) + (((item (clone ID \(背景\)) of [🌳clone y\(背景\) v]) - (*player Y)) * ((item (clone ID \(背景\)) of [🌳clone y\(背景\) v]) - (*player Y)))) ) > [960]>\ndelete (item # of (clone ID \(背景\)) in [🌳clone 状況\(背景\) v]) of [🌳clone 状況\(背景\) v]\nwait () seconds\ndelete this clone\n\n@ステージ//Jump Through\n\ndefine Order Sprite by (z position)\nset [order i v] to [1]\nrepeat until <not <(z position) < (item (order i) of [z oeder v])>>\n    change [order i v] by (1)\nend\ninsert (z position) at (order i) of [z oeder v] \ngo [forward v] ((order i) - (1)) layers\n\nwhen I receive [tick-level v]\nif <(クローン識別) = []> then\n    🔍クローン可能な物を探す\nend\n\ndefine 🔘リスト追加　クローン (コスチューム) ｘ (ｘ) ｙ (ｙ)\nadd (ｘ) to [👻clone x\(through\) v]\nadd (ｙ) to [👻clone y\(through\) v]\nadd (コスチューム) to [👻clone costume\(through\) v]\n\ndefine 🔨リスト作成\n\n🔘リスト追加　クローン [1] ｘ [2150] ｙ [15]\n\ndefine 🔍クローン可能な物を探す\nset [👻リスト カウント\(through\) v] to [0]\nrepeat (length of [👻clone x\(through\) v])\n    change [👻リスト カウント\(through\) v] by (1)\n    if <([sqrt v] of ((((item (👻リスト カウント\(through\)) of [👻clone x\(through\) v]) - (*player X)) * ((item (👻リスト カウント\(through\)) of [👻clone x\(through\) v]) - (*player X))) + (((item (👻リスト カウント\(through\)) of [👻clone y\(through\) v]) - (*player Y)) * ((item (👻リスト カウント\(through\)) of [👻clone y\(through\) v]) - (*player Y)))) ) < [960]> then\n        if <not <[👻clone 状況\(through\) v] contains (👻リスト カウント\(through\))?>> then\n            set [clone id\(through\) v] to (👻リスト カウント\(through\))\n            add (👻リスト カウント\(through\)) to [👻clone 状況\(through\) v]\n            create clone of (_myself_ v)\n        end\n    end\nend\n\nwhen I receive [order splits v]\nOrder Sprite by [14]\n\nwhen I receive [tick-level v]\nswitch costume to (big v)\ngo to x: ((item (clone ID\(through\)) of [👻clone x\(through\) v]) - (*cam X)) y: ((item (clone ID\(through\)) of [👻clone y\(through\) v]) - (*cam Y))\nswitch costume to (item (clone ID\(through\)) of [👻clone costume\(through\) v])\n\nwhen I receive [back-setup v]\nset [ghost v] effect to (40)\nhide\nset [クローン識別 v] to []\ndelete all of [👻clone 状況\(through\) v]\ndelete all of [👻clone costume\(through\) v]\ndelete all of [👻clone y\(through\) v]\ndelete all of [👻clone x\(through\) v]\ndelete all of [z oeder v]\n🔨リスト作成\n\nwhen I start as a clone\nshow\nset [クローン識別 v] to [1]\nwait until <([sqrt v] of ((((item (clone ID\(through\)) of [👻clone x\(through\) v]) - (*player X)) * ((item (clone ID\(through\)) of [👻clone x\(through\) v]) - (*player X))) + (((item (clone ID\(through\)) of [👻clone y\(through\) v]) - (*player Y)) * ((item (clone ID\(through\)) of [👻clone y\(through\) v]) - (*player Y)))) ) > [960]>\ndelete (item # of (clone ID\(through\)) in [👻clone 状況\(through\) v]) of [👻clone 状況\(through\) v]\nwait () seconds\ndelete this clone\n\n@ステージ//collectibles\n\ndefine Order Sprite by (z position)\nset [order i v] to [1]\nrepeat until <not <(z position) < (item (order i) of [z oeder v])>>\n    change [order i v] by (1)\nend\ninsert (z position) at (order i) of [z oeder v] \ngo [forward v] ((order i) - (1)) layers\n\nwhen I receive [tick-level v]\nif <(クローン識別) = []> then\n    🔍クローン可能な物を探す\nend\n\ndefine 🔘リスト追加　クローン (コスチューム) ｘ (ｘ) ｙ (ｙ)\nadd (ｘ) to [💎clone x\(collect\) v]\nadd (ｙ) to [💎clone y\(collect\) v]\nadd (コスチューム) to [💎clone costume\(collect\) v]\n\ndefine 🔨リスト作成\n🔘リスト追加　クローン [1] ｘ [0] ｙ [-100]\n🔘リスト追加　クローン [1] ｘ [40] ｙ [-100]\n🔘リスト追加　クローン [1] ｘ [80] ｙ [-100]\n🔘リスト追加　クローン [1] ｘ [120] ｙ [-100]\n🔘リスト追加　クローン [1] ｘ [160] ｙ [-100]\n🔘リスト追加　クローン [1] ｘ [200] ｙ [-100]\n🔘リスト追加　クローン [1] ｘ [1500] ｙ [-255]\n🔘リスト追加　クローン [1] ｘ [1586] ｙ [-255]\n🔘リスト追加　クローン [1] ｘ [3656] ｙ [255]\n🔘リスト追加　クローン [1] ｘ [3696] ｙ [255]\n🔘リスト追加　クローン [1] ｘ [3736] ｙ [255]\n🔘リスト追加　クローン [1] ｘ [3776] ｙ [255]\n🔘リスト追加　クローン [1] ｘ [3816] ｙ [255]\n🔘リスト追加　クローン [1] ｘ [3856] ｙ [255]\n🔘リスト追加　クローン [1] ｘ [4230] ｙ [255]\n🔘リスト追加　クローン [1] ｘ [4270] ｙ [255]\n🔘リスト追加　クローン [1] ｘ [4310] ｙ [255]\n🔘リスト追加　クローン [1] ｘ [4350] ｙ [255]\n🔘リスト追加　クローン [1] ｘ [4390] ｙ [255]\n🔘リスト追加　クローン [1] ｘ [4280] ｙ [480]\n🔘リスト追加　クローン [1] ｘ [4320] ｙ [480]\n🔘リスト追加　クローン [1] ｘ [4360] ｙ [480]\n🔘リスト追加　クローン [1] ｘ [4400] ｙ [480]\n🔘リスト追加　クローン [1] ｘ [4440] ｙ [480]\n🔘リスト追加　クローン [Key 1] ｘ [1650] ｙ [-255]\n🔘リスト追加　クローン [Green Flag] ｘ [1547] ｙ [272]\n🔘リスト追加　クローン [goal] ｘ [4143] ｙ [500]\n\nwhen I start as a clone\nshow\nwait until <<touching (プレイヤー//game v)?> and <not <(costume [name v]) = [BIG]>>>\nif <(costume [number v]) = [1]> then\n    start sound [coin v]\n    change [コイン/coin v] by (1)\nelse\n    if <(costume [name v]) = [Green Flag]> then\n        start sound [Green Flag v]\n        set [spawn x v] to (item (clone ID \(collect\)) of [💎clone x\(collect\) v])\n        set [spawn y v] to (item (clone ID \(collect\)) of [💎clone y\(collect\) v])\n    else\n        if <(costume [name v]) = [goal]> then\n            start sound [Green Flag v]\n            set [spawn x v] to (item (clone ID \(collect\)) of [💎clone x\(collect\) v])\n            set [spawn y v] to (item (clone ID \(collect\)) of [💎clone y\(collect\) v])\n            set [★クリア？ v] to [1]\n        else\n            if <(costume [name v]) = [戻る]> then\n                start sound [Green Flag v]\n                set [spawn x v] to [-480]\n                set [spawn y v] to [50]\n                broadcast (Lose life v)\n            else\n                if <(costume [name v]) = [2024]> then\n                    start sound [Green Flag v]\n                    set [spawn x v] to [10000]\n                    set [spawn y v] to [152]\n                    broadcast (Lose life v)\n                else\n                    start sound [key v]\n                    add (costume [name v]) to [collected v]\n                end\n            end\n        end\n    end\nend\nrepeat (20)\n    replace item (clone ID \(collect\)) of [💎clone y\(collect\) v] with ((item (clone ID \(collect\)) of [💎clone y\(collect\) v]) + (2))\n    change [ghost v] effect by (5)\nend\nreplace item (clone ID \(collect\)) of [💎clone costume\(collect\) v] with []\nreplace item (clone ID \(collect\)) of [💎clone x\(collect\) v] with []\nreplace item (clone ID \(collect\)) of [💎clone y\(collect\) v] with []\ndelete this clone\n\ndefine 🔍クローン可能な物を探す\nset [💎リスト カウント\(collect\) v] to [0]\nrepeat (length of [💎clone x\(collect\) v])\n    change [💎リスト カウント\(collect\) v] by (1)\n    if <([sqrt v] of ((((item (💎リスト カウント\(collect\)) of [💎clone x\(collect\) v]) - (*player X)) * ((item (💎リスト カウント\(collect\)) of [💎clone x\(collect\) v]) - (*player X))) + (((item (💎リスト カウント\(collect\)) of [💎clone y\(collect\) v]) - (*player Y)) * ((item (💎リスト カウント\(collect\)) of [💎clone y\(collect\) v]) - (*player Y)))) ) < [960]> then\n        if <not <[💎clone 状況\(collect\) v] contains (💎リスト カウント\(collect\))?>> then\n            set [clone id \(collect\) v] to (💎リスト カウント\(collect\))\n            add (💎リスト カウント\(collect\)) to [💎clone 状況\(collect\) v]\n            set [frame v] to (pick random (1) to (1000))\n            create clone of (_myself_ v)\n        end\n    end\nend\n\nwhen I receive [order splits v]\nOrder Sprite by [0]\n\nwhen I receive [tick-level v]\nswitch costume to (big v)\ngo to x: ((item (clone ID \(collect\)) of [💎clone x\(collect\) v]) - (*cam X)) y: (((item (clone ID \(collect\)) of [💎clone y\(collect\) v]) + ((5) * ([sin v] of (frame) ))) - (*cam Y))\nswitch costume to (item (clone ID \(collect\)) of [💎clone costume\(collect\) v])\nchange [frame v] by (5)\n\nwhen I receive [collect-setup v]\nhide\nset [クローン識別 v] to []\nset [コイン/coin v] to [0]\ndelete all of [collected v]\ndelete all of [💎clone 状況\(collect\) v]\ndelete all of [💎clone costume\(collect\) v]\ndelete all of [💎clone y\(collect\) v]\ndelete all of [💎clone x\(collect\) v]\ndelete all of [z oeder v]\n🔨リスト作成\n\nwhen I start as a clone\nset [クローン識別 v] to [1]\nwait until <([sqrt v] of ((((item (clone ID \(collect\)) of [💎clone x\(collect\) v]) - (*player X)) * ((item (clone ID \(collect\)) of [💎clone x\(collect\) v]) - (*player X))) + (((item (clone ID \(collect\)) of [💎clone y\(collect\) v]) - (*player Y)) * ((item (clone ID \(collect\)) of [💎clone y\(collect\) v]) - (*player Y)))) ) > [960]>\ndelete (item # of (clone ID \(collect\)) in [💎clone 状況\(collect\) v]) of [💎clone 状況\(collect\) v]\nwait () seconds\ndelete this clone\n\n@ステージ//Level\n\ndefine Order Sprite by (z position)\nset [order i v] to [1]\nrepeat until <not <(z position) < (item (order i) of [z oeder v])>>\n    change [order i v] by (1)\nend\ninsert (z position) at (order i) of [z oeder v] \ngo [forward v] ((order i) - (1)) layers\n\nwhen I receive [tick-level v]\nif <(クローン識別) = []> then\n    🔍クローン可能な物を探す\nend\n\ndefine 🔘リスト追加　クローン (コスチューム) ｘ (ｘ) ｙ (ｙ)\nadd (ｘ) to [🖼️clone x\(level\) v]\nadd (ｙ) to [🖼️clone y\(level\) v]\nadd (コスチューム) to [🖼️clone costume\(level\) v]\n\ndefine 🔨リスト作成\n🔘リスト追加　クローン [1] ｘ [500] ｙ [-100]\n🔘リスト追加　クローン [2] ｘ [0] ｙ [-100]\n🔘リスト追加　クローン [3] ｘ [-560] ｙ [-100]\n🔘リスト追加　クローン [4] ｘ [1130] ｙ [-100]\n🔘リスト追加　クローン [5] ｘ [1600] ｙ [-100]\n🔘リスト追加　クローン [6] ｘ [2200] ｙ [-100]\n🔘リスト追加　クローン [7] ｘ [1500] ｙ [256]\n🔘リスト追加　クローン [8] ｘ [2600] ｙ [120]\n🔘リスト追加　クローン [9] ｘ [3800] ｙ [350]\n🔘リスト追加　クローン [2024] ｘ (() + (10000)) ｙ [0]\n🔘リスト追加　クローン [2024] ｘ ((-480) + (10000)) ｙ [50]\n🔘リスト追加　クローン [2024] ｘ ((480) + (10000)) ｙ [50]\n🔘リスト追加　クローン [Taco] ｘ ((-520) + (10000)) ｙ [50]\n🔘リスト追加　クローン [Taco] ｘ ((520) + (10000)) ｙ [50]\n\ndefine 🔍クローン可能な物を探す\nset [🖼️リスト カウント\(level\) v] to [0]\nrepeat (length of [🖼️clone x\(level\) v])\n    change [🖼️リスト カウント\(level\) v] by (1)\n    if <([sqrt v] of ((((item (🖼️リスト カウント\(Level\)) of [🖼️clone x\(level\) v]) - (*player X)) * ((item (🖼️リスト カウント\(Level\)) of [🖼️clone x\(level\) v]) - (*player X))) + (((item (🖼️リスト カウント\(Level\)) of [🖼️clone y\(level\) v]) - (*player Y)) * ((item (🖼️リスト カウント\(Level\)) of [🖼️clone y\(level\) v]) - (*player Y)))) ) < [960]> then\n        if <not <[🖼️clone 状況\(level\) v] contains (🖼️リスト カウント\(Level\))?>> then\n            set [clone id \(level\) v] to (🖼️リスト カウント\(Level\))\n            add (🖼️リスト カウント\(Level\)) to [🖼️clone 状況\(level\) v]\n            create clone of (_myself_ v)\n        end\n    end\nend\n\nwhen I receive [order splits v]\nOrder Sprite by [10]\n\nwhen I receive [tick-level v]\nswitch costume to (big v)\ngo to x: ((item (clone ID \(Level\)) of [🖼️clone x\(level\) v]) - (*cam X)) y: ((item (clone ID \(Level\)) of [🖼️clone y\(level\) v]) - (*cam Y))\nswitch costume to (item (clone ID \(Level\)) of [🖼️clone costume\(level\) v])\n\nwhen I receive [level-setup v]\nhide\nset [クローン識別 v] to []\ndelete all of [🖼️clone 状況\(level\) v]\ndelete all of [🖼️clone costume\(level\) v]\ndelete all of [🖼️clone y\(level\) v]\ndelete all of [🖼️clone x\(level\) v]\ndelete all of [z oeder v]\n🔨リスト作成\n\nwhen I start as a clone\nshow\nset [クローン識別 v] to [1]\nwait until <([sqrt v] of ((((item (clone ID \(Level\)) of [🖼️clone x\(level\) v]) - (*player X)) * ((item (clone ID \(Level\)) of [🖼️clone x\(level\) v]) - (*player X))) + (((item (clone ID \(Level\)) of [🖼️clone y\(level\) v]) - (*player Y)) * ((item (clone ID \(Level\)) of [🖼️clone y\(level\) v]) - (*player Y)))) ) > [960]>\ndelete (item # of (clone ID \(Level\)) in [🖼️clone 状況\(level\) v]) of [🖼️clone 状況\(level\) v]\nwait () seconds\ndelete this clone\n\n@ステージ//背景\n\ndefine Order Sprite by (z position)\nset [order i v] to [1]\nrepeat until <not <(z position) < (item (order i) of [z oeder v])>>\n    change [order i v] by (1)\nend\ninsert (z position) at (order i) of [z oeder v] \ngo [forward v] ((order i) - (1)) layers\n\nwhen I receive [order splits v]\nif <(costume [number v]) = [2]> then\n    Order Sprite by [95]\nelse\n    if <(costume [number v]) = [1]> then\n        Order Sprite by [100]\n    else\n        Order Sprite by [90]\n    end\nend\n\nwhen I receive [tick-level v]\nif <(costume [number v]) = [1]> then\n    set [brightness v] effect to ((item (current [hour v]) of [💡明るさ 数値 v]) - (100))\n    set [ghost v] effect to (((() - (item (current [hour v]) of [💡明るさ 数値 v])) + (1)) * (50))\nelse\n    set [brightness v] effect to (((item (current [hour v]) of [💡明るさ 数値 v]) - (10)) - (100))\n    set [ghost v] effect to (((() - (item (current [hour v]) of [💡明るさ 数値 v])) + (80)) / (3))\n    go to x: ((雲 X) - ((*cam X) / ((costume [number v]) * (1.5)))) y: ((雲 Y) - ((*cam Y) / ((costume [number v]) * (1.5))))\nend\nif <(costume [number v]) = [2]> then\n    go to x: (100) y: (-100)\n    point in direction ((timer) * (1.5))\n    set [brightness v] effect to (() - (item (current [hour v]) of [💡明るさ 数値 v]))\n    set [ghost v] effect to (item (current [hour v]) of [💡明るさ 数値 v])\nend\nchange [雲 x v] by ((costume [number v]) / (50))\nif <[750] < (雲 X)> then\n    set [雲 x v] to [-750]\nend\n\ndefine clone x (x) y (y)\nnext costume\nset [雲 x v] to ((x) * (1.5))\nset [雲 y v] to (((y) * (1.5)) - (100))\ncreate clone of (_myself_ v)\n\nwhen I receive [背景-setup v]\npoint in direction (90)\nswitch costume to (星2 v)\nclone x [0] y [0]\nclone x [455] y [324]\nclone x [254] y [63]\nclone x [308] y [206]\nclone x [-115] y [119]\nclone x [3] y [76]\nclone x [192] y [106]\nclone x [-495] y [389]\nclone x [223] y [211]\nclone x [-229] y [432]\nclone x [120] y [8]\nclone x [-120] y [43]\nclone x [358] y [276]\nclone x [-219] y [90]\ngo to x: (0) y: (0)\nset [雲 x v] to (x position)\nset [雲 y v] to (y position)\nswitch costume to (星 v)\ncreate clone of (_myself_ v)\ngo to x: (0) y: (0)\nset [雲 x v] to (x position)\nset [雲 y v] to (y position)\nswitch costume to (空 v)\n\nwhen I receive [10秒前 v]\ndelete this clone\n\nwhen I receive [10秒前 v]\nwait (0.1) seconds\nbroadcast (背景-Setup v)\nhide variable [タイム v]\n\n@ステージ//背景（山）\n\nwhen I receive [tick-level v]\ngo to x: ((((X) - ((*cam X) / (((5) - (index)) * (2)))) mod ((480) * (2))) - (480)) y: ((Y) - (((*cam Y) / ((5) - (index))) / (4)))\nset [brightness v] effect to ((-5) * (index))\n\ndefine setting background\nshow\nset [index v] to [0]\nrepeat (4)\n    set [x v] to ((index) * (145))\n    change [index v] by (1)\n    switch costume to (1 v)\n    set [y v] to [-50]\n    repeat (2)\n        create clone of (_myself_ v)\n        change [x v] by (480)\n        next costume\n    end\nend\nhide\n\nwhen I receive [start game v]\nsetting background\n\ndefine Order Sprite by (z position)\nset [order i v] to [1]\nrepeat until <not <(z position) < (item (order i) of [z oeder v])>>\n    change [order i v] by (1)\nend\ninsert (z position) at (order i) of [z oeder v] \ngo [forward v] ((order i) - (1)) layers\n\nwhen I receive [order splits v]\nOrder Sprite by [80]\n\n@カウントダウン//back\n\ndefine Order Sprite by (z position)\nset [order i v] to [1]\nrepeat until <not <(z position) < (item (order i) of [z oeder v])>>\n    change [order i v] by (1)\nend\ninsert (z position) at (order i) of [z oeder v] \ngo [forward v] ((order i) - (1)) layers\n\nwhen I receive [order splits v]\nOrder Sprite by [-900]\n\nwhen I receive [10秒前 v]\nrepeat (20)\n    change [ghost v] effect by (5)\nend\ndelete this clone\n\n@カウントダウン//単位\n\ndefine 表示:X: (x) Y: (y) size: (size)  文字列: (文字列)\ngo to x: (x) y: (y)\nset size to (size) %\nset [表示 : i v] to [1]\nswitch costume to (文字列)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nshow\n\nwhen flag clicked\nhide\n表示:X: [-180] Y: [135] size: [20]  文字列: [days]\n表示:X: [-80] Y: [135] size: [20]  文字列: [hours]\n表示:X: [30] Y: [135] size: [20]  文字列: [minutes]\n表示:X: [160] Y: [135] size: [20]  文字列: [seconds]\n\ndefine Order Sprite by (z position)\nset [order i v] to [1]\nrepeat until <not <(z position) < (item (order i) of [z oeder v])>>\n    change [order i v] by (1)\nend\ninsert (z position) at (order i) of [z oeder v] \ngo [forward v] ((order i) - (1)) layers\n\nwhen I receive [order splits v]\nOrder Sprite by [-1000]\n\nwhen I receive [10秒前 v]\nrepeat (20)\n    change [ghost v] effect by (5)\nend\ndelete this clone\n\n@カウントダウン//数字\n\nwhen flag clicked\nset y to (160)\nhide\nset size to (45) %\nclone　種類： [days] 個： [2]\nclone　種類： [hours] 個： [2]\nclone　種類： [minutes] 個： [2]\nclone　種類： [seconds] 個： [5]\n\nwhen I start as a clone\nshow\nif <(クローン 役割) = [days]> then\n    set [clone x v] to [-180]\nend\nif <(クローン 役割) = [hours]> then\n    set [clone x v] to [-80]\nend\nif <(クローン 役割) = [minutes]> then\n    set [clone x v] to [30]\nend\nif <(クローン 役割) = [seconds]> then\n    set [clone x v] to [200]\nend\nchange [clone x v] by (20)\nif <[2] < (clone ID)> then\n    set size to (20) %\nend\nforever\n    set [変更検知 v] to (clone 担当文字)\n    set [clone 担当文字 v] to (item ((item # of (クローン 役割) in [残り時間 v]) + (1)) of [残り時間 v])\n    if <not <(clone 担当文字) = (変更検知)>> then\n        if <not <(クローン 役割) = [seconds]>> then\n            set size to (60) %\n        end\n    end\n    コスチューム　セット\n    x座標　セット\n    サイズ　縮小\nend\n\ndefine clone　種類： (種類) 個： (個)\nset [クローン 役割 v] to (種類)\nset [clone id v] to [0]\nrepeat (個)\n    create clone of (_myself_ v)\n    change [clone id v] by (1)\nend\n\ndefine x座標　セット\nif <(クローン 役割) = [seconds]> then\n    set x to (((((clone ID) - (0.5)) - (((length of (round (clone 担当文字))) + (3)) / (2))) * ((size) / (1.7))) + (clone X))\nelse\n    set x to (((((clone ID) - (0.5)) - ((length of (clone 担当文字)) / (2))) * ((size) / (1.7))) + (clone X))\nend\n\ndefine コスチューム　セット\nswitch costume to (空 v)\nswitch costume to (letter ((clone ID) + (1)) of (clone 担当文字))\n\ndefine サイズ　縮小\nchange size by ((0.2) * ((45) - (size)))\n\ndefine Order Sprite by (z position)\nset [order i v] to [1]\nrepeat until <not <(z position) < (item (order i) of [z oeder v])>>\n    change [order i v] by (1)\nend\ninsert (z position) at (order i) of [z oeder v] \ngo [forward v] ((order i) - (1)) layers\n\nwhen I receive [order splits v]\nOrder Sprite by [-1000]\n\nwhen I receive [10秒前 v]\nrepeat (20)\n    change [ghost v] effect by (5)\nend\ndelete this clone\n\n@カウントダウン//あと何分\n\nwhen flag clicked\ndelete all of [残り時間 v]\nadd [days] to [残り時間 v]\nadd [] to [残り時間 v]\nadd [hours] to [残り時間 v]\nadd [] to [残り時間 v]\nadd [minutes] to [残り時間 v]\nadd [] to [残り時間 v]\nadd [seconds] to [残り時間 v]\nadd [] to [残り時間 v]\nforever\n    replace item (2) of [残り時間 v] with [0]\n    replace item (4) of [残り時間 v] with [0]\n    replace item (6) of [残り時間 v] with [0]\n    replace item (8) of [残り時間 v] with [0]\nend\n\nwhen flag clicked\nwait until <(item (2) of [残り時間 v]) = [0]>\nwait until <(item (4) of [残り時間 v]) = [0]>\nwait until <(item (6) of [残り時間 v]) = [0]>\nwait until <(item (8) of [残り時間 v]) = [10]>\nbroadcast (10秒前 v)\n\n@カウントダウン//現在時刻\n\nwhen flag clicked\nset [2000年からの日数 v] to (days since 2000)\n(days since 2000) を日,分,秒に分解する\nset [■utf+ v] to ((((current [date v]) - (#日)) * (24)) + ((current [hour v]) - (#時)))\nwait () seconds\nforever\n    set [2000年からの日数 v] to ((days since 2000) + ((■UTF+) / (24)))\n    ((days since 2000) + ((■UTF+) / (24))) を日,分,秒に分解する\n    現在の年計算\n    現在の月計算\nend\n\ndefine 現在の年計算\nset [現在の年計算 v] to ([floor v] of () )\nset [時間計算 : i v] to [0]\nrepeat until <([floor v] of (days since 2000) ) < (時間計算 : i)>\n    うるう年：判定\n    if <(うるう年:判定\(1.うるう年  0.平年\)) = [1]> then\n        change [時間計算 : i v] by (366)\n        change [現在の年計算 v] by (1)\n    else\n        change [時間計算 : i v] by (365)\n        change [現在の年計算 v] by (1)\n    end\nend\nset [#年 v] to ((現在の年計算) - (1))\n\ndefine (2000年からの日数) を日,分,秒に分解する\nset [#時 v] to ([floor v] of (((2000年からの日数) - ([floor v] of (2000年からの日数) )) * (24)) )\nset [#分 v] to ([floor v] of (((((2000年からの日数) - ([floor v] of (2000年からの日数) )) * (24)) - ([floor v] of (((2000年からの日数) - ([floor v] of (2000年からの日数) )) * (24)) )) * (60)) )\nset [#秒 v] to (([ceiling v] of ((((((((2000年からの日数) - ([floor v] of (2000年からの日数) )) * (24)) - ([floor v] of (((2000年からの日数) - ([floor v] of (2000年からの日数) )) * (24)) )) * (60)) - ([floor v] of (((((2000年からの日数) - ([floor v] of (2000年からの日数) )) * (24)) - ([floor v] of (((2000年からの日数) - ([floor v] of (2000年からの日数) )) * (24)) )) * (60)) )) * (60)) * (100)) ) / (100))\n\ndefine うるう年：判定\nif <((現在の年計算) mod (4)) = [0]> then\n    if <((現在の年計算) mod (100)) = [0]> then\n        if <((現在の年計算) mod (400)) = [0]> then\n            set [うるう年:判定\(1.うるう年  0.平年\) v] to [1]\n        end\n    else\n        set [うるう年:判定\(1.うるう年  0.平年\) v] to [1]\n    end\nelse\n    set [うるう年:判定\(1.うるう年  0.平年\) v] to [0]\nend\n\ndefine 現在の日計算\nset [#日 v] to ((xxxx年からの日数) - ((現在の月調べる) - (1)))\n\ndefine 現在の月計算\nうるう年：判定\nif <(うるう年:判定\(1.うるう年  0.平年\)) = [1]> then\n    set [時間計算 : i v] to ((時間計算 : i) - (366))\nelse\n    set [時間計算 : i v] to ((時間計算 : i) - (365))\nend\nset [xxxx年からの日数 v] to (([floor v] of (days since 2000) ) - (時間計算 : i))\nset [現在の月調べる v] to [0]\nset [時間計算 : i v] to [0]\nrepeat until <(xxxx年からの日数) < (現在の月調べる)>\n    change [時間計算 : i v] by (1)\n    if <(うるう年:判定\(1.うるう年  0.平年\)) = [1]> then\n        change [現在の月調べる v] by (item (時間計算 : i) of [月,日数\(うるう年\) v])\n    else\n        change [現在の月調べる v] by (item (時間計算 : i) of [月,日数\(平年\) v])\n    end\nend\nset [#月 v] to (時間計算 : i)\nif <(うるう年:判定\(1.うるう年  0.平年\)) = [1]> then\n    change [現在の月調べる v] by (() - (item (時間計算 : i) of [月,日数\(うるう年\) v]))\nelse\n    change [現在の月調べる v] by (() - (item (時間計算 : i) of [月,日数\(平年\) v]))\nend\n現在の日計算\n\n@UI//タボフィー\n\nwhen flag clicked\nforever\n    set [out v] to [0]\n    wait (0.001) seconds\n    if <[1] < (Out)> then\n        go to [front v] layer\n        show\n        play sound [mixkit-alert-alarm-1005 v] until done\n    else\n        hide\n    end\nend\n\nwhen flag clicked\ngo to [front v] layer\ngo to x: (0) y: (0)\nforever\n    change [out v] by (1)\nend\n\n@ツール//座標表示\n\nwhen flag clicked\nset [ghost v] effect to (40)\nforever\n    go to (mouse-pointer v)\n    if <key (0 v) pressed?> then\n        show\n        think (join (join [Ｘ:] ((*cam X) + (mouse x))) (join [  ] (join [Y:] ((*cam Y) + (mouse y)))))\n    else\n        hide\n        think []\n    end\nend\n\n@スティック\n\nwhen flag clicked\nshow\npoint in direction (90)\ngo to [front v] layer\nset size to (80) %\nset [ghost v] effect to (80)\nset [可動域 v] to ((size) / (2.5))\nset [有効範囲 v] to ((size) * (1.5))\nforever\n    switch costume to (ベース v)\n    go to x: (-162) y: (-100)\n    repeat until <not <mouse down?>>\n        _キー操作を検知する\n    end\n    repeat until <mouse down?>\n        _キー操作を検知する\n    end\n    if <(distance to [mouse-pointer v]) < (有効範囲)> then\n        スティックを有効化する\n    end\nend\n\ndefine _キー操作を検知する\nset [★スティックx v] to <<key (right arrow v) pressed?> or <key (d v) pressed?>>\nchange [★スティックx v] by ((0) - <<key (left arrow v) pressed?> or <key (a v) pressed?>>)\nset [★スティックy v] to <<key (up arrow v) pressed?> or <key (w v) pressed?>>\nchange [★スティックy v] by ((0) - <<key (down arrow v) pressed?> or <key (s v) pressed?>>)\nif <key (space v) pressed?> then\n    change [★スティックボタン v] by (1)\nelse\n    set [★スティックボタン v] to []\nend\n\ndefine スティックを有効化する\ngo to (mouse-pointer v)\nswitch costume to (待機中 v)\ncreate clone of (_myself_ v)\nswitch costume to (スティック v)\ncreate clone of (_myself_ v)\nswitch costume to (ベース有効状態 v)\nset [★スティックボタン v] to []\nrepeat until <(distance to [mouse-pointer v]) > (有効範囲)>\n    _スティック操作を検知する\n    _タップを検知する\nend\nbroadcast (スティックを無効化します v)\n\ndefine _スティック操作を検知する\nset [★スティックx v] to (((mouse x) - (x position)) / (可動域))\nset [★スティックy v] to (((mouse y) - (y position)) / (可動域))\nif <([abs v] of (★スティックX) ) > [1]> then\n    set [★スティックx v] to ((★スティックX) / ([abs v] of (★スティックX) ))\nend\nif <([abs v] of (★スティックY) ) > [1]> then\n    set [★スティックy v] to ((★スティックY) / ([abs v] of (★スティックY) ))\nend\n\ndefine _タップを検知する\nif <mouse down?> then\n    if <(★スティックボタン) > []> then\n        change [★スティックボタン v] by (1)\n    end\nelse\n    set [★スティックボタン v] to [0]\nend\n\nwhen I receive [スティックを無効化します v]\ndelete this clone\n\nwhen I start as a clone\nif <(costume [name v]) = [スティック]> then\n    go [forward v] (1) layers\n    set [ghost v] effect to (0)\n    forever\n        go to (スティック v)\n        change x by ((★スティックX) * (可動域))\n        change y by ((★スティックY) * (可動域))\n    end\nend\ngo to x: (162) y: (-100)\nwait until <not <mouse down?>>\nswitch costume to (ベース有効状態 v)\nforever\n    if <mouse down?> then\n        set [ghost v] effect to (25)\n    else\n        set [ghost v] effect to (75)\n    end\nend\n\n@サムネ\n\nwhen flag clicked\nhide\n\ngo to [front v] layer\nshow\n\n