Popcornia: a Platformer

Instructions: Use arrow keys to move the player. Press r to restart and s to skip! Have fun!\n\nSummary:\n Popcornia is a world of popcorn! (Surprise surprise.) You must find the Kernel of Destiny and avoid obstacles along the way!\n\nALL LEVELS ARE POSSIBLE\n\nComment if you want a sequel

@Stage\n\nwhen flag clicked\nforever\n    play sound [bensound-buddy.mp3 v] until done\nend\n\n@PLAYER\n\nwhen I receive [next level v]\nswitch costume to (stare v)\ngo to x: (-226) y: (-30)\n\nwhen I start as a clone\nshow\nset [ghost v] effect to (0)\nset size to (100) %\nrepeat (10)\n    change size by (-10)\n    change [ghost v] effect by (13)\nend\nhide\ndelete this clone\n\nwhen I receive [death v]\ngo to x: (-226) y: (-30)\nwait (0.3) seconds\nchange [deaths v] by (1)\n\nwhen flag clicked\nswitch costume to (stare v)\nhide\n\nwhen flag clicked\nswitch backdrop to (backdrop0.5 v)\nshow\ngo to x: (-210) y: (200)\nhide variable [score v]\nset [score v] to [0]\nset [my variable v] to [0]\nset [yv v] to [0]\nforever\n    if <key (right arrow v) pressed?> then\n        switch costume to (right v)\n        change [my variable v] by (0.7)\n    end\n    if <key (left arrow v) pressed?> then\n        switch costume to (left v)\n        change [my variable v] by (-0.7)\n    end\n    set [my variable v] to ((my variable) * (0.9))\n    change x by (my variable)\n    if <touching (level v)?> then\n        change y by (1)\n        if <touching (level v)?> then\n            change y by (1)\n            if <touching (level v)?> then\n                change y by (1)\n                if <touching (level v)?> then\n                    change y by (1)\n                    if <touching (level v)?> then\n                        change y by (1)\n                        if <touching (level v)?> then\n                            change x by ((my variable) * (-1))\n                            change y by (-5)\n                            if <key (up arrow v) pressed?> then\n                                if <(my variable) > [0]> then\n                                    set [my variable v] to [-1]\n                                else\n                                    set [my variable v] to [5]\n                                end\n                                set [yv v] to [10]\n                            else\n                                set [my variable v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [yv v] by (-1)\n    change y by (Yv)\n    if <touching (level v)?> then\n        change y by ((Yv) * (-1))\n        set [yv v] to [0]\n    end\n    change y by (-1)\n    if <touching (level v)?> then\n        if <key (up arrow v) pressed?> then\n            start sound [Jump v]\n            switch costume to (stare v)\n            set [yv v] to [11]\n        end\n    end\n    change y by (1)\n    if <touching (next level v)?> then\n        broadcast (Next level v)\n        start sound [Coin v]\n    end\n    if <<touching (spikes v)?> or <touching (lava rises v)?>> then\n        start sound [Low Whoosh v]\n        switch costume to (stare v)\n        broadcast (death v)\n    end\n    if <touching (trampoline  v)?> then\n        start sound [Boing v]\n        set [yv v] to [15]\n    end\nend\n\nwhen flag clicked\nforever\n    create clone of (_myself_ v)\nend\n\nwhen flag clicked\n\nwhen flag clicked\nforever\n    if <key (r v) pressed?> then\n        go to x: (-210) y: (200)\n    end\n    if <key (s v) pressed?> then\n        wait (0.2) seconds\n        go to x: (242) y: (160)\n        change [skips v] by (1)\n    end\nend\n\nwhen flag clicked\nset [deaths v] to [0]\nset [skips v] to [0]\n\nwhen flag clicked\nhide variable [deaths v]\nhide variable [skips v]\nwait (1) seconds\nshow variable [deaths v]\nshow variable [skips v]\n\nwhen flag clicked\nforever\n    if <(Skips) > [15]> then\n        if <key (s v) pressed?> then\n            stop [all v]\n        end\n    end\nend\n\n@Spikes\n\nwhen I receive [next level v]\nwait (0.1) seconds\nnext costume\n\nwhen flag clicked\nswitch costume to (costume1 v)\nshow\n\nwhen flag clicked\ngo to x: (0) y: (-137)\nforever\n    repeat (10)\n        change y by (0.5)\n    end\n    repeat (10)\n        change y by (-0.5)\n    end\nend\n\n@THUMBNAIL\n\nwhen flag clicked\nset [ghost v] effect to (100)\nforever\n    go to [front v] layer\nend\n\n@Next level\n\nwhen flag clicked\nforever\n    if <touching (player v)?> then\n        broadcast (Next level v)\n    end\nend\n\nwhen I receive [next level v]\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\nwhen I receive [next level v]\nwait (0.1) seconds\nnext costume\n\n@Level Words\n\nwhen I receive [start v]\ngo to [front v] layer\n\nwhen flag clicked\nswitch costume to (costume1 v)\nshow\n\nwhen I receive [next level v]\nwait (0.1) seconds\nnext costume\n\n@Sprite1\n\nwhen flag clicked\nforever\n    go to [back v] layer\nend\n\nwhen flag clicked\nswitch costume to (costume1 v)\nshow\n\nwhen I receive [next level v]\nwait (0.1) seconds\nnext costume\n\n@Sprite2\n\nwhen flag clicked\nswitch costume to (costume1 v)\nforever\n    if <(Deaths) > [-1]> then\n        show\n    else\n        hide\n    end\nend\n\nwhen flag clicked\nset size to (100) %\n\nwhen I receive [next level v]\nwait (0.1) seconds\nnext costume\n\n@Level\n\nwhen I receive [next level v]\nswitch backdrop to (backdrop1 v)\n\nwhen flag clicked\nswitch costume to (costume1 v)\nshow\n\nwhen I receive [next level v]\nwait (0.1) seconds\nnext costume\n\n@Sprite7\n\n