A Pretty Hard Platformer

Instructions: Arrow Keys to move.\nGet to the black door.\nSpace to change color.\nBlue substance makes you jump higher (like a trampoline).\nOrange lava kills you.\nLove and Favorite\nThere is water in some of the levels. It is light blue. Don't touch the algae. It kills you

@Stage\n\nwhen flag clicked\nset tempo to (75)\nplay drum (1 v) for (0.25) beats\nplay drum (1 v) for (0.25) beats\nplay drum (1 v) for (0.5) beats\nplay drum (1 v) for (0.25) beats\nplay drum (1 v) for (0.25) beats\nplay drum (1 v) for (0.5) beats\nplay drum (1 v) for (0.25) beats\nplay drum (1 v) for (0.25) beats\nplay drum (1 v) for (0.25) beats\nplay drum (1 v) for (0.125) beats\nplay drum (1 v) for (0.125) beats\nplay drum (1 v) for (0.25) beats\nplay drum (1 v) for (0.25) beats\nplay drum (1 v) for (0.25) beats\n\nwhen I receive [ailwyrgn v]\nswitch backdrop to (hello v)\n\nwhen I receive [next level v]\nnext backdrop\n\nwhen flag clicked\nrest for (0.5) beats\nrepeat (7)\n    play drum (2 v) for (0.5) beats\nend\n\nplay drum (7 v) for (0.25) beats\n\n@Sprite1\n\nwhen I receive [go v]\nforever\n    if <touching color (#00ffff)?> then\n        set [yv v] to [16]\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching color (#663b00)?> then\n        broadcast (next level v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (sprite4 v)?> then\n        if <key (down arrow v) pressed?> then\n            broadcast (belooba v)\n        end\n    end\nend\n\nwhen flag clicked\n\nwhen flag clicked\nforever\n\nwhen I receive [go v]\ngo to x: (-312) y: (-10)\nshow\nset size to (40) %\n\nwhen flag clicked\nhide variable [lives v]\nforever\n    \nend\n\nwhen I receive [go v]\nforever\n    if <touching color (#ff9400)?> then\n        go to x: (-312) y: (-10)\n        change [lives v] by (-1)\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching color (#99ffff)?> then\n        set [yv v] to [-1]\n        set [water v] to [1]\n        if <key (up arrow v) pressed?> then\n            set [yv v] to [4]\n        end\n        if <key (right arrow v) pressed?> then\n            change [xv v] by (0.3)\n        end\n        if <key (left arrow v) pressed?> then\n            change [xv v] by (-0.3)\n        end\n    else\n        set [water v] to [0]\n    end\nend\n\nwhen flag clicked\nforever\n    \n        set [power-up v] to [1]\n    end\nend\n\nwhen flag clicked\nset [water v] to [0]\nhide\nset [lives v] to [3]\nswitch backdrop to (start v)\nforever\n    if <(Lives) = [0]> then\n        switch backdrop to (you lose!! v)\n        broadcast (ailwyrgn v)\n        set [restart v] to [1]\n    end\nend\n\nwhen flag clicked\nforever\n    if <<touching color (#00ff55)?> or <touching (sprite8 v)?>> then\n        if <(Power-up) = [0]> then\n            go to x: (-232) y: (-10)\n            change [lives v] by (-1)\n        end\n    end\nend\n\nshow variable [restart v]\n\nwhen I receive [go v]\nset [level v] to [1]\nforever\n    change [yv v] by (-0.5)\n    if <key (right arrow v) pressed?> then\n        if <(water) = [0]> then\n            if <(costume [number v]) = [1]> then\n                change [xv v] by (0.7)\n            else\n                change [xv v] by (0.5)\n            end\n        end\n    end\n    if <key (left arrow v) pressed?> then\n        if <(water) = [0]> then\n            if <(costume [number v]) = [1]> then\n                change [xv v] by (-0.7)\n            else\n                change [xv v] by (-0.5)\n            end\n        end\n    end\n    set [xv v] to ((Xv) * (0.9))\n    change x by (Xv)\n    if <touching color (#7f7f7f)?> then\n        change y by (1)\n        if <touching color (#7f7f7f)?> then\n            change y by (1)\n            if <touching color (#7f7f7f)?> then\n                change y by (1)\n                if <touching color (#7f7f7f)?> then\n                    change y by (1)\n                    if <touching color (#7f7f7f)?> then\n                        change y by (1)\n                    end\n                    if <touching color (#7f7f7f)?> then\n                        change x by ((Xv) * (-1))\n                        change x by (-1)\n                        change y by (-5)\n                        change x by (1)\n                        if <key (up arrow v) pressed?> then\n                            if <(Xv) < [0]> then\n                                if <(costume [number v]) = [2]> then\n                                    set [yv v] to [10]\n                                    set [xv v] to [10]\n                                else\n                                    set [yv v] to [8]\n                                    set [xv v] to [8]\n                                end\n                            else\n                                if <(costume [number v]) = [2]> then\n                                    set [yv v] to [10]\n                                    set [xv v] to [-10]\n                                else\n                                    set [yv v] to [8]\n                                    set [xv v] to [-8]\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change y by (Yv)\n    if <touching color (#7f7f7f)?> then\n        change y by ((Yv) * (-1))\n        set [yv v] to [0]\n    end\n    change y by (-1)\n    if <key (up arrow v) pressed?> then\n        if <touching color (#7f7f7f)?> then\n            if <(water) = [0]> then\n                if <(costume [number v]) = [2]> then\n                    set [yv v] to [11]\n                else\n                    set [yv v] to [10]\n                end\n            end\n        end\n    end\n    if <touching color (#00ffff)?> then\n        if <key (up arrow v) pressed?> then\n            set [yv v] to [10]\n        end\n    end\n    change y by (1)\n    if <touching color (#000000)?> then\n        go to x: (-312) y: (0)\n        broadcast (next level v)\n        change [level v] by (1)\n    end\nend\n\nwhen [space v] key pressed\nnext costume\n\nwhen flag clicked\nforever\n    \nend\n\nwhen I receive [byebye v]\ngo to x: (-228) y: (129)\n\nmove (10) steps\n\n@Sprite2\n\nwhen flag clicked\nhide\nforever\n    if <(backdrop [name v]) = [5]> then\n        show\n    else\n        hide\n    end\nend\n\nwhen flag clicked\nforever\n    glide (3) secs to x: (-180) y: (-52)\n    glide (3) secs to x: (170) y: (-52)\nend\n\nwhen I receive [balooba v]\nforever\n    hide\nend\n\n@Sprite4\n\nwhen flag clicked\nhide\nforever\n    if <<(backdrop [name v]) = [6]> or <(backdrop [name v]) = [6.5]>> then\n        show\n    else\n        hide\n    end\nend\n\nwhen flag clicked\nforever\n    glide (1) secs to x: (178) y: (55)\n    glide (1) secs to x: (61) y: (55)\nend\n\nwhen I receive [belooba v]\nforever\n    hide\nend\n\n@Sprite5\n\nwhen flag clicked\nshow\nforever\n    if <touching (mouse-pointer v)?> then\n        set size to (180) %\n        if <mouse down?> then\n            switch backdrop to (9 v)\n            broadcast (go v)\n            broadcast (byebye v)\n            set [lives v] to [1]\n            show variable [lives v]\n            stop [this script v]\n        end\n    else\n        set size to (160) %\n    end\nend\n\nwhen I receive [byebye v]\nhide\nstop [this script v]\n\nif  then\nend\n\n@Sprite3\n\nwhen flag clicked\nshow\nforever\n    if <touching (mouse-pointer v)?> then\n        set size to (180) %\n        if <mouse down?> then\n            switch backdrop to (1 v)\n            broadcast (go v)\n            broadcast (byebye v)\n            show variable [lives v]\n            set [lives v] to [3]\n            stop [this script v]\n        end\n    else\n        set size to (160) %\n    end\nend\n\nwhen I receive [byebye v]\nhide\nstop [this script v]\n\n@Sprite6\n\nwhen flag clicked\nhide\n\nwhen I receive [ailwyrgn v]\nshow\nforever\n    if <(restart) = [1]> then\n        if <touching (mouse-pointer v)?> then\n            set size to (190) %\n            if <mouse down?> then\n                set [lives v] to [3]\n                switch backdrop to (1 v)\n                broadcast (go v)\n                broadcast (byebye v)\n                hide\n                set [restart v] to [0]\n            end\n        end\n    end\nend\n\nwhen I receive [byebye v]\nhide\n\n@Sprite7\n\nwhen flag clicked\nhide\n\nwhen I receive [ailwyrgn v]\nshow\nforever\n    if <(restart) = [1]> then\n        set size to (190) %\n        if <<mouse down?> and <touching (mouse-pointer v)?>> then\n            switch backdrop to (9 v)\n            set [lives v] to [1]\n            broadcast (byebye v)\n        end\n    end\nend\n\nwhen I receive [byebye v]\nhide\n\n@Sprite8\n\nwhen flag clicked\nforever\n    glide (1) secs to x: (178) y: (55)\n    glide (1) secs to x: (61) y: (55)\nend\n\nwhen I receive [belooba v]\nforever\n    hide\nend\n\nwhen flag clicked\nhide\nforever\n    if <<(backdrop [name v]) = [6]> or <(backdrop [name v]) = [6.5]>> then\n        show\n    else\n        hide\n    end\nend\n\n@Sprite9\n\nwhen flag clicked\nhide\n\nwhen backdrop switches to [16 v]\nshow\n\nwhen flag clicked\nforever\n    if <not <(backdrop [name v]) = [16]>> then\n        hide\n    end\nend\n\nwhen flag clicked\nforever\n    glide (1) secs to x: (-66) y: (-125)\n    glide (1) secs to x: (84) y: (-125)\nend\n\n