SAKURA Platformer　桜プラットフォーマー！

Instructions: https://scratch.mit.edu/projects/843673701/\n\n矢印キーで操作！モバイル対応！\nOperate with arrow keys! Mobile ready!\n\n動きは非量産だけど中身は量産です((

@Stage\n\nwhen I receive [桜 v]\nforever\n    if <(pick random (1) to (2)) = [2]> then\n        play sound [Tobu - Candyland \[NCS Release\] v] until done\n    else\n        play sound [RetroVision - Puzzle \[NCS Release\] v] until done\n    end\nend\n\nwhen I receive [桜 v]\nset [time v] to [0]\nrepeat until <(STAGE) = [9]>\n    wait (0.1) seconds\n    change [time v] by (0.1)\nend\n\n@スプライト1\n\n@ステージ\n\nwhen flag clicked\n\nwhen I receive [死 v]\nrepeat (5)\n    go to x: (pick random (2) to (-2)) y: (pick random (2) to (-2))\nend\ngo to x: (0) y: (0)\n\nwhen I receive [死2 v]\nrepeat (5)\n    go to x: (pick random (2) to (-2)) y: (pick random (2) to (-2))\nend\ngo to x: (0) y: (0)\n\nwhen I receive [桜 v]\nset [stage v] to [1]\nshow\ngo to x: (0) y: (0)\nswitch costume to (コスチューム1 v)\nforever\n    go to [front v] layer\n    switch costume to (STAGE)\nend\n\nchange [stage v] by (-1)\n\n@目玉くん2\n\ndefine y (y)\nrepeat until <not <touching (ステージ v)?>>\n    change y by (y)\nend\n\ndefine 初期位置\npoint in direction (90)\nset [x v] to [0]\nset [y v] to [0]\ngo to [front v] layer\nset rotation style [left-right v]\ngo to x: (-200) y: (0)\nshow\n\nwhen I receive [プログラム v]\ngo to [back v] layer\nswitch costume to (通常2 v)\nset [動作 v] to [◯]\n初期位置\nforever\n    go to [front v] layer\n    if <(動作) = [◯]> then\n        change [x v] by (<<key (right arrow v) pressed?> or <<key (d v) pressed?> or <<mouse down?> and <(x position) < (mouse x)>>>> - <<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>>>)\n        if <<key (right arrow v) pressed?> or <<key (d v) pressed?> or <<mouse down?> and <(x position) < (mouse x)>>>> then\n            point in direction (90)\n        end\n        if <<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>>> then\n            point in direction (-90)\n        end\n    end\n    set [x v] to ((x) * (0.88))\n    change x by (x)\n    if <touching (ステージ v)?> then\n        x (((x) / ([abs v] of (x) )) * (-1))\n        if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(x position) < (mouse x)>>>> then\n            set [y v] to [10]\n            if <(direction) = [90]> then\n                set [x v] to [-9]\n            else\n                set [x v] to [9]\n            end\n        else\n            set [x v] to [0]\n        end\n    end\n    if <not <touching (水 v)?>> then\n        if <not <<<(y position) < [-183]> or <touching (針くん v)?>> or <touching (magma v)?>>> then\n            change [y v] by (-1)\n            if <(y) < [-19]> then\n                set [y v] to [-20]\n            end\n            change y by (y)\n        end\n    end\n    change y by (1)\n    if <touching (ステージ v)?> then\n        if <(y) = [0]> then\n            y [1]\n        else\n            y (((y) / ([abs v] of (y) )) * (-1))\n        end\n        if <(y) < [0]> then\n            set [y v] to [0]\n            if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(x position) < (mouse x)>>>> then\n                if <(y) = [0]> then\n                    start sound [JUMP v]\n                    set [y v] to [13]\n                end\n            end\n        else\n            set [y v] to [-1]\n        end\n    end\n    if <[220] < (x position)> then\n        start sound [next v]\n        初期位置\n        broadcast (next v)\n    end\n    if <<touching (針くん v)?> or > then\n        set [動作 v] to [×]\n        if <(direction) = [90]> then\n            set [90: v] to [90]\n        end\n        if <(direction) = [-90]> then\n            set [90: v] to [-90]\n        end\n        broadcast (死 v)\n        stop [this script v]\n    end\n    if <(y position) < [-183]> then\n        start sound [死 v]\n        set [動作 v] to [×]\n        broadcast (死2 v)\n        stop [this script v]\n    end\n    if <touching (バネ v)?> then\n        start sound [JUMP v]\n        set [y v] to [10]\n        if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(x position) < (mouse x)>>>> then\n            start sound [JUMP v]\n            set [y v] to [18]\n        end\n    end\nend\n\nwhen I receive [死 v]\nstart sound [死 v]\nset [動作 v] to [×]\nif <(direction) = [90]> then\n    set [90: v] to [90]\nend\nif <(direction) = [-90]> then\n    set [90: v] to [-90]\nend\nif <(90:) = [90]> then\n    set rotation style [left-right v]\n    point in direction (90)\n    set rotation style [all around v]\n    set [死:x v] to [0]\n    set [死*y v] to [0]\n    set [死*y v] to [12]\n    clear graphic effects\n    repeat (20)\n        change [死*y v] by (-1)\n        change y by (死*y)\n        change [死:x v] by (-0.2)\n        change x by (死:x)\n        change [ghost v] effect by (5)\n    end\n    wait (0.5) seconds\n    初期位置\n    repeat (10)\n        change [ghost v] effect by (-10)\n    end\n    clear graphic effects\n    set [動作 v] to [◯]\n    broadcast (プログラム v)\nend\n\nwhen I receive [死 v]\nif <(90:) = [90]> then\n    repeat (10)\n        turn left ((死*y) / (3)) degrees\n    end\nend\n\nwhen I receive [死 v]\nif <(90:) = [-90]> then\n    repeat (10)\n        turn right ((死*y) / (3)) degrees\n    end\nend\n\nwhen I receive [死 v]\nset [動作 v] to [×]\nif <(direction) = [90]> then\n    set [90: v] to [90]\nend\nif <(direction) = [-90]> then\n    set [90: v] to [-90]\nend\nif <(90:) = [-90]> then\n    set rotation style [left-right v]\n    point in direction (-90)\n    set rotation style [all around v]\n    set [死:x v] to [0]\n    set [死*y v] to [0]\n    set [死*y v] to [12]\n    clear graphic effects\n    repeat (20)\n        change [死*y v] by (-1)\n        change y by (死*y)\n        change [死:x v] by (0.2)\n        change x by (死:x)\n        change [ghost v] effect by (5)\n    end\n    wait (0.5) seconds\n    初期位置\n    repeat (10)\n        change [ghost v] effect by (-10)\n    end\n    clear graphic effects\n    set [動作 v] to [◯]\n    broadcast (プログラム v)\n    switch costume to (死 v)\nend\n\nwhen I receive [死2 v]\nclear graphic effects\nset [ghost v] effect to (100)\n初期位置\nwait (0.5) seconds\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nshow\nset [動作 v] to [◯]\nbroadcast (プログラム v)\n\nwhen flag clicked\nbroadcast (プログラム v)\n\nwhen I receive [next v]\nchange [stage v] by (1)\n\nwhen I receive [プログラム v]\nforever\n    set [プレイヤーx v] to (x position)\n    set [プレイヤーy v] to (y position)\nend\n\ndefine x (x)\nrepeat until <not <touching (ステージ v)?>>\n    change x by (x)\nend\n\n@針くん\n\nwhen I receive [プログラム v]\nshow\ngo to [back v] layer\n\nwhen I receive [桜 v]\nshow variable [time v]\nshow\ngo to x: (0) y: (0)\nswitch costume to (コスチューム1 v)\nforever\n    switch costume to (STAGE)\nend\n\n@桜\n\nwhen I receive [桜 v]\nforever\n    hide\n    wait (pick random (0.1) to (1)) seconds\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\npoint in direction (90)\ngo to x: (pick random (230) to (-230)) y: (200)\nshow\nrepeat until <<touching (ステージ v)?> or <<[-179] > (y position)> or <<(x position) > [240]> or <[-240] > (x position)>>>>\n    turn right (-2) degrees\n    change y by (-2)\n    change x by (-0.5)\nend\ndelete this clone\n\nwhen flag clicked\nbroadcast (桜 v)\n\n@雲\n\nwhen I receive [プログラム v]\nhide\nforever\n    wait (pick random (5) to (10)) seconds\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\npoint in direction (90)\nshow\nset y to (pick random (120) to (140))\nset x to (286)\nrepeat until <(x position) < [-240]>\n    change x by (-2)\nend\ndelete this clone\n\nwhen I start as a clone\nrepeat until <(x position) < [-240]>\n    if <(pick random (1) to (4)) = [1]> then\n        turn right (([cos v] of (cos) ) * (1)) degrees\n        change [cos v] by (30)\n    end\nend\ndelete this clone\n\n@スプライト3\n\nwhen I receive [プログラム v]\ngo to [front v] layer\nset [cos v] to [0]\ngo to x: (224) y: (163)\nset size to (150) %\nshow\nforever\n    change size by ([sin v] of ((cos) * (1)) )\n    change [cos v] by (3)\nend\n\nwhen flag clicked\nhide\n\n@magma\n\nwhen I receive [プログラム v]\nshow\ngo to [back v] layer\n\nwhen I receive [桜 v]\nset [magma v] to [0]\nshow\ngo to x: (0) y: (0)\nswitch costume to (コスチューム1 v)\nforever\n    switch costume to (STAGE)\n    set y to (magma)\nend\n\nwhen I receive [桜 v]\nforever\n    set [magma v] to [0]\n    repeat (10)\n        change [magma v] by (1)\n    end\n    repeat (20)\n        change [magma v] by (-1)\n    end\n    repeat (10)\n        change [magma v] by (1)\n    end\nend\n\n@作務寐\n\nwhen flag clicked\ngo to [front v] layer\nhide\n\n