Thanos Platformer

Instructions: Collect all SIX Infinity Stones!\n\n-Arrow keys or WASD to move\n-W, UP arrow or Space to jump\n-Don't fall down holes\n-Don't touch red\n\nTo replay refresh tab\nPost your best time in the comments!

@Stage\n\n@Start Screen\n\nwhen I receive [title v]\nhide\n\n@Title\n\nwhen I receive [title v]\nhide\n\n@Start\n\nwhen this sprite clicked\nbroadcast (Title v)\nhide\n\nwhen flag clicked\nforever\n    set [ghost v] effect to (99)\n    wait (1) seconds\n    set [ghost v] effect to (0)\n    wait (1) seconds\nend\n\nwhen flag clicked\nforever\n    set [ghost v] effect to (99)\n    wait (1) seconds\n    set [ghost v] effect to (0)\n    wait (1) seconds\nend\n\nwhen flag clicked\nforever\n    set [ghost v] effect to (99)\n    wait (1) seconds\n    set [ghost v] effect to (0)\n    wait (1) seconds\nend\n\n@Instructions\n\nwhen I receive [title v]\nshow\n\nwhen I receive [instructions v]\nhide\n\nwhen I receive [instructions 2 v]\nhide\n\n@Continue\n\nwhen flag clicked\nforever\n    set [ghost v] effect to (99)\n    wait (1) seconds\n    set [ghost v] effect to (0)\n    wait (1) seconds\nend\n\nwhen I receive [title v]\nshow\n\nwhen this sprite clicked\nhide\nbroadcast (Instructions v) and wait\n\nwhen I receive [instructions 2 v]\nhide\n\n@Continue 2\n\nwhen flag clicked\nforever\n    set [ghost v] effect to (99)\n    wait (1) seconds\n    set [ghost v] effect to (0)\n    wait (1) seconds\nend\n\nwhen this sprite clicked\nbroadcast (Instructions 2 v)\nhide\n\nwhen I receive [title v]\nshow\n\nwhen I receive [instructions v]\nhide\n\n@Thanos\n\nwhen flag clicked\nset rotation style [left-right v]\nset [y velocity v] to [0]\nforever\n    change [y velocity v] by (-2)\n    change y by (y velocity)\n    change [in air v] by (1)\n    handle ground <(y velocity) > [0]>\nend\n\nwhen flag clicked\nforever\n    if <key (a v) pressed?> then\n        point in direction (-90)\n        walk [-6]\n    end\n    if <key (d v) pressed?> then\n        point in direction (90)\n        walk [6]\n    end\nend\n\ndefine walk (steps)\nchange x by (steps)\nset [ground lift v] to [0]\nrepeat until <<not <touching (stage v)?>> or <(ground lift) = [8]>>\n    change y by (1)\n    change [ground lift v] by (1)\nend\nif <(ground lift) = [8]> then\n    change x by ((-1) * (steps))\n    change y by (-8)\nend\n\nwhen flag clicked\nforever\n    if <(y position) < [-170]> then\n        set [y velocity v] to [0]\n        set y to (10)\n        set x to (-200)\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (next level v)?> then\n        switch backdrop to (next backdrop v)\n        go to x: (-193) y: (-75)\n    end\nend\n\nwhen flag clicked\nforever\n    if <<<key (w v) pressed?> or <key (space v) pressed?>> and <(in air) < [8]>> then\n        set [y velocity v] to [12]\n    end\nend\n\ndefine handle ground <moving up>\nrepeat until <not <touching (stage v)?>>\n    if <moving up> then\n        change y by (-1)\n    else\n        change y by (1)\n        set [in air v] to [0]\n    end\n    set [y velocity v] to [0]\nend\n\nwhen flag clicked\nforever\n    if <touching (stone 1 v)?> then\n        start sound [Magic Spell v]\n        set [stones v] to [1]\n        broadcast (message1 v)\n        switch costume to (costume 2 v)\n        say [This does put a smile on my face] for (3) seconds\n    end\nend\n\nwhen I receive [hitbox v]\ngo to x: (-193) y: (-75)\n\ndefine move (distance)\nchange x by (distance)\nset [slope v] to [0]\nrepeat until <<(slope) > [8]> or <not <touching (stage v)?>>>\n    change y by (1)\n    change [slope v] by (1)\nend\nif <(slope) > [8]> then\n    change x by ((0) - (distance))\n    change y by ((0) - (slope))\nend\n\nwhen flag clicked\nforever\n    if <touching (stone 2 v)?> then\n        start sound [Magic Spell v]\n        set [stones v] to [2]\n        broadcast (message2 v)\n        switch costume to (costume 3 v)\n        say [Destiny still arrives] for (3) seconds\n    end\nend\n\nwhen I receive [instructions v]\nshow variable [stones v]\nshow\nplay sound [8-Bit Theme v] until done\n\nwhen flag clicked\nforever\n    if <touching (torch v)?> then\n        broadcast (Torch v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (stone 3 v)?> then\n        start sound [Magic Spell v]\n        set [stones v] to [3]\n        broadcast (message 3 v)\n        switch costume to (costume 4 v)\n        say [I call that mercy] for (3) seconds\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (ice v)?> then\n        broadcast (Ice v)\n        stop [this script v]\n    end\nend\n\nwhen I receive [ice v]\nrepeat (50)\n    go to x: (-103) y: (-114)\nend\n\nwhen flag clicked\nforever\n    if <touching (beach p1 v)?> then\n        broadcast (Beach v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (stone 4 v)?> then\n        start sound [Magic Spell v]\n        set [stones v] to [4]\n        broadcast (message 4 v)\n        switch costume to (costume 5 v)\n        say [I know what it's like to lose] for (3) seconds\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (stone 5 v)?> then\n        start sound [Magic Spell v]\n        set [stones v] to [5]\n        broadcast (message 5 v)\n        switch costume to (costume 6 v)\n        say [Perfectly balanced, as all things should be] for (3) seconds\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (stone 6 v)?> then\n        start sound [Magic Spell v]\n        set [stones v] to [6]\n        broadcast (message 6 v)\n        switch costume to (costume 7 v)\n        say [You should have gone for the head] for (3) seconds\n    end\nend\n\nwhen I receive [message 6 v]\nwait (3) seconds\nbroadcast (Endgame v)\n\nwhen I receive [endgame v]\nhide variable [stones v]\nhide\n\nwhen I receive [endgame v]\nstop all sounds\n\nwhen I receive [instructions 2 v]\nshow variable [stones v]\nshow\nplay sound [8-Bit Theme v] until done\n\nwhen I receive [instructions 2 v]\nshow variable [time v]\nforever\n    wait (1) seconds\n    change [time v] by (1)\nend\n\nwhen I receive [message 6 v]\nforever\n    set [time v] to ((Time) - (1))\n    wait (1) seconds\nend\n\nwhen flag clicked\nforever\n    if <key (left arrow v) pressed?> then\n        point in direction (-90)\n        walk [-6]\n    end\n    if <key (right arrow v) pressed?> then\n        point in direction (90)\n        walk [6]\n    end\nend\n\nwhen flag clicked\nforever\n    if <<key (up arrow v) pressed?> and <(in air) < [8]>> then\n        set [y velocity v] to [12]\n    end\nend\n\n@Hitbox\n\nwhen flag clicked\nforever\n    go to (thanos v)\nend\n\nwhen flag clicked\nforever\n    if <touching color (#ff0000)?> then\n        broadcast (Hitbox v) and wait\n    end\nend\n\n@Stage\n\nwhen backdrop switches to [backdrop 2 v]\nnext costume\n\nwhen backdrop switches to [backdrop 3 v]\nnext costume\n\nwhen I receive [instructions v]\nshow\n\nwhen backdrop switches to [backdrop 4 v]\nnext costume\n\nwhen backdrop switches to [backdrop 5 v]\nnext costume\n\nwhen backdrop switches to [backdrop 6 v]\nnext costume\n\nwhen backdrop switches to [backdrop 7 v]\nnext costume\n\nwhen backdrop switches to [backdrop 8 v]\nnext costume\n\nwhen backdrop switches to [backdrop 9 v]\nnext costume\n\nwhen backdrop switches to [backdrop 10 v]\nnext costume\n\nwhen backdrop switches to [backdrop 11 v]\nnext costume\n\nwhen backdrop switches to [backdrop 12 v]\nnext costume\n\nwhen I receive [endgame v]\nhide\n\nwhen I receive [instructions 2 v]\nshow\n\n@Next Level\n\nwhen I receive [message1 v]\nshow\n\nwhen flag clicked\nforever\n    change [ghost v] effect by (99)\nend\n\nwhen backdrop switches to [backdrop 2 v]\nhide\n\nwhen backdrop switches to [backdrop 4 v]\nhide\n\nwhen I receive [message2 v]\nshow\n\nwhen backdrop switches to [backdrop 5 v]\nhide\n\nwhen I receive [torch v]\nshow\n\nwhen backdrop switches to [backdrop 6 v]\nhide\n\nwhen I receive [message 3 v]\nshow\n\nwhen backdrop switches to [backdrop 7 v]\nhide\n\nwhen I receive [beach v]\nshow\n\nwhen backdrop switches to [backdrop 8 v]\nhide\n\nwhen I receive [message 4 v]\nshow\n\nwhen backdrop switches to [backdrop 10 v]\nhide\n\nwhen I receive [message 5 v]\nshow\n\nwhen backdrop switches to [backdrop 12 v]\nhide\n\n@Stone 1\n\nwhen I receive [message1 v]\nhide\n\nwhen backdrop switches to [backdrop 2 v]\nshow\n\n@Stone 2\n\nwhen backdrop switches to [backdrop 4 v]\nshow\n\nwhen I receive [message2 v]\nhide\n\n@Stone 3\n\nwhen backdrop switches to [backdrop 6 v]\nshow\n\nwhen I receive [message 3 v]\nhide\n\n@Stone 4\n\nwhen backdrop switches to [backdrop 8 v]\nshow\n\nwhen I receive [message 4 v]\nhide\n\n@Stone 5\n\nwhen backdrop switches to [backdrop 10 v]\nshow\n\nwhen I receive [message 5 v]\nhide\n\n@Stone 6\n\nwhen backdrop switches to [backdrop 12 v]\nshow\n\nwhen I receive [message 6 v]\nhide\n\n@Fire\n\nwhen backdrop switches to [backdrop 4 v]\nforever\n    show\n    wait (2) seconds\n    hide\n    wait (2) seconds\nend\n\nwhen backdrop switches to [backdrop 5 v]\nforever\n    hide\nend\n\n@Torch\n\nwhen I receive [torch v]\nhide\n\nwhen backdrop switches to [backdrop 5 v]\nshow\n\n@Ice\n\nwhen backdrop switches to [backdrop 6 v]\nshow\n\nwhen I receive [ice v]\nswitch costume to (costume2 v)\nwait (1) seconds\nswitch costume to (costume3 v)\nwait (1) seconds\nhide\n\n@Beach P1\n\nwhen backdrop switches to [backdrop 7 v]\nshow\nset [ghost v] effect to (99)\n\nwhen backdrop switches to [backdrop 8 v]\nhide\n\n@Spin 1\n\nwhen backdrop switches to [backdrop 11 v]\nshow\nforever\n    turn left (5) degrees\nend\n\nwhen backdrop switches to [backdrop 12 v]\nhide\n\n@Spin 2\n\nwhen backdrop switches to [backdrop 11 v]\nshow\nforever\n    turn left (5) degrees\nend\n\nwhen backdrop switches to [backdrop 12 v]\nhide\n\n@Endgame\n\nwhen I receive [endgame v]\nshow\n\n@Sprite1\n\nwhen I receive [endgame v]\nshow\nwait (2) seconds\nhide\n\n@av1\n\nwhen I receive [endgame v]\nwait (3) seconds\nshow\nwait (1) seconds\nnext costume\nwait (1) seconds\nnext costume\nwait (1) seconds\nnext costume\nwait (1) seconds\nbroadcast (Endgame 2 v)\nhide\n\n@Sprite2\n\nwhen I receive [endgame 2 v]\nshow\nforever\n    set [ghost v] effect to (99)\n    wait (1) seconds\n    set [ghost v] effect to (0)\n    wait (1) seconds\nend\n\n@Sprite3\n\nwhen I receive [endgame 2 v]\nwait (3) seconds\nshow\nwait (3) seconds\nstop [all v]\n\n