2 Player Platformer Game

Instructions: ORANGE:\nUse arrow keys to move.\nUse J and K to turn your missile in the final battle.\nUse L to fire your missile in the final battle.\n\nBLUE:\nUse WASD to move.\nUse Q and E to turn your missile in the final battle\nuse F to fire your missile in the final battle.

@Stage\n\nwhen flag clicked\nswitch backdrop to (backdrop1 v)\n\nwhen I receive [message1 v]\nnext backdrop\n\n@Character\n\ndefine Ground\nrepeat until <not <<touching color (#000000)?> or <touching color (#ff9400)?>>>\n    change y by ((0) - (([abs v] of (Yv) ) / (Yv)))\nend\n\ndefine Physics\nchange y by (Yv)\nif <touching color (#7f00ff)?> then\n    if <(Jump) = [2]> then\n        set [yv v] to [10]\n        set [jump v] to [2]\n    end\n    change [yv v] by ((gravity) / (4))\nend\nif <<touching color (#000000)?> or <touching color (#ff9400)?>> then\n    Ground\n    if <(Yv) < [0.1]> then\n        set [yv v] to [0]\n        set [jump v] to [2]\n    else\n        set [yv v] to [-1]\n        set [jump v] to [0]\n    end\nelse\n    change [yv v] by (-1)\nend\nif <<[-0.1] < (Yv)> and <key (w v) pressed?>> then\n    if <(Jump) = [2]> then\n        set [yv v] to [6.5]\n        set [jump v] to [1]\n    end\n    change [yv v] by ((gravity) / (4))\nend\nchange x by (Xv)\nif <<touching color (#000000)?> or <touching color (#ff9400)?>> then\n    Wall\n    set [xv v] to [0]\nend\nif <key (d v) pressed?> then\n    change [xv v] by (Speed)\n    switch costume to (costume2 v)\n    point in direction (90)\nend\nif <key (a v) pressed?> then\n    change [xv v] by ((0) - (Speed))\n    switch costume to (costume2 v)\n    point in direction (-90)\nend\nif <not <<key (d v) pressed?> or <key (a v) pressed?>>> then\n    switch costume to (costume1 v)\nend\nset [xv v] to ((Xv) * (0.75))\nif <touching color (#ffff00)?> then\n    go to x: (-171) y: (-24)\n    broadcast (message1 v)\nend\nif <touching color (#ff0000)?> then\n    broadcast (message2 v)\n    go to x: (-171) y: (-24)\nend\nrepeat until <not <<touching color (#000000)?> or <touching color (#ff9400)?>>>\n    change y by (1)\nend\n\nwhen flag clicked\nshow\nset [xv v] to [0]\nset [yv v] to [0]\nset [gravity v] to [1]\nset [jump v] to [2]\nset [speed v] to [2]\ngo to x: (-171) y: (-24)\nforever\n    Physics\nend\n\ndefine Wall\nrepeat until <not <<touching color (#000000)?> or <touching color (#ff9400)?>>>\n    change x by ((0) - (([abs v] of (Xv) ) / (Xv)))\nend\n\nwhen I receive [message1 v]\ngo to x: (-201) y: (-24)\n\nwhen backdrop switches to [backdrop10 v]\ngo to x: (-201) y: (16)\n\nwhen flag clicked\nforever\n    play sound [598349_-Final-Battle- \(1\).mp3 v] until done\nend\n\nwhen backdrop switches to [backdrop18 v]\ngo to x: (-207) y: (-150)\n\nhide\n\n@Character2\n\ndefine Ground\nrepeat until <not <<touching color (#000000)?> or <touching color (#00cccc)?>>>\n    change y by ((0) - (([abs v] of (Yv2) ) / (Yv2)))\nend\n\ndefine Physics\nchange y by (Yv2)\nif <touching color (#7f00ff)?> then\n    if <(Jump2) = [2]> then\n        set [yv2 v] to [10]\n        set [jump2 v] to [2]\n    end\n    change [yv2 v] by ((Gravity2) / (4))\nend\nif <<touching color (#000000)?> or <touching color (#00cccc)?>> then\n    Ground\n    if <(Yv2) < [0.1]> then\n        set [yv2 v] to [0]\n        set [jump2 v] to [2]\n    else\n        set [yv2 v] to [-1]\n        set [jump2 v] to [0]\n    end\nelse\n    change [yv2 v] by (-1)\nend\nif <<[-0.1] < (Yv2)> and <key (up arrow v) pressed?>> then\n    if <(Jump2) = [2]> then\n        set [yv2 v] to [6.5]\n        set [jump2 v] to [1]\n    end\n    change [yv2 v] by ((Gravity2) / (4))\nend\nchange x by (Xv2)\nif <<touching color (#000000)?> or <touching color (#00cccc)?>> then\n    Wall\n    set [xv2 v] to [0]\nend\nif <key (right arrow v) pressed?> then\n    change [xv2 v] by (Speed2)\n    switch costume to (costume2 v)\n    point in direction (90)\nend\nif <key (left arrow v) pressed?> then\n    change [xv2 v] by ((0) - (Speed2))\n    switch costume to (costume2 v)\n    point in direction (-90)\nend\nif <not <<key (right arrow v) pressed?> or <key (left arrow v) pressed?>>> then\n    switch costume to (costume1 v)\nend\nset [xv2 v] to ((Xv2) * (0.75))\nif <touching color (#ffff00)?> then\n    broadcast (message1 v)\n    go to x: (-201) y: (-24)\nend\nif <touching color (#ff0000)?> then\n    broadcast (message2 v)\n    go to x: (-171) y: (-24)\nend\nrepeat until <not <<touching color (#000000)?> or <touching color (#00cccc)?>>>\n    change y by (1)\nend\n\nwhen flag clicked\nshow\nset [xv2 v] to [0]\nset [yv2 v] to [0]\nset [gravity2 v] to [1]\nset [jump2 v] to [2]\nset [speed2 v] to [2]\ngo to x: (-221) y: (-24)\nforever\n    Physics\nend\n\ndefine Wall\nrepeat until <not <<touching color (#000000)?> or <touching color (#00cccc)?>>>\n    change x by ((0) - (([abs v] of (Xv2) ) / (Xv2)))\nend\n\nwhen I receive [message1 v]\ngo to x: (-221) y: (-24)\n\nwhen backdrop switches to [backdrop10 v]\ngo to x: (-221) y: (16)\n\nwhen backdrop switches to [backdrop9 v]\ngo to x: (-221) y: (-14)\n\nwhen backdrop switches to [backdrop18 v]\ngo to x: (-225) y: (-150)\n\nhide\n\n@Entrance\n\nwhen flag clicked\ngo to x: (15) y: (-75)\nhide\nswitch costume to (costume1 v)\n\nwhen backdrop switches to [backdrop12 v]\nshow\n\nwhen backdrop switches to [backdrop13 v]\nhide\n\nwhen backdrop switches to [backdrop14 v]\nshow\ngo to x: (-41) y: (-142)\n\nwhen backdrop switches to [backdrop15 v]\nhide\n\nwhen backdrop switches to [backdrop17 v]\nshow\ngo to x: (-100) y: (-115)\nswitch costume to (costume2 v)\n\nwhen backdrop switches to [backdrop18 v]\ngo to x: (-100) y: (-160)\nshow\nswitch costume to (costume2 v)\n\nwhen I receive [open v]\nrepeat (25)\n    change y by (2)\nend\n\nwhen backdrop switches to [backdrop19 v]\nhide\n\nshow\n\n@Button\n\nwhen flag clicked\ngo to x: (141) y: (-82)\nhide\nforever\n    if <<touching (character v)?> or <touching (character2 v)?>> then\n        hide\n        broadcast (OPEN v)\n    end\nend\n\nwhen backdrop switches to [backdrop12 v]\nshow\n\nwhen backdrop switches to [backdrop14 v]\nshow\ngo to x: (62) y: (-149)\n\nwhen backdrop switches to [backdrop17 v]\nshow\ngo to x: (-10) y: (-125)\n\nwhen backdrop switches to [backdrop18 v]\ngo to x: (-45) y: (-160)\nshow\n\n@Thumbnail\n\nwhen flag clicked\nhide\n\nshow\ngo to [front v] layer\n\n@Entrance2\n\nwhen flag clicked\nhide\n\nwhen I receive [open2 v]\nrepeat (25)\n    change y by (2)\nend\n\nwhen backdrop switches to [backdrop18 v]\nshow\ngo to x: (59) y: (-147)\n\nwhen backdrop switches to [backdrop19 v]\nhide\n\n@Button2\n\nwhen flag clicked\nhide\nforever\n    if <<touching (character v)?> or <touching (character2 v)?>> then\n        hide\n        broadcast (OPEN2 v)\n    end\nend\n\nwhen backdrop switches to [backdrop18 v]\nshow\ngo to x: (115) y: (-160)\n\n@The Final battle\n\nwhen flag clicked\nhide\nset [ghost v] effect to (100)\ngo to x: (0) y: (0)\n\nwhen backdrop switches to [backdrop19 v]\nshow\nwait (1) seconds\nrepeat (100)\n    change [ghost v] effect by (-1)\nend\nrepeat (100)\n    change [ghost v] effect by (1)\nend\nbroadcast (START v)\n\n@Final Boss\n\nwhen flag clicked\nhide\nset [ghost v] effect to (100)\ngo to x: (240) y: (180)\n\nwhen I receive [start v]\nshow\nrepeat (50)\n    change [ghost v] effect by (-2)\nend\nforever\n    if <touching color (#ff9400)?> then\n        broadcast (BOSS LESS LIFE v)\n    end\n    if <not <([costume # v] of [final boss lives v]) = [4]>> then\n        if <(distance to [character v]) > (distance to [character2 v])> then\n            point towards (character2 v)\n            move (7.6) steps\n        else\n            point towards (character v)\n            move (7.6) steps\n        end\n    end\n    if <([costume # v] of [final boss lives v]) = [4]> then\n        say [You have destroyed me with all of my power.] for (2) seconds\n        say [You have gone through the great labyrinth.] for (2) seconds\n        say [With teamwork you destroyed what little of a life I had] for (2) seconds\n        wait (1) seconds\n        hide\n        broadcast (END v)\n        stop [this script v]\n    end\nend\n\n@Final Boss Lives\n\nwhen I receive [start v]\nshow\nset size to (500) %\ngo to x: (0) y: (140)\nswitch costume to (costume1 v)\nrepeat (50)\n    change [ghost v] effect by (-2)\nend\n\nwhen I receive [boss less life v]\nnext costume\n\nwhen flag clicked\nhide\n\n@Character Missile\n\nwhen flag clicked\nhide\nforever\n    go to x: ([x position v] of [character v]) y: ([y position v] of [character v])\n    if <key (e v) pressed?> then\n        turn right (2) degrees\n    end\n    if <key (q v) pressed?> then\n        turn right (-2) degrees\n    end\nend\n\nwhen I start as a clone\nforever\n    if <key (f v) pressed?> then\n        create clone of (_myself_ v)\n    end\nend\n\nwhen I receive [start v]\nrepeat until <<touching (_edge_ v)?> or <<touching color (#000000)?> or <touching color (#ff99e5)?>>>\n    move (10) steps\n    if <touching color (#ff99e5)?> then\n        delete this clone\n    end\nend\ndelete this clone\n\n@Character2 Missile\n\nwhen flag clicked\nhide\nforever\n    go to x: ([x position v] of [character2 v]) y: ([y position v] of [character2 v])\n    if <key (j v) pressed?> then\n        turn right (2) degrees\n    end\n    if <key (k v) pressed?> then\n        turn right (-2) degrees\n    end\nend\n\nwhen I receive [start v]\nshow\nforever\n    if <key (f v) pressed?> then\n        create clone of (_myself_ v)\n    end\nend\n\nwhen I start as a clone\nshow\nrepeat until <<<touching color (#000000)?> or <touching color (#ff99e5)?>> or <touching (_edge_ v)?>>\n    move (10) steps\n    if <touching color (#ff99e5)?> then\n        delete this clone\n    end\nend\ndelete this clone\n\n@Credits\n\nwhen flag clicked\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\nhide\nset [ghost v] effect to (100)\n\nwhen I receive [end v]\nshow\nrepeat (100)\n    change [ghost v] effect by (-1)\nend\nwait (3) seconds\nnext costume\nwait (1) seconds\nnext costume\nstop [all v]\n\n