The impossible platformer! Mobile and New stages! 

Instructions: Left and right arrow keys to move, space and up arrow to jump or Mobile controls. Can you complete all 50 stages! every stage is harder than the last. 'This platformer has been tested multiple times'. \nTell me how Long it took you To complete in the comments so get your self a timer and gooooooo! BTW my record is 6 mins. 

@Stage\n\nwhen flag clicked\nswitch backdrop to (backdrop1 v)\n\nwhen I receive [next level v]\nnext backdrop\nbroadcast (set start v)\n\n@player\n\nwhen flag clicked\nclear graphic effects\nset [x v] to [0]\nset [y v] to [0]\ngo to x: (-200) y: (-125)\nforever\n    change [y v] by (-1)\n    switch costume to (costume2 v)\n    if <<key (right arrow v) pressed?> or <<mouse down?> and <(x position) < (mouse x)>>> then\n        switch costume to (costume2 v)\n        change [x v] by (3)\n    end\n    if <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>> then\n        switch costume to (costume3 v)\n        change [x v] by (-3)\n    end\n    set [x v] to ((x) * (0.7))\n    change x by (x)\n    if <touching (ground v)?> then\n        change y by (1)\n        if <touching (ground v)?> then\n            change y by (1)\n            if <touching (ground v)?> then\n                change y by (1)\n                if <touching (ground v)?> then\n                    change y by (1)\n                    if <touching (ground v)?> then\n                        change y by (1)\n                        if <touching (ground v)?> then\n                            change y by (1)\n                            if <touching (ground v)?> then\n                                change y by (-6)\n                                change x by ((x) * (-1))\n                                set [x v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change y by (y)\n    if <touching (ground v)?> then\n        change y by ((y) * (-1))\n        set [y v] to [0]\n    end\n    change y by (-1)\n    if <<<touching (ground v)?> and <key (space v) pressed?>> or <<touching (ground v)?> and <<mouse down?> and <(mouse y) > (y position)>>>> then\n        set [y v] to [14]\n    end\n    if <<<touching (ground v)?> and <key (up arrow v) pressed?>> or <<touching (ground v)?> and <<mouse down?> and <(mouse y) > (y position)>>>> then\n        set [y v] to [14]\n    end\n    change y by (1)\n    if <touching (death v)?> then\n        Death Animation\n        Go To [-200] [-125]\n    end\nend\n\nwhen I receive [set start v]\ngo to x: (-200) y: (-125)\n\nwhen flag clicked\nforever\n    if <touching (edge v)?> then\n        broadcast (next level v)\n    end\nend\n\ndefine Death Animation\nrepeat (10)\n    change [ghost v] effect by (10)\n    change [whirl v] effect by (10)\nend\nclear graphic effects\n\ndefine Go To (x) (y)\ngo to x: (x) y: (y)\n\n@ground\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\nwhen I receive [next level v]\nnext costume\nbroadcast (set start v)\n\n@edge\n\nwhen flag clicked\nnext costume\n\nwhen I receive [next level v]\nnext costume\n\nwhen flag clicked\nif <touching (player v)?> then\n    broadcast (next level v)\nend\n\n@death\n\nwhen flag clicked\nswitch costume to (costume4 v)\n\nwhen I receive [next level v]\nnext costume\nbroadcast (set start v)\n\n@Thumbnail\n\nwhen flag clicked\nshow\nwait (1) seconds\nhide\n\n