Growing - A Difficult Platformer

Instructions: Now Mobile-Friendly after a request by @SuperMinion5!\nPlease don't comment about how hard the game is, I will delete comments which say that.\nIf you say how to skip levels I will also delete those comments. I just changed the skip code so no one can comment it.\n16 levels have been made!\nBy the way thanks for all the great comments and feedback everybody! \nWhen you start, choose whether you want high-quality or low-quality graphics. This will affect how much lag you get.\nMost of the instructions are in the game. Other instructions are here.\nPress the r key to restart the level.\nAnother platformer: https://scratch.mit.edu/projects/308866818/\nIf you hover over the "surfing Scratch cat" in the corner, you will see that my username is there so no one can copy this project without giving credit. (The credit will still be there)\nP.S. On the level with the secret passage don't press the up arrow because you will go straight to the ceiling and will have to restart the level.\nDo not try to wall jump on the level with the secret passage! There will be a glitch and you will have to restart the level.\nFullscreen not recommended due to lag. (Lots of clones are made.)\n16 levels ready!

@Stage\n\nwhen I receive [next lvl v]\nnext backdrop\n\nwhen flag clicked\nswitch backdrop to (1 v)\n\nwhen I receive [end v]\nswitch backdrop to (backdrop1 v)\nwait (3) seconds\nshow variable [restarts v]\nstop [all v]\n\nwhen I receive [start v]\nforever\n    play sound [Alan Walker - Fade \[NCS Release\] v] until done\nend\n\nwhen I receive [lq graphics v]\nforever\n    play sound [Alan Walker - Fade \[NCS Release\] v] until done\nend\n\nwhen flag clicked\nrepeat (2)\n    play sound [Trailer Intro Music - 'Royal Rumble' \(Intro B - 10 seconds\) v] until done\nend\n\n@cube\n\ndefine touching ground\nchange [falling? v] by (1)\nrepeat until <not <touching color (#000000)?>>\n    change y by (1)\n    set [falling? v] to [0]\n    set [speed y v] to [0]\nend\n\ndefine walk (direction) (speed)\npoint in direction (direction)\nchange x by (speed)\nset [slope v] to [0]\nrepeat until <<(slope) = [8]> or <not <touching color (#000000)?>>>\n    change y by (1)\n    change [slope v] by (1)\nend\nif <(slope) = [8]> then\n    change x by ((0) - (speed))\n    change y by ((0) - (slope))\nend\n\nwhen flag clicked\nset [lvl v] to [1]\nforever\n    if <(x position) > [230]> then\n        broadcast (next lvl v)\n        change [lvl v] by (1)\n    end\nend\n\nwhen I receive [next lvl v]\nstart sound [Connect v]\nchange size by (6)\ngo to x: (-215) y: (-61)\n\nwhen flag clicked\ngo to x: (-215) y: (-61)\nhide\nforever\n    if <(y position) < [-180]> then\n        start sound [Oops v]\n        change [deaths v] by (1)\n        go to x: (-215) y: (-61)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(size) = [196]> then\n        start sound [Win v]\n        broadcast (end v)\n        say [Nice job! The word indicating you won is: Studio ] for (2) seconds\n        stop [other scripts in sprite v]\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching color (#ff0000)?> then\n        start sound [Oops v]\n        switch backdrop to (1 v)\n        set size to (100) %\n        set [lvl v] to [1]\n        change [deaths v] by (1)\n        go to x: (-215) y: (-61)\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching color (#00fff2)?> then\n        set [speed y v] to [20]\n    end\nend\n\nwhen [r v] key pressed\ngo to x: (-215) y: (-61)\nchange [restarts v] by (1)\n\nwhen I receive [start v]\nset [deaths v] to [0]\nset [@skip? v] to [1]\nhide variable [restarts v]\nset drag mode [not draggable v]\nshow\nset size to (100) %\ngo to x: (-215) y: (-61)\nset [speed y v] to [0]\nforever\n    set rotation style [left-right v]\n    if <<<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > [90]>>> and <(falling?) < [3]>> then\n        set [speed y v] to [13.5]\n    end\n    if <<key (right arrow v) pressed?> or <<mouse down?> and <(mouse x) > [125]>>> then\n        walk [90] [4]\n    end\n    if <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) < [-125]>>> then\n        walk [-90] [-4]\n    end\n    change [speed y v] by (-1)\n    change y by (speed y)\n    touching ground\nend\n\nwhen I receive [lq graphics v]\nset [@skip? v] to [1]\nhide variable [restarts v]\nset drag mode [not draggable v]\nshow\nset size to (100) %\ngo to x: (-215) y: (-61)\nset [speed y v] to [0]\nforever\n    set rotation style [left-right v]\n    if <<<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > [90]>>> and <(falling?) < [3]>> then\n        set [speed y v] to [13.5]\n    end\n    if <<key (right arrow v) pressed?> or <<mouse down?> and <(mouse x) > [125]>>> then\n        walk [90] [4]\n    end\n    if <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) < [-125]>>> then\n        walk [-90] [-4]\n    end\n    change [speed y v] by (-1)\n    change y by (speed y)\n    touching ground\nend\n\nwhen I receive [secret skip v]\nchange size by (6)\ngo to x: (-215) y: (61)\nchange [lvl v] by (1)\nnext backdrop\n\n@thumbnail\n\nwhen flag clicked\nforever\n    show\n    go to [front v] layer\n    go to x: (0) y: (0)\n    set [ghost v] effect to (100)\nend\n\n@trail\n\nwhen I start as a clone\nrepeat (20)\n    change size by (-5)\n    change [ghost v] effect by (5)\nend\ndelete this clone\n\nwhen I receive [end v]\nhide\n\nwhen I receive [start v]\nforever\n    create clone of (_myself_ v)\nend\n\nwhen I receive [start v]\nshow\nforever\n    go to (cube v)\n    go to [back v] layer\nend\n\nwhen I receive [lq graphics v]\nhide\nstop [other scripts in sprite v]\nstop [this script v]\n\n@Egg\n\nwhen flag clicked\nset [ghost v] effect to (80)\nforever\n    if <(lvl) = [8]> then\n        go to x: (-195) y: (170)\n        show\n        if <touching (cube v)?> then\n            start sound [Tada v]\n            say [You found the Easter Egg! Please don't say where you found it since I want it to be a surprise. The word indicating you found it is: backdrop] for (8) seconds\n            hide\n            stop [this script v]\n        end\n    else\n        hide\n    end\nend\n\n@graphics quality\n\nwhen flag clicked\ngo to x: (0) y: (0)\nshow\n\nwhen I receive [lq graphics v]\nhide\n\nwhen I receive [start v]\nhide\n\n@HQ\n\nwhen flag clicked\ngo to x: (-132) y: (-40)\nshow\n\nwhen I receive [lq graphics v]\nhide\n\nwhen this sprite clicked\nbroadcast (Start v)\nhide\n\n@LQ\n\nwhen flag clicked\ngo to x: (132) y: (-40)\nshow\n\nwhen this sprite clicked\nbroadcast (LQ Graphics v)\nhide\n\nwhen I receive [start v]\nhide\n\n@taupuri1 presents\n\nwhen flag clicked\ngo to x: (0) y: (0)\nshow\ngo to [front v] layer\nwait (3) seconds\nrepeat (100)\n    wait (0.02) seconds\n    change [ghost v] effect by (1)\nend\nhide\n\n@intro part 2\n\nwhen flag clicked\ngo to x: (0) y: (0)\nshow\ngo to [front v] layer\ngo [backward v] (1) layers\nwait (12.5) seconds\nrepeat (100)\n    wait (0.01) seconds\n    change [ghost v] effect by (1)\nend\nhide\n\n@Surfing cat!\n\nwhen flag clicked\nswitch costume to (12a v)\nset volume to (0) %\nhide\n\nwhen I receive [lq graphics v]\ngo to [front v] layer\nshow\nforever\n    switch costume to (12a v)\n    set [ghost v] effect to (33)\n    go to x: (206) y: (144)\n    wait until <touching (mouse-pointer v)?>\n    repeat (11)\n        next costume\n        change [ghost v] effect by (-3)\n    end\n    wait until <not <touching (mouse-pointer v)?>>\n    repeat (12)\n        next costume\n        change [ghost v] effect by (3)\n    end\nend\n\nwhen I receive [start v]\ngo to [front v] layer\nshow\nforever\n    switch costume to (12a v)\n    set [ghost v] effect to (33)\n    go to x: (206) y: (144)\n    wait until <touching (mouse-pointer v)?>\n    repeat (11)\n        next costume\n        change [ghost v] effect by (-3)\n    end\n    wait until <not <touching (mouse-pointer v)?>>\n    repeat (12)\n        next costume\n        change [ghost v] effect by (3)\n    end\nend\n\n