Blue: a platformer

Instructions: All levels are possible.\nArrow keys to move.\nYou can move in the air.\nIt sometimes loads to level 8 and sometimes not.\n\n\n

@Stage\n\nwhen flag clicked\nforever\n    set volume to (10) %\n    play sound [Alan Walker - Fade \[NCS Release\] v] until done\nend\n\n@Blue guy\n\nwhen flag clicked\nhide\nshow\ngo to x: (-170) y: (-130)\nset [level v] to [1]\nset [xv v] to [0]\nset [yv v] to [0]\nwait (0.5) seconds\nforever\n    if <(Loading) = [off]> then\n        if <key (right arrow v) pressed?> then\n            change [xv v] by (1)\n        end\n        if <key (left arrow v) pressed?> then\n            change [xv v] by (-1)\n        end\n        set [xv v] to ((Xv) * (0.9))\n        change x by (Xv)\n        if <touching (level v)?> then\n            change y by (1)\n            if <touching (level v)?> then\n                change y by (1)\n                if <touching (level v)?> then\n                    change y by (1)\n                    if <touching (level v)?> then\n                        change y by (1)\n                        if <touching (level v)?> then\n                            change y by (1)\n                            if <touching (level v)?> then\n                                change x by ((Xv) * (-1))\n                                change y by (-5)\n                                if <key (up arrow v) pressed?> then\n                                    if <(Xv) > [0]> then\n                                        set [xv v] to [-7]\n                                    else\n                                        set [xv v] to [7]\n                                    end\n                                    set [yv v] to [12]\n                                else\n                                    set [xv v] to [0]\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n        change [yv v] by (-1)\n        change y by (Yv)\n        if <touching (level v)?> then\n            change y by ((Yv) * (-1))\n            set [yv v] to [0]\n        end\n        change y by (-1)\n        if <touching (level v)?> then\n            if <key (up arrow v) pressed?> then\n                set [yv v] to [12]\n            end\n        end\n        change y by (1)\n    end\nend\n\nwhen flag clicked\nswitch costume to (costume1 v)\nforever\n    if <touching (next level peeps v)?> then\n        wait (1) seconds\n        set [loading v] to [on]\n        if <(Level) = [2]> then\n            go to x: (-170) y: (-130)\n        end\n        if <(Level) = [3]> then\n            go to x: (-160) y: (80)\n        end\n        if <(Level) = [4]> then\n            go to x: (-170) y: (-130)\n        end\n        if <(Level) = [5]> then\n            go to x: (-160) y: (-125)\n        end\n        if <(Level) = [6]> then\n            go to x: (-169) y: (85)\n        end\n        if <(Level) = [7]> then\n            go to x: (-170) y: (-130)\n        end\n        if <(Level) = [8]> then\n            go to x: (-170) y: (-130)\n        end\n        if <(Level) = [9]> then\n            go to x: (-178) y: (40)\n        end\n        if <(Level) = [10]> then\n            go to x: (-166) y: (72)\n        end\n        set [loading v] to [off]\n        set [yv v] to [0]\n        set [xv v] to [0]\n    end\nend\n\nwhen flag clicked\nset [invincibility v] to [off]\nforever\n    if <<touching (bad v)?> and <(Invincibility) = [off]>> then\n        set [xv v] to [0]\n        set [yv v] to [0]\n        if <(Level) = [2]> then\n            go to x: (-170) y: (-130)\n        end\n        if <(Level) = [3]> then\n            go to x: (-160) y: (80)\n        end\n        if <(Level) = [4]> then\n            go to x: (-170) y: (-130)\n        end\n        if <(Level) = [5]> then\n            go to x: (-160) y: (-125)\n        end\n        if <(Level) = [6]> then\n            go to x: (-169) y: (85)\n        end\n        if <(Level) = [7]> then\n            go to x: (-170) y: (-130)\n        end\n        if <(Level) = [8]> then\n            go to x: (-170) y: (-130)\n        end\n        if <(Level) = [9]> then\n            go to x: (-178) y: (40)\n        end\n        if <(Level) = [2]> then\n            go to x: (-170) y: (-130)\n        end\n        if <(Level) = [3]> then\n            go to x: (-160) y: (80)\n        end\n        if <(Level) = [4]> then\n            go to x: (-170) y: (-130)\n        end\n        if <(Level) = [5]> then\n            go to x: (-160) y: (-125)\n        end\n        if <(Level) = [6]> then\n            go to x: (-169) y: (85)\n        end\n        if <(Level) = [7]> then\n            go to x: (-170) y: (-130)\n        end\n        if <(Level) = [8]> then\n            go to x: (-170) y: (-130)\n        end\n        if <(Level) = [9]> then\n            go to x: (-178) y: (40)\n        end\n        if <(Level) = [10]> then\n            go to x: (-166) y: (72)\n        end\n    end\nend\n\nwhen [m v] key pressed\nif  then\n    next costume\nend\n\nwhen flag clicked\nforever\n    if  then\n        if <key (z v) pressed?> then\n            set [invincibility v] to [on]\n            show variable [invincibility v]\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if  then\n        if <key (x v) pressed?> then\n            set [invincibility v] to [off]\n            show variable [invincibility v]\n        end\n    end\nend\n\n@Level\n\nwhen flag clicked\nhide\nshow\nswitch costume to (1 v)\ngo to x: (0) y: (0)\nforever\n    switch costume to (Level)\n    if <(Loading) = [on]> then\n        hide\n    end\n    if <(Loading) = [off]> then\n        show\n    end\nend\n\n@NEXT LEVEL PEEPS\n\nwhen flag clicked\nset [loading v] to [off]\ngo to x: (160) y: (-130)\nswitch costume to (1 v)\nset [level v] to [1]\nforever\n    switch costume to (Level)\n    if <touching (blue guy v)?> then\n        set [loading v] to [on]\n        change [level v] by (1)\n        wait until <not <touching (blue guy v)?>>\n        next costume\n        if <(Level) = [1]> then\n            go to x: (160) y: (-130)\n        end\n        if <(Level) = [2]> then\n            go to x: (155) y: (75)\n        end\n        if <(Level) = [3]> then\n            go to x: (155) y: (75)\n        end\n        if <(Level) = [4]> then\n            go to x: (160) y: (-130)\n        end\n        if <(Level) = [5]> then\n            go to x: (160) y: (-130)\n        end\n        if <(Level) = [6]> then\n            go to x: (80) y: (-130)\n        end\n        if <(Level) = [7]> then\n            go to x: (145) y: (-130)\n        end\n        if <(Level) = [8]> then\n            go to x: (156) y: (50)\n        end\n        if <(Level) = [9]> then\n            go to x: (156) y: (55)\n        end\n        if <(Level) = [10]> then\n            go to x: (-27) y: (-23)\n        end\n    end\nend\n\n@Loading\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\nforever\n    if <(Loading) = [on]> then\n        show\n        go to [front v] layer\n    end\n    if <(Loading) = [off]> then\n        go to [back v] layer\n        hide\n    end\nend\n\n@Bad\n\nwhen flag clicked\ngo to x: (0) y: (0)\nforever\n    go to [back v] layer\n    switch costume to (Level)\n    if <(Loading) = [on]> then\n        hide\n    end\n    if <(Loading) = [off]> then\n        show\n    end\nend\n\n