Scratch (a platformer game)

Instructions: arrow keys to move\nx to shrink\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nUse mouse pointer to go through walls

@Stage\n\n@scratch\n\nwhen flag clicked\nswitch costume to (scratch v)\nset [x v] to [0]\nset [y v] to [0]\nshow\nshow\nswitch backdrop to (backdrop1 v)\nforever\n    set rotation style [left-right v]\n    change [y v] by (-1)\n    if <key (left arrow v) pressed?> then\n        change [x v] by (-1)\n        point in direction (-90)\n    end\n    if <key (right arrow v) pressed?> then\n        change [x v] by (1)\n        point in direction (90)\n    end\n    set [x v] to ((x) * (0.9))\n    change x by (x)\n    if <<<touching color (#4c97ff)?> or <touching color (#575e75)?>> or <touching color (#42b5f0)?>> then\n        change y by (1)\n    end\n    if <<<touching color (#4c97ff)?> or <touching color (#575e75)?>> or <touching color (#42b5f0)?>> then\n        change y by (1)\n    end\n    if <<<touching color (#4c97ff)?> or <touching color (#575e75)?>> or <touching color (#42b5f0)?>> then\n        change y by (1)\n    end\n    if <<<touching color (#4c97ff)?> or <touching color (#575e75)?>> or <touching color (#42b5f0)?>> then\n        change y by (1)\n    end\n    if <<<touching color (#4c97ff)?> or <touching color (#575e75)?>> or <touching color (#42b5f0)?>> then\n        change y by (-4)\n        change x by ((x) * (-1))\n        if <key (up arrow v) pressed?> then\n            set [y v] to [13]\n            if <([abs v] of (x) ) = (x)> then\n                set [x v] to [-10]\n            else\n                set [x v] to [10]\n            end\n        else\n            set [x v] to [0]\n        end\n    end\n    change y by (y)\n    if <<<touching color (#4c97ff)?> or <touching color (#575e75)?>> or <touching color (#42b5f0)?>> then\n        change y by ((y) - ((y) * (2)))\n        set [y v] to [0]\n    end\n    change y by (-1)\n    if <<key (up arrow v) pressed?> and <<<touching color (#4c97ff)?> or <touching color (#575e75)?>> or <touching color (#42b5f0)?>>> then\n        set [y v] to [17]\n    end\n    change y by (1)\n    if <touching color (#ffbf00)?> then\n        next backdrop\n        clear graphic effects\n        go to x: (-150) y: (-70)\n        switch costume to (right v)\n    end\n    if <touching color (#ff8c1a)?> then\n        if <key (left arrow v) pressed?> then\n            change x by (-10)\n        end\n        if <key (right arrow v) pressed?> then\n            change x by (10)\n        end\n    end\n    if <touching color (#ff6680)?> then\n        go to x: (-150) y: (-70)\n    end\n    if <touching color (#59c059)?> then\n        set [y v] to [22]\n    end\n    if <touching color (#fc662c)?> then\n        set [y v] to [0]\n        if <key (up arrow v) pressed?> then\n            change y by (3)\n        end\n    end\nend\n\nwhen flag clicked\ngo to x: (-150) y: (-70)\ngo to [back v] layer\n\nwhen flag clicked\nforever\n    if <touching color (#9966ff)?> then\n        next costume\n        wait (1) seconds\n    end\nend\n\nwhen flag clicked\nset size to (50) %\nforever\n    if <key (x v) pressed?> then\n        set size to (20) %\n    else\n        set size to (50) %\n    end\nend\n\nwhen I receive [next level v]\nnext backdrop\nclear graphic effects\ngo to x: (-150) y: (-70)\nswitch costume to (right v)\n\n@Sprite1\n\nwhen [s v] key pressed\nbroadcast (next level v)\n\nwhen flag clicked\nforever\n    go to (mouse-pointer v)\n    turn right (5) degrees\n    go to [back v] layer\nend\n\n