Candyland~ A mobile platformer( Contest entry)

Instructions: Storyline:\nYour stuck in Candyland, you must parkour to get out!\n=========================================\nThere are 15 levels\nInstructions:\nPress r to restart a level\nPress s to skip a level\nArrow keys or WASD to move or touch screen for mobile.\nYou can wall jump\n=========================================\n

@Stage\n\nwhen flag clicked\nforever\n    play sound [Piano v] until done\nend\n\n@Player\n\nwhen flag clicked\nStart\n\ndefine Start\nset [jump v] to [14]\nset [speed v] to [1]\ngo to x: (-212) y: (68)\nshow\nforever\n    if on edge, bounce\n    go to [front v] layer\n    set [player2: y v] to [0]\n    set [player2: x v] to [0]\n    forever\n        switch costume to (plain v)\n        change [player2: y v] by (-1)\n        set [player2: x v] to ((Player2: 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            change [player2: 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            change [player2: x v] by ([abs v] of (speed) )\n        end\n        change x by (Player2: 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 ((Player2: 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 [player2: y v] to [10]\n                if <([abs v] of (Player2: x) ) = (Player2: x)> then\n                    set [player2: x v] to [-4]\n                else\n                    set [player2: x v] to [4]\n                end\n            else\n                set [player2: x v] to [0]\n            end\n        end\n        change y by (Player2: y)\n        if  then\n            change y by ((Player2: y) - ((Player2: y) * (2)))\n            set [player2: 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 [player2: 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            go to x: (-212) y: (68)\n            wait until <not <(x position) > [230]>>\n        end\n        if <<touching (spikes v)?> or <(y position) < [-170]>> then\n            go to x: (-212) y: (68)\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 [player2: y v] to [16]\n        end\n        change y by (1)\n        if <touching (water v)?> then\n            set [player2: y v] to [-2]\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 [s v] key pressed\nbroadcast (Skip v)\n\nwhen I receive [skip v]\nbroadcast (New Level v)\ngo to x: (-212) y: (68)\nwait until <not <(x position) > [230]>>\n\nwhen [r v] key pressed\nbroadcast (Redo v)\n\nwhen I receive [redo v]\ngo to x: (-212) y: (68)\n\n@Level\n\nwhen flag clicked\nswitch costume to (costume1 v)\nforever\n    go to [front v] layer\n    go [backward v] (3) layers\nend\n\nwhen I receive [new level v]\nnext costume\nif <(costume [number v]) = [9]> then\n    broadcast (End v)\nend\n\n@Spikes\n\nwhen flag clicked\ngo to [front v] layer\nforever\n    switch costume to ([costume # v] of [level v])\nend\n\n@Sprite1\n\nwhen flag clicked\nset [ghost v] effect to (100)\ngo to [front v] layer\n\n