Neon -Platformer-

Instructions: Arrow Keys to move\nUp arrow to jump\nR to Restart\nDo not touch red or yellow\ndo not touch spikes\nJump on pink to go higher\nget to the purple

@Stage\n\nwhen I receive [start v]\nforever\n    switch backdrop to (Level)\nend\n\n@Sprite3\n\nwhen I receive [start v]\nhide\nforever\n    if <(Level) = [6]> then\n        show\n        switch costume to (costume1 v)\n        set [cannon ball dir v] to [2]\n        go to x: (-225) y: (76)\n        create clone of (sprite4 v)\n        wait (4) seconds\n    else\n        if <(Level) = [8]> then\n            show\n            switch costume to (costume2 v)\n            set [cannon ball dir v] to [1]\n            go to x: (197) y: (102)\n            create clone of (sprite4 v)\n            wait (4) seconds\n        else\n            hide\n        end\n    end\nend\n\n@Sprite1\n\nset [platfrom xspeed v] to [0]\n\nwait (7) seconds\n\nwhen I receive [start v]\nforever\n    if <(Xvel) > [0]> then\n        set [dir v] to [2]\n    end\n    if <(Xvel) < [0]> then\n        set [dir v] to [1]\n    end\nend\n\nwhen I receive [start v]\nforever\n    change x by (Xvel)\n    change y by (Yvel)\nend\n\nwhen I receive [start v]\nset [level v] to [1]\nforever\n    if <touching color (#99ffff)?> then\n        change y by (1)\n        if <touching color (#99ffff)?> then\n            change y by (1)\n            if <touching color (#99ffff)?> then\n                change y by (1)\n                if <touching color (#99ffff)?> then\n                    change y by (1)\n                    if <touching color (#99ffff)?> then\n                        change y by (1)\n                        if <(Dir) = [1]> then\n                            set [xvel v] to [0]\n                            move (5) steps\n                        end\n                        if <(Dir) = [2]> then\n                            set [xvel v] to [0]\n                            move (-5) steps\n                        end\n                    end\n                end\n            end\n        end\n    end\n    if <touching color (#00cccc)?> then\n        set [yvel v] to [0]\n        change y by (-3)\n    end\nend\n\nwhen I receive [start v]\nset [yvel v] to [0]\nset [xvel v] to [0]\ngo to x: (-210) y: (-96)\n\nwhen I receive [start v]\nforever\n    if <touching (moving platform v)?> then\n        change x by (Platfrom XSpeed)\n    end\nend\n\nwhen I receive [start v]\nforever\n    if <touching color (#ff00bf)?> then\n        if <<key (up arrow v) pressed?> or <key (space v) pressed?>> then\n            set [yvel v] to [5]\n        end\n    end\n    if <<touching color (#00ffff)?> or <touching color (#ff9400)?>> then\n        if <<key (up arrow v) pressed?> or <key (space v) pressed?>> then\n            set [yvel v] to [3]\n        end\n    end\n    if <not <<<touching color (#00ffff)?> or <touching color (#ff00bf)?>> or <touching color (#ff9400)?>>> then\n        repeat until <<touching color (#00ffff)?> or <<touching color (#ff00bf)?> or <touching color (#ff9400)?>>>\n            change [yvel v] by (-0.1)\n        end\n        set [yvel v] to [0]\n    end\nend\n\nwhen I receive [start v]\nforever\n    if <not <touching color (#cc7700)?>> then\n        if <key (right arrow v) pressed?> then\n            set [xvel v] to [3]\n        end\n        if <key (left arrow v) pressed?> then\n            set [xvel v] to [-3]\n        end\n    end\n    set [xvel v] to ((Xvel) * (0.9))\nend\n\nwhen I receive [start v]\nforever\n    if <touching color (#00ff55)?> then\n        go to x: (-210) y: (-96)\n    end\n    if <<touching color (#cccc00)?> or <touching color (#ffff00)?>> then\n        go to x: (-210) y: (-96)\n    end\n    if <touching color (#ff0000)?> then\n        go to x: (-210) y: (-96)\n    end\n    if <<touching color (#6600cc)?> or <touching color (#4c0099)?>> then\n        go to x: (-210) y: (-96)\n        change [level v] by (1)\n    end\n    if <touching color (#ff9400)?> then\n        go to x: (-210) y: (-96)\n    end\nend\n\nwait (0.07) seconds\n\nwhen I receive [start v]\nforever\n    if <key (r v) pressed?> then\n        go to x: (-210) y: (-96)\n    end\nend\n\n@Moving Platform\n\nwhen I receive [start v]\ngo to x: (37) y: (-121)\nhide\nforever\n    if <(Level) = [4]> then\n        repeat until <not <(Level) = [4]>>\n            show\n            set [platfrom xspeed v] to [5]\n            repeat until <(x position) > [151]>\n                change x by (5)\n            end\n            set [platfrom xspeed v] to [0]\n            set [platfrom xspeed v] to [-5]\n            repeat until <(x position) < [35]>\n                change x by (-5)\n            end\n            set [platfrom xspeed v] to [0]\n        end\n        hide\n    end\nend\n\n@Sprite2\n\ngo to x: (0) y: (0)\n\ngo to [front v] layer\n\nwhen flag clicked\nshow\nset [ghost v] effect to (0)\ngo [backward v] (2) layers\n\nwhen I receive [thumb v]\ngo to [front v] layer\nwait (5) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\nbroadcast (Start v)\n\n@Sprite4\n\nwhen I start as a clone\nshow\ngo to (sprite3 v)\nif <(Cannon Ball Dir) = [2]> then\n    change x by (30)\nelse\n    change x by (-30)\nend\nchange y by (10)\nrepeat until <<touching (sprite1 v)?> or <touching (_edge_ v)?>>\n    if <(Cannon Ball Dir) = [2]> then\n        move (10) steps\n    else\n        move (-10) steps\n    end\nend\nwait (0.1) seconds\ndelete this clone\n\nwhen flag clicked\nhide\n\n@Sprite6\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset [ghost v] effect to (0)\nshow\ngo to [front v] layer\nwait (3) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nbroadcast (thumb v)\n\nhide\n\n