Not your normal platformer.

Instructions: All instructions in game.\n

@Stage\n\n@player\n\nwhen flag clicked\ngo to [front v] layer\ngo to x: (-215) y: (-156)\nset [level v] to [1]\nset [gravity? v] to [normal]\nset [y speed v] to [0]\nset [x speed v] to [0]\nhide variable [☁ high score. v]\nhide variable [score v]\nset [deaths v] to [0]\nset [time v] to [0]\nhide variable [deaths v]\nhide variable [time v]\nforever\n    if <(gravity?) = [normal]> then\n        change [x speed v] by ((x speed) * (-0.3))\n        change [y speed v] by (-1)\n        change y by (y speed)\n        walk (x speed) (direction)\n        touching ground? <(y speed) > [0]> <(y speed) < [0]>\n        if <not <touching color (#00ff55)?>> then\n            if <key (right arrow v) pressed?> then\n                change [x speed v] by (3)\n                if <(x speed) = [18]> then\n                    set [x speed v] to [15]\n                end\n            end\n            if <key (left arrow v) pressed?> then\n                change [x speed v] by (-3)\n                if <(x speed) = [-18]> then\n                    set [x speed v] to [-15]\n                end\n            end\n        end\n        if <key (up arrow v) pressed?> then\n            if <(jumping?) = [0]> then\n                change [y speed v] by (10)\n                set [jumping? v] to [1]\n            end\n        end\n    end\n    if <(gravity?) = [upsidedown]> then\n        change [y speed v] by (1)\n        change [x speed v] by ((x speed) * (-0.3))\n        change y by (y speed)\n        walk (x speed) (direction)\n        touching ground? <(y speed) > [0]> <(y speed) < [0]>\n        if <not <touching color (#00ff55)?>> then\n            if <key (right arrow v) pressed?> then\n                change [x speed v] by (3)\n                if <(x speed) = [18]> then\n                    set [x speed v] to [15]\n                end\n            end\n            if <key (left arrow v) pressed?> then\n                change [x speed v] by (-3)\n                if <(x speed) = [-18]> then\n                    set [x speed v] to [-15]\n                end\n            end\n        end\n        if <key (down arrow v) pressed?> then\n            if <(jumping?) = [0]> then\n                change [y speed v] by (-10)\n                set [jumping? v] to [1]\n            end\n        end\n    end\n    if <touching color (#ff0000)?> then\n        set [x speed v] to [0]\n        set [gravity? v] to [normal]\n        set [y speed v] to [0]\n        go to x: (-221) y: (-153)\n        change [deaths v] by (1)\n    end\nend\n\nwhen flag clicked\nforever\n    set [gravity? v] to [normal]\n    wait until <key (space v) pressed?>\n    wait until <not <key (space v) pressed?>>\n    set [gravity? v] to [upsidedown]\n    wait until <key (space v) pressed?>\n    wait until <not <key (space v) pressed?>>\nend\n\nwhen flag clicked\nforever\n    if <(x position) > [220]> then\n        if <(level) = [15]> then\n            stop [other scripts in sprite v]\n            set [score v] to ((time) * ((deaths) + (1)))\n            if <<(score) < (☁ High score.)> and <not <(username) = [smileyguy13]>>> then\n                set [☁ high score. v] to (score)\n            end\n            show variable [score v]\n            show variable [☁ high score. v]\n            show variable [deaths v]\n            show variable [time v]\n            stop [all v]\n        end\n        if <not <(level) = [15]>> then\n            set [gravity? v] to [normal]\n            set [x speed v] to [0]\n            set [y speed v] to [0]\n            go to x: (-221) y: (-153)\n            broadcast (next v)\n        end\n    end\n    if <key (r v) pressed?> then\n        go to x: (-215) y: (-156)\n    end\nend\n\nwhen flag clicked\nforever\n    wait (1) seconds\n    change [time v] by (1)\nend\n\nwhen flag clicked\nforever\n    if <touching color (#ff00bf)?> then\n        repeat until <not <touching color (#ff00bf)?>>\n            set [gravity? v] to [normal]\n        end\n    end\n    if <touching color (#003fff)?> then\n        repeat until <not <touching color (#003fff)?>>\n            set [gravity? v] to [upsidedown]\n        end\n    end\nend\n\ndefine walk (speed) (direction)\nif <(direction) = [90]> then\n    change x by (speed)\nend\nif <(direction) = [-90]> then\n    change x by ((speed) * (-1))\nend\nif <(gravity?) = [normal]> then\n    repeat until <<(slope) = [8]> or <not <touching color (#000000)?>>>\n        change y by (1)\n        change [slope v] by (1)\n    end\n    if <(slope) = [8]> then\n        change y by ((0) - (slope))\n        if <(direction) = [90]> then\n            change x by ((speed) * (-1))\n        end\n        if <(direction) = [-90]> then\n            change x by (speed)\n        end\n    end\n    set [slope v] to [0]\nend\nif <(gravity?) = [upsidedown]> then\n    repeat until <<(slope) = [-8]> or <not <touching color (#000000)?>>>\n        change [slope v] by (-1)\n        change y by (-1)\n    end\n    if <(slope) = [-8]> then\n        change y by ((0) - (slope))\n        if <(direction) = [90]> then\n            change x by ((speed) * (-1))\n        end\n        if <(direction) = [-90]> then\n            change x by (speed)\n        end\n    end\n    set [slope v] to [0]\nend\n\ndefine touching ground? <up?> <down?>\nif <(gravity?) = [normal]> then\n    if <touching color (#000000)?> then\n        repeat until <not <touching color (#000000)?>>\n            if <up?> then\n                change y by (-1)\n            else\n                change y by (1)\n                set [y speed v] to [0]\n                set [jumping? v] to [0]\n            end\n        end\n    end\nend\nif <(gravity?) = [upsidedown]> then\n    if <touching color (#000000)?> then\n        repeat until <not <touching color (#000000)?>>\n            if <down?> then\n                change y by (1)\n            else\n                change y by (-1)\n                set [y speed v] to [0]\n                set [jumping? v] to [0]\n            end\n        end\n    end\nend\n\n@levels\n\nwhen I receive [next v]\nnext costume\nchange [level v] by (1)\n\nwhen flag clicked\ngo to x: (0) y: (0)\nswitch costume to (lv1 v)\n\n