No variable platformer


@Stage\n\nwhen flag clicked\nswitch backdrop to (backdrop1 v)\nforever\n    play sound [Masked Heroes - Vexento v] until done\nend\n\nwhen I receive [newlev v]\nnext backdrop\n\n@Sprite1\n\ndefine physics\nchange y by (-1)\nif <<touching color (#000000)?> and <<key (up arrow v) pressed?> or <key (w v) pressed?>>> then\n    point in direction (15)\nelse\n    if <<touching (water v)?> and <<key (up arrow v) pressed?> or <key (w v) pressed?>>> then\n        point in direction (1)\n    else\n        if <touching (water v)?> then\n            turn right (-0.25) degrees\n        else\n            turn right (-1) degrees\n        end\n    end\nend\nchange y by (1)\nchange y by (direction)\nif <touching color (#000000)?> then\n    touchground\nend\nif <<<key (right arrow v) pressed?> or <key (d v) pressed?>> and <not <<key (left arrow v) pressed?> or <key (a v) pressed?>>>> then\n    if <<touching (water v)?> or <touching color (#ff9400)?>> then\n        change tempo by (0.5)\n    else\n        change tempo by (1)\n    end\n    if <touching color (#ff0000)?> then\n        set tempo to ((75) + ((tempo) - (50)))\n    else\n    end\nelse\n    if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> and <not <<key (right arrow v) pressed?> or <key (d v) pressed?>>>> then\n        if <<touching (water v)?> or <touching color (#ff9400)?>> then\n            change tempo by (-0.5)\n        else\n            change tempo by (-1)\n        end\n        if <touching color (#ff0000)?> then\n            set tempo to ((35) - ((tempo) - (50)))\n        else\n        end\n    else\n    end\nend\nset tempo to ((((tempo) - (50)) * (0.9)) + (50))\nchange x by ((tempo) - (50))\ncollision\nchange y by (-1)\nif <touching (sprite2 v)?> then\n    if <([direction v] of [sprite2 v]) = [90]> then\n        set x to ((([x position v] of [sprite2 v]) + ((x position) - ([x position v] of [sprite2 v]))) + (5))\n        change y by ((([y position v] of [sprite2 v]) - (y position)) + (23))\n    end\n    if <([direction v] of [sprite2 v]) = [-90]> then\n        set x to ((([x position v] of [sprite2 v]) + ((x position) - ([x position v] of [sprite2 v]))) + (-5))\n        change y by ((([y position v] of [sprite2 v]) - (y position)) + (23))\n    end\n    if <([direction v] of [sprite2 v]) = [0]> then\n        change y by ((([y position v] of [sprite2 v]) - (y position)) + (28))\n    end\n    if <([direction v] of [sprite2 v]) = [180]> then\n        change y by ((([y position v] of [sprite2 v]) - (y position)) + (18))\n    end\n    if <([direction v] of [sprite2 v]) = [45]> then\n        set x to ((([x position v] of [sprite2 v]) + ((x position) - ([x position v] of [sprite2 v]))) + (3.55))\n        change y by ((([y position v] of [sprite2 v]) - (y position)) + (26))\n    end\n    if <([direction v] of [sprite2 v]) = [-135]> then\n        set x to ((([x position v] of [sprite2 v]) + ((x position) - ([x position v] of [sprite2 v]))) + (-3.55))\n        change y by ((([y position v] of [sprite2 v]) - (y position)) + (18))\n    end\nend\nchange y by (1)\n\nwhen I receive [message1 v]\nwait (0) seconds\nchange x by (-6)\nwait (0) seconds\nchange x by (-2)\n\nwhen I receive [message2 v]\nwait (0) seconds\nchange x by (6)\nwait (0) seconds\nchange x by (2)\n\ndefine touchground\nif <(direction) < [-1]> then\n    repeat until <not <touching color (#000000)?>>\n        change y by (1)\n    end\n    point in direction (0)\nelse\n    change y by ((direction) * (-1))\n    point in direction (0)\nend\n\ndefine collision\nif <touching color (#000000)?> then\n    change y by (1)\n    if <touching color (#000000)?> then\n        change y by (1)\n        if <touching color (#000000)?> then\n            change y by (1)\n            if <touching color (#000000)?> then\n                change y by (1)\n                if <touching color (#000000)?> then\n                    change y by (1)\n                    if <touching color (#000000)?> then\n                        change x by (((tempo) - (50)) * (-1))\n                        change y by (-5)\n                        if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n                            point in direction (12)\n                            if <(tempo) > [50]> then\n                                set tempo to (40)\n                            else\n                                set tempo to (60)\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen flag clicked\npoint in direction (0)\nset tempo to (50)\ngo to x: (-200) y: (-80)\nshow\nclear graphic effects\nforever\n    set volume to (round ((1) / (timer))) %\n    reset timer\n    physics\n    if <<touching color (#00ff55)?> or <(y position) < [-179]>> then\n        wait (0.25) seconds\n        repeat (40)\n            change [ghost v] effect by (2.5)\n        end\n        set tempo to (50)\n        go to x: (-200) y: (-80)\n        point in direction (0)\n        repeat (10)\n            change [ghost v] effect by (-10)\n        end\n    end\n    if <touching color (#7f00ff)?> then\n        point in direction (24)\n    end\n    if <touching color (#ffff00)?> then\n        wait (0.25) seconds\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        broadcast (newlev v)\n        set tempo to (50)\n        go to x: (-200) y: (-80)\n        point in direction (0)\n        repeat (10)\n            change [ghost v] effect by (-10)\n        end\n    end\nend\n\n@Sprite2\n\nwhen flag clicked\nerase all\ngo to x: (0) y: (-75)\nswitch costume to (costume1 v)\nshow\n\nwhen I receive [newlev v]\nnext costume\nif <(costume [number v]) = [6]> then\n    point in direction (90)\n    go to x: (0) y: (-75)\n    repeat until <not <(costume [number v]) = [6]>>\n        move (5) steps\n        if <<(x position) > [150]> or <[-110] > (x position)>> then\n            point in direction ((direction) + (180))\n        end\n    end\nend\nif <(costume [number v]) = [7]> then\n    go to x: (0) y: (-75)\n    point in direction (0)\n    repeat until <not <(costume [number v]) = [7]>>\n        move (5) steps\n        if <<(y position) > [100]> or <[-75] > (y position)>> then\n            point in direction ((direction) + (180))\n        end\n    end\nend\nif <(costume [number v]) = [8]> then\n    go to x: (175) y: (100)\n    point in direction (0)\n    create clone of (_myself_ v)\n    repeat until <not <(costume [number v]) = [8]>>\n        move (5) steps\n        if <<(y position) > [100]> or <[-105] > (y position)>> then\n            point in direction ((direction) + (180))\n        end\n    end\nend\nif <(costume [number v]) = [9]> then\n    go to x: (100) y: (100)\n    point in direction (45)\n    repeat until <not <(costume [number v]) = [9]>>\n        move (5) steps\n        if <<<(y position) > [100]> or <[-100] > (y position)>> and <<(x position) > [100]> or <[-100] > (x position)>>> then\n            point in direction ((direction) + (180))\n        end\n    end\nend\nif <(costume [number v]) = [10]> then\n    point in direction (90)\n    go to x: (0) y: (100)\n    repeat until <not <(costume [number v]) = [10]>>\n        move (5) steps\n        if <<(x position) > [220]> or <[0] > (x position)>> then\n            point in direction ((direction) + (180))\n        end\n    end\nend\n\nwhen I start as a clone\nif <(costume [number v]) = [8]> then\n    point in direction (90)\n    go to x: (0) y: (-105)\n    repeat until <not <(costume [number v]) = [8]>>\n        erase all\n        move (5) steps\n        if <<(x position) > [175]> or <[-115] > (x position)>> then\n            point in direction ((direction) + (180))\n        end\n        show\n        stamp\n        hide\n    end\n    erase all\n    delete this clone\nend\n\n@Sprite3\n\nwhen flag clicked\ngo to x: (0) y: (0)\nwait (0) seconds\nchange [ghost v] effect by (100)\nforever\n    go to [front v] layer\nend\n\n@water\n\nwhen flag clicked\nhide\nswitch costume to (costume2 v)\ngo to x: (0) y: (0)\nshow\nset [ghost v] effect to (50)\n\nwhen I receive [newlev v]\nnext costume\n\n