Pixelated Platformer

Instructions: Arrow keys to move. "R" to restart a level. Here is the key:\n\nblack: platform\nred: lava\nlight blue: what you are trying to get to\nblue: bounce pad (only bouncy when you jump)\norange: activates something, but you don't know what\n\nALL LEVELS ARE POSSIBLE and not virtually impossible

@Stage\n\n@Level\n\nwhen I receive [message1 v]\nshow\nset size to (2240) %\ngo to x: (0) y: (0)\ngo [backward v] (10000) layers\nforever\n    switch costume to (level)\nend\n\nwhen flag clicked\nhide\n\n@Character\n\nwhen flag clicked\nhide\n\nwhen I receive [message1 v]\nshow\nset [next level? v] to [no]\nset [level v] to [1]\nset [x v] to [0]\nset [y v] to [0]\ngo to x: (-167) y: (-146)\nset size to (285) %\ngo to [front v] layer\nforever\n    if <key (right arrow v) pressed?> then\n        change [x v] by (1.5)\n        switch costume to (costume2 v)\n    end\n    if <key (left arrow v) pressed?> then\n        change [x v] by (-1.5)\n        switch costume to (costume3 v)\n    end\n    set [x v] to ((x) * (0.8))\n    change x by (x)\n    if <<touching color (#000000)?> or <touching color (#003fff)?>> then\n        change y by (1)\n        if <<touching color (#000000)?> or <touching color (#003fff)?>> then\n            change y by (1)\n            if <<touching color (#000000)?> or <touching color (#003fff)?>> then\n                change y by (1)\n                if <<touching color (#000000)?> or <touching color (#003fff)?>> then\n                    change y by (1)\n                    if <<touching color (#000000)?> or <touching color (#003fff)?>> then\n                        change y by (1)\n                        if <<touching color (#000000)?> or <touching color (#003fff)?>> then\n                            change x by ((x) * (-1))\n                            change y by (-5)\n                            if <key (up arrow v) pressed?> then\n                                if <(x) > [0]> then\n                                    set [x v] to [-5]\n                                else\n                                    set [x v] to [5]\n                                end\n                                set [y v] to [10]\n                            else\n                                set [x v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [y v] by (-1)\n    change y by (y)\n    if <<touching color (#000000)?> or <touching color (#003fff)?>> then\n        change y by ((y) * (-1))\n        set [y v] to [0]\n    end\n    change y by (-1)\n    if <touching color (#000000)?> then\n        if <key (up arrow v) pressed?> then\n            set [y v] to [13]\n        end\n    end\n    if <touching color (#003fff)?> then\n        if <key (up arrow v) pressed?> then\n            set [y v] to [16]\n        end\n    end\n    change y by (1)\n    if <touching color (#00ffff)?> then\n        change [level v] by (1)\n        go to x: (-167) y: (-146)\n    end\n    if <<<(x) < [1]> and <(x) > [-1]>> and <not <<key (right arrow v) pressed?> or <key (left arrow v) pressed?>>>> then\n        switch costume to (costume1 v)\n    end\n    if <<touching color (#ff0000)?> or <key (r v) pressed?>> then\n        go to x: (-167) y: (-146)\n        broadcast (oops v)\n    end\n    if <<key (up arrow v) pressed?> and <not <<key (right arrow v) pressed?> or <key (left arrow v) pressed?>>>> then\n        switch costume to (costume1 v)\n    end\n    if <<touching color (#ff9400)?> and <(next level?) = [no]>> then\n        broadcast (orange v)\n        set [next level? v] to [yes]\n    end\n    if <(level) = [19]> then\n        set [next level? v] to [no]\n    end\n    if <<touching color (#ff9400)?> and <(level) = [20]>> then\n        set [y v] to [20]\n    end\nend\n\n@intro\n\nwhen flag clicked\ngo to x: (0) y: (0)\nclear graphic effects\nset [ghost v] effect to (100)\nshow\nswitch costume to (images v)\nwait (1) seconds\nrepeat (50)\n    change [ghost v] effect by (-2)\nend\nwait (1) seconds\nswitch costume to (images2 v)\nwait (1.5) seconds\nrepeat (10)\n    change [brightness v] effect by (10)\nend\nhide\nwait (0.1) seconds\nbroadcast (message1 v)\n\n@block\n\nwhen I receive [orange v]\nif <(level) = [18]> then\n    go to [front v] layer\n    show\n    set size to (1100) %\n    repeat until <not <(level) = [18]>>\n        go to (mouse-pointer v)\n    end\n    hide\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [oops v]\nstop [other scripts in sprite v]\nset [next level? v] to [no]\nhide\n\n@Sprite1\n\nwhen flag clicked\nhide\n\nwhen I receive [message1 v]\nhide\nwait (1) seconds\nwait until <(level) = [19]>\ngo to x: (90) y: (-112)\nset size to (2240) %\ngo to [front v] layer\nshow\n\nwhen I receive [oops v]\nif <(level) = [19]> then\n    go to x: (90) y: (-112)\n    set size to (2240) %\n    show\nend\n\nwhen I receive [orange v]\nhide\n\n@Sprite2\n\nwhen flag clicked\nhide\n\nwhen I receive [message1 v]\nwait (1) seconds\nwait until <(level) = [21]>\ngo to x: (0) y: (0)\ngo to [front v] layer\nshow\n\n@Thumbnail\n\nwhen flag clicked\ngo [backward v] (1000) layers\nhide\n\ngo to x: (0) y: (0)\nshow\ngo to [front v] layer\n\n@Volume\n\nwhen flag clicked\nhide\n\nwhen I receive [message1 v]\ngo to [front v] layer\nshow\nswitch costume to (costume1 v)\nforever\n    if <(costume [number v]) = [1]> then\n        play sound [vexento-arcade.mp3 v] until done\n    end\nend\n\nwhen this sprite clicked\nif <(costume [number v]) = [1]> then\n    switch costume to (costume2 v)\nelse\n    switch costume to (costume1 v)\nend\n\nwhen I receive [message1 v]\nforever\n    if <(costume [number v]) = [2]> then\n        stop all sounds\n    end\nend\n\n