scroll cave platformer!　(スクロール洞窟プラットフォーマー)

Instructions: 日本語は下だよ(読まないと損するよ)\n(English)\nI operate it with arrow key\nWe jump over a splinter, and let's advance!\nBecause there is the lava(？), let's be careful\nThere is a hidden stage\n(日本語)\n矢印キーで操作\nトゲを飛び越えてすすもう！\n溶岩(？)もあるから気をつけよう\n隠しステージがあるよ\n今回もいろいろな仕掛けがあるよ

@Stage\n\nwhen flag clicked\nswitch backdrop to (背景2 v)\n\n@プレイヤー\n\nwhen flag clicked\nshow\ngo to [back v] layer\ngo [forward v] (1) layers\npoint in direction (1)\nset [y v] to [0]\nset [x v] to [0]\nset [視点y v] to [0]\nset [視点x v] to [0]\nset [復活x v] to [0]\nset [復活y v] to [0]\ngo to x: (0) y: (0)\nset rotation style [left-right v]\nforever\n    動き\nend\n\ndefine 動き\nif <(動き) = [0]> then\n    if <<<(mouse x) > [0]> and <mouse down?>> or <<key (d v) pressed?> or <key (right arrow v) pressed?>>> then\n        point in direction (1)\n        change [x v] by (1)\n    end\n    if <<<[0] > (mouse x)> and <mouse down?>> or <<key (a v) pressed?> or <key (left arrow v) pressed?>>> then\n        point in direction (-1)\n        change [x v] by (-1)\n    end\n    set [加速速度 v] to [0.9]\n    set [x v] to ((x) * (加速速度))\n    change x by (x)\n    repeat (15)\n        if <touching (地面 v)?> then\n            change y by (1)\n        end\n    end\n    if <touching (地面 v)?> then\n        壁\n    end\n    set [重力 v] to [-1]\n    change [y v] by (重力)\n    change y by (y)\n    if <touching (地面 v)?> then\n        床\n    end\n    change y by (重力)\nend\nif <touching (地面 v)?> then\n    if <<<mouse down?> and <[0] < (mouse y)>> or <<key (w v) pressed?> or <key (up arrow v) pressed?>>> then\n        start sound [Jump v]\n        set [y v] to [15]\n    end\n    if <<<mouse down?> and <(mouse y) < [0]>> or <<key (s v) pressed?> or <key (down arrow v) pressed?>>> then\n        switch costume to (player2 v)\n    else\n        switch costume to (player v)\n    end\nend\nchange y by (1)\nif <<touching (障害物 v)?> or <(視点y) < [-300]>> then\n    start sound [Pew v]\n    broadcast (もう一回 v)\nend\nif <touching (バネ v)?> then\n    start sound [Jump v]\n    set [y v] to [20]\nend\n\ndefine 床\nrepeat until <not <touching (地面 v)?>>\n    change y by ((((0) - (y)) / ([abs v] of (y) )) * ([abs v] of (重力) ))\nend\nset [y v] to [0]\n\ndefine 壁\nchange y by (-15)\nrepeat until <not <touching (地面 v)?>>\n    change x by (([floor v] of (((0) - (x)) / ([abs v] of (x) )) ) * ([abs v] of (加速速度) ))\nend\nif <<<mouse down?> and <[0] < (mouse y)>> or <<key (w v) pressed?> or <key (up arrow v) pressed?>>> then\n    start sound [Jump v]\n    set [y v] to [15]\n    set [x v] to ((((0) - (x)) / ([abs v] of (x) )) * (7))\nelse\n    set [x v] to [0]\nend\n\nwhen flag clicked\nforever\n    if <[0] < (x)> then\n        change [視点x v] by ([ceiling v] of ((x position) / (10)) )\n    else\n        change [視点x v] by ([floor v] of ((x position) / (10)) )\n    end\n    change [視点y v] by ([floor v] of ((y position) / (5)) )\n    set [視点y v] to ((視点y) + (5))\n    if <[0] < (x)> then\n        change x by ([floor v] of (((0) - (x position)) / (10)) )\n    else\n        change x by ([ceiling v] of (((0) - (x position)) / (10)) )\n    end\n    change y by ([ceiling v] of (((0) - (y position)) / (5)) )\n    set y to ((y position) - (5))\nend\n\nwhen I receive [もう一回 v]\npoint in direction (1)\nset [y v] to [0]\nset [x v] to [0]\nset [視点y v] to (復活y)\nset [視点x v] to (復活x)\ngo to x: (0) y: (0)\nset rotation style [left-right v]\n\nwhen flag clicked\nforever\n    if <touching (ゴール v)?> then\n        broadcast (メッセージ1 v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (ゴール v)?> then\n        hide variable [time v]\n    end\nend\n\nwhen flag clicked\nshow variable [time v]\n\nwhen [timer v] > (0.01)\nhide\n\nwhen flag clicked\nforever\n    if <touching color (#549a10)?> then\n        broadcast (クリア v)\n    end\nend\n\nwhen I receive [クリア v]\nhide\n\nwhen I receive [クリア v]\nif <(time) < (☁ World record)> then\n    set [☁ world record v] to (time)\nend\n\nset [☁ world record v] to [999]\n\nwhen flag clicked\nforever\n    if <touching (障害物3 v)?> then\n        broadcast (やったね v)\n    end\nend\n\nwhen I receive [やったね v]\npoint in direction (1)\nset [y v] to [0]\nset [x v] to [0]\nset [視点y v] to [0]\nset [視点x v] to [-2000]\ngo to x: (0) y: (0)\nset rotation style [left-right v]\n\n@地面\n\ndefine 動き (x) (y) (コスチューム)\nswitch costume to (消去しないで下さい。 v)\ngo to x: ((x) - (視点x)) y: ((y) - (視点y))\nswitch costume to (コスチューム)\nif <<([abs v] of ((y) - (視点y)) ) > ([abs v] of (y position) )> or <([abs v] of ((x) - (視点x)) ) > ([abs v] of (x position) )>> then\n    hide\nelse\n    show\nend\n\nwhen flag clicked\ndelete all of [地面x v]\ndelete all of [地面y v]\ndelete all of [コスチューム v]\nswitch costume to (コスチューム1 v)\n配置 [0] [0] [1]\n配置 [500] [0] [2]\n配置 [1000] [0] [3]\n配置 [1500] [0] [4]\n配置 [2000] [0] [5]\n配置 [2500] [0] [6]\n配置 [3000] [0] [7]\n配置 [3500] [0] [8]\n配置 [4000] [0] [9]\n配置 [4500] [0] [10]\n配置 [-2000] [0] [11]\nhide\n\nwhen I start as a clone\n動き (item (a) of [地面x v]) (item (a) of [地面y v]) (item (a) of [コスチューム v])\nbroadcast (a v)\n\ndefine 配置 (x) (y) (コスチューム)\nswitch costume to ((コスチューム) + (1))\ngo to x: ((x) - (視点x)) y: ((y) - (視点y))\nadd (x) to [地面x v]\nadd (y) to [地面y v]\nadd ((コスチューム) + (1)) to [コスチューム v]\n\ndefine ブロック名\nset [a v] to [0]\nrepeat (length of [コスチューム v])\n    change [a v] by (1)\n    create clone of (_myself_ v)\nend\n\nwhen flag clicked\nforever\n    ブロック名\nend\n\nwhen I receive [a v]\nwait (0) seconds\ndelete this clone\n\nwhen I receive [クリア v]\nchange [ghost v] effect by (100)\n\nwhen I receive [クリア v]\nhide\n\n@障害物\n\ndefine 動き (x) (y) (コスチューム)\nswitch costume to (消去しないで下さい。 v)\ngo to x: ((x) - (視点x)) y: ((y) - (視点y))\nif <<([abs v] of ((y) - (視点y)) ) > ([abs v] of (y position) )> or <([abs v] of ((x) - (視点x)) ) > ([abs v] of (x position) )>> then\n    hide\nelse\n    show\nend\nswitch costume to (コスチューム)\n\nwhen flag clicked\ndelete all of [障害物x v]\ndelete all of [障害物y v]\ndelete all of [コスチューム v]\nswitch costume to (コスチューム1 v)\n配置 [0] [0] [1]\n配置 [500] [0] [2]\n配置 [1000] [0] [3]\n配置 [1500] [0] [4]\n配置 [2000] [0] [5]\n配置 [2500] [0] [6]\n配置 [3000] [0] [7]\n配置 [3500] [0] [8]\n配置 [4000] [0] [9]\n配置 [4500] [0] [10]\n配置 [5000] [0] [11]\n配置 [5500] [0] [12]\nhide\n\nwhen I start as a clone\n動き (item (a) of [障害物x v]) (item (a) of [障害物y v]) (item (a) of [コスチューム v])\n\ndefine 配置 (x) (y) (コスチューム)\nswitch costume to (コスチューム)\ngo to x: ((x) - (視点x)) y: ((y) - (視点y))\nadd (x) to [障害物x v]\nadd (y) to [障害物y v]\nadd ((コスチューム) + (1)) to [コスチューム v]\n\nwhen flag clicked\nforever\n    ブロック名\nend\n\ndefine ブロック名\nset [a v] to [0]\nrepeat (length of [コスチューム v])\n    change [a v] by (1)\n    create clone of (_myself_ v)\nend\n\nwhen I receive [a v]\nwait (0) seconds\ndelete this clone\n\nwhen flag clicked\ngo to [back v] layer\n\nwhen I receive [クリア v]\nhide\n\n@障害物2\n\ndefine 動き (x) (y) (コスチューム)\ngo to [back v] layer\nswitch costume to (消去しないで下さい。 v)\ngo to x: ((x) - (視点x)) y: ((y) - (視点y))\nif <<([abs v] of ((y) - (視点y)) ) > ([abs v] of (y position) )> or <([abs v] of ((x) - (視点x)) ) > ([abs v] of (x position) )>> then\n    hide\nelse\n    show\nend\nswitch costume to (コスチューム)\n\nwhen flag clicked\ndelete all of [障害物x v]\ndelete all of [障害物y v]\ndelete all of [コスチューム v]\nswitch costume to (コスチューム1 v)\n配置 [0] [0] [1]\n配置 [500] [0] [2]\n配置 [1000] [0] [3]\n配置 [1500] [0] [4]\n配置 [2000] [0] [5]\n配置 [2500] [0] [6]\n配置 [3000] [0] [7]\n配置 [3500] [0] [8]\n配置 [4000] [0] [9]\n配置 [4500] [0] [10]\n配置 [5000] [0] [11]\n配置 [5500] [0] [12]\n配置 [-2000] [0] [12]\nhide\n\nwhen I start as a clone\n動き (item (a) of [障害物x v]) (item (a) of [障害物y v]) (item (a) of [コスチューム v])\nif <<[5] < (costume [number v])> and <(costume [number v]) < [10]>> then\n    set [brightness v] effect to (() - ([abs v] of ((20) * ([sin v] of ((0.5) * ((days since 2000) * (10000000))) )) ))\nend\nif <touching (プレイヤー v)?> then\n    if <(costume [number v]) = [11]> then\n        broadcast (クリア v)\n    end\nend\n\ndefine 配置 (x) (y) (コスチューム)\nswitch costume to (コスチューム)\ngo to x: ((x) - (視点x)) y: ((y) - (視点y))\nadd (x) to [障害物x v]\nadd (y) to [障害物y v]\nadd ((コスチューム) + (1)) to [コスチューム v]\n\nwhen flag clicked\nforever\n    ブロック名\nend\n\ndefine ブロック名\nset [a v] to [0]\nrepeat (length of [コスチューム v])\n    change [a v] by (1)\n    create clone of (_myself_ v)\nend\n\nwhen I receive [a v]\nwait (0) seconds\ndelete this clone\n\nwhen flag clicked\nwait (0.000000001) seconds\ngo to [back v] layer\n\nwhen I receive [クリア v]\nforever\n    hide\n    stop [all v]\nend\n\n@　\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nforever\n    play sound [Overwatch Victory Theme  v] until done\nend\n\nwhen I receive [クリア v]\nset [brightness v] effect to (100)\nset [ghost v] effect to (80)\nshow\nrepeat (50)\n    change [brightness v] effect by (-2)\n    change [ghost v] effect by (-2)\nend\n\nwhen flag clicked\nforever\n    reset timer\nend\n\nwhen [timer v] > (0.01)\nshow\n\nwhen flag clicked\nset [time v] to [0]\nforever\n    wait (1) seconds\n    change [time v] by (1)\nend\n\n@障害物3\n\ndefine 動き (x) (y) (コスチューム)\nswitch costume to (消去しないで下さい。 v)\ngo to x: ((x) - (視点x)) y: ((y) - (視点y))\nif <<([abs v] of ((y) - (視点y)) ) > ([abs v] of (y position) )> or <([abs v] of ((x) - (視点x)) ) > ([abs v] of (x position) )>> then\n    hide\nelse\n    show\nend\nswitch costume to (コスチューム)\n\nwhen flag clicked\ndelete all of [障害物x v]\ndelete all of [障害物y v]\ndelete all of [コスチューム v]\nswitch costume to (コスチューム1 v)\n配置 [1500] [0] [1]\nhide\n\nwhen I start as a clone\n動き (item (a) of [障害物x v]) (item (a) of [障害物y v]) (item (a) of [コスチューム v])\n\ndefine 配置 (x) (y) (コスチューム)\nswitch costume to (コスチューム)\ngo to x: ((x) - (視点x)) y: ((y) - (視点y))\nadd (x) to [障害物x v]\nadd (y) to [障害物y v]\nadd ((コスチューム) + (1)) to [コスチューム v]\n\nwhen flag clicked\nforever\n    ブロック名\nend\n\ndefine ブロック名\nset [a v] to [0]\nrepeat (length of [コスチューム v])\n    change [a v] by (1)\n    create clone of (_myself_ v)\nend\n\nwhen I receive [a v]\nwait (0) seconds\ndelete this clone\n\nwhen flag clicked\ngo to [back v] layer\n\nwhen I receive [クリア v]\nhide\n\n