Orange (A Backwards Platformer)
@Stage\n\nwhen flag clicked\nswitch backdrop to (backdrop1 v)\n\nwhen I receive [messege2 v]\nswitch backdrop to (backdrop2 v)\nwait (5) seconds\nswitch backdrop to (backdrop3 v)\n\n@Player\n\nwhen flag clicked\ngo to x: (-212) y: (-81)\nset size to (100) %\ngo to [front v] layer\nshow\nset [deaths v] to [0]\nset [xv v] to [0]\nset [yv v] to [0]\nforever\n    if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n        change [xv v] by (0.8)\n    end\n    if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n        change [xv v] by (-0.8)\n    end\n    set [xv v] to ((Xv) * (0.9))\n    change x by (Xv)\n    if <touching color (#ffac33)?> then\n        change y by (1)\n        if <touching color (#ffac33)?> then\n            change y by (1)\n            if <touching color (#ffac33)?> then\n                change y by (1)\n                if <touching color (#ffac33)?> then\n                    change y by (1)\n                    if <touching color (#ffac33)?> then\n                        change y by (1)\n                        if <touching color (#ffac33)?> then\n                            change x by ((Xv) * (-1))\n                            change y by (-5)\n                            if <<key (down arrow v) pressed?> or <key (s v) pressed?>> then\n                                if <(Xv) > [0]> then\n                                    set [xv v] to [-5]\n                                else\n                                    set [xv v] to [5]\n                                end\n                                set [yv v] to [10]\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 color (#ffac33)?> then\n        change y by ((Yv) * (-1))\n        set [yv v] to [0]\n    end\n    change y by (-1)\n    if <touching color (#ffac33)?> then\n        if <<key (down arrow v) pressed?> or <key (s v) pressed?>> then\n            set [yv v] to [10]\n        end\n    end\n    change y by (1)\n    if <(x position) > [244]> then\n        broadcast (message1 v)\n        reset\n    end\n    if <key (r v) pressed?> then\n        reset\n    end\n    if <touching color (#cc7000)?> then\n        reset\n    end\n    if <touching color (#ffa119)?> then\n        if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n            set [yv v] to [15]\n        else\n            set [yv v] to [20]\n        end\n    end\nend\n\ndefine reset\ngo to x: (-212) y: (-81)\n\nwhen I receive [messege2 v]\nhide\nstop [other scripts in sprite v]\nstop [this script v]\n\n@Platform\n\nwhen flag clicked\nswitch costume to (costume1 v)\ngo to x: (0) y: (0)\nshow\nforever\n    set [level v] to (costume [number v])\nend\n\nwhen I receive [message1 v]\nnext costume\n\nwhen flag clicked\nforever\n    if <(level) = [16]> then\n        broadcast (messege2 v)\n        hide\n        stop [other scripts in sprite v]\n        stop [this script v]\n    end\nend\n\n
WARNING: Opposite controls in game.\nArrow keys or WASD to move.\nAvoid dark orange.\nJump on lighter orange to jump higher.\nAll 15 levels are possible.\nHave fun!\nCheck out my other games too!\nhttps://scratch.mit.edu/studios/4685976/projects/