2020- A Platformer

Instructions: Hi! This is Scratcher_BRO9.\nInstructions-:\n\nHappy New Year Everyone!!!\n\nI have made a Platformer for this special event.\nIn the platformer you in the year 2020 and without getting infected of corona virus you have to finish the year 2020 and have to reach the year 2021... Press the green flag and then after my intro click the play button to start. ALL LEVELS ARE POSSIBLE.. To move use arrow keys or use W, A, D.\nIt is 100% mobile friendly..  To mute the sound click the mute button on the top... Press ENTER to restart and to pause there is also a pause button  on the top, after that there is a resume button when you will click that the game will be resumed..\n\nFor a surprise press 1 2 3 4 in order...\n\nIf you find bugs or typos, please tell me in the comments.\n\nHAPPY NEW YEAR ONCE AGAIN...\n\nShotout To @Alex_Amelia3009\n\nPlease leave a comment, like my project and share it.\nOk thanks. That's it for now.

@Stage\n\nwhen flag clicked\nswitch backdrop to (backdrop1 v)\n\n@Player\n\nwhen [timer v] > ()\ngo to [back v] layer\n\nwhen I receive [start v]\nchange [☁ players v] by (1)\nshow\ngo to [front v] layer\nswitch backdrop to (1 v)\ngo to x: (-200) y: (0)\nset [xv v] to [0]\nset [yv v] to [0]\nforever\n    if <(Resume?) = [1]> then\n        if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n            point in direction (-90)\n            change [xv v] by (1)\n        end\n        if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n            point in direction (90)\n            change [xv v] by (-1)\n        end\n        if <<<(mouse x) > [0]> and <[0] > (mouse y)>> and <mouse down?>> then\n            point in direction (-90)\n            change [xv v] by (1)\n        end\n        if <<<[0] > (mouse x)> and <[0] > (mouse y)>> and <mouse down?>> then\n            point in direction (90)\n            change [xv v] by (-1)\n        end\n        set [xv v] to ((Xv) * (0.9))\n        change x by (Xv)\n        if <touching (levels v)?> then\n            change y by (1)\n            if <touching (levels v)?> then\n                change y by (1)\n                if <touching (levels v)?> then\n                    change y by (1)\n                    if <touching (levels v)?> then\n                        change y by (1)\n                        if <touching (levels v)?> then\n                            change y by (1)\n                            if <touching (levels v)?> then\n                                change x by ((Xv) * (-1))\n                                change y by (-5)\n                                if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> 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 (levels v)?> then\n            change y by ((Yv) * (-1))\n            set [yv v] to [0]\n        end\n        change y by (-1)\n        if <touching (levels v)?> then\n            if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> then\n                set [yv v] to [15]\n            end\n        end\n        change y by (1)\n        if <(x position) > [220]> then\n            set [xv v] to [0]\n            set [yv v] to [0]\n            broadcast (New v)\n            go to x: (-200) y: (0)\n        end\n        if <[-160] > (y position)> then\n            set [xv v] to [0]\n            set [yv v] to [0]\n            start sound [Crunch v]\n            repeat (20)\n                change [ghost v] effect by (5)\n                change size by (.2)\n                change [pixelate v] effect by (20)\n            end\n            set size to (15) %\n            clear graphic effects\n            go to x: (-200) y: (0)\n            go to x: (-200) y: (0)\n        end\n        if <touching (virus v)?> then\n            set [xv v] to [0]\n            set [yv v] to [0]\n            start sound [Crunch v]\n            repeat (20)\n                change [ghost v] effect by (5)\n                change size by (.2)\n                change [pixelate v] effect by (20)\n            end\n            set size to (15) %\n            clear graphic effects\n            go to x: (-200) y: (0)\n        end\n        if <touching (bounce v)?> then\n            set [yv v] to [22]\n        end\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [end v]\nhide\nstop all sounds\nstop [other scripts in sprite v]\nif <(Time) < (☁ Record)> then\n    set [☁ record v] to (Time)\nend\n\nwhen I receive [mute v]\nset volume to (0) %\n\nwhen I receive [unmute v]\nset volume to (100) %\n\nwhen I receive [start v]\nset [time v] to [0]\nforever\n    change [time v] by (0.04)\nend\n\nwhen flag clicked\nhide variable [time v]\nhide variable [☁ record v]\n\nwhen flag clicked\nwait (10) seconds\nbroadcast (Unmute v)\nforever\n    play sound [Sound v] until done\nend\n\n@Poot\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nforever\n    go to (player v)\n    create clone of (_myself_ v)\nend\n\nwhen I receive [end v]\nhide\nstop all sounds\nstop [other scripts in sprite v]\n\nwhen I start as a clone\nshow\nrepeat (20)\n    change [ghost v] effect by (10)\n    change size by (-3)\nend\ndelete this clone\n\n@Mute\n\nwhen flag clicked\nhide\n\nwhen I receive [end v]\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [start v]\nshow\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        if <(costume [name v]) = [0%]> then\n            switch costume to (100% v)\n            broadcast (Unmute v)\n        else\n            switch costume to (0% v)\n            broadcast (Mute v)\n        end\n        wait until <not <mouse down?>>\n    end\nend\n\n@Bounce\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nshow\nswitch costume to (1 v)\n\nwhen I receive [new v]\nnext costume\n\nwhen I receive [end v]\nhide\nstop all sounds\nstop [other scripts in sprite v]\n\n@Play Button\n\nwhen flag clicked\nforever\n    if <touching (mouse-pointer v)?> then\n        set size to (60) %\n    else\n        set size to (50) %\n    end\nend\n\nwhen flag clicked\nhide\nwait (10) seconds\nshow\n\nwhen this sprite clicked\nhide\nbroadcast (Start v)\nset [resume? v] to [1]\n\nwhen I receive [ouit. v]\nshow\ngo to [front v] layer\n\nwhen flag clicked\nforever\n    if <key ((join [enter] []) v) pressed?> then\n        hide\n        broadcast (Start v)\n    end\nend\n\n@2020\n\nwhen flag clicked\npoint in direction (90)\n\nwhen I receive [start v]\nhide\n\nwhen flag clicked\nforever\n    wait (2) seconds\n    repeat (50)\n        turn right (15) degrees\n    end\n    point in direction (90)\n    wait (5) seconds\n    repeat (50)\n        turn left (15) degrees\n    end\n    point in direction (90)\nend\n\nwhen I receive [ouit. v]\nshow\ngo to [front v] layer\n\nwhen flag clicked\nhide\nwait (10) seconds\nshow\n\n@Love fave\n\nwhen flag clicked\nset [costume v] to [0]\nhide\nforever\n    if <not <(title) = [1]>> then\n        if <not <<(LOVED__) = [1]> and <(FAVED___) = [1]>>> then\n            wait (pick random (30) to (40)) seconds\n            switch costume to (costume1 v)\n            go to x: (0) y: (50)\n            show\n            go to [front v] layer\n            start sound [pop v]\n            repeat (9)\n                change y by (-6)\n            end\n            repeat (5)\n                change y by (3)\n            end\n            repeat (5)\n                change y by (-1)\n            end\n            wait (2) seconds\n            repeat (15)\n                change y by (7)\n            end\n            hide\n        end\n        if <(Costume) > [0]> then\n            hide\n            stop [this script v]\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    go to [front v] layer\nend\n\n@Detector\n\nwhen flag clicked\ngo to [front v] layer\nforever\n    reset timer\nend\n\nwhen [timer v] > ()\ngo to [back v] layer\n\nwhen flag clicked\nhide\nset [faved___ v] to [0]\nset [loved__ v] to [0]\nset [clone id v] to [0]\ncreate clone of (_myself_ v)\nwait (0.2) seconds\nset [clone id v] to [1]\ncreate clone of (_myself_ v)\nwait until <<(LOVED__) = [1]> and <(FAVED___) = [1]>>\nwait (1) seconds\nbroadcast (Thanks v)\ngo to x: (0) y: (0)\nshow\nclear graphic effects\nreset timer\nswitch costume to (pick random (1) to (4))\nset [ghost v] effect to (100)\nrepeat until <(timer) > [3.5]>\n    change y by ((y position) / (-15))\n    change [ghost v] effect by (-3)\nend\nreset timer\nrepeat until <(timer) > [3.5]>\n    change y by (((y position) - (-100)) / (-15))\n    change [ghost v] effect by (10)\nend\n\nwhen I start as a clone\nif <(clone id) = [0]> then\n    go to x: (-15) y: (0)\n    set [loved__ v] to [0]\n    switch costume to (love v)\n    forever\n        set [love? v] to <touching (mouse-pointer v)?>\n        if <touching (mouse-pointer v)?> then\n            set [loved__ v] to [1]\n        end\n    end\nend\nif <(clone id) = [1]> then\n    go to x: (0) y: (0)\n    switch costume to (fave v)\n    set [faved___ v] to [0]\n    forever\n        set [fav v] to <touching (mouse-pointer v)?>\n        if <touching (mouse-pointer v)?> then\n            set [faved___ v] to [1]\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    go to [front v] layer\nend\n\n@Pause Menu\n\nwhen I receive [start v]\nhide\nset [pause menu open? v] to [0]\nblock name [2] Start [0]\n\ndefine block name (num) Start (start)\nset [clone number v] to [0]\nrepeat (num)\n    change [clone number v] by (1)\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\ngo to [front v] layer\nshow\nif <(clone number) = [1]> then\n    forever\n        if <(pause menu open?) = [1]> then\n            show\n            switch costume to (layout2 v)\n        else\n            hide\n        end\n    end\nend\nif <(clone number) = [2]> then\n    switch costume to (resume  v)\n    forever\n        forever\n            if <(pause menu open?) = [1]> then\n                if <touching (mouse-pointer v)?> then\n                    set [brightness v] effect to (20)\n                    if <mouse down?> then\n                        wait until <not <mouse down?>>\n                        broadcast (resume v)\n                    end\n                else\n                    clear graphic effects\n                end\n                show\n            else\n                hide\n            end\n        end\n    end\nend\n\nwhen I receive [pause v]\nset [resume? v] to [0]\nset [pause menu open? v] to [1]\n\nwhen I receive [resume v]\nset [resume? v] to [1]\nset [pause menu open? v] to [0]\n\nwhen flag clicked\nset [resume? v] to [1]\n\nwhen flag clicked\nforever\n    go to [front v] layer\nend\n\n@button\n\nwhen [timer v] > ()\ngo to [back v] layer\n\nwhen I receive [start v]\ngo to [front v] layer\nshow\nforever\n    if <(pause menu open?) = [0]> then\n        show\n        if <touching (mouse-pointer v)?> then\n            set [brightness v] effect to (20)\n            if <mouse down?> then\n                wait until <not <mouse down?>>\n                broadcast (pause v)\n            end\n        else\n            set [brightness v] effect to (0)\n        end\n    else\n        hide\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [end v]\nhide\n\n@1234\n\nwhen flag clicked\nset [gift open v] to [No]\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nforever\n    if <(gift open) = [Yes]> then\n        show\n    else\n        hide\n    end\nend\n\n@Confetti\n\nwhen flag clicked\nhide\n\nwhen I receive [blast v]\nshow\nrepeat (168)\n    next costume\nend\nhide\n\n@Bg\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nshow\n\nwhen this sprite clicked\nif <(pause) = [No]> then\n    set [pause v] to [Yes]\nend\n\nwhen this sprite clicked\nnext costume\n\n@Levels\n\nwhen [timer v] > ()\ngo to [back v] layer\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nswitch costume to (1 v)\nshow\ngo to [front v] layer\ngo [backward v] (1) layers\n\nwhen I receive [new v]\nif <(costume [name v]) = [11]> then\n    broadcast (end v)\nelse\n    next costume\nend\n\nwhen I receive [end v]\nhide\n\n@Virus\n\nwhen [timer v] > ()\ngo to [back v] layer\n\nwhen flag clicked\ngo to [front v] layer\nhide\n\nwhen I receive [start v]\nshow\nswitch costume to (1 v)\n\nwhen I receive [new v]\nnext costume\n\nwhen I receive [end v]\nhide\nstop all sounds\nstop [other scripts in sprite v]\n\n@TM\n\nwhen flag clicked\ngo to [front v] layer\nset [ghost v] effect to (100)\n\n@Intro\n\nwhen I start as a clone\nif <[1] = (ʕ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ•̫͡•ʕ•̫͡•ʔ•̫͡•ʕ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ)> then\n    point in direction (90)\n    go to x: (0) y: (0)\n    set [ghost v] effect to (100)\n    switch costume to (blue v)\n    go to [front v] layer\n    wait (0.7) seconds\n    show\n    repeat (20)\n        change [ghost v] effect by (-5)\n    end\nend\n\nwhen I start as a clone\nforever\n    show\nend\n\nwhen flag clicked\npoint in direction (90)\nhide\nreset timer\nset [ʕ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ•̫͡•ʕ•̫͡•ʔ•̫͡•ʕ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ v] to [1]\ncreate clone of (_myself_ v)\nwait (1.5) seconds\nset [ʕ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ•̫͡•ʕ•̫͡•ʔ•̫͡•ʕ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ v] to [3]\ncreate clone of (_myself_ v)\nwait (6) seconds\nset [ʕ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ•̫͡•ʕ•̫͡•ʔ•̫͡•ʕ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ v] to [4]\ngo to x: (-240) y: (0)\npoint in direction (0)\ncreate clone of (_myself_ v)\nrepeat (9)\n    change x by (55)\n    turn right (1) degrees\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nif <[2] = (ʕ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ•̫͡•ʕ•̫͡•ʔ•̫͡•ʕ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ)> then\n    point in direction (90)\n    set [ghost v] effect to (40)\n    go to [back v] layer\n    go [forward v] (1) layers\n    go to x: (0) y: (-394)\n    switch costume to (x% v)\n    show\n    glide (2) secs to x: (0) y: (394)\n    delete this clone\nend\n\nwhen flag clicked\nset [ʕ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ•̫͡•ʕ•̫͡•ʔ•̫͡•ʕ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ v] to [0]\ncreate clone of (_myself_ v)\nwait (0.5) seconds\nrepeat (200)\n    set [ʕ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ•̫͡•ʕ•̫͡•ʔ•̫͡•ʕ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ v] to [2]\n    create clone of (_myself_ v)\n    wait (0.8) seconds\nend\n\nwhen I start as a clone\nif <[0] = (ʕ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ•̫͡•ʕ•̫͡•ʔ•̫͡•ʕ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ)> then\n    point in direction (90)\n    switch costume to (black v)\n    go to x: (0) y: (0)\n    show\n    forever\n        go to [front v] layer\n        go [backward v] (1) layers\n    end\nend\n\nwhen I start as a clone\nif <[3] = (ʕ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ•̫͡•ʕ•̫͡•ʔ•̫͡•ʕ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ)> then\n    point in direction (90)\n    go to [front v] layer\n    set [ghost v] effect to (100)\n    go to x: (0) y: (186)\n    switch costume to (your name v)\n    show\n    repeat (20)\n        change [ghost v] effect by (-5)\n        change y by ((() - (y position)) / (7))\n    end\n    repeat (2)\n        wait () seconds\n    end\n    set rotation style [all around v]\n    repeat (5)\n        point in direction (-90)\n        set [π v] to [0]\n        set size to (0) %\n        repeat (30)\n            set [π v] to (((π) * (0.75)) + (((90) - (direction)) / (5)))\n            turn right (π) degrees\n            change size by ((((π) + (10)) * (0.5)) + (((100) - (size)) / (3)))\n        end\n    end\nend\n\nwhen I start as a clone\nif <[1] = (ʕ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ•̫͡•ʕ•̫͡•ʔ•̫͡•ʕ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ)> then\n    forever\n        go to [back v] layer\n    end\nend\n\nglide (2) secs to x: (0) y: (394)\n\ngo to x: (0) y: (0)\nswitch costume to (your name v)\nshow\n\nhide\n\nwhen I start as a clone\nif <[4] = (ʕ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ•̫͡•ʕ•̫͡•ʔ•̫͡•ʕ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ)> then\n    forever\n        go to [front v] layer\n    end\nend\n\nwhen I start as a clone\nif <[4] = (ʕ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ•̫͡•ʕ•̫͡•ʔ•̫͡•ʕ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ)> then\n    switch costume to (white v)\n    set [π v] to (direction)\n    set [color v] effect to (((π) mod (2)) * (25))\n    set size to (0) %\n    set [ghost v] effect to (100)\n    show\n    go to x: (0) y: (-361)\n    repeat (20)\n        change size by (((100) - (size)) / (3))\n        set [ghost v] effect to ((100) - (size))\n        change x by ((((-240) + ((55) * (π))) - (x position)) / (3))\n        change y by ((() - (y position)) / (3))\n        turn right (((90) - (direction)) / (3)) degrees\n    end\n    wait (0.2) seconds\n    broadcast (THE END v)\nend\n\nwhen I receive [the end v]\nif <(ʕ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ•̫͡•ʕ•̫͡•ʔ•̫͡•ʕ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ) = [4]> then\n    repeat (50)\n        change [ghost v] effect by (2)\n    end\nelse\n    stop [other scripts in sprite v]\n    delete this clone\nend\n\nwhen flag clicked\nstart sound [Blooom - Be Around \[NCS Release\] v]\n\nrepeat (1)\n\n@outro\n\nwhen I start as a clone\nif <(my variable) = [1]> then\n    show\n    switch costume to (effect v)\n    go to x: (0) y: (180)\n    set [yv v] to [13.5]\n    repeat (27)\n        change [yv v] by (-0.5)\n        change y by (join [-] (YV))\n    end\n    wait (2) seconds\n    set [1effectdone v] to [1]\n    forever\n        change size by (50)\n        change [ghost v] effect by (10)\n    end\nelse\n    if <(my variable) = [2]> then\n        switch costume to (bg v)\n        show\n        set size to (100) %\n        set [ghost v] effect to (100)\n        go to x: (0) y: (0)\n        repeat (30)\n            change [ghost v] effect by (-4)\n        end\n        forever\n            glide (0) secs to x: ((mouse x) / (10)) y: ((mouse y) / (10))\n        end\n    else\n        if <(my variable) = [3]> then\n            show\n            go to x: (0) y: (120)\n            forever\n                go to [front v] layer\n                switch costume to (text v)\n                change [sine v] by (7)\n                point in direction ((90) + (([sin v] of (sine) ) * (8)))\n            end\n        else\n            if <(my variable) = [4]> then\n                set [ghost v] effect to (100)\n                go to x: (0) y: (-20)\n                show\n                switch costume to (projects v)\n                repeat (20)\n                    change [ghost v] effect by (-5)\n                end\n            else\n                if <(my variable) = [5]> then\n                    go [backward v] (1) layers\n                    go to x: (240) y: (pick random (-180) to (180))\n                    show\n                    switch costume to (pick random (5) to (6))\n                    glide (pick random (1) to (4)) secs to x: (-240) y: (y position)\n                    delete this clone\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [end v]\nset [1effectdone v] to [0]\nhide\nplay sound [Once Again v] until done\nforever\n    play sound [Once Again v] until done\nend\n\nwhen I receive [end v]\nset [my variable v] to [1]\ncreate clone of (_myself_ v)\nwait until <(1effectDONE) = [1]>\nset [my variable v] to [2]\ncreate clone of (_myself_ v)\nwait (0.03) seconds\nset [my variable v] to [3]\ncreate clone of (_myself_ v)\nwait (0.5) seconds\nset [my variable v] to [4]\ncreate clone of (_myself_ v)\nwait (0) seconds\nforever\n    set [my variable v] to [5]\n    create clone of (_myself_ v)\nend\n\n@Projects for Outro\n\nwhen this sprite clicked\nswitch costume to (costume2 v)\nset [ghost v] effect to (100)\nrepeat (10)\n    wait (.0) seconds\n    change [ghost v] effect by (-10)\nend\nwait (2) seconds\nrepeat (10)\n    wait (.0) seconds\n    change [ghost v] effect by (10)\nend\nswitch costume to (costume1 v)\nrepeat (10)\n    wait (.0) seconds\n    change [ghost v] effect by (-10)\nend\n\nwhen I receive [end v]\nwait (3) seconds\nswitch costume to (costume1 v)\nshow\n\nwhen flag clicked\nhide\n\n