Rainbow— A Scrolling Platformer

Instructions: (Entry of amazng-c0der 80+ FOLLOWERS contest)\nPOV: Save 2 coming is out!\nhttps://scratch.mit.edu/projects/654865765/\nMar, 03, 2022: 13.4k views OOOOOO\n450 LOVES AND 400 FAVORITES!\n3th trending all and 3th tending games!!!!!!!!!\nPOV: I have 1553 messages, and growing fast!\nMar, 05, 2022: 52.1k views OOOOOOOOOOO\n1840 LOVES AND 1620 FAVORITES!!!!!!!!!!!!!\n6TH TRENDING ALL AND GAMES! WHAT THE COMMUNITY IS LOVING!\nPOV: I HAVE ALMOST 6000 MESSAGES!\nMar, 09, 2022: 114K VIEWSSSSSS!!!!!\n4000 LOVES AND 3500 FAVORITES OOOOOOOOO\n7TH TRENDING ALL AND 4TH TRENDING GAMES!!!!!!\nMar, 12, 2022: 140K VIEWS OMG\n4700 LOVES!!!! 4100 FAVORITES!!!!\nFollow, love and fav for more!\nMy first official platformer!\n18 Levels\nAvoid spikes and saws, and lava\nFight the boss and save your parents!\nHope you enjoy!\nWorld record and time playing\n13 sprites, 42 scripts, 498 blocks, 90 assets\nArrow keys, WASD or mobile controls to move\nMute/Unmute music\nTo defeat the boss, touch the orange thing\nMusic: Jim Yosef & Alex Skrindo - Ruby [NCS Release]

@Stage\n\nwhen flag clicked\nforever\n    play sound [smb_main-theme v] until done\nend\n\n@敵\n\nwhen flag clicked\nset [数 v] to [0]\nset [ステージ v] to [1]\nhide\n\nwhen I start as a clone\nchange [数 v] by (1)\nset [止める? v] to [0]\nswitch costume to (コスチューム1 v)\nset [y v] to [0]\nset [x v] to [0]\ngo to x: (150) y: (50)\nshow\nforever\n    if <(止める?) = [0]> then\n        set rotation style [left-right v]\n        if <not <touching (地面 v)?>> then\n            change [y v] by (-1)\n        end\n        set [借2 v] to (y)\n        change y by (借2)\n        if <touching (地面 v)?> then\n            set [y v] to [0]\n        else\n            change y by (y)\n        end\n        change y by ((0) - (借2))\n        if <([x position v] of [自分 v]) > (x position)> then\n            point in direction (90)\n            change [x v] by (0.5)\n        end\n        if <(x position) > ([x position v] of [自分 v])> then\n            point in direction (-90)\n            change [x v] by (-0.5)\n        end\n        set [借2 v] to (x)\n        change x by (借2)\n        if <touching (地面 v)?> then\n            change y by (15)\n            if <touching (地面 v)?> then\n                change y by (-15)\n            else\n                坂を登る\n            end\n        else\n            change x by (借2)\n        end\n        change x by ((0) - (借2))\n        set [x v] to ((x) * (0.9))\n    end\nend\n\nwhen I start as a clone\ngo to [front v] layer\nforever\n    if <(止める?) = [0]> then\n        wait (pick random (0.5) to (2)) seconds\n        change y by (-3)\n        if <touching (地面 v)?> then\n            if <(size) = [250]> then\n                set [y v] to [16]\n            else\n                set [y v] to [12]\n            end\n        end\n        change y by (3)\n    end\nend\n\ndefine 坂を登る\nif <(止める?) = [0]> then\n    change y by (-15)\n    repeat (15)\n        change y by (1)\n        if <not <touching (地面 v)?>> then\n            change x by (x)\n            stop [this script v]\n        end\n    end\nend\n\nwhen I start as a clone\nif <(size) = [250]> then\n    set [hp v] to [3]\nelse\n    set [hp v] to [1]\nend\nforever\n    if <(止める?) = [0]> then\n        if <<touching (自分 v)?> and <<[-5] > (Y)> or <<(size) = [250]> and <[0] > (Y)>>>> then\n            set [y v] to [10]\n            start sound [ポフ v]\n            change [hp v] by (-1)\n            if <[1] > (HP)> then\n                switch costume to (コスチューム2 v)\n                set [止める? v] to [1]\n                repeat (5)\n                    change [ghost v] effect by (20)\n                end\n                change [数 v] by (-1)\n                delete this clone\n            end\n            wait (0.05) seconds\n        end\n    end\nend\n\nwhen I receive [スタート地点 v]\ndelete this clone\n\nwhen I receive [次のステージ v]\ndelete this clone\n\nwhen I receive [スタート地点 v]\nwait (0.1) seconds\nset [数 v] to [0]\nif <not <(ステージ) = [10]>> then\n    if <(ステージ) = [8]> then\n        set size to (100) %\n        repeat (4)\n            create clone of (_myself_ v)\n            wait (0.5) seconds\n        end\n    else\n        if <(ステージ) = [9]> then\n            set size to (260) %\n            create clone of (_myself_ v)\n            wait (1) seconds\n            create clone of (_myself_ v)\n        else\n            set size to (100) %\n            create clone of (_myself_ v)\n        end\n    end\nend\n\nwhen I receive [削除 v]\nstop [this script v]\n\nwhen I receive [削除 v]\nset [止める? v] to [1]\n\nforever\n\nwhen I receive [スタート地点 v]\nif <(ステージ) = [7]> then\n    repeat (1)\n        wait (0.5) seconds\n        create clone of (_myself_ v)\n    end\nend\n\n@棘\n\nwhen flag clicked\nforever\n    go to [back v] layer\n    if <(ステージ) = [2]> then\n        go to x: (0) y: (-45)\n        switch costume to (コスチューム1 v)\n        show\n    else\n        if <(ステージ) = [3]> then\n            go to x: (0) y: (-45)\n            switch costume to (コスチューム2 v)\n            show\n        else\n            if <(ステージ) = [6]> then\n                go to x: (-10) y: (108)\n                switch costume to (コスチューム6 v)\n                show\n            else\n                hide\n                if <(ステージ) = [4]> then\n                    switch costume to (コスチューム3 v)\n                    go to x: (0) y: (-45)\n                    show\n                else\n                    hide\n                end\n            end\n        end\n    end\nend\n\n@自分\n\nwhen flag clicked\nbroadcast (スタート地点 v)\nforever\n    if <(動ける?) = [0]> then\n        if <not <touching (地面 v)?>> then\n            change [y v] by (-1)\n        end\n        set [借 v] to (Y)\n        change y by (借)\n        if <touching (地面 v)?> then\n            set [y v] to [0]\n        else\n            change y by (Y)\n        end\n        change y by ((0) - (借))\n        change y by (-5)\n        if <<touching (地面 v)?> and <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>>> then\n            start sound [ジャンプ２ v]\n            set [y v] to [15]\n        end\n        change y by (5)\n        if <mouse down?> then\n            if <(mouse x) > ((x position) + (20))> then\n                change [x v] by (1)\n            end\n            if <((x position) - (20)) > (mouse x)> then\n                change [x v] by (-1)\n            end\n        else\n            if <key (right arrow v) pressed?> then\n                change [x v] by (1)\n            end\n            if <key (left arrow v) pressed?> then\n                change [x v] by (-1)\n            end\n        end\n        change y by (1)\n        set [借 v] to (X)\n        change x by (借)\n        if <touching (地面 v)?> then\n            change y by (15)\n            if <touching (地面 v)?> then\n                change y by (-15)\n                change y by (-7)\n                set [x v] to [0]\n                if <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>> then\n                    start sound [ジャンプ２ v]\n                    set [y v] to [12]\n                    if <mouse down?> then\n                        if <(mouse x) > ((x position) + (20))> then\n                            set [x v] to [-8]\n                        end\n                        if <((x position) - (20)) > (mouse x)> then\n                            set [x v] to [8]\n                        end\n                    else\n                        if <key (right arrow v) pressed?> then\n                            set [x v] to [-8]\n                        end\n                        if <key (left arrow v) pressed?> then\n                            set [x v] to [8]\n                        end\n                    end\n                end\n                change y by (7)\n            else\n                坂を登る\n            end\n        else\n            change x by (X)\n        end\n        change x by ((0) - (借))\n        change y by (-1)\n        set [x v] to ((X) * (0.9))\n    end\nend\n\nwhen I receive [スタート地点 v]\nset [y v] to [0]\nset [x v] to [0]\ngo to x: (-180) y: (50)\n\ndefine 坂を登る\nchange y by (-15)\nrepeat (15)\n    change y by (1)\n    if <not <touching (地面 v)?>> then\n        change x by (X)\n        stop [this script v]\n    end\nend\n\nwhen I receive [スタート地点 v]\nset [動ける? v] to [0]\nset [ghost v] effect to (0)\nshow\nwait until <<(数) = [0]> and <(x position) > [235]>>\nbroadcast (次のステージ v)\n\nwhen I receive [次のステージ v]\nhide\nbroadcast (スタート地点 v)\n\nwhen I receive [スタート地点 v]\nforever\n    change y by (15)\n    if <touching (敵 v)?> then\n        set [動ける? v] to [1]\n        change y by (-15)\n        start sound [smb_mariodies v]\n        broadcast (削除 v)\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        broadcast (スタート地点 v)\n        stop [this script v]\n    end\n    change y by (-15)\n    if <touching (棘 v)?> then\n        set [動ける? v] to [1]\n        start sound [smb_mariodies v]\n        broadcast (削除 v)\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        broadcast (スタート地点 v)\n        stop [this script v]\n    end\nend\n\n@スプライト1\n\nwhen flag clicked\nforever\n    if <(ステージ) = [7]> then\n        wait (1) seconds\n        repeat (1)\n            create clone of (敵 v)\n        end\n        wait (0.0001) seconds\n        stop [this script v]\n    end\nend\n\n@地面\n\nwhen flag clicked\nswitch costume to (コスチューム1 v)\nforever\n    go to x: (0) y: (0)\nend\n\nwhen I receive [次のステージ v]\nchange [ステージ v] by (1)\nnext costume\n\n@スプライト3\n\nwhen flag clicked\nset [ghost v] effect to (100)\n\nwhen I receive [ゴール v]\nclear graphic effects\n\n