Lost  II A platformer #Games II

Instructions:                     Welcome to my first platformer.\n- Controls -\n- Arrow Keys or WASD to move\n- Up Arrow To Jump ( You can wall jump )\n- Dodge The Dangerous Things!\nPlease Leave a ❤️ and ⭐ will be highly appreciated.\nStory -\nOh noes!! Ben the guy got lost while catching a butterfly, Could you help him reach home without getting hurt with spikes and lava and monsters??\nGreat, Because Ben the guy is lost, so your task is to reach him home safely...

@Stage\n\nwhen flag clicked\nswitch backdrop to (backdrop1 v)\n\nwhen I receive [intro v]\nswitch backdrop to (paper v)\n\n@player\n\ndefine Platformer Physics (speed) (friction) (jump height)\nchange [y vel v] by (-1)\nif <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n    change [x vel v] by (speed)\n    switch costume to (costume1 v)\nend\nif <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n    change [x vel v] by ((speed) * (-1))\n    switch costume to (costume2 v)\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 <key (w v) pressed?>> then\n        if <(X vel) > [0]> then\n            set [x vel v] to [-12]\n        else\n            set [x vel v] to [12]\n        end\n        set [y vel v] to [12]\n    else\n        set [x vel v] to [0]\n    end\nend\nchange y by (Y vel)\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    set [y vel v] to [0]\nend\nchange y by (-1)\nif <<<key (up arrow v) pressed?> or <key (w v) pressed?>> and <touching (level v)?>> then\n    set [y vel v] to (jump height)\nend\nchange y by (1)\n\nwhen flag clicked\n\nwhen I receive [end v]\nstart sound [recording2 v]\ngo to x: (-198) y: (-10)\n\nwhen I receive [intro v]\nshow\ngo to [front v] layer\n\nset [x vel v] to [0]\nset [y vel v] to [0]\nforever\n    Platformer Physics [1] [0.9] [13]\nend\n\nwhen I receive [intro v]\nforever\n    play sound [recording3 v] until done\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [hurt v]\nstart sound [recording1 v]\ngo to x: (-198) y: (-10)\n\n@level\n\nwhen flag clicked\nhide\ngo to x: (-2) y: (6)\nswitch costume to (costume1 v)\n\nwhen I receive [end v]\nnext costume\n\nwhen I receive [intro v]\nshow\n\n@end\n\nwhen flag clicked\nhide\n\nwhen I receive [intro v]\nshow\ngo to x: (136) y: (-4)\nforever\n    if <touching (player v)?> then\n        broadcast (end v)\n    end\nend\n\n@text\n\nwhen flag clicked\nhide\nswitch costume to (costume1 v)\n\nwhen I receive [end v]\nnext costume\n\nwhen I receive [intro v]\nshow\n\n@thumbnail\n\nwhen flag clicked\nset [ghost v] effect to (100)\nforever\n    go to [front v] layer\nend\n\n@Sprite1\n\nwhen flag clicked\nset [direction v] to [8]\nset size to (80) %\ngo to [front v] layer\nswitch costume to (capture2 v)\nshow\nchange [my variable v] by (10)\npoint in direction (90)\ngo to x: (400) y: (0)\nglide (0.25) secs to x: (0) y: (0)\nrepeat (85)\n    change [my variable v] by (10)\n    point in direction ((90) + (([sin v] of (my variable) ) * (10)))\nend\npoint in direction (90)\nrepeat (10)\n    change y by (10)\nend\nswitch costume to (capture3 v)\nwait (0.3) seconds\nhide\nwait (0.3) seconds\nshow\ngo to x: (0) y: (0)\nrepeat (120)\n    change [direction v] by (8)\n    point in direction ((([sin v] of ((direction) + (8)) ) * (20)) + (90))\n    set size to ((([sin v] of (((direction) + (8)) * (1.4)) ) * (60)) + (100)) %\nend\nwait (0.9) seconds\nglide (1) secs to x: (4000) y: (0)\nrepeat (4)\n    change [ghost v] effect by (60)\nend\nhide\nbroadcast (intro v)\npoint in direction (90)\n\nwhen flag clicked\nstart sound [my intro song v]\n\n@Sprite2\n\nwhen flag clicked\nrepeat (240)\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\ngo to (random position v)\nshow\nset [brightness v] effect to (0)\npoint in direction (90)\ngo to [front v] layer\nswitch costume to (pick random (1) to (2))\nset [ghost v] effect to (pick random (20) to (50))\nset size to (pick random (40) to (80)) %\npoint in direction (pick random (-60) to (90))\nset [whirl v] effect to (pick random (-67) to (160))\nrepeat (240)\n    go to (random position v)\n    move (10) steps\n    if <touching (_edge_ v)?> then\n        delete this clone\n    end\nend\n\n@right arrow\n\nwhen flag clicked\nhide\n\nwhen I receive [intro v]\ngo to x: (-155) y: (-152)\nshow\nset size to (90) %\nhide\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        broadcast (right v)\n    end\nend\n\n@danger\n\nwhen flag clicked\nhide\ngo to x: (-2) y: (6)\nswitch costume to (costume1 v)\n\nwhen I receive [end v]\nnext costume\n\nwhen I receive [intro v]\nshow\n\n