Covid - 19 = a  scrolling platformer 2 

Instructions: Hi guys!\n\nYes, I know there was no project for a while, I was very busy with my exams, but finally the new project is here: D\n\nToday I come to you with something special, a continuation of my project which later became a legend. I improved a lot of the things you said "wreck" the game a little. The platformer shouldn't hang that much anymore, I added a more effective code, also added the option to change the color of the player's "pawn". And most importantly, the newly updated levels, with a higher level of difficulty (new possibilities in a similar appearance). In short, only better innovations that I hope you will like.\n\nInstructions\n \nThe rules are very simple, use the arrows to get to the vaccine to protect yourself against Covid-19. There are 3 levels so to fully protect yourself from coronavirus you need to get 3 doses of the vaccine, then you won the game. Additionally, you can change the player's color by clicking on it with the mouse.\n\nHave a good game and day :) And be safe! \n#let'sprotectourselves

@Stage\n\nwhen I receive [intro v]\nforever\n    wait (0.3) seconds\n    play sound [Alan Walker - Force v] until done\nend\n\n@Platforms\n\nclone at x [0] y [300]\nclone at x [360] y [0]\n\nclone at x [450] y [10]\nclone at x [450] y [20]\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nposition ((x) - (scroll x)) ((y) - (scroll y))\n\nwhen I receive [setup v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(level) = [1]> then\n    switch costume to (level 1 1 v)\n    clone at x [450] y [0]\n    clone at x [450] y [0]\n    clone at x [450] y [0]\n    clone at x [450] y [0]\n    clone at x [450] y [0]\nelse\n    if <(level) = [2]> then\n        switch costume to (level 2 1 v)\n        clone at x [450] y [0]\n        clone at x [450] y [0]\n        clone at x [450] y [10]\n        clone at x [450] y [20]\n    else\n        if <(level) = [3]> then\n            switch costume to (level 3 1 v)\n            clone at x [450] y [30]\n            clone at x [450] y [20]\n            clone at x [450] y [30]\n            clone at x [450] y [20]\n        else\n            switch costume to (end v)\n        end\n    end\nend\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine clone at x (x) y (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\nshow\n\n@player\n\nwhen flag clicked\nbroadcast (Green flag v) and wait\nbroadcast (play game v) and wait\n\nwhen I receive [green flag v]\nhide\ngo [forward v] (2) layers\n\ngo to [front v] layer\n\nwhen I receive [play game v]\nset [level v] to [1]\nforever\n    broadcast (Reset v) and wait\n    broadcast (Setup v) and wait\n    Game On\n    repeat until <(exit) > []>\n        Tick\n        broadcast (Tick v) and wait\n    end\n    if <(exit) = [win]> then\n        game - win\n    else\n        Game-die\n    end\nend\n\ndefine Game On\nset [x v] to [0]\nset [y v] to [0]\nset [scroll x v] to [0]\nset [scroll y v] to [0]\nset [sy v] to [0]\nset [in air v] to [0]\nset [exit v] to []\nset size to (100) %\nset [ghost v] effect to (0)\nshow\n\ndefine Tick\nif <key (left arrow v) pressed?> then\n    change player x by [-8]\nend\nif <key (right arrow v) pressed?> then\n    change player x by [8]\nend\nif <key (up arrow v) pressed?> then\n    if <(in air) < [4]> then\n        set [sy v] to [16]\n    end\nend\nchange [sy v] by (-2)\nchange player y by (sy)\ntest-die\nset [scroll x v] to (x)\nif <(scroll x) < [0]> then\n    set [scroll x v] to [0]\nend\nchange [scroll y v] by (round (((y) - (scroll y)) / (10)))\nif <(scroll y) < [0]> then\n    set [scroll y v] to [0]\nend\nposition\nif <(y) < [-180]> then\n    set [exit v] to [die]\nend\n\ndefine change player y by (sy)\nchange [y v] by (sy)\nchange [in air v] by (1)\nposition\nrepeat until <not <touching (platforms v)?>>\n    if <(sy) > [0]> then\n        change [y v] by (-1)\n    else\n        change [y v] by (1)\n        set [in air v] to [0]\n    end\n    position\n    set [sy v] to [0]\nend\n\ndefine position\ngo to x: ((x) - (scroll x)) y: ((y) - (scroll y))\n\ndefine change player x by (sx)\nchange [x v] by (sx)\nposition\nif <touching (platforms v)?> then\n    if <touching color (#00fd63)?> then\n        broadcast (egg v)\n    end\n    repeat until <not <touching (platforms v)?>>\n        repeat (12)\n            change [y v] by (1)\n            position\n            if <not <touching (platforms v)?>> then\n                stop [this script v]\n            end\n        end\n        change [y v] by (-12)\n        if <(sx) > [0]> then\n            change [x v] by (-1)\n        else\n            change [x v] by (1)\n        end\n        position\n    end\nend\n\ndefine Game-die\nset [exit v] to []\nrepeat (5)\n    hide\n    wait (0.1) seconds\n    show\n    wait (0.1) seconds\nend\nhide\nwait (.5) seconds\n\ndefine test-die\nif <touching (danger v)?> then\n    set [exit v] to [die]\nend\n\ndefine game - win\nrepeat (50)\n    point towards (exit v)\n    turn right (65) degrees\n    move ((distance to [exit v]) / (2)) steps\n    change size by (-1)\n    change [ghost v] effect by (2)\nend\nhide\nchange [level v] by (1)\nwait (1) seconds\n\nset [scroll y v] to [0]\n\nwhen this sprite clicked\nchange [color v] effect by (15)\n\nwhen flag clicked\nforever\n    if <key (right arrow v) pressed?> then\n        point in direction (90)\n    end\n    if <key (left arrow v) pressed?> then\n        point in direction (-90)\n    end\nend\n\n@Intro\n\nwhen I start as a clone\nif <(Clone) = [Shockwave]> then\n    clear graphic effects\n    Frame Animation x (X) y (Y) sz [100] dir (Rotation) spd [1]\n    Set effects: color [0] brightness [0] transparency [0]\n    set [v v] to [1]\n    go to [front v] layer\n    switch costume to (checker shockwave 1 v)\n    show\n    repeat until <[21] < (V)>\n        switch costume to (blank v)\n        change size by (((500) - (size)) / (5))\n        switch costume to (V)\n        change [v v] by (((22) - (V)) / (5))\n    end\n    repeat (10)\n        switch costume to (blank v)\n        change [ghost v] effect by (10)\n        change size by (((500) - (size)) / (5))\n        switch costume to (V)\n        change [v v] by (((22) - (V)) / (5))\n    end\n    delete this clone\nend\n\ndefine Shockwave\nset [rotation v] to [0]\nSet x [0] y [0]\nClone Sprite ID [Shockwave] # [1]\nset [rotation v] to [180]\nSet x [0] y [0]\nClone Sprite ID [Shockwave] # [1]\nwait (0.15) seconds\nset [rotation v] to [-90]\nSet x [0] y [0]\nClone Sprite ID [Shockwave] # [1]\nset [rotation v] to [90]\nSet x [0] y [0]\nClone Sprite ID [Shockwave] # [1]\n\ndefine Clone Sprite ID (id) # (#)\nset [clone v] to (id)\nrepeat (#)\n    create clone of (_myself_ v)\nend\n\ndefine Frame Animation x (x) y (y) sz (sz) dir (dir) spd (spd)\nchange x by (((round (x)) - (round (x position))) / (spd))\nchange y by (((round (y)) - (round (y position))) / (spd))\nchange size by (((round (sz)) - (round (size))) / (spd))\nturn right (((round (dir)) - (round (direction))) / (spd)) degrees\n\ndefine Set effects: color (color) brightness (brightness) transparency (transparency)\nset [color v] to (color)\nset [brightness v] to (brightness)\nset [transparency v] to (transparency)\nset [color v] effect to (Color)\nset [brightness v] effect to (Brightness)\nset [ghost v] effect to (Transparency)\n\ndefine Line Explode (degree) with start (start)\nset [rotation v] to (start)\nrepeat ((360) / (degree))\n    Clone Sprite ID [Burst] # [1]\n    change [rotation v] by (degree)\nend\n\ndefine Set x (x) y (y)\nset [x v] to (x)\nset [y v] to (y)\n\nwhen I start as a clone\nif <(Clone) = [Burst]> then\n    set [value 1 v] to [20]\n    switch costume to (logo v)\n    go to [front v] layer\n    go [backward v] (2) layers\n    show\n    Set effects: color (Color) brightness (Brightness) transparency (pick random (0) to (10))\n    Frame Animation x (X) y (Y) sz [0] dir (Rotation) spd [1]\n    repeat until <(Value 1) < [2]>\n        set [value 1 v] to ((Value 1) * (0.9))\n        switch costume to (((Value 1) * (-0.5)) + (34))\n        Frame size [100] spd [5]\n        move ((Value 1) * (1.2)) steps\n    end\n    repeat (10)\n        set [value 1 v] to ((Value 1) * (0.9))\n        switch costume to (((Value 1) * (-0.5)) + (34))\n        Frame size [100] spd [5]\n        move ((Value 1) * (1.2)) steps\n        change [ghost v] effect by (10)\n    end\n    delete this clone\nend\n\ndefine Frame size (sz) spd (spd)\nchange size by (((round (sz)) - (round (size))) / (spd))\n\nwhen flag clicked\nhide\nwait (1) seconds\nstart sound [Fate v]\nset [keyframe v] to [0]\nrepeat (3)\n    Clone Sprite ID [First] # [1]\n    wait (0.1) seconds\nend\nwait (0.4) seconds\nClone Sprite ID [Logo] # [1]\nwait (0.1) seconds\nset [rotation v] to [0]\nbroadcast (Listen v)\nrepeat until <(Keyframe) = [1]>\n    go to [front v] layer\n    set [color v] to [120]\n    set [brightness v] to [100]\n    Line Explode [90] with start (Rotation)\n    change [rotation v] by (25)\n    wait (0) seconds\n    set [color v] to [100]\n    set [brightness v] to [-20]\n    Line Explode [90] with start (Rotation)\n    change [rotation v] by (25)\n    wait (0.1) seconds\nend\n\ndefine Diminish Shake at x (x) y (y) spd (spd) shake size (size)\nset [v v] to ([abs v] of (size) )\nrepeat until <[0] = (round (V))>\n    go to x: (pick random ((x) + (V)) to ((x) - (V))) y: (pick random ((y) + (V)) to ((y) - (V)))\n    change [v v] by (((0) - (round (V))) / (spd))\nend\n\nwhen I start as a clone\nif <(Clone) = [First]> then\n    Frame Animation x [0] y [0] sz [20] dir [90] spd [1]\n    Set effects: color [0] brightness [0] transparency [0]\n    show\n    repeat until <[1200] = (round (size))>\n        switch costume to (scaling dot v)\n        Frame Animation x [0] y [0] sz [1200] dir [90] spd [4]\n        switch costume to (first v)\n    end\n    repeat until <(Keyframe) = [1]>\n        go to [back v] layer\n        go [backward v] (52362626) layers\n    end\n    repeat until <[100] = (round (Brightness))>\n        switch costume to (scaling dot v)\n        change [brightness v] by (((100) - (round (Brightness))) / (10))\n        change [transparency v] by (((100) - (round (Transparency))) / (10))\n        change [brightness v] effect by (Brightness)\n        change [ghost v] effect by (Transparency)\n        switch costume to (first v)\n        broadcast (intro v)\n    end\nend\n\ndefine Bounce to size (size)\nset [bounce v] to [0]\nrepeat until <([abs v] of (((0.85) * (Bounce)) + (((size) - (size)) / (8))) ) < [0.05]>\n    set [bounce v] to (((0.85) * (Bounce)) + (((size) - (size)) / (8)))\n    change size by (Bounce)\n    go to [front v] layer\nend\n\nwhen I start as a clone\nif <(Clone) = [Logo]> then\n    Frame Animation x [0] y [0] sz [2] dir [90] spd [1]\n    Set effects: color [0] brightness [0] transparency [0]\n    show\n    switch costume to (logo v)\n    Bounce to size [100]\n    repeat until <(Keyframe) = [1]>\n        go to [front v] layer\n        wait (0.4) seconds\n        broadcast (Shock v)\n        Diminish Shake at x [0] y [0] spd [4] shake size [5]\n    end\n    repeat until <[800] = (round (size))>\n        switch costume to (scaling dot v)\n        change [brightness v] by (((100) - (round (Brightness))) / (25))\n        change [transparency v] by (((100) - (round (Transparency))) / (25))\n        change size by (((800) - (round (size))) / (25))\n        change [brightness v] effect by (Brightness)\n        change [ghost v] effect by (Transparency)\n        switch costume to (logo v)\n    end\n    delete this clone\nend\n\nwhen I receive [shock v]\nShockwave\n\nwhen I receive [listen v]\nwait (4) seconds\nset [keyframe v] to [1]\n\nwhen I receive [green flag v]\nshow\n\nwhen I receive [intro v]\nhide\n\n@EXIT\n\nwhen I receive [open portal v]\nswitch costume to (open v)\n\nset [exit v] to []\n\nset [x v] to [-999999]\n\nswitch costume to (open v)\nclone at x [689] y [-122]\n\nif <(level) = [4]> then\n\nset [x v] to [-999999]\n\nswitch costume to (open v)\n\nclone at x [5000000000000000000000000000000000000000000000000000000000000000] y [-122]\n\nhide\n\nif <(level) = [3]> then\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nposition ((x) - (scroll x)) ((y) - (scroll y))\nif <<(costume [name v]) = [OPEN]> and <touching (player v)?>> then\n    set [exit v] to [win]\nend\n\nwhen I receive [setup v]\nhide\nhide variable [mouse v]\nset [collected v] to [0]\nset [x v] to [0]\nset [y v] to [0]\nif <(level) = [1]> then\n    switch costume to (open v)\n    clone at x [2550] y [84]\nelse\n    if <(level) = [2]> then\n        switch costume to (open v)\n        clone at x [2179] y [-80]\n        if <(level) = [2]> then\n            switch costume to (open v)\n            clone at x [2179] y [-80]\n        end\n    else\n        switch costume to (open v)\n        clone at x [2179] y [-92]\n    end\nend\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine clone at x (x) y (y)\nset [x v] to (x)\nset [y v] to (y)\n\nshow\n\n@Sprite1\n\nwhen flag clicked\nhide\nset size to (30) %\nforever\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\ngo to (random position v)\nset [color v] effect to (pick random (0) to (200))\nset size to (pick random (10) to (30)) %\nswitch costume to (pick random (1) to (2))\npoint in direction (pick random (0) to (360))\nset [ghost v] effect to (100)\nshow\nrepeat (50)\n    turn right (5) degrees\n    move (2) steps\n    change [ghost v] effect by (-2)\nend\nrepeat (50)\n    turn right (5) degrees\n    move (2) steps\n    change [ghost v] effect by (2)\nend\ndelete this clone\n\n@YaY\n\nwhen flag clicked\nshow\ngo [forward v] (3) layers\nshow\nset size to (100) %\ngo to x: (-100) y: (-7)\nswitch costume to (kostium1 v)\nset [angle v] to [0]\n\n    point in direction ((([cos v] of (angle) ) * (4)) + (90))\n    set y to (([sin v] of (angle) ) * (8))\n    change [angle v] by (4)\nend\n\nset [brightness v] effect to (100)\n\n@1\n\nwhen flag clicked\nshow\nset size to (105) %\ngo to [front v] layer\nwait (6.78) seconds\nrepeat (20)\n    change [ghost v] effect by (5)\nend\n\nhide\n\n