Christmas A Platformer 

Instructions: New Animation Out! :) https://scratch.mit.edu/projects/466543057/\n\n#14 On Trending 20-12-20! :) I litterally Clicked and trending didn't update I clicked again and it did I was first to Notice! :)\n\nThis was one of my most Original Platformers Adding The Grinch Christmas music ice and collecting presents instead of coins! :)\n\nComment Your Best Time Mine Is 36! :)

@Stage\n\nwhen flag clicked\nswitch backdrop to (backdrop2 v)\n\nwhen I receive [next level v]\nnext backdrop\n\n@Cube\n\nwhen I receive [start v]\nshow\ngo to [front v] layer\n\nwhen flag clicked\nset [level v] to [1]\nforever\n    if <key (left arrow v) pressed?> then\n        change [x vel v] by (-1)\n    end\n    if <key (right arrow v) pressed?> then\n        change [x vel v] by (1)\n    end\n    set [x vel v] to ((x vel) * (0.9))\n    change x by (x vel)\n    if <touching (level v)?> then\n        change y by (1)\n    end\n    if <touching (level v)?> then\n        change y by (1)\n    end\n    if <touching (level v)?> then\n        change y by (1)\n    end\n    if <touching (level v)?> then\n        change y by (1)\n    end\n    if <touching (level v)?> then\n        change y by (-4)\n        change x by ((x vel) * (-1))\n        if <key (up arrow v) pressed?> then\n            if <(x vel) > [0]> then\n                set [x vel v] to [-10]\n            else\n                set [x vel v] to [10]\n            end\n            set [y vel v] to [15]\n        else\n            set [x vel v] to [0]\n        end\n    end\n    change [y vel v] by (-1)\n    change y by (y vel)\n    if <touching (level v)?> then\n        change y by ((y vel) - ((y vel) * (2)))\n        set [y vel v] to [0]\n    end\n    change y by (-1)\n    if <<touching (level v)?> and <key (up arrow v) pressed?>> then\n        set [y vel v] to [15]\n    end\n    change y by (1)\n    create clone of (_myself_ v)\n    if <(x position) > [250]> then\n        change [level v] by (1)\n        broadcast (NEXT LEVEL v) and wait\n    end\n    if <touching (spikes v)?> then\n        broadcast (restart v)\n    end\n    if <touching (enemy v)?> then\n        set [y vel v] to [15]\n    end\nend\n\nwhen I start as a clone\nclear graphic effects\nrepeat (10)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\nwhen I receive [next level v]\nbroadcast (restart v)\n\nwhen I receive [restart v]\nset [x vel v] to [0]\nset [y vel v] to [0]\ngo to x: (-226) y: (-4)\n\nwhen flag clicked\ngo to x: (-224) y: (-3)\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [faster v]\nforever\n    change x by (5)\n    if <(Level) = [3]> then\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (lava v)?> then\n        broadcast (restart v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (spikes2 v)?> then\n        broadcast (restart v)\n    end\nend\n\nwhen I receive [faster 2 v]\nforever\n    change x by (5)\n    if <(Level) = [9]> then\n        stop [this script v]\n    end\nend\n\nwhen I receive [faster 3 v]\nforever\n    change x by (-5)\nend\n\nif <(Level) = [10]> then\n    stop [this script v]\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [11]> then\n        broadcast (you win and time c v)\n    end\nend\n\n@Level\n\nwhen I receive [start v]\nshow\ngo to [front v] layer\nswitch costume to (2 v)\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [next level v]\nnext costume\n\nwhen flag clicked\nforever\n    if <(Level) = [2]> then\n        broadcast (Faster v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [8]> then\n        broadcast (Faster 2 v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [10]> then\n        broadcast (Faster 3 v)\n    end\nend\n\n@detector\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 (Message v)\nshow\ngo to [front v] layer\ngo to x: (0) y: (50)\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\n@Intro\n\ndefine smooth glide to x position: (x) y position: (y) size: (size) direction: (direction) smoothness: (speed)\nrepeat until <<(round (x position)) = (x)> and <<(round (y position)) = (y)> and <<(round (size)) = (size)> and <(round (direction)) = (direction)>>>>\n    change x by (((x) - (x position)) / (speed))\n    change y by (((y) - (y position)) / (speed))\n    change size by (((size) - (size)) / (speed))\n    turn right (((direction) - (direction)) / (speed)) degrees\nend\n\nwhen flag clicked\nset [clone id v] to [0]\nhide\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nshow\nchange [clone id v] by (1)\nif <(clone ID) = [1]> then\n    create clone of (_myself_ v)\n    go to [back v] layer\n    start sound [Amadeus - Exodia v]\n    switch costume to (left yellow back v)\n    go to x: (-500) y: (0)\n    smooth glide to x position: [0] y position: (y position) size: (size) direction: (direction) smoothness: [3]\nend\n\nwhen I start as a clone\nif <(clone ID) = [2]> then\n    go to [back v] layer\n    switch costume to (right yellow back v)\n    go to x: (500) y: (0)\n    smooth glide to x position: [0] y position: (y position) size: (size) direction: (direction) smoothness: [3]\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nif <(clone ID) = [3]> then\n    create clone of (_myself_ v)\n    go to [front v] layer\n    switch costume to (top yellow back v)\n    go to x: (0) y: (500)\n    smooth glide to x position: (x position) y position: [0] size: (size) direction: (direction) smoothness: [3]\nend\n\nwhen I start as a clone\nif <(clone ID) = [4]> then\n    go to [front v] layer\n    switch costume to (bottom yellow back v)\n    go to x: (0) y: (-500)\n    smooth glide to x position: (x position) y position: [0] size: (size) direction: (direction) smoothness: [3]\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nshow\nif <(clone ID) = [5]> then\n    create clone of (_myself_ v)\n    go to [front v] layer\n    switch costume to (left yellow back v)\n    go to x: (-500) y: (0)\n    smooth glide to x position: [0] y position: (y position) size: (size) direction: (direction) smoothness: [3]\nend\n\nwhen I start as a clone\nif <(clone ID) = [6]> then\n    go to [front v] layer\n    switch costume to (right yellow back v)\n    go to x: (500) y: (0)\n    smooth glide to x position: [0] y position: (y position) size: (size) direction: (direction) smoothness: [3]\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nif <(clone ID) = [7]> then\n    create clone of (_myself_ v)\n    go to [front v] layer\n    switch costume to (top yellow back v)\n    go to x: (0) y: (500)\n    smooth glide to x position: (x position) y position: [0] size: (size) direction: (direction) smoothness: [3]\nend\n\nwhen I start as a clone\nif <(clone ID) = [8]> then\n    go to [front v] layer\n    switch costume to (bottom yellow back v)\n    go to x: (0) y: (-500)\n    smooth glide to x position: (x position) y position: [0] size: (size) direction: (direction) smoothness: [3]\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nif <(clone ID) = [9]> then\n    create clone of (_myself_ v)\n    go to [front v] layer\n    go [forward v] (1) layers\n    switch costume to (full yellow back v)\n    go to x: (500) y: (300)\n    smooth glide to x position: [0] y position: [0] size: (size) direction: (direction) smoothness: [3]\n    wait (.5) seconds\n    smooth glide to x position: [240] y position: [180] size: (size) direction: (direction) smoothness: [3]\nend\n\nwhen I start as a clone\nif <(clone ID) = [10]> then\n    go to [front v] layer\n    go [forward v] (2) layers\n    switch costume to (full yellow back v)\n    go to x: (-500) y: (-300)\n    smooth glide to x position: [0] y position: [0] size: (size) direction: (direction) smoothness: [3]\n    wait (.5) seconds\n    smooth glide to x position: [-240] y position: [-180] size: (size) direction: (direction) smoothness: [3]\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nif <(clone ID) = [11]> then\n    set size to (2) %\n    go to [front v] layer\n    go [forward v] (3) layers\n    switch costume to (chewing v)\n    go to x: (0) y: (0)\n    repeat until <(size) = [100]>\n        change size by (6)\n    end\n    wait (.5) seconds\n    smooth glide to x position: [-240] y position: (y position) size: (size) direction: (direction) smoothness: [2.5]\n    switch costume to (fruit v)\n    go to x: (500) y: (0)\n    smooth glide to x position: [-240] y position: (y position) size: (size) direction: (direction) smoothness: [4]\n    switch costume to (gum v)\n    go to x: (500) y: (0)\n    smooth glide to x position: [-240] y position: (y position) size: (size) direction: (direction) smoothness: [4]\n    switch costume to (oc v)\n    go to x: (500) y: (0)\n    smooth glide to x position: [0] y position: (y position) size: (size) direction: (direction) smoothness: [3]\n    create clone of (_myself_ v)\n    repeat until <(timer) > [14]>\n        set size to ((100) + ((20) * ([sin v] of ((timer) * (130)) ))) %\n        point in direction ((90) + ((10) * ([sin v] of ((timer) * (80)) )))\n    end\n    broadcast (Done v)\nend\n\nwhen I start as a clone\nif <(clone ID) = [12]> then\n    switch costume to (chewingfruitgum v)\n    go to x: (0) y: (300)\n    smooth glide to x position: (x position) y position: [150] size: (size) direction: (direction) smoothness: [3]\n    repeat until <(timer) > [14]>\n        set size to ((100) + ((15) * ([sin v] of ((timer) * (130)) ))) %\n        point in direction ((90) + ((5) * ([sin v] of ((timer) * (80)) )))\n    end\nend\n\nwhen I receive [done v]\nhide\ngo to [back v] layer\n\n@Start Menu\n\nwhen I receive [start v]\nhide\ngo to [back v] layer\n\nwhen I receive [start v]\nhide\ngo to [back v] layer\n\nwhen I receive [skinies v]\nhide\ngo to [back v] layer\n\nwhen flag clicked\nhide\ngo to [back v] layer\nswitch costume to (56412548_60x60 v)\nset [person famous v] to [0]\nforever\n    turn right ((((90) + (([cos v] of ((timer) * (110)) ) * (5))) - (direction)) * (.4)) degrees\n    change y by (((([cos v] of ((timer) * (120)) ) * (19)) - (y position)) * (0.3))\nend\n\nwhen I receive [done v]\nshow\ngo to [back v] layer\nswitch costume to (cool text - christmas a platformer 371878110587469 v)\n\nwhen I receive [done v]\nplay sound [Holly Jolly Christmas v] until done\n\n@Sprite2\n\nwhen flag clicked\nforever\n    set [change v] to (pick random (-5) to (-1))\n    repeat (pick random (1) to (10))\n        change y by (Change)\n    end\nend\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [done v]\nset [last move v] to [0]\nforever\n    hide\n    wait (pick random (0) to (8)) seconds\n    go to x: (pick random (-240) to (240)) y: (180)\n    show\n    repeat until <(y position) = [-180]>\n        set [last move v] to (pick random (1) to (3))\n        if <(last move) = [1]> then\n            repeat (pick random (1) to (10))\n                change x by (1)\n            end\n        end\n        if <(last move) = [2]> then\n            change x by (0)\n        end\n        if <(last move) = [3]> then\n            repeat (pick random (1) to (10))\n                change x by (-1)\n            end\n        end\n    end\n    change [rise v] by (1)\nend\n\n@Sprite3\n\nwhen flag clicked\nforever\n    set [change v] to (pick random (-5) to (-1))\n    repeat (pick random (1) to (10))\n        change y by (Change)\n    end\nend\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [done v]\nset [last move v] to [0]\nforever\n    hide\n    wait (pick random (0) to (8)) seconds\n    go to x: (pick random (-240) to (240)) y: (180)\n    show\n    repeat until <(y position) = [-180]>\n        set [last move v] to (pick random (1) to (3))\n        if <(last move) = [1]> then\n            repeat (pick random (1) to (10))\n                change x by (1)\n            end\n        end\n        if <(last move) = [2]> then\n            change x by (0)\n        end\n        if <(last move) = [3]> then\n            repeat (pick random (1) to (10))\n                change x by (-1)\n            end\n        end\n    end\n    change [rise v] by (1)\nend\n\n@Sprite4\n\nwhen flag clicked\nforever\n    set [change v] to (pick random (-5) to (-1))\n    repeat (pick random (1) to (10))\n        change y by (Change)\n    end\nend\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [done v]\nset [last move v] to [0]\nforever\n    hide\n    wait (pick random (0) to (8)) seconds\n    go to x: (pick random (-240) to (240)) y: (180)\n    show\n    repeat until <(y position) = [-180]>\n        set [last move v] to (pick random (1) to (3))\n        if <(last move) = [1]> then\n            repeat (pick random (1) to (10))\n                change x by (1)\n            end\n        end\n        if <(last move) = [2]> then\n            change x by (0)\n        end\n        if <(last move) = [3]> then\n            repeat (pick random (1) to (10))\n                change x by (-1)\n            end\n        end\n    end\n    change [rise v] by (1)\nend\n\n@Sprite5\n\nwhen flag clicked\nforever\n    set [change v] to (pick random (-5) to (-1))\n    repeat (pick random (1) to (10))\n        change y by (Change)\n    end\nend\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [done v]\nset [last move v] to [0]\nforever\n    hide\n    wait (pick random (0) to (8)) seconds\n    go to x: (pick random (-240) to (240)) y: (180)\n    show\n    repeat until <(y position) = [-180]>\n        set [last move v] to (pick random (1) to (3))\n        if <(last move) = [1]> then\n            repeat (pick random (1) to (10))\n                change x by (1)\n            end\n        end\n        if <(last move) = [2]> then\n            change x by (0)\n        end\n        if <(last move) = [3]> then\n            repeat (pick random (1) to (10))\n                change x by (-1)\n            end\n        end\n    end\n    change [rise v] by (1)\nend\n\n@Sprite6\n\nwhen flag clicked\nforever\n    set [change v] to (pick random (-5) to (-1))\n    repeat (pick random (1) to (10))\n        change y by (Change)\n    end\nend\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [done v]\nset [last move v] to [0]\nforever\n    hide\n    wait (pick random (0) to (8)) seconds\n    go to x: (pick random (-240) to (240)) y: (180)\n    show\n    repeat until <(y position) = [-180]>\n        set [last move v] to (pick random (1) to (3))\n        if <(last move) = [1]> then\n            repeat (pick random (1) to (10))\n                change x by (1)\n            end\n        end\n        if <(last move) = [2]> then\n            change x by (0)\n        end\n        if <(last move) = [3]> then\n            repeat (pick random (1) to (10))\n                change x by (-1)\n            end\n        end\n    end\n    change [rise v] by (1)\nend\n\n@Sprite7\n\nwhen flag clicked\nforever\n    set [change v] to (pick random (-5) to (-1))\n    repeat (pick random (1) to (10))\n        change y by (Change)\n    end\nend\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [done v]\nset [last move v] to [0]\nforever\n    hide\n    wait (pick random (0) to (8)) seconds\n    go to x: (pick random (-240) to (240)) y: (180)\n    show\n    repeat until <(y position) = [-180]>\n        set [last move v] to (pick random (1) to (3))\n        if <(last move) = [1]> then\n            repeat (pick random (1) to (10))\n                change x by (1)\n            end\n        end\n        if <(last move) = [2]> then\n            change x by (0)\n        end\n        if <(last move) = [3]> then\n            repeat (pick random (1) to (10))\n                change x by (-1)\n            end\n        end\n    end\n    change [rise v] by (1)\nend\n\n@Sprite8\n\nwhen flag clicked\nforever\n    set [change v] to (pick random (-5) to (-1))\n    repeat (pick random (1) to (10))\n        change y by (Change)\n    end\nend\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [done v]\nset [last move v] to [0]\nforever\n    hide\n    wait (pick random (0) to (8)) seconds\n    go to x: (pick random (-240) to (240)) y: (180)\n    show\n    repeat until <(y position) = [-180]>\n        set [last move v] to (pick random (1) to (3))\n        if <(last move) = [1]> then\n            repeat (pick random (1) to (10))\n                change x by (1)\n            end\n        end\n        if <(last move) = [2]> then\n            change x by (0)\n        end\n        if <(last move) = [3]> then\n            repeat (pick random (1) to (10))\n                change x by (-1)\n            end\n        end\n    end\n    change [rise v] by (1)\nend\n\n@Sprite9\n\nwhen flag clicked\nforever\n    set [change v] to (pick random (-5) to (-1))\n    repeat (pick random (1) to (10))\n        change y by (Change)\n    end\nend\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [done v]\nset [last move v] to [0]\nforever\n    hide\n    wait (pick random (0) to (8)) seconds\n    go to x: (pick random (-240) to (240)) y: (180)\n    show\n    repeat until <(y position) = [-180]>\n        set [last move v] to (pick random (1) to (3))\n        if <(last move) = [1]> then\n            repeat (pick random (1) to (10))\n                change x by (1)\n            end\n        end\n        if <(last move) = [2]> then\n            change x by (0)\n        end\n        if <(last move) = [3]> then\n            repeat (pick random (1) to (10))\n                change x by (-1)\n            end\n        end\n    end\n    change [rise v] by (1)\nend\n\n@Sprite10\n\nwhen flag clicked\nforever\n    set [change v] to (pick random (-5) to (-1))\n    repeat (pick random (1) to (10))\n        change y by (Change)\n    end\nend\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [done v]\nset [last move v] to [0]\nforever\n    hide\n    wait (pick random (0) to (8)) seconds\n    go to x: (pick random (-240) to (240)) y: (180)\n    show\n    repeat until <(y position) = [-180]>\n        set [last move v] to (pick random (1) to (3))\n        if <(last move) = [1]> then\n            repeat (pick random (1) to (10))\n                change x by (1)\n            end\n        end\n        if <(last move) = [2]> then\n            change x by (0)\n        end\n        if <(last move) = [3]> then\n            repeat (pick random (1) to (10))\n                change x by (-1)\n            end\n        end\n    end\n    change [rise v] by (1)\nend\n\n@Sprite11\n\nwhen flag clicked\nforever\n    set [change v] to (pick random (-5) to (-1))\n    repeat (pick random (1) to (10))\n        change y by (Change)\n    end\nend\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [done v]\nset [last move v] to [0]\nforever\n    hide\n    wait (pick random (0) to (8)) seconds\n    go to x: (pick random (-240) to (240)) y: (180)\n    show\n    repeat until <(y position) = [-180]>\n        set [last move v] to (pick random (1) to (3))\n        if <(last move) = [1]> then\n            repeat (pick random (1) to (10))\n                change x by (1)\n            end\n        end\n        if <(last move) = [2]> then\n            change x by (0)\n        end\n        if <(last move) = [3]> then\n            repeat (pick random (1) to (10))\n                change x by (-1)\n            end\n        end\n    end\n    change [rise v] by (1)\nend\n\n@Sprite12\n\nwhen flag clicked\nforever\n    set [change v] to (pick random (-5) to (-1))\n    repeat (pick random (1) to (10))\n        change y by (Change)\n    end\nend\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [done v]\nset [last move v] to [0]\nforever\n    hide\n    wait (pick random (0) to (8)) seconds\n    go to x: (pick random (-240) to (240)) y: (180)\n    show\n    repeat until <(y position) = [-180]>\n        set [last move v] to (pick random (1) to (3))\n        if <(last move) = [1]> then\n            repeat (pick random (1) to (10))\n                change x by (1)\n            end\n        end\n        if <(last move) = [2]> then\n            change x by (0)\n        end\n        if <(last move) = [3]> then\n            repeat (pick random (1) to (10))\n                change x by (-1)\n            end\n        end\n    end\n    change [rise v] by (1)\nend\n\n@Sprite13\n\nwhen flag clicked\nforever\n    set [change v] to (pick random (-5) to (-1))\n    repeat (pick random (1) to (10))\n        change y by (Change)\n    end\nend\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [done v]\nset [last move v] to [0]\nforever\n    hide\n    wait (pick random (0) to (8)) seconds\n    go to x: (pick random (-240) to (240)) y: (180)\n    show\n    repeat until <(y position) = [-180]>\n        set [last move v] to (pick random (1) to (3))\n        if <(last move) = [1]> then\n            repeat (pick random (1) to (10))\n                change x by (1)\n            end\n        end\n        if <(last move) = [2]> then\n            change x by (0)\n        end\n        if <(last move) = [3]> then\n            repeat (pick random (1) to (10))\n                change x by (-1)\n            end\n        end\n    end\n    change [rise v] by (1)\nend\n\n@Sprite14\n\nwhen flag clicked\nforever\n    set [change v] to (pick random (-5) to (-1))\n    repeat (pick random (1) to (10))\n        change y by (Change)\n    end\nend\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [done v]\nset [last move v] to [0]\nforever\n    hide\n    wait (pick random (0) to (8)) seconds\n    go to x: (pick random (-240) to (240)) y: (180)\n    show\n    repeat until <(y position) = [-180]>\n        set [last move v] to (pick random (1) to (3))\n        if <(last move) = [1]> then\n            repeat (pick random (1) to (10))\n                change x by (1)\n            end\n        end\n        if <(last move) = [2]> then\n            change x by (0)\n        end\n        if <(last move) = [3]> then\n            repeat (pick random (1) to (10))\n                change x by (-1)\n            end\n        end\n    end\n    change [rise v] by (1)\nend\n\n@Sprite15\n\nwhen flag clicked\nforever\n    set [change v] to (pick random (-5) to (-1))\n    repeat (pick random (1) to (10))\n        change y by (Change)\n    end\nend\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [done v]\nset [last move v] to [0]\nforever\n    hide\n    wait (pick random (0) to (8)) seconds\n    go to x: (pick random (-240) to (240)) y: (180)\n    show\n    repeat until <(y position) = [-180]>\n        set [last move v] to (pick random (1) to (3))\n        if <(last move) = [1]> then\n            repeat (pick random (1) to (10))\n                change x by (1)\n            end\n        end\n        if <(last move) = [2]> then\n            change x by (0)\n        end\n        if <(last move) = [3]> then\n            repeat (pick random (1) to (10))\n                change x by (-1)\n            end\n        end\n    end\n    change [rise v] by (1)\nend\n\n@Sprite16\n\nwhen flag clicked\nforever\n    set [change v] to (pick random (-5) to (-1))\n    repeat (pick random (1) to (10))\n        change y by (Change)\n    end\nend\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [done v]\nset [last move v] to [0]\nforever\n    hide\n    wait (pick random (0) to (8)) seconds\n    go to x: (pick random (-240) to (240)) y: (180)\n    show\n    repeat until <(y position) = [-180]>\n        set [last move v] to (pick random (1) to (3))\n        if <(last move) = [1]> then\n            repeat (pick random (1) to (10))\n                change x by (1)\n            end\n        end\n        if <(last move) = [2]> then\n            change x by (0)\n        end\n        if <(last move) = [3]> then\n            repeat (pick random (1) to (10))\n                change x by (-1)\n            end\n        end\n    end\n    change [rise v] by (1)\nend\n\n@Sprite17\n\nwhen flag clicked\nforever\n    set [change v] to (pick random (-5) to (-1))\n    repeat (pick random (1) to (10))\n        change y by (Change)\n    end\nend\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [done v]\nset [last move v] to [0]\nforever\n    hide\n    wait (pick random (0) to (8)) seconds\n    go to x: (pick random (-240) to (240)) y: (180)\n    show\n    repeat until <(y position) = [-180]>\n        set [last move v] to (pick random (1) to (3))\n        if <(last move) = [1]> then\n            repeat (pick random (1) to (10))\n                change x by (1)\n            end\n        end\n        if <(last move) = [2]> then\n            change x by (0)\n        end\n        if <(last move) = [3]> then\n            repeat (pick random (1) to (10))\n                change x by (-1)\n            end\n        end\n    end\n    change [rise v] by (1)\nend\n\n@Sprite18\n\nwhen flag clicked\nforever\n    set [change v] to (pick random (-5) to (-1))\n    repeat (pick random (1) to (10))\n        change y by (Change)\n    end\nend\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [done v]\nset [last move v] to [0]\nforever\n    hide\n    wait (pick random (0) to (8)) seconds\n    go to x: (pick random (-240) to (240)) y: (180)\n    show\n    repeat until <(y position) = [-180]>\n        set [last move v] to (pick random (1) to (3))\n        if <(last move) = [1]> then\n            repeat (pick random (1) to (10))\n                change x by (1)\n            end\n        end\n        if <(last move) = [2]> then\n            change x by (0)\n        end\n        if <(last move) = [3]> then\n            repeat (pick random (1) to (10))\n                change x by (-1)\n            end\n        end\n    end\n    change [rise v] by (1)\nend\n\n@Sprite19\n\nwhen flag clicked\nforever\n    set [change v] to (pick random (-5) to (-1))\n    repeat (pick random (1) to (10))\n        change y by (Change)\n    end\nend\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [done v]\nset [last move v] to [0]\nforever\n    hide\n    wait (pick random (0) to (8)) seconds\n    go to x: (pick random (-240) to (240)) y: (180)\n    show\n    repeat until <(y position) = [-180]>\n        set [last move v] to (pick random (1) to (3))\n        if <(last move) = [1]> then\n            repeat (pick random (1) to (10))\n                change x by (1)\n            end\n        end\n        if <(last move) = [2]> then\n            change x by (0)\n        end\n        if <(last move) = [3]> then\n            repeat (pick random (1) to (10))\n                change x by (-1)\n            end\n        end\n    end\n    change [rise v] by (1)\nend\n\n@Sprite20\n\nwhen flag clicked\nforever\n    set [change v] to (pick random (-5) to (-1))\n    repeat (pick random (1) to (10))\n        change y by (Change)\n    end\nend\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [done v]\nset [last move v] to [0]\nforever\n    hide\n    wait (pick random (0) to (8)) seconds\n    go to x: (pick random (-240) to (240)) y: (180)\n    show\n    repeat until <(y position) = [-180]>\n        set [last move v] to (pick random (1) to (3))\n        if <(last move) = [1]> then\n            repeat (pick random (1) to (10))\n                change x by (1)\n            end\n        end\n        if <(last move) = [2]> then\n            change x by (0)\n        end\n        if <(last move) = [3]> then\n            repeat (pick random (1) to (10))\n                change x by (-1)\n            end\n        end\n    end\n    change [rise v] by (1)\nend\n\n@Sprite21\n\nwhen flag clicked\nforever\n    set [change v] to (pick random (-5) to (-1))\n    repeat (pick random (1) to (10))\n        change y by (Change)\n    end\nend\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [done v]\nset [last move v] to [0]\nforever\n    hide\n    wait (pick random (0) to (8)) seconds\n    go to x: (pick random (-240) to (240)) y: (180)\n    show\n    repeat until <(y position) = [-180]>\n        set [last move v] to (pick random (1) to (3))\n        if <(last move) = [1]> then\n            repeat (pick random (1) to (10))\n                change x by (1)\n            end\n        end\n        if <(last move) = [2]> then\n            change x by (0)\n        end\n        if <(last move) = [3]> then\n            repeat (pick random (1) to (10))\n                change x by (-1)\n            end\n        end\n    end\n    change [rise v] by (1)\nend\n\n@Sprite22\n\nwhen flag clicked\nforever\n    set [change v] to (pick random (-5) to (-1))\n    repeat (pick random (1) to (10))\n        change y by (Change)\n    end\nend\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [done v]\nset [last move v] to [0]\nforever\n    hide\n    wait (pick random (0) to (8)) seconds\n    go to x: (pick random (-240) to (240)) y: (180)\n    show\n    repeat until <(y position) = [-180]>\n        set [last move v] to (pick random (1) to (3))\n        if <(last move) = [1]> then\n            repeat (pick random (1) to (10))\n                change x by (1)\n            end\n        end\n        if <(last move) = [2]> then\n            change x by (0)\n        end\n        if <(last move) = [3]> then\n            repeat (pick random (1) to (10))\n                change x by (-1)\n            end\n        end\n    end\n    change [rise v] by (1)\nend\n\n@Sprite23\n\nwhen flag clicked\nforever\n    set [change v] to (pick random (-5) to (-1))\n    repeat (pick random (1) to (10))\n        change y by (Change)\n    end\nend\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [done v]\nset [last move v] to [0]\nforever\n    hide\n    wait (pick random (0) to (8)) seconds\n    go to x: (pick random (-240) to (240)) y: (180)\n    show\n    repeat until <(y position) = [-180]>\n        set [last move v] to (pick random (1) to (3))\n        if <(last move) = [1]> then\n            repeat (pick random (1) to (10))\n                change x by (1)\n            end\n        end\n        if <(last move) = [2]> then\n            change x by (0)\n        end\n        if <(last move) = [3]> then\n            repeat (pick random (1) to (10))\n                change x by (-1)\n            end\n        end\n    end\n    change [rise v] by (1)\nend\n\n@Edit\n\nwhen I receive [start v]\nhide\ngo to [back v] layer\n\nwhen flag clicked\nforever\n    if <touching (mouse-pointer v)?> then\n        set size to ((size) + (((120) - (size)) / (3))) %\n        switch costume to (costume1 v)\n    else\n        set size to ((size) + (((100) - (size)) / (3))) %\n        switch costume to (costume2 v)\n    end\nend\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [done v]\nwait (0.2) seconds\nshow\ngo to [front v] layer\nswitch costume to (costume1 v)\nforever\n    if <touching (mouse-pointer v)?> then\n        set size to ((size) + (((120) - (size)) / (3))) %\n    else\n        set size to ((size) + (((100) - (size)) / (3))) %\n    end\nend\n\nwhen this sprite clicked\nbroadcast (Skinies v)\n\nwhen I receive [skinies v]\nhide\ngo to [back v] layer\n\n@Play2\n\nwhen I receive [skinies v]\nhide\ngo to [back v] layer\n\nwhen flag clicked\nforever\n    if <touching (mouse-pointer v)?> then\n        set size to ((size) + (((120) - (size)) / (3))) %\n        switch costume to (costume1 v)\n    else\n        set size to ((size) + (((100) - (size)) / (3))) %\n        switch costume to (costume2 v)\n    end\nend\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [done v]\nwait (0.2) seconds\nshow\ngo to [front v] layer\nswitch costume to (costume1 v)\nforever\n    if <touching (mouse-pointer v)?> then\n        set size to ((size) + (((120) - (size)) / (3))) %\n    else\n        set size to ((size) + (((100) - (size)) / (3))) %\n    end\nend\n\nwhen this sprite clicked\nbroadcast (Start v)\n\nwhen I receive [start v]\nhide\ngo to [back v] layer\n\n@notes\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\nset [is_visible? v] to [false]\n\nwhen I receive [skinies v]\nset size to (100) %\nclear graphic effects\ngo to [front v] layer\nshow\nforever\n    if <touching (mouse-pointer v)?> then\n        change size by (round (((115) - (size)) / (6)))\n    else\n        change size by (round (((100) - (size)) / (6)))\n    end\nend\n\nwhen this sprite clicked\nset [is_visible? v] to [false]\nrepeat until <(size) > [130]>\n    change size by (round (((160) - (size)) / (6)))\n    change [ghost v] effect by (round (((160) - (size)) / (6)))\nend\nbroadcast (back v)\nhide\n\nwhen I receive [instructions v]\nforever\n    if <touching (mouse v)?> then\n        go to [front v] layer\n        go [backward v] (1) layers\n    else\n        go to [front v] layer\n    end\nend\n\nwhen this sprite clicked\nbroadcast (Done v)\n\n@Spikes\n\nwhen flag clicked\nforever\n    switch costume to (Level)\nend\n\n@Presents\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [start v]\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nshow\ngo to [front v] layer\nforever\n    if <touching (cube v)?> then\n        play sound [Coin v] until done\n        change [presents v] by (1)\n        delete this clone\n    end\nend\n\nwhen I receive [start v]\nif <(Level) = [1]> then\n    create clone of (_myself_ v)\nend\n\nwhen I receive [next level v]\nif <(Level) = [2]> then\n    create clone of (_myself_ v)\nend\n\nwhen I receive [next level v]\nif <(Level) = [3]> then\n    create clone of (_myself_ v)\nend\n\nwhen I receive [next level v]\nif <(Level) = [4]> then\n    create clone of (_myself_ v)\nend\n\nwhen I receive [next level v]\nif <(Level) = [5]> then\n    create clone of (_myself_ v)\nend\n\nwhen flag clicked\ngo to x: (0) y: (38)\n\nwhen I receive [next level v]\nif <(Level) = [6]> then\n    create clone of (_myself_ v)\nend\n\nwhen I receive [next level v]\nif <(Level) = [7]> then\n    create clone of (_myself_ v)\nend\n\nwhen I receive [next level v]\nif <(Level) = [8]> then\n    create clone of (_myself_ v)\nend\n\nwhen I receive [next level v]\nif <(Level) = [9]> then\n    create clone of (_myself_ v)\nend\n\n@Spikes2\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [start v]\nshow\ngo to [back v] layer\n\nwhen flag clicked\nforever\n    switch costume to (Level)\nend\n\n@Enemy\n\nwhen flag clicked\ngo to x: (-224) y: (-3)\n\ndefine Clone at (x pos) (y pos)\ngo to x: (x pos) y: (y pos)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nshow\ngo to [front v] layer\nforever\n    if <([x position v] of [cube v]) < (x position)> then\n        change [x vel v] by (-0.5)\n    end\n    if <(x position) < ([x position v] of [cube v])> then\n        change [x vel v] by (0.5)\n    end\n    set [x vel v] to ((x vel) * (0.9))\n    change x by (x vel)\n    if <touching (level v)?> then\n        change y by (1)\n    end\n    if <touching (level v)?> then\n        change y by (1)\n    end\n    if <touching (level v)?> then\n        change y by (1)\n    end\n    if <touching (level v)?> then\n        change y by (1)\n    end\n    if <touching (level v)?> then\n        change y by (-4)\n        change x by ((x vel) * (-1))\n        if <(([y position v] of [cube v]) - (50)) > (y position)> then\n            if <(x vel) > [0]> then\n                set [x vel v] to [-10]\n            else\n                set [x vel v] to [10]\n            end\n            set [y vel v] to [15]\n        else\n            set [x vel v] to [0]\n        end\n    end\n    change [y vel v] by (-1)\n    change y by (y vel)\n    if <touching (level v)?> then\n        change y by ((y vel) - ((y vel) * (2)))\n        set [y vel v] to [0]\n    end\n    change y by (-1)\n    change y by (1)\n    if <touching (spikes v)?> then\n        delete this clone\n    end\n    if <touching (bounce v)?> then\n        set [y vel v] to [19]\n    end\n    if <touching (cube v)?> then\n        change y by (-1)\n        if <<touching (level v)?> and <(([y position v] of [cube v]) - (5)) > (y position)>> then\n            delete this clone\n        else\n            broadcast (restart v)\n        end\n        change y by (1)\n    end\nend\n\nwhen I receive [restart v]\nif  then\n    delete this clone\nend\nif <(Level) = [3]> then\n    Clone at [228] [-39]\nend\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [restart v]\nif  then\n    delete this clone\nend\nif <(Level) = [5]> then\n    Clone at [166] [-94]\nend\n\n@Lava\n\nwhen flag clicked\nforever\n    set [tide v] to [0]\n    repeat (10)\n        change [tide v] by (1)\n    end\n    repeat (20)\n        change [tide v] by (-1)\n    end\n    repeat (10)\n        change [tide v] by (1)\n    end\nend\n\nwhen flag clicked\nforever\n    set y to (Tide)\n    switch costume to (Level)\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [8]> then\n        show\n        go to [back v] layer\n    end\nend\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\n@You win\n\nwhen I receive [you win and time c v]\nshow\ngo to [front v] layer\nshow variable [timer v]\nstop [other scripts in sprite v]\n\nwhen flag clicked\nhide variable [☁ highscore v]\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [you win and time c v]\nset [timer v] to (Timer)\n\nwhen flag clicked\nhide variable [☁ highscore v]\n\nwhen I receive [start v]\nforever\n    wait (1) seconds\n    change [timer v] by (1)\nend\n\nwhen flag clicked\nset [timer v] to [0]\n\n@Thumbnail\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\n