山のプラットフォーマー /mountain platformer

Instructions: 矢印キー、wasdで操作です\n天気がランダムで変わります(雨か晴れ)\nバグがあったら教えてください\nOperation with arrow key and w,a,s,d key.\nThe weather changes randomly (rain or sunny)\nPlease let me know if you have a bug.

@Stage\n\nwhen I receive [スタート v]\nforever\n    play sound (pick random (1) to (4)) until done\nend\n\n@NEXT\n\nwhen flag clicked\nhide\n\nwhen I receive [ネクスト v]\nstart sound [ヴぉん v]\ngo to [front v] layer\nshow\ngo to x: (465) y: (0)\nglide (0.2) secs to x: (0) y: (0)\nwait (0.6) seconds\nglide (0.2) secs to x: (-465) y: (0)\nhide\n\n@ステージ\n\nwhen I receive [スタート v]\nshow\nforever\n    switch costume to (ステージ)\nend\n\nwhen flag clicked\nhide\nset [ステージ v] to [1]\n\nwhen I receive [ネクスト v]\nchange [ステージ v] by (1)\n\nwhen flag clicked\nforever\n    if <(ステージ) = [21]> then\n        switch backdrop to (1 v)\n    end\n    if <(ステージ) = [39]> then\n        switch backdrop to (1 v)\n    end\nend\n\n@プラフォ\n\ndefine 初期設定プログラム\nshow\nset [x v] to [0]\nset [y v] to [0]\nset rotation style [left-right v]\ngo to x: (-210) y: (-30)\nset size to (90) %\nswitch costume to (みぎ v)\n\nwhen flag clicked\nhide\n\nwhen I receive [スタート v]\nshow\n初期設定プログラム\nforever\n    if <<key (right arrow v) pressed?> or <<<mouse down?> and <(x position) < (mouse x)>> or <key (d v) pressed?>>> then\n        switch costume to (みぎ v)\n        change [x v] by (1)\n    end\n    if <<key (left arrow v) pressed?> or <<<mouse down?> and <(mouse x) < (x position)>> or <key (a v) pressed?>>> then\n        switch costume to (ひだり v)\n        change [x v] by (-1)\n    end\n    set [x v] to ((X) * (0.89))\n    change x by (X)\n    if <touching (ステージ v)?> then\n        change y by (1)\n        if <touching (ステージ v)?> then\n            change y by (1)\n            if <touching (ステージ v)?> then\n                change y by (1)\n                if <touching (ステージ v)?> then\n                    change y by (1)\n                    if <touching (ステージ v)?> then\n                        change y by (1)\n                        if <touching (ステージ v)?> then\n                            change y by (-5)\n                            change x by ((X) * (-1))\n                            if <<key (up arrow v) pressed?> or <<<mouse down?> and <(y position) < (mouse y)>> or <key (w v) pressed?>>> then\n                                if <(X) < [0]> then\n                                    start sound [壁キック v]\n                                    set [x v] to [10]\n                                else\n                                    start sound [壁キック v]\n                                    set [x v] to [-10]\n                                end\n                                set [y v] to [15]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [y v] by (-0.9)\n    change y by (Y)\n    if <touching (ステージ v)?> then\n        change y by ((Y) * (-1))\n        set [y v] to [0]\n    end\n    change y by (-1)\n    if <<key (up arrow v) pressed?> or <<<mouse down?> and <(y position) < (mouse y)>> or <key (w v) pressed?>>> then\n        if <touching (ステージ v)?> then\n            start sound [可愛いジャンプ v]\n            set [y v] to [15]\n        end\n    end\n    change y by (1)\n    if <[242] < (x position)> then\n        初期設定プログラム\n        broadcast (ネクスト v)\n        wait (1.3) seconds\n    end\n    if <<(y position) < [-180]> and <not <(ステージ) = [17]>>> then\n        start sound [Sneeze2 v]\n        初期設定プログラム\n    end\n    if <touching (トゲ v)?> then\n        start sound [Sneeze2 v]\n        初期設定プログラム\n    end\n    if <<(y position) < [-180]> and <(ステージ) = [17]>> then\n        start sound [Sneeze2 v]\n        broadcast (隠し発見!! v)\n        初期設定プログラム\n    end\nend\n\nwhen I receive [スタート v]\nforever\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nswitch costume to (コスチューム3 v)\nrepeat (6)\n    change size by (-6)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\nwhen flag clicked\nhide\n\nwhen I receive [スタート v]\nhide variable [☁ 世界記録 v]\nhide variable [time v]\nset [time v] to [0]\nrepeat until <(ステージ) = [19]>\n    wait (1) seconds\n    change [time v] by (1)\nend\n\nwhen flag clicked\nbroadcast (スタート v)\n\nwhen flag clicked\nwait until <(ステージ) = [19]>\nshow variable [time v]\nforever\n    if <(time) < (☁ 世界記録)> then\n        set [☁ 世界記録 v] to (time)\n    end\nend\n\nwhen flag clicked\nset [ステージ v] to [1]\n\n@サムネ\n\nwhen flag clicked\ngo to x: (10) y: (-30)\nset size to (110) %\nswitch costume to (サムネ v)\nset [ghost v] effect to (100)\nforever\n    go to [front v] layer\nend\n\n@トゲ\n\nwhen flag clicked\nhide\n\nwhen I receive [スタート v]\npoint in direction (90)\nshow\ngo to [back v] layer\nforever\n    switch costume to (ステージ)\n    if <(ステージ) = [12]> then\n    if <(ステージ) = [13]> then\n        point in direction (90)\n    end\n    if <(ステージ) = [32]> then\n        turn right (-5) degrees\n    end\n    if <(ステージ) = [33]> then\n        point in direction (90)\n    end\nend\n\nturn right (-10) degrees\n\n@スプライト1\n\nwhen flag clicked\nhide\ngo to [back v] layer\nif <(天気) = [2]> then\n    switch costume to (コスチューム2 v)\n    forever\n        create clone of (_myself_ v)\n        wait (pick random (0.3) to (0.4)) seconds\n    end\nelse\n    switch costume to (コスチューム1 v)\n    forever\n        create clone of (_myself_ v)\n        wait (pick random (0.5) to (0.8)) seconds\n    end\nend\n\nwhen I start as a clone\nshow\ngo to x: (250) y: (pick random (120) to (150))\nset size to (pick random (70) to (100)) %\nrepeat (50)\n    change x by (-10)\nend\ndelete this clone\n\n@看板\n\nwhen flag clicked\ngo to [back v] layer\nforever\n    if <(ステージ) = [1]> then\n        show\n    else\n        hide\n    end\nend\n\n@雨\n\nwhen flag clicked\nset [天気 v] to (pick random (1) to (2))\nif <(天気) = [2]> then\n    hide\n    forever\n        create clone of (_myself_ v)\n        wait (pick random () to (0.3)) seconds\n    end\nelse\n    broadcast (くぁすぇｄｆｒｔｇｙふじこｌｐ v)\nend\n\nwhen I start as a clone\ngo to [back v] layer\nshow\ngo to x: (pick random (-300) to (300)) y: (130)\nrepeat until <<(y position) = [-200]> or <(y position) > [200]>>\n    change y by (-10)\nend\ndelete this clone\n\n@スプライト3\n\nwhen flag clicked\nforever\n    change [ターボ対策 v] by (1)\nend\n\nwhen flag clicked\nforever\n    set [ターボ対策 v] to [0]\n    wait (0.01) seconds\n    if <[3] < (ターボ対策)> then\n        show\n        stop [all v]\n    else\n        hide\n    end\nend\n\n@スプライト2\n\nwhen I receive [くぁすぇｄｆｒｔｇｙふじこｌｐ v]\nshow\ngo to x: (220) y: (170)\nset size to (100) %\nset [\(゜∀。\)ﾜﾋｬﾋｬﾋｬﾋｬﾋｬﾋｬ v] to [0]\nforever\n    go to [back v] layer\n    change [\(゜∀。\)ﾜﾋｬﾋｬﾋｬﾋｬﾋｬﾋｬ v] by (5)\n    change size by ([sin v] of (\(゜∀。\)ﾜﾋｬﾋｬﾋｬﾋｬﾋｬﾋｬ) )\nend\n\nwhen flag clicked\nhide\n\n