3 Player Platformer
@Stage\n\nwhen flag clicked\nswitch backdrop to (super duper ultra easy v)\nforever\n    play sound [Sleep Away v] until done\nend\n\nwhen I receive [levelup3 v]\nnext backdrop\n\n@Player 1\n\nwhen I receive [levelup v]\nset size to (60) %\nhide\ngo to x: (-160) y: (-136)\nset [xv v] to [0]\nset [yv v] to [0]\nshow\nchange [levup v] by (1)\nstop [this script v]\n\nwhen [space v] key pressed\nset size to (60) %\ngo to x: (-160) y: (-136)\nset [xv v] to [0]\nset [yv v] to [0]\nchange [levup v] by (1)\nstop [this script v]\n\nwhen I receive [dead v]\nset size to (60) %\n\nwhen I receive [go v]\nshow\nerase all\npen up\nset [x v] to [0]\ngo to x: (-160) y: (-136)\nset [xv v] to [0]\nset [yv v] to [0]\nreset timer\nforever\n    if <touching (end v)?> then\n        change [green score v] by (1)\n        if <(backdrop [name v]) = [Backdrop30]> then\n            broadcast (ending v)\n        else\n            if <(backdrop [name v]) = [Backdrop31]> then\n                switch backdrop to (backdrop32 v)\n            else\n                set [levup v] to [1]\n                broadcast (levelup v) and wait\n            end\n        end\n    end\n    if <touching color (#99b3ff)?> then\n        if <key (left arrow v) pressed?> then\n            change [xv v] by (-1)\n        end\n        if <key (right arrow v) pressed?> then\n            change [xv v] by (1)\n        end\n        if <key (down arrow v) pressed?> then\n            if <touching color (#000000)?> then\n                underground glitch\n            else\n                change [yv v] by (-1)\n            end\n        end\n        if <key (up arrow v) pressed?> then\n            change [yv v] by (1)\n        end\n        set [xv v] to ((xv) * (0.8))\n        set [yv v] to ((yv) * (0.8))\n        change [yv v] by (((yv) / (15)) + (0.1))\n        if <<touching color (#ff0000)?> or <touching (fireball v)?>> then\n            if <(costume [number v]) = [2]> then\n                clear graphic effects\n            else\n                broadcast (dead v) and wait\n                set [x v] to [0]\n                go to x: (-160) y: (-136)\n                set [xv v] to [0]\n                set [yv v] to [0]\n                change [dead? v] by (1)\n                wait (1) seconds\n                set [dead? v] to [0]\n            end\n        end\n        change x by (xv)\n        change y by (yv)\n        if <not <touching color (#99b3ff)?>> then\n            change y by (-2)\n            if <touching color (#99b3ff)?> then\n                change y by (2)\n                change y by ((-1) * (yv))\n                if <key (up arrow v) pressed?> then\n                    change y by (yv)\n                    set [yv v] to [9]\n                end\n                if <key (down arrow v) pressed?> then\n                    if <touching color (#000000)?> then\n                        change [yv v] by (3)\n                    else\n                        change [yv v] by (-1)\n                    end\n                end\n            end\n        end\n        if <touching color (#000008)?> then\n            change y by (-2)\n            if <touching color (#000008)?> then\n                change x by ((-1) * (xv))\n                set [xv v] to ((-1) * (xv))\n            end\n            change y by (2)\n        end\n        if <touching color (#000008)?> then\n            change y by (-6)\n            if <not <touching color (#000008)?>> then\n                change y by ((-1) * (yv))\n                set [yv v] to ((-1) * (yv))\n            end\n            change y by (6)\n        end\n    else\n        if <<(y position) < [-170]> or <touching color (#ff0000)?>> then\n            if <<(costume [number v]) = [2]> and <touching color (#ff0000)?>> then\n            else\n                broadcast (dead v) and wait\n                set [x v] to [0]\n                go to x: (-160) y: (-136)\n                set [xv v] to [0]\n                set [yv v] to [0]\n            end\n        end\n        if <key (left arrow v) pressed?> then\n            change [xv v] by (-1)\n        end\n        if <key (right arrow v) pressed?> then\n            change [xv v] by (1)\n        end\n        set [xv v] to ((xv) * (0.85))\n        change x by (xv)\n        if <touching color (#000008)?> then\n            change y by (-2)\n            if <touching color (#000008)?> then\n                change x by ((-1) * ((xv) + ((xv) / (([abs v] of (xv) ) + (0.0001)))))\n                if <<key (up arrow v) pressed?> and <not <(xv) = [0]>>> then\n                    set [yv v] to [8]\n                    set [xv v] to (((xv) / ([abs v] of (xv) )) * (-10))\n                else\n                    set [xv v] to [0]\n                end\n            end\n            change y by (2)\n        end\n        change y by (-3)\n        if <<key (up arrow v) pressed?> and <touching color (#000008)?>> then\n            set [yv v] to [9]\n        end\n        change y by (3)\n        if <(yv) > [-15]> then\n            change [yv v] by (-0.5)\n        end\n        if <(yv) < [3]> then\n            change y by (-2)\n            if <not <touching color (#000008)?>> then\n                change y by (-1)\n            end\n            change y by (2)\n        end\n        change y by (yv)\n        if <touching color (#000008)?> then\n            change y by (-2)\n            if <touching color (#000008)?> then\n                change y by ((-1) * (yv))\n                set [yv v] to [-3]\n            end\n            change y by (2)\n        end\n        if <touching color (#ffff00)?> then\n            set [yv v] to [12]\n        end\n        if <touching color (#ff9999)?> then\n            if <<(backdrop [name v]) = [Expert]> or <<(backdrop [name v]) = [Hard Expert]> or <<(backdrop [name v]) = [Medium Expert]> or <<(backdrop [name v]) = [Very Hard]> or <(backdrop [name v]) = [Starter]>>>>> then\n                set size to (30) %\n            end\n        end\n        if <touching color (#0033cc)?> then\n            if <not <(backdrop [name v]) = [Starter]>> then\n                set size to (60) %\n            end\n        end\n    end\nend\n\ndefine underground glitch\nset [yv v] to [3]\n\nwhen flag clicked\nswitch costume to (costume1 v)\nset [green score v] to [0]\nhide variable [time v]\nswitch backdrop to (backdrop1 v)\nhide\nset [startx v] to [-206]\nset size to (60) %\n\nwhen I receive [levelup v]\nswitch backdrop to (next backdrop v)\ngo to x: (-160) y: (-136)\n\nwhen I receive [levelup2 v]\nset size to (60) %\nhide\ngo to x: (-160) y: (-136)\nset [xv v] to [0]\nset [yv v] to [0]\nshow\nchange [levup v] by (1)\nstop [this script v]\n\nwhen I receive [levelup3 v]\nset size to (60) %\nhide\ngo to x: (-160) y: (-136)\nset [xv v] to [0]\nset [yv v] to [0]\nshow\nchange [levup v] by (1)\nstop [this script v]\n\nwhen I receive [levelup2 v]\ngo to x: (-160) y: (-136)\n\nwhen I receive [levelup3 v]\ngo to x: (-160) y: (-136)\n\n@Player 2\n\nwhen I receive [levelup v]\nset size to (60) %\nhide\ngo to x: (0) y: (-136)\nset [xv v] to [0]\nset [yv v] to [0]\nshow\nchange [levup v] by (1)\nstop [this script v]\n\nwhen I receive [dead v]\nset size to (60) %\n\nwhen I receive [go v]\nset [red score v] to [0]\nshow\nerase all\npen up\nset [x v] to [0]\ngo to x: (0) y: (-136)\nset [xv v] to [0]\nset [yv v] to [0]\nreset timer\nforever\n    if <touching (end v)?> then\n        change [red score v] by (1)\n        if <(backdrop [name v]) = [Backdrop30]> then\n            broadcast (ending v)\n        else\n            if <(backdrop [name v]) = [Backdrop31]> then\n                switch backdrop to (backdrop32 v)\n            else\n                set [levup v] to [1]\n                broadcast (levelup2 v) and wait\n            end\n        end\n    end\n    if <touching color (#99b3ff)?> then\n        if <key (a v) pressed?> then\n            change [xv v] by (-1)\n        end\n        if <key (d v) pressed?> then\n            change [xv v] by (1)\n        end\n        if <key (s v) pressed?> then\n            if <touching color (#000000)?> then\n                underground glitch\n            else\n                change [yv v] by (-1)\n            end\n        end\n        if <key (w v) pressed?> then\n            change [yv v] by (1)\n        end\n        set [xv v] to ((xv) * (0.8))\n        set [yv v] to ((yv) * (0.8))\n        change [yv v] by (((yv) / (15)) + (0.1))\n        if <<touching color (#ff0000)?> or <touching (fireball v)?>> then\n            if <(costume [number v]) = [2]> then\n                clear graphic effects\n            else\n                broadcast (dead v) and wait\n                set [x v] to [0]\n                go to x: (0) y: (-136)\n                set [xv v] to [0]\n                set [yv v] to [0]\n                change [dead? v] by (1)\n                wait (1) seconds\n                set [dead? v] to [0]\n            end\n        end\n        change x by (xv)\n        change y by (yv)\n        if <not <touching color (#99b3ff)?>> then\n            change y by (-2)\n            if <touching color (#99b3ff)?> then\n                change y by (2)\n                change y by ((-1) * (yv))\n                if <key (d v) pressed?> then\n                    change y by (yv)\n                    set [yv v] to [9]\n                end\n                if <key (s v) pressed?> then\n                    if <touching color (#000000)?> then\n                        change [yv v] by (3)\n                    else\n                        change [yv v] by (-1)\n                    end\n                end\n            end\n        end\n        if <touching color (#000008)?> then\n            change y by (-2)\n            if <touching color (#000008)?> then\n                change x by ((-1) * (xv))\n                set [xv v] to ((-1) * (xv))\n            end\n            change y by (2)\n        end\n        if <touching color (#000008)?> then\n            change y by (-6)\n            if <not <touching color (#000008)?>> then\n                change y by ((-1) * (yv))\n                set [yv v] to ((-1) * (yv))\n            end\n            change y by (6)\n        end\n    else\n        if <<(y position) < [-170]> or <touching color (#ff0000)?>> then\n            if <<(costume [number v]) = [2]> and <touching color (#ff0000)?>> then\n            else\n                broadcast (dead v) and wait\n                set [x v] to [0]\n                go to x: (0) y: (-136)\n                set [xv v] to [0]\n                set [yv v] to [0]\n            end\n        end\n        if <key (a v) pressed?> then\n            change [xv v] by (-1)\n        end\n        if <key (d v) pressed?> then\n            change [xv v] by (1)\n        end\n        set [xv v] to ((xv) * (0.85))\n        change x by (xv)\n        if <touching color (#000008)?> then\n            change y by (-2)\n            if <touching color (#000008)?> then\n                change x by ((-1) * ((xv) + ((xv) / (([abs v] of (xv) ) + (0.0001)))))\n                if <<key (w v) pressed?> and <not <(xv) = [0]>>> then\n                    set [yv v] to [8]\n                    set [xv v] to (((xv) / ([abs v] of (xv) )) * (-10))\n                else\n                    set [xv v] to [0]\n                end\n            end\n            change y by (2)\n        end\n        change y by (-3)\n        if <<key (w v) pressed?> and <touching color (#000008)?>> then\n            set [yv v] to [9]\n        end\n        change y by (3)\n        if <(yv) > [-15]> then\n            change [yv v] by (-0.5)\n        end\n        if <(yv) < [3]> then\n            change y by (-2)\n            if <not <touching color (#000008)?>> then\n                change y by (-1)\n            end\n            change y by (2)\n        end\n        change y by (yv)\n        if <touching color (#000008)?> then\n            change y by (-2)\n            if <touching color (#000008)?> then\n                change y by ((-1) * (yv))\n                set [yv v] to [-3]\n            end\n            change y by (2)\n        end\n        if <touching color (#ffff00)?> then\n            set [yv v] to [12]\n        end\n        if <touching color (#ff9999)?> then\n            if <<(backdrop [name v]) = [Expert]> or <<(backdrop [name v]) = [Hard Expert]> or <<(backdrop [name v]) = [Medium Expert]> or <<(backdrop [name v]) = [Very Hard]> or <(backdrop [name v]) = [Starter]>>>>> then\n                set size to (30) %\n            end\n        end\n        if <touching color (#0033cc)?> then\n            set size to (60) %\n        end\n    end\nend\n\ndefine underground glitch\nset [yv v] to [3]\n\nwhen flag clicked\nswitch costume to (costume1 v)\nhide variable [time v]\nswitch backdrop to (backdrop1 v)\nhide\nset [startx v] to [-206]\nset size to (60) %\n\nwhen I receive [levelup3 v]\ngo to x: (0) y: (-136)\n\nwhen I receive [levelup2 v]\nswitch backdrop to (next backdrop v)\ngo to x: (0) y: (-136)\n\nwhen I receive [levelup v]\ngo to x: (0) y: (-136)\n\nwhen I receive [levelup2 v]\nset size to (60) %\nhide\ngo to x: (0) y: (-136)\nset [xv v] to [0]\nset [yv v] to [0]\nshow\nchange [levup v] by (1)\nstop [this script v]\n\nwhen I receive [levelup3 v]\nset size to (60) %\nhide\ngo to x: (0) y: (-136)\nset [xv v] to [0]\nset [yv v] to [0]\nshow\nchange [levup v] by (1)\nstop [this script v]\n\nwhen [space v] key pressed\nset size to (60) %\ngo to x: (0) y: (-136)\nset [xv v] to [0]\nset [yv v] to [0]\nchange [levup v] by (1)\nstop [this script v]\n\nwhen I receive [2nd bot active v2 v]\nset [bot active? v] to [1]\nstop [other scripts in sprite v]\nforever\n    set [randomizer v] to (pick random (1) to (5))\n    if <touching (end v)?> then\n        change [blue score v] by (1)\n        if <(backdrop [name v]) = [Backdrop30]> then\n            broadcast (ending v)\n        else\n            if <(backdrop [name v]) = [Backdrop31]> then\n                switch backdrop to (backdrop32 v)\n            else\n                set [levup v] to [1]\n                broadcast (levelup3 v) and wait\n            end\n        end\n    end\n    if <touching color (#99b3ff)?> then\n        if <(randomizer) = [1]> then\n            change [xv v] by (-15)\n        end\n        if <(randomizer) = [2]> then\n            change [xv v] by (15)\n        end\n        if <(randomizer) = [3]> then\n            if <touching color (#000000)?> then\n                underground glitch\n            else\n                change [yv v] by (-15)\n            end\n        end\n        if <(randomizer) = [4]> then\n            change [yv v] by (15)\n        end\n        set [xv v] to ((xv) * (1))\n        set [yv v] to ((yv) * (1))\n        change [yv v] by (((yv) / (15)) + (0.1))\n        if <touching color (#ff0000)?> then\n            if <(costume [number v]) = [2]> then\n                clear graphic effects\n            else\n                broadcast (dead v) and wait\n                set [x v] to [0]\n                go to x: (0) y: (-136)\n                set [xv v] to [0]\n                set [yv v] to [0]\n                change [dead? v] by (1)\n                wait (1) seconds\n                set [dead? v] to [0]\n            end\n        end\n        change x by (xv)\n        change y by (yv)\n        if <not <touching color (#99b3ff)?>> then\n            change y by (-3)\n            if <touching color (#99b3ff)?> then\n                change y by (3)\n                change y by ((-1) * (yv))\n                if <(randomizer) = [4]> then\n                    change y by (yv)\n                    set [yv v] to [11]\n                end\n                if <(randomizer) = [3]> then\n                    if <touching color (#000000)?> then\n                        change [yv v] by (8)\n                    else\n                        change [yv v] by (-2)\n                    end\n                end\n            end\n        end\n        if <touching color (#000008)?> then\n            change y by (-3)\n            if <touching color (#000008)?> then\n                change x by ((-1) * (xv))\n                set [xv v] to ((-1) * (xv))\n            end\n            change y by (3)\n        end\n        if <touching color (#000008)?> then\n            change y by (-7)\n            if <not <touching color (#000008)?>> then\n                change y by ((-2) * (yv))\n                set [yv v] to ((-2) * (yv))\n            end\n            change y by (7)\n        end\n    else\n        if <<(y position) < [-170]> or <touching color (#ff0000)?>> then\n            if <<(costume [number v]) = [2]> and <touching color (#ff0000)?>> then\n            else\n                broadcast (dead v) and wait\n                set [x v] to [0]\n                go to x: (0) y: (-136)\n                set [xv v] to [0]\n                set [yv v] to [0]\n            end\n        end\n        if <(randomizer) = [1]> then\n            change [xv v] by (-15)\n        end\n        if <(randomizer) = [2]> then\n            change [xv v] by (15)\n        end\n        set [xv v] to ((xv) * (1))\n        change x by (xv)\n        if <touching color (#000008)?> then\n            change y by (-3)\n            if <touching color (#000008)?> then\n                change x by ((-1) * ((xv) + ((xv) / (([abs v] of (xv) ) + (0.0001)))))\n                if <<(randomizer) = [4]> and <not <(xv) = [0]>>> then\n                    set [yv v] to [20]\n                    set [xv v] to (((xv) / ([abs v] of (xv) )) * (-11))\n                else\n                    set [xv v] to [0]\n                end\n            end\n            change y by (3)\n        end\n        change y by (-4)\n        if <<(randomizer) = [4]> and <touching color (#000008)?>> then\n            set [yv v] to [13]\n        end\n        change y by (4)\n        if <(yv) > [-15]> then\n            change [yv v] by (-1)\n        end\n        if <(yv) < [3]> then\n            change y by (-3)\n            if <not <touching color (#000008)?>> then\n                change y by (-2)\n            end\n            change y by (3)\n        end\n        change y by (yv)\n        if <touching color (#000008)?> then\n            change y by (-3)\n            if <touching color (#000008)?> then\n                change y by ((-1) * (yv))\n                set [yv v] to [-4]\n            end\n            change y by (3)\n        end\n        if <touching color (#ffff00)?> then\n            set [yv v] to [10]\n        end\n        if <touching color (#ff9999)?> then\n            if <<(backdrop [name v]) = [Expert]> or <<(backdrop [name v]) = [Hard Expert]> or <<(backdrop [name v]) = [Medium Expert]> or <<(backdrop [name v]) = [Very Hard]> or <(backdrop [name v]) = [Starter]>>>>> then\n                set size to (30) %\n            end\n        end\n        if <touching color (#0033cc)?> then\n            set size to (60) %\n        end\n    end\nend\n\nwhen [p v] key pressed\nbroadcast (2nd bot active V2 v)\n\nwhen [1 v] key pressed\nif <(bot active?) = [1]> then\n    set size to (60) %\n    go to x: (0) y: (-136)\n    set [xv v] to [0]\n    set [yv v] to [0]\n    change [levup v] by (1)\n    stop [this script v]\nelse\nend\n\n@Player 3\n\nwhen I receive [levelup v]\nset size to (60) %\nhide\ngo to x: (160) y: (-136)\nset [xv v] to [0]\nset [yv v] to [0]\nshow\nchange [levup v] by (1)\nstop [this script v]\n\nwhen I receive [dead v]\nset size to (60) %\n\nwhen I receive [go v]\nset [blue score v] to [0]\nshow\nerase all\npen up\nset [x v] to [0]\ngo to x: (160) y: (-136)\nset [xv v] to [0]\nset [yv v] to [0]\nreset timer\nforever\n    if <touching (end v)?> then\n        change [blue score v] by (1)\n        if <(backdrop [name v]) = [Backdrop30]> then\n            broadcast (ending v)\n        else\n            if <(backdrop [name v]) = [Backdrop31]> then\n                switch backdrop to (backdrop32 v)\n            else\n                set [levup v] to [1]\n                broadcast (levelup3 v) and wait\n            end\n        end\n    end\n    if <touching color (#99b3ff)?> then\n        if <key (j v) pressed?> then\n            change [xv v] by (-1)\n        end\n        if <key (l v) pressed?> then\n            change [xv v] by (1)\n        end\n        if <key (k v) pressed?> then\n            if <touching color (#000000)?> then\n                underground glitch\n            else\n                change [yv v] by (-1)\n            end\n        end\n        if <key (i v) pressed?> then\n            change [yv v] by (1)\n        end\n        set [xv v] to ((xv) * (0.8))\n        set [yv v] to ((yv) * (0.8))\n        change [yv v] by (((yv) / (15)) + (0.1))\n        if <<touching color (#ff0000)?> or <touching (fireball v)?>> then\n            if <(costume [number v]) = [2]> then\n                clear graphic effects\n            else\n                broadcast (dead v) and wait\n                set [x v] to [0]\n                go to x: (160) y: (-136)\n                set [xv v] to [0]\n                set [yv v] to [0]\n                change [dead? v] by (1)\n                wait (1) seconds\n                set [dead? v] to [0]\n            end\n        end\n        change x by (xv)\n        change y by (yv)\n        if <not <touching color (#99b3ff)?>> then\n            change y by (-2)\n            if <touching color (#99b3ff)?> then\n                change y by (2)\n                change y by ((-1) * (yv))\n                if <key (i v) pressed?> then\n                    change y by (yv)\n                    set [yv v] to [9]\n                end\n                if <key (k v) pressed?> then\n                    if <touching color (#000000)?> then\n                        change [yv v] by (3)\n                    else\n                        change [yv v] by (-1)\n                    end\n                end\n            end\n        end\n        if <touching color (#000008)?> then\n            change y by (-2)\n            if <touching color (#000008)?> then\n                change x by ((-1) * (xv))\n                set [xv v] to ((-1) * (xv))\n            end\n            change y by (2)\n        end\n        if <touching color (#000008)?> then\n            change y by (-6)\n            if <not <touching color (#000008)?>> then\n                change y by ((-1) * (yv))\n                set [yv v] to ((-1) * (yv))\n            end\n            change y by (6)\n        end\n    else\n        if <<(y position) < [-170]> or <touching color (#ff0000)?>> then\n            if <<(costume [number v]) = [2]> and <touching color (#ff0000)?>> then\n            else\n                broadcast (dead v) and wait\n                set [x v] to [0]\n                go to x: (160) y: (-136)\n                set [xv v] to [0]\n                set [yv v] to [0]\n            end\n        end\n        if <key (j v) pressed?> then\n            change [xv v] by (-1)\n        end\n        if <key (l v) pressed?> then\n            change [xv v] by (1)\n        end\n        set [xv v] to ((xv) * (0.85))\n        change x by (xv)\n        if <touching color (#000008)?> then\n            change y by (-2)\n            if <touching color (#000008)?> then\n                change x by ((-1) * ((xv) + ((xv) / (([abs v] of (xv) ) + (0.0001)))))\n                if <<key (i v) pressed?> and <not <(xv) = [0]>>> then\n                    set [yv v] to [8]\n                    set [xv v] to (((xv) / ([abs v] of (xv) )) * (-10))\n                else\n                    set [xv v] to [0]\n                end\n            end\n            change y by (2)\n        end\n        change y by (-3)\n        if <<key (i v) pressed?> and <touching color (#000008)?>> then\n            set [yv v] to [9]\n        end\n        change y by (3)\n        if <(yv) > [-15]> then\n            change [yv v] by (-0.5)\n        end\n        if <(yv) < [3]> then\n            change y by (-2)\n            if <not <touching color (#000008)?>> then\n                change y by (-1)\n            end\n            change y by (2)\n        end\n        change y by (yv)\n        if <touching color (#000008)?> then\n            change y by (-2)\n            if <touching color (#000008)?> then\n                change y by ((-1) * (yv))\n                set [yv v] to [-3]\n            end\n            change y by (2)\n        end\n        if <touching color (#ffff00)?> then\n            set [yv v] to [12]\n        end\n        if <touching color (#ff9999)?> then\n            if <<(backdrop [name v]) = [Expert]> or <<(backdrop [name v]) = [Hard Expert]> or <<(backdrop [name v]) = [Medium Expert]> or <<(backdrop [name v]) = [Very Hard]> or <(backdrop [name v]) = [Starter]>>>>> then\n                set size to (30) %\n            end\n        end\n        if <touching color (#0033cc)?> then\n            set size to (60) %\n        end\n    end\nend\n\ndefine underground glitch\nset [yv v] to [3]\n\nwhen flag clicked\nswitch costume to (costume1 v)\nhide variable [time v]\nswitch backdrop to (backdrop1 v)\nhide\nset [startx v] to [-206]\nset size to (60) %\n\nwhen I receive [levelup v]\ngo to x: (160) y: (-136)\n\nwhen I receive [levelup3 v]\nset size to (60) %\nhide\ngo to x: (160) y: (-136)\nset [xv v] to [0]\nset [yv v] to [0]\nshow\nchange [levup v] by (1)\nstop [this script v]\n\nwhen [space v] key pressed\nset size to (60) %\ngo to x: (160) y: (-136)\nset [xv v] to [0]\nset [yv v] to [0]\nchange [levup v] by (1)\nstop [this script v]\n\nwhen I receive [levelup2 v]\nset size to (60) %\nhide\ngo to x: (160) y: (-136)\nset [xv v] to [0]\nset [yv v] to [0]\nshow\nchange [levup v] by (1)\nstop [this script v]\n\nwhen I receive [levelup2 v]\ngo to x: (160) y: (-136)\n\nwhen [o v] key pressed\nbroadcast (bot activate V2 v)\n\nwhen I receive [levelup3 v]\ngo to x: (160) y: (-136)\n\nwhen I receive [bot activate v2 v]\nset [bot active? v] to [1]\nstop [other scripts in sprite v]\nforever\n    set [randomizer v] to (pick random (1) to (5))\n    if <touching (end v)?> then\n        change [blue score v] by (1)\n        if <(backdrop [name v]) = [Backdrop30]> then\n            broadcast (ending v)\n        else\n            if <(backdrop [name v]) = [Backdrop31]> then\n                switch backdrop to (backdrop32 v)\n            else\n                set [levup v] to [1]\n                broadcast (levelup3 v) and wait\n            end\n        end\n    end\n    if <touching color (#99b3ff)?> then\n        if <(randomizer) = [1]> then\n            change [xv v] by (-15)\n        end\n        if <(randomizer) = [2]> then\n            change [xv v] by (15)\n        end\n        if <(randomizer) = [3]> then\n            if <touching color (#000000)?> then\n                underground glitch\n            else\n                change [yv v] by (-15)\n            end\n        end\n        if <(randomizer) = [4]> then\n            change [yv v] by (15)\n        end\n        set [xv v] to ((xv) * (1))\n        set [yv v] to ((yv) * (1))\n        change [yv v] by (((yv) / (15)) + (0.1))\n        if <touching color (#ff0000)?> then\n            if <(costume [number v]) = [2]> then\n                clear graphic effects\n            else\n                broadcast (dead v) and wait\n                set [x v] to [0]\n                go to x: (160) y: (-136)\n                set [xv v] to [0]\n                set [yv v] to [0]\n                change [dead? v] by (1)\n                wait (1) seconds\n                set [dead? v] to [0]\n            end\n        end\n        change x by (xv)\n        change y by (yv)\n        if <not <touching color (#99b3ff)?>> then\n            change y by (-3)\n            if <touching color (#99b3ff)?> then\n                change y by (3)\n                change y by ((-1) * (yv))\n                if <(randomizer) = [4]> then\n                    change y by (yv)\n                    set [yv v] to [11]\n                end\n                if <(randomizer) = [3]> then\n                    if <touching color (#000000)?> then\n                        change [yv v] by (8)\n                    else\n                        change [yv v] by (-2)\n                    end\n                end\n            end\n        end\n        if <touching color (#000008)?> then\n            change y by (-3)\n            if <touching color (#000008)?> then\n                change x by ((-1) * (xv))\n                set [xv v] to ((-1) * (xv))\n            end\n            change y by (3)\n        end\n        if <touching color (#000008)?> then\n            change y by (-7)\n            if <not <touching color (#000008)?>> then\n                change y by ((-2) * (yv))\n                set [yv v] to ((-2) * (yv))\n            end\n            change y by (7)\n        end\n    else\n        if <<(y position) < [-170]> or <touching color (#ff0000)?>> then\n            if <<(costume [number v]) = [2]> and <touching color (#ff0000)?>> then\n            else\n                broadcast (dead v) and wait\n                set [x v] to [0]\n                go to x: (160) y: (-136)\n                set [xv v] to [0]\n                set [yv v] to [0]\n            end\n        end\n        if <(randomizer) = [1]> then\n            change [xv v] by (-15)\n        end\n        if <(randomizer) = [2]> then\n            change [xv v] by (15)\n        end\n        set [xv v] to ((xv) * (1))\n        change x by (xv)\n        if <touching color (#000008)?> then\n            change y by (-3)\n            if <touching color (#000008)?> then\n                change x by ((-1) * ((xv) + ((xv) / (([abs v] of (xv) ) + (0.0001)))))\n                if <<(randomizer) = [4]> and <not <(xv) = [0]>>> then\n                    set [yv v] to [20]\n                    set [xv v] to (((xv) / ([abs v] of (xv) )) * (-11))\n                else\n                    set [xv v] to [0]\n                end\n            end\n            change y by (3)\n        end\n        change y by (-4)\n        if <<(randomizer) = [4]> and <touching color (#000008)?>> then\n            set [yv v] to [13]\n        end\n        change y by (4)\n        if <(yv) > [-15]> then\n            change [yv v] by (-1)\n        end\n        if <(yv) < [3]> then\n            change y by (-3)\n            if <not <touching color (#000008)?>> then\n                change y by (-2)\n            end\n            change y by (3)\n        end\n        change y by (yv)\n        if <touching color (#000008)?> then\n            change y by (-3)\n            if <touching color (#000008)?> then\n                change y by ((-1) * (yv))\n                set [yv v] to [-4]\n            end\n            change y by (3)\n        end\n        if <touching color (#ffff00)?> then\n            set [yv v] to [10]\n        end\n        if <touching color (#ff9999)?> then\n            if <<(backdrop [name v]) = [Expert]> or <<(backdrop [name v]) = [Hard Expert]> or <<(backdrop [name v]) = [Medium Expert]> or <<(backdrop [name v]) = [Very Hard]> or <(backdrop [name v]) = [Starter]>>>>> then\n                set size to (30) %\n            end\n        end\n        if <touching color (#0033cc)?> then\n            set size to (60) %\n        end\n    end\nend\n\nwhen [0 v] key pressed\nif <(bot active?) = [1]> then\n    set size to (60) %\n    go to x: (160) y: (-136)\n    set [xv v] to [0]\n    set [yv v] to [0]\n    change [levup v] by (1)\n    stop [this script v]\nelse\nend\n\n@end\n\nwhen flag clicked\nset size to (100) %\nhide\n\nwhen I receive [go v]\ngo to x: (0) y: (0)\nshow\n\nwhen backdrop switches to [backdrop11 v]\ngo to x: (0) y: (0)\n\nwhen backdrop switches to [backdrop33 v]\nhide\n\nwhen I receive [boss beaten v]\nshow\n\nwhen backdrop switches to [backdrop34 v]\nhide\n\n@Sprite1\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\nset [green score v] to [0]\nset [red score v] to [0]\nset [blue score v] to [0]\nforever\n    if <(blue score) = [10]> then\n        show\n        switch costume to (costume3 v)\n    end\n    if <(red score) = [10]> then\n        show\n        switch costume to (costume2 v)\n    end\n    if <(green score) = [10]> then\n        show\n        switch costume to (costume1 v)\n    end\nend\n\n@Sprite2\n\nwhen flag clicked\nshow\n\nwhen I receive [go v]\nhide\n\n@Sprite3\n\nwhen flag clicked\nshow\n\nwhen this sprite clicked\nbroadcast (go v)\nhide\n\n@Thumbnail\n\nwhen flag clicked\ngo to x: (0) y: (0)\nshow\ngo to [front v] layer\nhide\n\n
WASD to move Red.\nArrow Keys to move Green.\nIJKL to move Blue. \nSpace to restart everyone if you are stuck.\nAs the game progresses, it gets harder. (except for the last few levels)\nFirst to 10 wins! (If you want to play every level, spread the points evenly to see every level)\nPress O to activate blue bot mode (glitchy, if gets out of area, press 0 to put it back to start)\nPress P to activate red bot mode (glitchy also, if gets out of area, press 1)