Relaxation 3 --- a platformer 

Instructions: Relaxation 3\n\nmobile friendly\n\nW A S D / ↑↓→ to move\n\nto complete some levels you need to press S / ↓ to crouch.\n\npls like and love this took 7 hours...\n\n\n10 likes and loves for the next one\n\npart one here:\nhttps://scratch.mit.edu/projects/575453820/\npart two here:https://scratch.mit.edu/projects/585431609/\n\n\n\n\n\n←------- go play the game !!!!!\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nPro Tip : Q for full bright. \npls propose this project to be featured at https://scratch.mit.edu/studios/28715018

@Stage\n\nwhen flag clicked\nswitch backdrop to (stars v)\n\nwhen I receive [background v]\nswitch backdrop to (stars2 v)\n\nwhen I receive [start v]\nswitch backdrop to (backdrop1 v)\n\nwhen flag clicked\nforever\n    if <(level) = [3]> then\n        switch backdrop to (backdrop1 v)\n        broadcast (night v)\n    end\nend\n\n@player\n\nwhen flag clicked\nhide\nforever\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nif <(clones of player) = [big]> then\n    switch costume to (7 v)\nend\nif <(clones of player) = [small]> then\n    switch costume to (8 v)\nend\nset size to (100) %\nrepeat (5)\n    change [ghost v] effect by (10)\n    change [brightness v] effect by (10)\n    change size by (-2)\nend\ndelete this clone\n\nwhen flag clicked\nhide variable [time: v]\nset [level v] to [1]\n\nwhen I receive [death v]\nplay sound [Crunch v] until done\n\nwhen I receive [start point v]\ngo to x: (-217) y: (-60)\n\nwhen I receive [start v]\nforever\n    play sound [Popsicle v] until done\nend\n\nwhen I receive [start v]\nforever\n    show variable [time: v]\n    set [time: v] to (timer)\n    if <[11] = (level)> then\n        stop [this script v]\n    end\nend\n\nset [pitch v] effect to (100)\n\nchange volume by (100)\n\nwhen I receive [start v]\nset volume to (100) %\nreset timer\nset size to (100) %\ngo to x: (-214) y: (-120)\nshow\ngo to x: (-217) y: (-60)\nhide variable [y v]\nhide variable [x v]\nset [y v] to [0]\nset [x v] to [0]\nset [deaths v] to [0]\nforever\n    change [y v] by (-1)\n    if <<<key (a v) pressed?> or <key (left arrow v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> then\n        if <(clones of player) = [big]> then\n            switch costume to (3 v)\n        end\n        if <(clones of player) = [small]> then\n            switch costume to (9 v)\n        end\n        change [x v] by (-1)\n        create clone of (_myself_ v)\n    end\n    if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        if <(clones of player) = [big]> then\n            switch costume to (2 v)\n        end\n        if <(clones of player) = [small]> then\n            switch costume to (10 v)\n        end\n        change [x v] by (1)\n    end\n    set [x v] to ((x) * (0.85))\n    change x by (x)\n    if <touching (floor v)?> then\n        change y by (1)\n    end\n    if <touching (floor v)?> then\n        change y by (1)\n    end\n    if <touching (floor v)?> then\n        change y by (1)\n    end\n    if <touching (floor v)?> then\n        change y by (1)\n    end\n    if <touching (floor v)?> then\n        change y by (-4)\n        change x by ((x) * (-1))\n        if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> then\n            create clone of (_myself_ v)\n            set [y v] to [16]\n            if <(x) > [0]> 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 (floor v)?> 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?> or <key (w v) pressed?>> and <touching (floor v)?>> or <<<mouse down?> and <(mouse y) > (y position)>> and <touching (floor v)?>>> then\n        set [y v] to [14]\n    end\n    change y by (1)\n    if <<touching (obsticals v)?> or <<<touching (saw v)?> or <touching (sprite3 v)?>> or <<touching (saw2 v)?> or <<touching (sprite4 v)?> or <touching (lava v)?>>>>> then\n        broadcast (death v)\n        repeat (20)\n            change y by (2)\n            change [ghost v] effect by (5)\n        end\n        wait (0) seconds\n        set [ghost v] effect to (0)\n        go to x: (-217) y: (-80)\n    end\n    if <touching (launch pad v)?> then\n        set [y v] to [20]\n    end\n    if <not <<key (down arrow v) pressed?> or <<<key (s v) pressed?> or <<key (s v) pressed?> or <<key (d v) pressed?> or <key (w v) pressed?>>>> or <<key (up arrow v) pressed?> or <<key (right arrow v) pressed?> or <key (left arrow v) pressed?>>>>>> then\n        switch costume to (1 v)\n    end\n    if <<(x position) > [210]> and <not <(level) = [11]>>> then\n        go to x: (-217) y: (-80)\n        change [level v] by (1)\n        wait (0.2) seconds\n        broadcast (net lv v)\n    end\n    if <<<key (s v) pressed?> or <key (down arrow v) pressed?>> or <<<mouse down?> and <(mouse y) > (y position)>> or <<mouse down?> and <touching (mouse-pointer v)?>>>> then\n        switch costume to (6 v)\n        set [clones of player v] to [small]\n    end\n    if <not <<<key (s v) pressed?> or <key (down arrow v) pressed?>> or <<<mouse down?> and <(mouse y) > (y position)>> or <<mouse down?> and <touching (mouse-pointer v)?>>>>> then\n        set [clones of player v] to [big]\n    end\nend\n\ncreate clone of (_myself_ v)\n\n@fog\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nshow\nforever\n    go to (player v)\nend\n\nwhen flag clicked\n\nwhen I receive [start v]\nshow\nforever\n    if <(level) = [1]> then\n        go to [front v] layer\n        set [ghost v] effect to (50)\n        set [ghost v] to [yes]\n        stop [this script v]\n    end\nend\n\nwhen I receive [start v]\nshow\nforever\n    if <<key (q v) pressed?> and <(ghost) = [no]>> then\n        set [ghost v] to [yes]\n        set [ghost v] effect to (50)\n        wait (.1) seconds\n    end\n    if <<key (q v) pressed?> and <(ghost) = [yes]>> then\n        set [ghost v] to [no]\n        set [ghost v] effect to (100)\n        wait (.1) seconds\n    end\nend\n\nif <(level) = [1]> then\nend\n\nwhen I receive [start v]\nshow\nforever\nend\n\n@floor\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [start v]\nshow\n\nwhen flag clicked\ngo to [front v] layer\nforever\n    switch costume to (level)\nend\n\n@launch pad\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nhide\nset size to (75) %\nswitch costume to (costume1 v)\nforever\n    if <touching (player v)?> then\n        wait (0.1) seconds\n        switch costume to (costume3 v)\n        wait (0.1) seconds\n        switch costume to (costume1 v)\n    end\nend\n\nwhen I receive [start v]\npoint in direction (90)\nforever\n    if <(level) = [3]> then\n        go to x: (-150) y: (-103)\n        show\n    end\n    if <(level) = [4]> then\n        go to x: (25) y: (-100)\n        show\n    end\n    if <(level) = [5]> then\n        go to x: (-140) y: (-100)\n        show\n    end\n    if <(level) = [6]> then\n        hide\n    end\n    if <(level) = [7]> then\n        go to x: (-90) y: (-103)\n        show\n    end\n    if <(level) = [8]> then\n        point in direction (90)\n        hide\n    end\n    if <(level) = [10]> then\n        go to x: (141) y: (-103)\n        show\n    end\n    if <(level) = [11]> then\n        hide\n    end\nend\n\nhide\n\nforever\n    if <(level) = [3]> then\n        go to x: (-50) y: (-103)\n        show\n    end\n    if <(level) = [4]> then\n        hide\n    end\nend\n\npoint in direction (90)\n\nwait (0.5) seconds\n\nplay sound [Big Boing v] until done\n\n@obsticals\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\n\nwhen I receive [start v]\nset [ghost v] effect to (0)\nshow\nforever\n    switch costume to (level)\nend\n\n@intro\n\nwhen flag clicked\ngo to [front v] layer\npoint in direction (90)\nbroadcast (hide v)\nset size to (100) %\nhide\nset size to (100) %\nswitch costume to (costume1 v)\ngo to x: (-180) y: (0)\ncreate clone of (_myself_ v)\nwait (0.1) seconds\ngo to x: (-60) y: (0)\ncreate clone of (_myself_ v)\nwait (.1) seconds\ngo to x: (60) y: (0)\ncreate clone of (_myself_ v)\nwait (.1) seconds\ngo to x: (180) y: (0)\ncreate clone of (_myself_ v)\nwait (1) seconds\ngo to x: (180) y: (0)\ncreate clone of (_myself_ v)\nwait (.1) seconds\ngo to x: (60) y: (0)\ncreate clone of (_myself_ v)\nwait (.1) seconds\ngo to x: (-60) y: (0)\ncreate clone of (_myself_ v)\nwait (.1) seconds\ngo to x: (-180) y: (0)\ncreate clone of (_myself_ v)\nwait (1) seconds\nswitch costume to (costume2 v)\ngo to x: (0) y: (150)\ncreate clone of (_myself_ v)\nwait (0.1) seconds\ngo to x: (0) y: (50)\ncreate clone of (_myself_ v)\nwait (.1) seconds\ngo to x: (0) y: (-50)\ncreate clone of (_myself_ v)\nwait (.1) seconds\ngo to x: (0) y: (-150)\ncreate clone of (_myself_ v)\nwait (1) seconds\ngo to x: (0) y: (-150)\ncreate clone of (_myself_ v)\nwait (.1) seconds\ngo to x: (0) y: (-50)\ncreate clone of (_myself_ v)\nwait (.1) seconds\ngo to x: (0) y: (50)\ncreate clone of (_myself_ v)\nwait (.1) seconds\ngo to x: (0) y: (150)\ncreate clone of (_myself_ v)\nwait (1) seconds\nshow\nswitch costume to (costume3 v)\ngo to x: (0) y: (0)\nset [brightness v] effect to (0)\nbroadcast (background v)\nrepeat (4)\n    wait (0.2) seconds\nend\nset size to (100) %\nset [brightness v] effect to (0)\nchange [brightness v] effect by (50)\nset [brightness v] effect to (0)\nrepeat (18)\n    change [brightness v] effect by (-10)\n    turn right (10) degrees\n    change [brightness v] effect by (10)\n    wait (0) seconds\n    change size by (2)\nend\nrepeat (18)\n    change [brightness v] effect by (-10)\n    turn right (0) degrees\n    change [brightness v] effect by (10)\n    change size by (-2)\nend\nwait (0.2) seconds\nbroadcast (start v)\nstop [other scripts in sprite v]\nhide\n\nwhen I start as a clone\nshow\nset [ghost v] effect to (0)\nset size to (100) %\nrepeat (20)\n    wait (0) seconds\n    change [ghost v] effect by (5)\n    change size by (-1)\nend\ndelete this clone\n\nshow\n\nwhen flag clicked\nplay sound [Brooks - Lynx2 v] until done\n\nwait (0) seconds\n\n@clouds\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nset [brightness v] effect to (pick random (0) to (100))\ngo to [back v] layer\nswitch costume to (pick random (1) to (2))\nset size to (pick random (50) to (90)) %\nshow\nset [ghost v] effect to (30)\nglide (0) secs to x: (400) y: (y position)\nglide (11) secs to x: (-400) y: (y position)\nrepeat (100)\n    change x by (-10)\nend\n\nwhen I receive [start v]\n\nwhen I start as a clone\nwait (8) seconds\ndelete this clone\n\nwhen flag clicked\nset [brightness v] effect to (0)\ngo to [back v] layer\nset size to (30) %\nforever\n    go to x: (200) y: (pick random (160) to (70))\n    wait (1) seconds\n    switch costume to (pick random (1) to (2))\n    create clone of (_myself_ v)\nend\n\n@saw\n\nwhen flag clicked\nwait (0) seconds\nhide\n\nwhen I receive [start v]\nforever\n    if <(level) = [3]> then\n        go to x: (-180) y: (-75)\n    end\n    forever\n        turn right (20) degrees\n        if <[5] = (level)> then\n            hide\n            stop [this script v]\n        end\n    end\nend\n\nshow\n\nwhen I receive [start v]\nforever\n    if <(level) = [4]> then\n        show\n        forever\n            glide (1) secs to x: (-150) y: (-75)\n            glide (1) secs to x: (-100) y: (-75)\n        end\n    end\n    if <[5] = (level)> then\n        stop [this script v]\n    end\n    if <[5] = (level)> then\n        hide\n        stop [this script v]\n    end\nend\n\ngo to x: (100) y: (-105)\n\nwhen I receive [hide v]\n\nwhen flag clicked\nforever\n    if <[5] = (level)> then\n        forever\n            turn right (15) degrees\n        end\n    end\nend\n\n@text\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nshow\ngo to [back v] layer\nforever\n    go to x: (0) y: (0)\n    switch costume to (level)\nend\n\nwhen I receive [start v]\nforever\n    if <(level) = [11]> then\n        go to [front v] layer\n    end\nend\n\n@start\n\nwhen flag clicked\nforever\n    go to [front v] layer\n    go to x: (0) y: (0)\n    set [ghost v] effect to (100)\nend\n\n@moon\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\ngo to [back v] layer\nset [brightness v] effect to (60)\nset [ghost v] effect to (0)\ngo to x: (-236) y: (178)\nshow\nset size to (150) %\nforever\n    repeat (10)\n        change size by (3)\n        wait (0) seconds\n    end\n    wait (2) seconds\n    repeat (10)\n        wait (0) seconds\n        change size by (-3)\n    end\n    wait (2) seconds\nend\n\n@skip\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nset size to (100) %\nshow\ngo to x: (200) y: (158)\ngo to [front v] layer\nforever\n    if <<<touching (mouse-pointer v)?> and <mouse down?>> and <not <(level) = [11]>>> then\n        broadcast (start point v)\n        broadcast (net lv v)\n        change [level v] by (1)\n        wait until <not <<<touching (mouse-pointer v)?> and <mouse down?>> and <not <(level) = [11]>>>>\n    end\nend\n\nwhen I receive [start v]\nset size to (100) %\nshow\ngo to x: (200) y: (158)\ngo to [front v] layer\nforever\n    if <touching (mouse-pointer v)?> then\n        switch costume to (costume2 v)\n        wait until <not <touching (mouse-pointer v)?>>\n        switch costume to (costume1 v)\n    end\nend\n\nwhen I receive [start v]\nforever\n    go to [front v] layer\nend\n\n@saw2\n\nwhen flag clicked\nwait (0) seconds\ngo to x: (-210) y: (15)\nhide\n\nwhen I receive [start v]\nforever\n    forever\n        turn right (20) degrees\n        if <[8] = (level)> then\n            hide\n            stop [this script v]\n        end\n    end\nend\n\nwhen I receive [start v]\nforever\n    if <(level) = [5]> then\n        forever\n            glide (1) secs to x: (-210) y: (15)\n            glide (1) secs to x: (-100) y: (15)\n        end\n    end\n    if <[8] = (level)> then\n        stop [this script v]\n    end\n    if <[8] = (level)> then\n        hide\n        stop [this script v]\n    end\nend\n\nwhen I receive [start v]\nforever\n    if <(level) = [7]> then\n        show\n    end\nend\n\n@Sprite3\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nforever\n    if <(level) = [6]> then\n        show\n        go to x: (-70) y: (28)\n        forever\n            show\n            repeat (5)\n                change y by (5)\n                wait (0) seconds\n            end\n            wait (1) seconds\n            repeat (5)\n                change y by (-5)\n                wait (0) seconds\n            end\n            wait (1) seconds\n        end\n    end\nend\n\nwhen I receive [start v]\nforever\n    if <(level) = [7]> then\n        hide\n        stop [other scripts in sprite v]\n    end\nend\n\n@coin\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\n\nwhen I start as a clone\n\nshow\n\nwhen I receive [net lv v]\nset [ghost v] effect to (100)\nhide\n\nwhen flag clicked\n\nwhen I receive [start v]\nforever\n    if <(level) = [2]> then\n        wait (.1) seconds\n        wait (.1) seconds\n        go to x: (177) y: (73)\n        show\n        set [ghost v] effect to (0)\n        stop [this script v]\n    end\n    if <(level) = [3]> then\n        stop [this script v]\n    end\nend\n\nwhen I start as a clone\nshow\n\nwhen I receive [start v]\nforever\n    if <(level) = [3]> then\n        wait (.1) seconds\n        wait (.1) seconds\n        go to x: (-200) y: (20)\n        set [ghost v] effect to (0)\n        show\n        stop [this script v]\n    end\n    if <(level) = [4]> then\n        stop [this script v]\n    end\nend\n\nwhen I receive [start v]\nforever\n    if <(level) = [4]> then\n        wait (.1) seconds\n        wait (.1) seconds\n        go to x: (-71) y: (94)\n        show\n        set [ghost v] effect to (0)\n        stop [this script v]\n    end\n    if <(level) = [5]> then\n        stop [this script v]\n    end\nend\n\nwhen I receive [start v]\nforever\n    if <(level) = [5]> then\n        wait (.2) seconds\n        go to x: (-160) y: (140)\n        set [ghost v] effect to (0)\n        show\n        stop [this script v]\n    end\n    if <(level) = [6]> then\n        stop [this script v]\n    end\nend\n\nwhen I receive [start v]\nforever\n    if <(level) = [7]> then\n        wait (.1) seconds\n        wait (.2) seconds\n        go to x: (130) y: (115)\n        show\n        set [ghost v] effect to (0)\n        stop [this script v]\n    end\n    if <(level) = [8]> then\n        stop [this script v]\n    end\nend\n\nwhen I receive [start v]\nforever\n    if <(level) = [8]> then\n        wait (.1) seconds\n        wait (.1) seconds\n        go to x: (-160) y: (100)\n        set [ghost v] effect to (0)\n        show\n        stop [this script v]\n    end\n    if <(level) = [9]> then\n        stop [this script v]\n    end\nend\n\nwhen I receive [start v]\nforever\n    if <(level) = [9]> then\n        wait (.1) seconds\n        wait (.1) seconds\n        go to x: (43) y: (111)\n        set [ghost v] effect to (0)\n        show\n        stop [this script v]\n    end\n    if <(level) = [10]> then\n        stop [this script v]\n    end\nend\n\nwhen I start as a clone\nforever\n    if <touching (player v)?> then\n        wait (0) seconds\n        delete this clone\n    end\nend\n\nwhen I receive [start v]\nforever\n    if <touching (player v)?> then\n        set [ghost v] effect to (100)\n    end\nend\n\nplay sound [Collect v] until done\n\nset [thing v] to [0]\nwait (0.1) seconds\nchange [thing v] by (1)\nwait (0) seconds\nset [thing v] to [0]\n\nset [thing v] to [0]\nwait (0.1) seconds\nchange [thing v] by (1)\nwait (0) seconds\nset [thing v] to [0]\n\nwhen flag clicked\nforever\n    next costume\n    wait (0) seconds\nend\n\nwhen I receive [net lv v]\nforever\n    if <touching (player v)?> then\n        play sound [Collect v] until done\n        stop [this script v]\n    end\nend\n\nwhen I receive [start v]\nforever\n    if <(level) = [10]> then\n        wait (.1) seconds\n        wait (.1) seconds\n        go to x: (-70) y: (40)\n        set [ghost v] effect to (0)\n        show\n        stop [this script v]\n    end\n    if <(level) = [11]> then\n        stop [this script v]\n    end\nend\n\nwhen I receive [start v]\nforever\n    if <(level) = [11]> then\n        wait (.1) seconds\n        wait (.1) seconds\n        go to x: (-170) y: (20)\n        set [ghost v] effect to (0)\n        show\n        stop [this script v]\n    end\n    if <(level) = [12]> then\n        stop [this script v]\n    end\nend\n\n@like and love\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nforever\n    wait (pick random (30) to (45)) seconds\n    show\n    go to [front v] layer\n    set [ghost v] effect to (30)\n    go to x: (-150) y: (170)\n    repeat (10)\n        wait (0) seconds\n        change y by (-5)\n    end\n    play sound [Collect v] until done\n    wait (1) seconds\n    repeat (15)\n        wait (0) seconds\n        change y by (5)\n    end\n    hide\nend\n\n