Bleak - A Platformer

Instructions: Just a simple platformer\nMade for Monochromatic SDS\nWhite makes you small\nBlack makes you big\nHere is Bleak II - https://scratch.mit.edu/projects/289691817/\n

@Stage\n\nwhen flag clicked\nclear graphic effects\nset [brightness v] effect to (0)\nswitch backdrop to (title v)\n\nrepeat (10000)\n\nwait (1) seconds\n\n@Char\n\nwhen backdrop switches to [title v]\nstop all sounds\nrepeat until <(level) = [1]>\n    play sound [Garden v] until done\nend\n\nwhen backdrop switches to [end v]\nstop all sounds\n\nwhen backdrop switches to [l1 v]\nstop all sounds\nrepeat until <(level) = [2]>\n    play sound [Emotional Piano v] until done\nend\n\nwhen backdrop switches to [end v]\nrepeat until <(level) = [3]>\n    play sound [Odesong v] until done\nend\n\nif <<key (a v) pressed?> or <key (left arrow v) pressed?>> then\n    change [x testvar v] by (-0.5)\nend\nif <<key (d v) pressed?> or <key (right arrow v) pressed?>> then\n    change [x testvar v] by (0.5)\nend\nset [x testvar v] to ((x testvar) * (0.9))\nchange x by (x testvar)\nif <touching color (#272727)?> then\n    change y by (-1)\n    if <touching color (#272727)?> then\n        change y by (0.5)\n        if <touching color (#272727)?> then\n            change y by (0.5)\n            if <touching color (#272727)?> then\n                change y by (0.5)\n                if <touching color (#272727)?> then\n                    change y by (0.5)\n                    if <touching color (#272727)?> then\n                        change y by (0.5)\n                        if <touching color (#272727)?> then\n                            change y by (0.5)\n                            if <touching color (#272727)?> then\n                                change y by (0.5)\n                                if <touching color (#272727)?> then\n                                    if <<key (w v) pressed?> or <key (up arrow v) pressed?>> then\n                                        if <(x testvar) > [0]> then\n                                            set [x testvar v] to [-5]\n                                        else\n                                            set [x testvar v] to [5]\n                                        end\n                                        set [y testvar v] to [3]\n                                    else\n                                        set [x testvar v] to ((x testvar) * (-1.3))\n                                        change x by (x testvar)\n                                        set [x testvar v] to [0]\n                                        change x by ((x testvar) / (5))\n                                    end\n                                    change y by (-4)\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen backdrop switches to [end v]\nset [level v] to [2]\nchange [end v] by (1)\nhide\nstop [other scripts in sprite v]\n\nwhen [t v] key pressed\nset size to (100) %\n\nwhen [m v] key pressed\nswitch backdrop to (next backdrop v)\n\nset [y testvar v] to ((y testvar) * (-0.25))\nchange y by (y testvar)\nif <touching color (#272727)?> then\n    change y by (y testvar)\n    if <touching color (#272727)?> then\n        change y by (y testvar)\n        if <touching color (#272727)?> then\n            change y by (y testvar)\n        end\n    end\nend\n\nchange [y testvar v] by (-0.5)\nchange y by (y testvar)\nif <touching color (#272727)?> then\nend\nchange y by (-1)\nif <<touching color (#272727)?> and <<key (w v) pressed?> or <key (up arrow v) pressed?>>> then\n    set [y testvar v] to [7]\n    change y by (1)\nend\nchange y by (1)\n\nwhen backdrop switches to [l1 v]\nset [level v] to [1]\nset [end v] to [0]\nset size to (100) %\ngo to x: (-200) y: (-80)\nswitch costume to (costume1 v)\nshow\nset [yv v] to [0]\nset [yv v] to [0]\nforever\n    if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n        point in direction (90)\n        change [xv v] by (-0.9)\n    end\n    if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n        point in direction (-90)\n        change [xv v] by (0.9)\n    end\n    set [xv v] to ((xv) * (0.85))\n    change x by (xv)\n    if <touching color (#272727)?> then\n        change y by (-2)\n        if <touching color (#272727)?> then\n            change y by (1)\n            if <touching color (#272727)?> then\n                change y by (1)\n                if <touching color (#272727)?> then\n                    change y by (1)\n                    if <touching color (#272727)?> then\n                        change y by (1)\n                        if <touching color (#272727)?> then\n                            change y by (1)\n                            if <touching color (#272727)?> then\n                                change y by (-5)\n                                change x by ((-1) * (xv))\n                                if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> and <not <(xv) = [0]>>> then\n                                    set [mode v] to [walljump]\n                                    set [yv v] to [8]\n                                    set [xv v] to (((xv) / ([abs v] of (xv) )) * (-10))\n                                else\n                                    set [mode v] to [wallslide]\n                                    set [xv v] to [0]\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n        change y by (2)\n    end\n    change y by (-3)\n    if <touching color (#272727)?> then\n        if <(yv) = [-3]> then\n            if <<key (left arrow v) pressed?> or <key (right arrow v) pressed?>> then\n                set [mode v] to [run]\n            else\n                if <([abs v] of (xv) ) > [.1]> then\n                    set [mode v] to [skid]\n                else\n                    set [mode v] to [stand]\n                end\n            end\n        end\n        if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n            set [mode v] to [jump]\n            set [yv v] to [7]\n            change y by (1)\n        end\n    end\n    if <<key (down arrow v) pressed?> or <key (s v) pressed?>> then\n        change [yv v] by (-1)\n        if <touching color (#272727)?> then\n            change y by (1)\n            if <touching color (#272727)?> then\n                change y by (-1)\n            end\n        end\n    end\n    if <<key (down arrow v) pressed?> or <key (s v) pressed?>> then\n        change [yv v] by (-1)\n        if <touching color (#272727)?> then\n            change y by (1)\n            if <touching color (#272727)?> then\n                change y by (-1)\n            end\n        end\n    end\n    if <<<<(mode) = [jump]> or <(mode) = [walljump]>> and <(yv) < [0]>> or <<<(mode) = [run]> or <(mode) = [skid]>> and <(yv) < [-3]>>> then\n        set [mode v] to [fall]\n    end\n    change y by (3)\n    if <(yv) > [-15]> then\n        change [yv v] by (-0.5)\n    end\n    change y by (-2)\n    if <not <touching color (#272727)?>> then\n        change y by (-1)\n        if <not <touching color (#272727)?>> then\n            change y by (-1)\n            if <not <touching color (#272727)?>> then\n                change y by (-1)\n                if <not <touching color (#272727)?>> then\n                    change y by (-1)\n                    if <not <touching color (#272727)?>> then\n                        change y by (-1)\n                        if <not <touching color (#272727)?>> then\n                            change y by (5)\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change y by (2)\n    change y by (yv)\n    if <touching color (#272727)?> then\n        change y by (-2)\n        if <touching color (#272727)?> then\n            change y by ((-1) * (yv))\n            set [yv v] to [-3]\n        end\n        change y by (2)\n    end\n    if <(x position) > [235]> then\n        next backdrop\n        go to x: (-200) y: (-80)\n        wait (0.05) seconds\n    end\n    if <<touching color (#5a5a5a)?> or <(y position) < [-175]>> then\n        go to x: (-200) y: (-80)\n        set [xv v] to [0]\n    end\n    if <touching color (#ffffff)?> then\n        set size to (100) %\n    end\n    if <touching color (#000000)?> then\n        if <(size) = [100]> then\n            set size to (200) %\n            change y by (10)\n        end\n    end\n    if <touching color (#a6a6a6)?> then\n        set [xv v] to ((25) * ((xv) / ([ceiling v] of ([abs v] of (xv) ) )))\n        if <<key (w v) pressed?> or <key (up arrow v) pressed?>> then\n            set [yv v] to [10]\n        end\n    end\nend\n\nswitch backdrop to (previous backdrop v)\n\nwhen backdrop switches to [l12 v]\nrepeat until <(end) = [1]>\n    wait until <[50] < (x position)>\n    broadcast (olol v)\n    wait until <not <[50] < (x position)>>\nend\n\nwhen [n v] key pressed\n\nwhen [y v] key pressed\nset size to (200) %\nchange y by (10)\n\nwhen flag clicked\nhide\nset [level v] to [0]\n\nhide\n\n@Title\n\nwhen flag clicked\npoint in direction (90)\nshow\ngo to x: (0) y: (0)\nswitch costume to (costume2 v)\nset size to (0) %\nrepeat (50)\n    turn right ((360) / ((50) / (5))) degrees\n    change size by (2)\nend\nwait (0.5) seconds\nswitch costume to (costume1 v)\nbroadcast (message1 v)\n\nwhen backdrop switches to [l1 v]\nhide\n\n@Sprite1\n\nwhen flag clicked\nhide\nclear graphic effects\ngo to x: (0) y: (0)\nforever\n    if <touching (mouse-pointer v)?> then\n        set [ghost v] effect to (50)\n    else\n        set [ghost v] effect to (0)\n    end\nend\n\nwhen I receive [message1 v]\nshow\n\nwhen this sprite clicked\nhide\nswitch backdrop to (l1 v)\n\n@Sprite2\n\nwhen flag clicked\nset [ghost v] effect to (50)\ngo to x: (0) y: (0)\nhide\n\nwhen backdrop switches to [l12 v]\nshow\n\nwhen backdrop switches to [end v]\nhide\n\nwhen I receive [olol v]\nswitch costume to (costume2 v)\nset [ghost v] effect to (0)\nwait (0.8) seconds\nswitch costume to (costume1 v)\nset [ghost v] effect to (50)\n\n@Sprite3\n\nwhen flag clicked\nhide\nclear graphic effects\ngo to x: (0) y: (0)\nforever\n    if <touching (mouse-pointer v)?> then\n        set [ghost v] effect to (50)\n    else\n        set [ghost v] effect to (0)\n    end\nend\n\nwhen this sprite clicked\nhide\nswitch backdrop to (end+ v)\n\nwhen backdrop switches to [end v]\nshow\n\n@Sprite4\n\ngo to x: (0) y: (0)\n\nwhen flag clicked\nhide\n\nshow\n\n