Jungle | A platformer

Instructions: Hope you like it! :D\nThis game is sort of mobile friendly and also w,a,s,d\n----------------------------controls----------------------------\n-For arrow keys players\n-right arrow to move forward\n-left arrow to move backward\n-up arrow to jump\n-----------------------------------------------------------------\n-For wsad players\n-'D' key to move forward\n-'A' key to move backward\n-'W' key to jump\n-----------------------------------------------------------------\n-For mobile friendly players\n-click right side to move forward\n-click left side to move backward\n-click above the player to jump\n-------\nAnd you can also press space to jump\n-------\nyou will die if you touch the spike\n-------\nThis game is better than my game before because this game have good writing and this game is 'wasd' and space key to jump and this game have play Botton because this game is for contest lol.\nI made this game but this game is soooooo fun! XD It makes me play this game everyday XD\n-------\nI think I have the longest tag in the world XD

@Stage\n\nwhen flag clicked\n\nset [ghost v] effect to (50)\n\n@:D\n\nwhen flag clicked\nhide\nforever\n    play sound [Alan_Walker_feat._K-391_and_Julie_Bergan_and_Seungri_-_Ignite_.mp3 v] until done\n    play sound [Kygo - Firestone ft. Conrad Sewell.mp3 v] until done\n    play sound [Gryffin - Cry \(feat v] until done\n    play sound [Kygo, Sasha Sloan - I'll Wait  v] until done\n    play sound [Martin Garrix - High On Life \(feat v] until done\nend\n\nwhen I receive [play! v]\nhide\nforever\n    if <(Level) = [13]> then\n        show\n    end\nend\n\n@play\n\nwhen flag clicked\nshow\nset [show v] to [1]\ngo to [front v] layer\nset size to (100) %\npoint in direction (90)\ngo to x: (39) y: (35)\nforever\n    if <touching (mouse-pointer v)?> then\n        set size to (110) %\n    else\n        set size to (100) %\n    end\nend\n\nwhen this sprite clicked\nhide\nset [show v] to [0]\nbroadcast (Play! v)\n\n@Player\n\nwhen flag clicked\nhide\n\nwhen I receive [play! v]\nset size to (75) %\ngo to x: (-132) y: (-41)\nshow\nset [level v] to [1]\nforever\n    change [yv v] by (-1)\n    right \n    left\n    set [xv v] to ((Xv) * (0.9))\n    change x by (Xv)\n    Fix\n    if <touching (ground v)?> then\n        change y by (-5)\n        change x by ((Xv) * (-1))\n        if <<<<key (space v) pressed?> or <key (w v) pressed?>> or <key (up arrow v) pressed?>> or <<mouse down?> and <(mouse y) > ((20) + (y position))>>> then\n            set [yv v] to [15]\n            if <([abs v] of (Xv) ) = (Xv)> then\n                set [xv v] to [-10]\n            else\n                set [xv v] to [10]\n            end\n        else\n            set [xv v] to [0]\n        end\n    end\n    change y by (Yv)\n    if <touching (ground v)?> then\n        change y by ((Yv) * (-1))\n        set [yv v] to [0]\n    end\n    change y by (-1)\n    if <<<key (space v) pressed?> or <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>>>> and <touching (ground v)?>> then\n        change [yv v] by (15)\n        switch costume to (up v)\n    end\n    change y by (1)\n    if <(x position) > [300]> then\n        broadcast (Next level! v)\n        change [level v] by (1)\n    end\n    if <touching (spike v)?> then\n        play sound [Crunch v] until done\n        go to x: (-137) y: (-41)\n    end\n    if <[-183] > (y position)> then\n        go to x: (-137) y: (-41)\n    end\nend\n\ndefine Fix\nif <touching (ground v)?> then\n    repeat (5)\n        change y by (1)\n    end\nend\n\nwhen flag clicked\nforever\n    if <not <key (any v) pressed?>> then\n        switch costume to (. v)\n    end\nend\n\nwhen I receive [next level! v]\ngo to x: (-137) y: (-41)\n\ndefine right \nif <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n    change [xv v] by (1)\n    switch costume to (right v)\nend\n\ndefine left\nif <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> then\n    change [xv v] by (-1)\n    switch costume to (left v)\nend\n\n@ground\n\nwhen flag clicked\nhide\n\nwhen I receive [play! v]\nswitch costume to (costume1 v)\nshow\n\nwhen I receive [next level! v]\nnext costume\n\n@spike\n\nwhen flag clicked\nhide\n\nwhen I receive [play! v]\nswitch costume to (costume1 v)\ngo to x: (36) y: (28)\nshow\n\nwhen I receive [next level! v]\nnext costume\n\n@Text\n\nwhen flag clicked\nhide\n\nwhen I receive [play! v]\ngo to x: (36) y: (28)\nswitch costume to (costume1 v)\nshow\n\nwhen I receive [next level! v]\nnext costume\n\n@thumbnail \n\nwhen flag clicked\nforever\n    if <(Show) = [1]> then\n        switch costume to (costume2 v)\n        show\n    else\n        hide\n    end\nend\n\nwhen I receive [play! v]\nhide\n\n@Sprite3\n\nwhen I receive [play! v]\nhide\n\nwhen flag clicked\nforever\n    if <(Show) = [1]> then\n        show\n    else\n        hide\n    end\nend\n\n@Sprite4\n\n