~Blue - a platformer~

Instructions: ~~~~~~~~~~MY FIRST PLATFORMER!!!~~~~~~~~~~\n\n                Use arrow keys, WAD or, touchscreen.\n          Almost all the instructions are in the game but I \n             will tell you that at the top left, there are two \n               buttons, a skip button and a retry button.\n             Please write in the comments what I should \n                        improve and I'll try to do that!!!\n\n            We need to get this platformer top loved?\n\n                                Have fun playing!!!

@Stage\n\nwhen flag clicked\nswitch backdrop to (backdrop1 v)\n\nwhen I receive [new level v]\nnext backdrop\n\nwhen I receive [flag v]\nnext backdrop\n\nwhen I receive [go v]\nforever\n    play sound [Music v] until done\nend\n\n@Player\n\nwhen flag clicked\nhide\nswitch costume to (plain v)\n\ndefine Start\nset [jump v] to [14]\nset [speed v] to [1]\ngo to x: (-220) y: (37)\nshow\nforever\n    if on edge, bounce\n    go to [front v] layer\n    set [player: y v] to [0]\n    set [player: x v] to [0]\n    forever\n        change [player: y v] by (-1)\n        set [player: x v] to ((Player: x) * (0.9))\n        if <<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<(x position) > (mouse x)> and <mouse down?>>>> then\n            switch costume to (plain2 v)\n            change [player: x v] by (join [-] (speed))\n        end\n        if <<key (right arrow v) pressed?> or <<key (d v) pressed?> or <<(mouse x) > (x position)> and <mouse down?>>>> then\n            switch costume to (plain v)\n            change [player: x v] by ([abs v] of (speed) )\n        end\n        change x by (Player: x)\n        if  then\n            change y by (1)\n        end\n        if  then\n            change y by (1)\n        end\n        if  then\n            change y by (1)\n        end\n        if  then\n            change y by (1)\n        end\n        if  then\n            change y by (-4)\n            change x by ((Player: x) * (-1))\n            if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<(mouse y) > (y position)> and <mouse down?>>>> then\n                set [player: y v] to [10]\n                if <([abs v] of (Player: x) ) = (Player: x)> then\n                    set [player: x v] to [-4]\n                else\n                    set [player: x v] to [4]\n                end\n            else\n                set [player: x v] to [0]\n            end\n        end\n        change y by (Player: y)\n        if  then\n            change y by ((Player: y) - ((Player: y) * (2)))\n            set [player: y v] to [0]\n        end\n        change y by (-1)\n        if <<<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<(mouse y) > (y position)> and <mouse down?>>>> and <<touching (level v)?> or <touching (players v)?>>> then\n            set [player: y v] to ((jump) * (1.1))\n        end\n        change y by (1)\n        if <(x position) > [230]> then\n            broadcast (New Level v)\n            repeat (5)\n                change [ghost v] effect by (20)\n            end\n            go to x: (-220) y: (-37)\n            wait until <not <(x position) > [230]>>\n        end\n        if <<touching (spikes v)?> or <(y position) < [-170]>> then\n            go to x: (-220) y: (-37)\n        end\n        change y by (-1)\n        if <<<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<(mouse y) > (y position)> and <mouse down?>>>> and > then\n            set [player: y v] to [16]\n        end\n        change y by (1)\n        if <touching (bounce pads v)?> then\n            set [player: y v] to [22]\n        end\n    end\nend\n\nwhen I start as a clone\nnext costume\nclear graphic effects\nset size to (150) %\nrepeat (10)\n    change [brightness v] effect by (3)\n    change [ghost v] effect by (10)\n    change size by (-1)\nend\ndelete this clone\n\nwhen flag clicked\nforever\n    create clone of (_myself_ v)\nend\n\nwhen I receive [flag v]\ngo to x: (-220) y: (-37)\n\nwhen I receive [retry v]\ngo to x: (-220) y: (-37)\n\nwhen I receive [the end v]\nhide\n\nwhen I receive [go v]\nStart\n\n@Level\n\nwhen flag clicked\nswitch costume to (cartoon-nature-landscape-game-background-vector-grass-forest-mountains-sky-layers-70098703 v)\n\nwhen I receive [new level v]\nnext costume\nchange [level v] by (1)\n\nwhen I receive [flag v]\nnext costume\nchange [level v] by (1)\n\nwhen flag clicked\nhide\nset [level v] to [1]\n\nwhen flag clicked\nforever\n    if <(Level) = [11]> then\n        broadcast (THE END v)\n    end\nend\n\nwhen I receive [go v]\nshow\n\n@Spikes\n\nwhen flag clicked\nset [level v] to [1]\nswitch costume to (costume1 v)\n\nwhen I receive [new level v]\nnext costume\n\nwhen I receive [flag v]\nnext costume\n\n@Bounce pads\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\nwhen I receive [new level v]\nnext costume\n\nwhen I receive [flag v]\nnext costume\n\n@Thumbnail\n\nwhen [timer v] > (0.1)\nbroadcast (stop v)\ngo to x: (0) y: (0)\ngo to [front v] layer\nset [ghost v] effect to (100)\nshow\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\n\nwhen flag clicked\nhide\nforever\n    reset timer\nend\n\n@Cool backdrop\n\nwhen I start as a clone\nshow\ngo to [back v] layer\nset [ghost v] effect to (pick random (40) to (90))\nset size to (pick random (40) to (80)) %\ngo to x: (240) y: (pick random (180) to (-180))\nglide (pick random (1) to (3)) secs to x: (-240) y: (pick random (180) to (-180))\ndelete this clone\n\nwhen I start as a clone\nforever\n    if <key (p v) pressed?> then\n        hide\n        delete this clone\n    end\nend\n\nwhen flag clicked\nhide\nforever\n    create clone of (_myself_ v)\n    wait (.05) seconds\nend\n\n@Skip button\n\nwhen flag clicked\nset size to (70) %\nhide\nforever\n    point in direction (round ((([sin v] of (((timer) + (1)) * (500)) ) * (8)) + (90)))\n    go to x: (-159) y: (154)\nend\n\nwhen this sprite clicked\nbroadcast (Flag v)\nbroadcast (start again v)\n\nwhen flag clicked\nforever\n    if <touching (mouse-pointer v)?> then\n        set size to (80) %\n    else\n        set size to (70) %\n    end\nend\n\nwhen I receive [go v]\nshow\n\n@Retry button\n\nwhen I receive [go v]\nshow\n\nwhen flag clicked\nforever\n    if <touching (mouse-pointer v)?> then\n        set size to (80) %\n    else\n        set size to (70) %\n    end\nend\n\nwhen flag clicked\ngo to [back v] layer\nhide\nforever\n    point in direction (round ((([sin v] of (((timer) + (1)) * (500)) ) * (8)) + (90)))\n    go to x: (-86) y: (154)\nend\n\nwhen this sprite clicked\nbroadcast (retry v)\n\n@Star\n\nwhen I receive [the end v]\nshow\n\nwhen flag clicked\nhide\ngo to x: (-25) y: (9)\n\n@Love and Fave\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\n\nwhen I receive [the end v]\nshow\n\n@Heart\n\nwhen I receive [the end v]\nshow\n\nwhen flag clicked\nhide\ngo to x: (-174) y: (10)\n\n@intro\n\nwhen flag clicked\ngo to [front v] layer\nswitch costume to (intro v)\nshow\ngo to x: (-3) y: (2)\nrepeat (25)\n    wait (0.04) seconds\n    next costume\nend\nwait (0.04) seconds\nswitch costume to (intro v)\nchange [mosaic v] effect by (250)\nwait (0.5) seconds\nbroadcast (show v)\nglide (1) secs to x: (0) y: (382)\nhide\n\n@NI\n\nwhen flag clicked\ngo to x: (-1) y: (-1)\ngo to [back v] layer\nshow\n\nwhen I receive [show v]\nshow\nwait (1) seconds\nglide (1) secs to x: (-465) y: (-1)\nhide\nbroadcast (go v)\n\n