Sky Adventure - A Platformer Game

Instructions: WELCOME TO SKY ADVENTURE! :D\n-Arrow keys to move\n-Drag up,left,right to move\n-AHHH dont touch spikes! it hurts\n-See that blue stuff? im not sure what it does but i heard it can give u a jump boost!\ni know its short cuz im running out of platformer design ideas :(

@Stage\n\nwhen I receive [new level v]\nnext costume\n\nwhen flag clicked\nbroadcast (music v)\n\nwhen I receive [music v]\nset volume to (90) %\nforever\n    play sound [JJD - Adventure \[NCS Release\] \(1\) v] until done\nend\n\n@Player\n\nwhen flag clicked\nreset\nforever\n    platformer physics [1] [0.9] [10]\nend\n\ndefine platformer physics (speed) (friction) (jump height)\nswitch costume to (player v)\nchange [y vel. v] by (-1)\nif <<key (right arrow v) pressed?> or <<mouse down?> and <(x position) < (mouse x)>>> then\n    change [x vel. v] by (speed)\nend\nif <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>> then\n    change [x vel. v] by ((speed) * (-1))\nend\nset [x vel. v] to ((x vel.) * (friction))\nchange x by (x vel.)\nset [slope v] to [0]\nif <touching (level v)?> then\n    repeat until <<not <touching (level v)?>> or <(slope) = [-8]>>\n        change [slope v] by (-1)\n        change y by (1)\n    end\nend\nif <touching (level v)?> then\n    change y by (slope)\n    repeat until <not <touching (level v)?>>\n        change x by ((([abs v] of (x vel.) ) / (x vel.)) * (-1))\n    end\n    if <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>> then\n        set [y vel. v] to [15]\n        if <(x vel.) > [0]> then\n            set [x vel. v] to [-10]\n        else\n            set [x vel. v] to [10]\n        end\n    else\n        set [x vel. v] to [0]\n    end\nend\nchange y by (y vel.)\nchange [in air v] by (1)\nif <touching (level v)?> then\n    repeat until <not <touching (level v)?>>\n        change y by ((([abs v] of (y vel.) ) / (y vel.)) * (-1))\n    end\n    if <(([abs v] of (y vel.) ) / (y vel.)) = [-1]> then\n        set [in air v] to [0]\n    end\n    set [y vel. v] to [0]\nend\nif <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>> then\n    if <(in air) < [5]> then\n        set [y vel. v] to (jump height)\n    end\nend\nif <touching (danger v)?> then\n    reset\nend\nif <(x position) > [237]> then\n    reset\n    broadcast (new level v)\nend\nif <(y vel.) > [0]> then\n    switch costume to (jump v)\nend\n\ndefine reset\nset [x vel. v] to [0]\nset [y vel. v] to [0]\nswitch costume to (player v)\ngo to x: (-217) y: (-136)\nset size to (50) %\ngo to [front v] layer\nclear graphic effects\nshow\n\nwhen flag clicked\nforever\n    if <touching (trampoline v)?> then\n        set [y vel. v] to [20]\n        go to [back v] layer\n    end\nend\n\n@Level\n\nwhen flag clicked\nswitch costume to (level1 v)\n\nwhen I receive [new level v]\nnext costume\n\n@Danger\n\nwhen flag clicked\nswitch costume to (level1 v)\n\nwhen I receive [new level v]\nnext costume\n\n@trampoline\n\nwhen flag clicked\nswitch costume to (level1 v)\n\nwhen I receive [new level v]\nnext costume\n\n@txt\n\nwhen flag clicked\nswitch costume to (1 v)\n\nwhen I receive [new level v]\nnext costume\n\n@TN\n\nwhen [timer v] > (0)\ngo to x: (39) y: (1000)\nrepeat until <(round (y position)) = [-27]>\n    change y by (((22) - (y position)) / (5))\nend\nset y to (22)\n\nwhen flag clicked\nset [ghost v] effect to (100)\nforever\n    reset timer\n    go to [front v] layer\nend\n\n