Grass -A Mobile Friendly Platformer 

Instructions:              ✿ Grass ✿\n        ✿ A Awesome Platformer ✿\n\n\n                            ✦✦✦How to play✦✦✦\n➜Use the arrow keys or WASD keys to move. \n➜Avoid spikes and lava.\n➜Mobile friendly!! :)\n\n                                ✦✦✦News✦✦✦\n➜(1/4/2021)  Shared\n➜(1/6/2021)  ON TRENDING???

@Stage\n\nwhen flag clicked\nswitch backdrop to (1 v)\nforever\n    if <(Level) = [7]> then\n        switch backdrop to (2 v)\n    else\n        switch backdrop to (1 v)\n    end\nend\n\nwhen I receive [start project v]\nswitch backdrop to (1 v)\nforever\n    broadcast (Start v)\n    play sound [Fade v] until done\nend\n\n@player\n\nwhen I receive [start v]\nforever\n    if <<[240] < (x position)> and <(Dead) = [0]>> then\n        broadcast (NAXT LEVEL v)\n        change [level v] by (1)\n        reset\n    end\nend\n\nwhen flag clicked\nhide variable [xv v]\nhide variable [dead v]\nhide variable [level v]\nhide variable [yv v]\nhide\n\ndefine reset\nclear graphic effects\npoint in direction (90)\ngo to x: (-220) y: (-16)\nswitch costume to (1 v)\nset [dead v] to [0]\nset [xv v] to [0]\nset [yv v] to [0]\nset size to (20) %\nshow\n\ndefine Dead\nset [dead v] to [1]\nrepeat (25)\n    change [ghost v] effect by (4)\nend\nreset\n\nwhen I start as a clone\nswitch costume to (3 v)\nrepeat (10)\n    change [ghost v] effect by (10)\n    change [color v] effect by (20)\n    change size by (-1.5)\nend\ndelete this clone\n\ndefine Tick\nset [dead v] to [0]\nset [level v] to [1]\nset size to (20) %\nreset\nforever\n    create clone of (_myself_ v)\n    if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        switch costume to (1 v)\n        change [xv v] by (1)\n    end\n    if <<<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> and <(Dead) = [0]>> then\n        switch costume to (2 v)\n        change [xv v] by (-1)\n    end\n    set [xv v] to ((Xv) * (.9))\n    change x by (Xv)\n    if <touching (platform v)?> then\n        change y by (2)\n        if <touching (platform v)?> then\n            change y by (2)\n            if <touching (platform v)?> then\n                change y by (2)\n                if <touching (platform v)?> then\n                    change y by (2)\n                    if <touching (platform v)?> then\n                        change y by (2)\n                        if <touching (platform v)?> then\n                            change x by ((Xv) * (-2))\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) + (10))>>>> 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 [13]\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 (-0.8)\n    change y by (Yv)\n    if <touching (platform v)?> then\n        change y by ((Yv) * (-1))\n        set [yv v] to [0]\n    end\n    change y by (-1)\n    if <touching (platform 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 [12]\n        end\n    end\n    change y by (1)\n    if <<touching (spike v)?> or <touching (lava v)?>> then\n        Dead\n    end\n    if <(y position) < [-180]> then\n        Dead\n    end\nend\n\nwhen I receive [start v]\nTick\n\nwhen I receive [1 v]\nreset\n\nwhen I receive [start v]\nforever\n    if <touching (trampolines v)?> then\n        set [yv v] to [23]\n    end\nend\n\n@platform\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\ngo to x: (0) y: (0)\nshow\n\nwhen I receive [start v]\nforever\n    switch costume to (Level)\nend\n\n@spike\n\nwhen I receive [start v]\ngo to [back v] layer\nshow\nswitch costume to (1 v)\n\nwhen I receive [start v]\nforever\n    switch costume to (Level)\nend\n\nwhen flag clicked\ngo to x: (35) y: (20)\nhide\n\nwhen flag clicked\nshow\nforever\n    if <(costume [number v]) = [13]> then\n        go to [back v] layer\n    end\nend\n\nwhen flag clicked\nhide\nset size to (100) %\n\n@words\n\nwhen I receive [start v]\nwait (1) seconds\nforever\n    switch costume to (Level)\nend\n\nwhen flag clicked\nhide\nswitch costume to (level 1 v)\n\nwhen I receive [start v]\ngo to x: (0) y: (0)\nwait (1) seconds\nshow\n\nwhen I receive [start v]\nforever\n    go to [front v] layer\n    go [backward v] (1) layers\n    if <(Level) = [13]> then\n        forever\n            go to [back v] layer\n            stop [this script v]\n        end\n    end\nend\n\n@Sprite1\n\nwhen flag clicked\nshow\ngo to x: (0) y: (0)\nset [ghost v] effect to (100)\nforever\n    go to [front v] layer\nend\n\n@Clouds\n\nwhen flag clicked\nhide\ngo to x: (396) y: (170)\nset [ghost v] effect to (20)\n\nclear graphic effects\n\nwhen I receive [start v]\nshow\ngo to x: (396) y: (170)\nforever\n    go to x: (396) y: (170)\n    set [ghost v] effect to (30)\n    glide (4) secs to x: (-240) y: (170)\nend\n\n@Lava\n\nwhen I receive [start v]\nshow\ngo to x: (0) y: (0)\nforever\n    switch costume to (Level)\nend\n\nwhen flag clicked\nhide\nforever\n    glide (1.5) secs to x: (0) y: (25)\n    glide (1.5) secs to x: (0) y: (-10)\nend\n\nwhen flag clicked\nforever\n    if <not <(Level) = [50]>> then\n        go to [back v] layer\n    else\n        go to [front v] layer\n        stop [this script v]\n    end\nend\n\n@Trampolines\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nforever\n    switch costume to (Level)\nend\n\nwhen I receive [start v]\ngo to x: (0) y: (0)\nshow\n\n@Skip button\n\nwhen flag clicked\nhide\nset [skip v] to [0]\n\nwhen I receive [start v]\nshow\nset [skip v] to [1]\nforever\n    if <touching (mouse-pointer v)?> then\n        set size to (130) %\n    else\n        if <not <touching (mouse-pointer v)?>> then\n            set size to (100) %\n        end\n    end\nend\n\nwhen this sprite clicked\nif <(Skip) = [1]> then\n    if <not <(Level) = [14]>> then\n        change [level v] by (1)\n        broadcast (1 v)\n    end\nend\n\n@Intro \n\nwhen I start as a clone\nif <(Clone ID) = [Box]> then\n    switch costume to (box v)\n    point in direction (180)\n    set [ghost v] effect to (50)\n    set [brightness v] effect to (100)\n    set size to (15) %\n    show\n    go to x: ((Var 1) * (40)) y: (-190)\n    go to [front v] layer\n    repeat until <(y position) > (((Var 2) * (40)) - (1))>\n        change y by (((((Var 2) * (40)) + (2)) - (y position)) / (5))\n    end\n    set y to ((Var 2) * (40))\n    repeat until <(size) > [89]>\n        change size by (((91) - (size)) / (5))\n        turn right (((180) - (direction)) / (5)) degrees\n        change [ghost v] effect by (-5)\n    end\n    set size to (90) %\n    set [ghost v] effect to (0)\n    point in direction (180)\n    wait (1) seconds\n    repeat (30)\n        turn right (7) degrees\n        change [ghost v] effect by (4)\n        change size by (-4)\n    end\n    hide\n    delete this clone\nend\n\nwhen flag clicked\nset [username v] to [Sushi7777]\nset [clone id v] to [Back]\ncreate clone of (_myself_ v)\nSetup Lists\nset [sizelimit v] to [400]\nset [clone id v] to [Letter]\nType (Username) [0] [0] [0] [0] [100] [0]\nset [sizelimit v] to [150]\nset [clone id v] to [Letter 1]\nType (Username) [0] [-100] [0] [0] [100] [0]\nreset timer\nstart sound [bruh v]\nhide\npoint in direction (90)\nclear graphic effects\nset [clone id v] to [Arrow]\nrepeat (5)\n    set [brightness v] effect to (10)\n    create clone of (_myself_ v)\n    wait (0.1) seconds\n    set [brightness v] effect to (0)\n    create clone of (_myself_ v)\n    wait (0.1) seconds\nend\nset [clone id v] to [Logo]\ncreate clone of (_myself_ v)\nset [clone id v] to [Hider 1]\ncreate clone of (_myself_ v)\nset [clone id v] to [Hider 2]\ncreate clone of (_myself_ v)\nset [clone id v] to [Ghost]\ncreate clone of (_myself_ v)\nwait until <(timer) > [9]>\nset [var 1 v] to [-6]\nhide\nset size to (90) %\nswitch costume to (box v)\ngo to x: (-220) y: (160)\nset [clone id v] to [Box]\nrepeat (13)\n    set [var 2 v] to [4]\n    Clone Row of Boxes\n    change [var 1 v] by (1)\nend\nwait until <(timer) > [10.7]>\nbroadcast (Start Project v)\n\nwhen I start as a clone\nif <(Clone ID) = [Arrow]> then\n    set [ghost v] effect to (0)\n    set size to (185) %\n    switch costume to (arrow v)\n    show\n    go to x: (0) y: (-70000000)\n    Smooth Glide x: [0] y: [-250] speed: [9] [0]\n    wait until <(timer) > [3.5]>\n    delete this clone\nend\nif <(Clone ID) = [Letter]> then\n    wait until <(timer) > [2]>\n    if <((Length) / (3)) > (#)> then\n        wait (0.25) seconds\n    else\n        if <(((Length) / (3)) + ((Length) / (3))) > (#)> then\n            wait (0.6) seconds\n        else\n            if <((Length) + (1)) > (#)> then\n                wait (1) seconds\n            end\n        end\n    end\n    go to [front v] layer\n    show\n    set size to (Size) %\n    set [ghost v] effect to (0)\n    go to x: (x position) y: (300)\n    Smooth Glide x: (x position) y: [0] speed: [3] []\n    wait until <(timer) > [3.5]>\n    delete this clone\nend\nif <(Clone ID) = [Logo]> then\n    wait until <(timer) > [3.5]>\n    Clone Particles\n    show\n    switch costume to (logo v)\n    go to x: (0) y: (0)\n    set size to (0) %\n    Bounce with (75) , (10) and (100)\n    wait until <(timer) > [5.7]>\n    Clone Particles\n    point in direction (90)\n    set [var 1 v] to [5]\n    turn right (2) degrees\n    repeat until <(round (direction)) = [90]>\n        go to [front v] layer\n        point in direction ((([tan v] of (Var 1) ) * (10)) + (90))\n        change [var 1 v] by (4)\n    end\n    point in direction (90)\n    Clone Particles\n    set [var 1 v] to [10]\n    repeat (33)\n        change y by ((0) - (Var 1))\n        change size by (((Var 1) - (10)) / (5))\n        change [var 1 v] by (-1)\n    end\n    delete this clone\nend\nif <(Clone ID) = [Letter 1]> then\n    wait until <(timer) > [6]>\n    wait ((#) / (Length)) seconds\n    go to [front v] layer\n    set size to (Size) %\n    show\n    set [var 1 v] to (x position)\n    go to x: (300) y: (-130)\n    Smooth Glide x: (Var 1) y: [-130] speed: [5] [0]\n    wait (0.5) seconds\n    Smooth Glide x: [-230] y: [-130] speed: [5] [5]\nend\n\nwhen I start as a clone\nif <(Clone ID) = [Back]> then\n    switch costume to (back v)\n    set size to (2000) %\n    show\n    go to [back v] layer\n    go to x: (0) y: (0)\n    wait until <(timer) > [3]>\n    switch costume to (back 2 v)\n    repeat until <(timer) > [10.3]>\n        repeat (16)\n            change y by (4)\n            change x by (-4)\n        end\n        go to x: (0) y: (0)\n    end\n    delete this clone\nend\n\nwhen I start as a clone\nif <(Clone ID) = [Ghost]> then\n    wait until <(timer) > [3]>\n    switch costume to (ghost v)\n    set size to (2000) %\n    show\n    go to [back v] layer\n    go [forward v] (1) layers\n    go to x: (0) y: (0)\n    set [ghost v] effect to (50)\n    wait until <(timer) > [10.3]>\n    delete this clone\nend\n\nwhen I start as a clone\nif <(Clone ID) = [Particle]> then\n    switch costume to (particle v)\n    clear graphic effects\n    set size to (100) %\n    go to x: (0) y: (0)\n    set [color v] effect to (pick random (110) to (130))\n    go to [back v] layer\n    go [forward v] (2) layers\n    set [var 1 v] to (pick random (10) to (15))\n    set [var 2 v] to (pick random (2) to (7))\n    turn right (pick random (-10) to (10)) degrees\n    show\n    repeat until <touching (_edge_ v)?>\n        move (Var 1) steps\n        change y by (Var 2)\n        change [var 2 v] by (-0.4)\n        set [var 1 v] to ((Var 1) * (0.95))\n    end\n    repeat (10)\n        move (Var 1) steps\n        change y by (Var 2)\n        change [var 2 v] by (-0.4)\n        set [var 1 v] to ((Var 1) * (0.95))\n        change [ghost v] effect by (10)\n    end\n    hide\n    delete this clone\nend\n\ndefine Clone Particles\nset [clone id v] to [Particle]\nrepeat (75)\n    create clone of (_myself_ v)\n    turn right (15) degrees\nend\npoint in direction (90)\n\ndefine Clone Row of Boxes\nset [brightness v] effect to (10)\nrepeat (9)\n    create clone of (_myself_ v)\n    change [var 2 v] by (-1)\n    change [brightness v] effect by (-2)\nend\n\ndefine Bounce with (bounciness) , (speed) and (finishing size)\nset [var 1 v] to [0]\nrepeat until <<(finishing size) = (size)> and <(Var 1) = (size)>>\n    set [var 2 v] to (((Var 2) * ((bounciness) / (100))) + (((finishing size) - (size)) * ((speed) / (20))))\n    set [var 1 v] to (size)\n    change size by (Var 2)\nend\nset size to (finishing size) %\n\ndefine Smooth Glide x: (x) y: (y) speed: (speed) (ghost)\nrepeat until <<(round (x position)) = (round (x))> and <(round (y position)) = (round (y))>>\n    change x by (((round (x)) - (round (x position))) / (speed))\n    change y by (((round (y)) - (round (y position))) / (speed))\n    change [ghost v] effect by (ghost)\nend\ngo to x: (x) y: (y)\n\ndefine Type: System (text) (x) (y) (size) (color) (brightness) (speed)\nswitch costume to (master v)\nhide\ngo to x: (x) y: (y)\nset size to (size) %\nset [# v] to [1]\nset [color v] effect to (color)\nset [brightness v] effect to (brightness)\nset [length v] to (length of (text))\nrepeat (length of (text))\n    reset timer\n    if <(letter (#) of (text)) > [ ]> then\n        switch costume to (letter (#) of (text))\n        create clone of (_myself_ v)\n        change x by ((size) * ((item (costume [number v]) of [character widths v]) / (90)))\n        change [# v] by (1)\n    else\n        switch costume to ( v)\n        create clone of (_myself_ v)\n        change x by ((size) * ((item (costume [number v]) of [character widths v]) / (90)))\n        change [# v] by (1)\n    end\n    wait (speed) seconds\nend\n\ndefine Setup Lists\ndelete all of [character widths v]\nadd [thing] to [character widths v]\nadd [29] to [character widths v]\nadd [24] to [character widths v]\nadd [28] to [character widths v]\nadd [27] to [character widths v]\nadd [24] to [character widths v]\nadd [24] to [character widths v]\nadd [28] to [character widths v]\nadd [28] to [character widths v]\nadd [7] to [character widths v]\nadd [21] to [character widths v]\nadd [22] to [character widths v]\nadd [22] to [character widths v]\nadd [34] to [character widths v]\nadd [27] to [character widths v]\nadd [34] to [character widths v]\nadd [22] to [character widths v]\nadd [34] to [character widths v]\nadd [21] to [character widths v]\nadd [23] to [character widths v]\nadd [27] to [character widths v]\nadd [27] to [character widths v]\nadd [29] to [character widths v]\nadd [38] to [character widths v]\nadd [26] to [character widths v]\nadd [27] to [character widths v]\nadd [27] to [character widths v]\nadd [11] to [character widths v]\nadd [20] to [character widths v]\nadd [21] to [character widths v]\nadd [25] to [character widths v]\nadd [21] to [character widths v]\nadd [20] to [character widths v]\nadd [21] to [character widths v]\nadd [20] to [character widths v]\nadd [20] to [character widths v]\nadd [20] to [character widths v]\nadd [14] to [character widths v]\nadd [25] to [character widths v]\nadd [15] to [character widths v]\nadd [10] to [character widths v]\nadd [24] to [character widths v]\nadd [24] to [character widths v]\nadd [20] to [character widths v]\nadd [24] to [character widths v]\nadd [22] to [character widths v]\nadd [16] to [character widths v]\nadd [24] to [character widths v]\nadd [22] to [character widths v]\nadd [10] to [character widths v]\nadd [14] to [character widths v]\nadd [18] to [character widths v]\nadd [9] to [character widths v]\nadd [33] to [character widths v]\nadd [22] to [character widths v]\nadd [24] to [character widths v]\nadd [24] to [character widths v]\nadd [24] to [character widths v]\nadd [15] to [character widths v]\nadd [19] to [character widths v]\nadd [16] to [character widths v]\nadd [22] to [character widths v]\nadd [22] to [character widths v]\nadd [30] to [character widths v]\nadd [20] to [character widths v]\nadd [23] to [character widths v]\nadd [20] to [character widths v]\n\ndefine Change Size By: (size)\nchange size by (size)\nchange x by ((size) / (7))\n\ndefine Find Size (text) (size)\nset [size v] to (size)\nset [width v] to [1]\nset [# v] to [1]\nrepeat (length of (text))\n    if <(letter (#) of (text)) > [ ]> then\n        switch costume to (letter (#) of (text))\n        change [width v] by ((Size) * ((item (costume [number v]) of [character widths v]) / (90)))\n        change [# v] by (1)\n    else\n        switch costume to ( v)\n        change [width v] by ((Size) * ((item (costume [number v]) of [character widths v]) / (90)))\n        change [# v] by (1)\n    end\nend\nif <(Width) > [400]> then\n    change [size v] by (-1)\nend\nif <(Width) < [390]> then\n    change [size v] by (1)\nend\nrepeat until <<<(Width) < [400]> and <(Width) > [389]>> or <(Size) > (SizeLimit)>>\n    reset timer\n    set [width v] to [0]\n    set [# v] to [1]\n    repeat (length of (text))\n        if <(letter (#) of (text)) > [ ]> then\n            switch costume to (letter (#) of (text))\n            change [width v] by ((Size) * ((item (costume [number v]) of [character widths v]) / (90)))\n            change [# v] by (1)\n        else\n            switch costume to ( v)\n            change [width v] by ((Size) * ((item (costume [number v]) of [character widths v]) / (90)))\n            change [# v] by (1)\n        end\n    end\n    if <(Width) > [400]> then\n        change [size v] by (-1)\n    end\n    if <(Width) < [390]> then\n        change [size v] by (1)\n    end\n    if <(Size) > ((SizeLimit) + (1))> then\n        set [size v] to ((SizeLimit) - (10))\n    end\nend\nset [x v] to ((0) - ((Width) / (2)))\n\ndefine Type (text) (x) (y) (size) (color) (brightness) (speed)\nFind Size (text) (size)\nType: System (text) (X) (y) (Size) (color) (brightness) (speed)\n\n