Winter | Platformer

Instructions: <------------- Winter ------------>\nHow to play: \n• use WASD or arrow keys to move. \n• Don't touch the red spikes or you die. \n• You must collect all of the coins to proceed to the \n   next level (mobile is compatible)\n\nCredits:\nMe - all code and sprites\n\nmusic: \nSecretMusician - Galatic\n\nRandom fun facts about winter :)\n\n1.) The Earth is actually closest to the sun in December!\n2.) The average snowflake falls at a little over 3 miles per hour!\n3.) A single snowstorm can drop 39 million tons of snow!\n\nnow storytime :D\n\nI first saw snow when I was visiting my cousin in Montana.\n\nstorytime over. \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#Game #Fun #winter #project #Thepugmen #cold #platformer #Mobile #LOVE #Favorite #Scratch #blue #Orange #Playing #Dodging #Play #Square #Cube #Thumbnail #Colors  #Cool #Awesome #Good #Great #Comment #easy #snow #Hard #Animations #All #Art #Music #Stories #Tutorials #explore

@Stage\n\nwhen flag clicked\nswitch backdrop to (empty v)\nforever\n    play sound [1033494_Galactic v] until done\nend\n\nwhen flag clicked\nhide\nforever\n    if <(level) = [14]> then\n        broadcast (THE END :\) v)\n        stop [this script v]\n    end\nend\n\n@Blank\n\n@player\n\nwhen I receive [the end :\) v]\nstop [other scripts in sprite v]\nhide\n\nwhen flag clicked\nhide\n\nwhen I receive [the end :\) v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [go v]\ngo [forward v] (10) layers\nset size to (70) %\nswitch costume to (nrom v)\nclear graphic effects\npoint in direction (90)\nset [x move v] to [0]\nset [y move v] to [0]\ngo to x: (level start X Player) y: (level start Y Player)\nshow\nforever\n    change y by (-3)\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            start sound [jump v]\n            set [y move v] to [8.5]\n        end\n    end\n    change y by (3)\n    if <(y move) > [-15]> then\n        change [y move v] by (-0.5)\n    end\n    change y by (-2)\n    if <not <touching (platform v)?>> then\n        change y by (-1)\n        set [in air v] to [1]\n        if <not <touching (platform v)?>> then\n            change y by (-1)\n            if <not <touching (platform v)?>> then\n                change y by (-1)\n                if <not <touching (platform v)?>> then\n                    change y by (-1)\n                    if <not <touching (platform v)?>> then\n                        change y by (-1)\n                        if <not <touching (platform v)?>> then\n                            change y by (5)\n                        end\n                    end\n                end\n            end\n        end\n    end\n    if <touching (platform v)?> then\n        set [in air v] to [0]\n    end\n    change y by (2)\n    change y by (y move)\n    if <touching (platform v)?> then\n        change y by (-2)\n        if <touching (platform v)?> then\n            change y by ((-1) * (y move))\n            set [y move v] to [-3]\n        end\n        change y by (2)\n    end\nend\n\nwhen I receive [go v]\nforever\n    if <<(x position) = [235]> or <(x position) > [235]>> then\n        change [level v] by (1)\n        start sound [Collect v]\n        hide\n        broadcast (next level v)\n        broadcast (transition v)\n        clear graphic effects\n        point in direction (90)\n        set [x move v] to [0]\n        set [y move v] to [0]\n        go to x: (level start X Player) y: (level start Y Player)\n        show\n    end\nend\n\nwhen I receive [go v]\nforever\n    set [x move v] to ((x move) * (0.85))\n    change x by (x move)\n    if <touching (platform v)?> then\n        change y by (-2)\n        if <touching (platform v)?> then\n            change y by (1)\n            if <touching (platform v)?> then\n                change y by (1)\n                if <touching (platform v)?> then\n                    change y by (1)\n                    if <touching (platform v)?> then\n                        change y by (1)\n                        if <touching (platform v)?> then\n                            change y by (1)\n                            if <touching (platform v)?> then\n                                change y by (-5)\n                                change x by ((-1) * (x move))\n                                if <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<<mouse down?> and <(mouse x) > (x position)>> or <<mouse down?> and <(mouse x) < (x position)>>>> and <not <(x move) = [0]>>> then\n                                    set [y move v] to [8]\n                                    set [x move v] to (((x move) / ([abs v] of (x move) )) * (-10))\n                                else\n                                    set [x move v] to [0]\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n        change y by (2)\n    end\nend\n\nwhen I receive [go v]\nforever\n    if <<(y position) < [-175]> or <touching (oof v)?>> then\n        hide\n        start sound [Crunch v]\n        clear graphic effects\n        point in direction (90)\n        set [x move v] to [0]\n        set [y move v] to [0]\n        go to x: (level start X Player) y: (level start Y Player)\n        show\n    end\n    if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> then\n        change [x move v] by (-1.5)\n        point in direction (-90)\n    end\n    if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        change [x move v] by (1.5)\n        point in direction (90)\n    end\nend\n\nwhen flag clicked\nforever\n    set [playerx v] to (x position)\n    set [playery v] to (y position)\nend\n\ngo to x: (-225) y: (-40)\n\nwhen flag clicked\nwait until <(level) = [3]>\nset [level start x player v] to [-225]\nset [level start y player v] to [130]\nwait (.01) seconds\ngo to x: (level start X Player) y: (level start Y Player)\npoint in direction (90)\nwait until <(level) = [4]>\nset [level start x player v] to [-225]\nset [level start y player v] to [-40]\nwait (.01) seconds\ngo to x: (level start X Player) y: (level start Y Player)\npoint in direction (90)\nwait until <(level) = [5]>\nset [level start x player v] to [-152]\nset [level start y player v] to [30]\nwait (.01) seconds\ngo to x: (level start X Player) y: (level start Y Player)\npoint in direction (90)\nwait until <(level) = [6]>\nset [level start x player v] to [-152]\nset [level start y player v] to [130]\nwait (.01) seconds\ngo to x: (level start X Player) y: (level start Y Player)\npoint in direction (90)\nwait until <(level) = [7]>\nset [level start x player v] to [-195]\nset [level start y player v] to [-20]\nwait (.01) seconds\ngo to x: (level start X Player) y: (level start Y Player)\npoint in direction (90)\n\n\nbroadcast (transition v)\n\nwhen flag clicked\nforever\n    if <<(in air) = [0]> and <<<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> or <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>>>> then\n        play sound (pick random (3) to (5)) until done\n    end\nend\n\n@platform\n\nwhen I receive [the end :\) v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [go v]\nshow\nforever\n    switch costume to (level)\nend\n\nwhen flag clicked\nhide\nswitch costume to (1 v)\n\nwhen flag clicked\nswitch costume to (1 v)\nchange [ghost v] effect by (100)\nset [level v] to [1]\nhide\n\n@deco\n\nwhen I receive [the end :\) v]\nstop [other scripts in sprite v]\nhide\n\nwhen flag clicked\nswitch costume to (1 v)\nhide\n\nwhen I receive [go v]\nshow\nforever\n    switch costume to (level)\nend\n\n@oof\n\nwhen I receive [go v]\nshow\nforever\n    switch costume to (level)\nend\n\nwhen flag clicked\nhide\nswitch costume to (1 v)\nclear graphic effects\nset [ghost v] effect to (100)\n\n@thumbnail \n\nwhen flag clicked\nset [ghost v] effect to (100)\ngo to [front v] layer\nshow\ngo to [front v] layer\n\nwhen I receive [stop v]\nclear graphic effects\nset [ghost v] effect to (100)\ngo to [front v] layer\nshow\nrepeat (50)\n    change [ghost v] effect by (-2)\n    wait (0.025) seconds\nend\n\n@bg\n\nwhen I receive [the end :\) v]\nstop [other scripts in sprite v]\nhide\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\nclear graphic effects\n\nwhen I receive [go v]\nshow\nforever\n    go to x: ((playerX) / (-10)) y: ((playerY) / (-10))\n    go to [back v] layer\nend\n\n@Par\n\nwhen I receive [the end :\) v]\nstop [other scripts in sprite v]\nhide\n\nwhen flag clicked\nhide\ngo to [front v] layer\nforever\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nhide\ngo to x: (pick random (-230) to (230)) y: (-180)\nset size to (pick random (30) to (50)) %\npoint in direction (pick random (-90) to (90))\nshow\nrepeat (20)\n    move (2) steps\n    change y by (1)\n    turn right (5) degrees\n    change [ghost v] effect by (5)\nend\ndelete this clone\n\n@transition\n\nwhen I receive [transition v]\ngo to [front v] layer\nshow\ngo to [front v] layer\nclear graphic effects\nwait (.5) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nswitch costume to (1 v)\nhide\ngo to [back v] layer\n\nwhen flag clicked\nhide\nclear graphic effects\n\n@win screen \n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\nclear graphic effects\n\nwhen I receive [the end :\) v]\ngo to x: (0) y: (0)\ncreate clone of (_myself_ v)\nshow\nswitch costume to (text v)\nwait (2) seconds\nrepeat (1027)\n    change y by (1)\nend\nwait (.9) seconds\nrepeat (50)\n    change [ghost v] effect by (2)\nend\nswitch costume to (me v)\ngo to x: (0) y: (0)\nwait (.9) seconds\nrepeat (50)\n    change [ghost v] effect by (-2)\nend\nwait (1.3) seconds\nrepeat (50)\n    change [ghost v] effect by (2)\nend\nhide\nbroadcast (thumbnail v)\n\nwhen I start as a clone\nswitch costume to (black screen v)\ngo to x: (0) y: (0)\ngo to [back v] layer\nshow\n\nwhen I receive [wr ani v]\nstop [other scripts in sprite v]\nhide\n\n@Intro\n\ndefine [Smooth spin] Speed - (speed) [Ending direction] (direction) [Full turn speed] (full speed)\nset [my variable v] to [0]\nrepeat (15)\n    change [my variable v] by (full speed)\n    turn right (my variable) degrees\nend\nrepeat until <(round (direction)) = (direction)>\n    turn right (((direction) - (direction)) / (speed)) degrees\nend\n\nwhen flag clicked\nset [full turn speed v] to [1]\nset [ending direction v] to [90]\nset [smooth spin v] to [5]\npoint in direction (90)\n\nwhen I start as a clone\nif <(id) = [1]> then\n    switch costume to (capture2 v)\n    show\n    go to x: (-240) y: (0)\n    set size to (10) %\n    repeat (2)\n        change x by (6)\n        change size by (5)\n    end\n    repeat (3)\n        change x by (9)\n        change size by (6)\n    end\n    repeat (4)\n        change x by (12)\n        change size by (8)\n    end\n    repeat (3)\n        change x by (12)\n        change size by (8)\n    end\n    repeat (3)\n        change x by (12)\n        change size by (6)\n    end\n    repeat (3)\n        change x by (9)\n        change size by (6)\n    end\n    repeat (3)\n        change x by (7)\n        change size by (6)\n    end\n    repeat (3)\n        change x by (5)\n        change size by (4)\n    end\n    repeat (3)\n        change x by (3)\n        change size by (3)\n    end\n    repeat (3)\n        change x by (3)\n        change size by (3)\n    end\n    repeat (3)\n        change x by (2)\n        change size by (2)\n    end\n    repeat (3)\n        change x by (1)\n        change size by (1)\n    end\n    [Smooth spin] Speed - (Smooth spin) [Ending direction] (Ending direction) [Full turn speed] (Full turn speed)\n    wait (.5) seconds\n    repeat (2)\n        change size by (-6)\n    end\n    repeat (3)\n        change size by (-8)\n    end\n    repeat (4)\n        change size by (-10)\n    end\n    repeat (5)\n        change size by (-14)\n    end\n    hide\n    broadcast (transition v)\n    broadcast (go v)\n    delete this clone\nend\n\nwhen flag clicked\nhide\nset [id v] to [1]\ncreate clone of (_myself_ v)\nset [id v] to [2]\ncreate clone of (_myself_ v)\n\n@thumbnail\n\nwhen flag clicked\nhide\n\nwhen I receive [thumbnail v]\nset volume to (100) %\nstart sound [end v]\ngo to [front v] layer\ngo to x: (0) y: (200)\nset [brightness v] effect to (45)\nshow\nrepeat (45)\n    change y by (((0) - (y position)) / (7))\n    change [brightness v] effect by (-1)\nend\n\n@WR ANIMATION\n\nwhen flag clicked\nhide\nshow variable [time v]\nswitch costume to (empty v)\nset size to (100) %\nswitch costume to (costume1 v)\nclear graphic effects\n\nwhen I receive [wr ani v]\ngo to [front v] layer\nhide variable [time v]\nhide variable [☁ world record v]\ngo to [front v] layer\nshow\nrepeat (9)\n    next costume\n    wait (.025) seconds\nend\nwait (1) seconds\nrepeat (9)\n    switch costume to ((costume [number v]) - (1))\n    wait (.025) seconds\nend\nhide\nbroadcast (transition v)\nwait (.3) seconds\nbroadcast (flash v)\nshow\nswitch costume to (me v)\nwait (2) seconds\nbroadcast (flash v)\nswitch costume to (me2 v)\nwait (.5) seconds\nbroadcast (flash v)\nswitch costume to (me3 v)\nwait (1) seconds\nshow\ngo to [front v] layer\n\n@timer\n\nwhen I receive [go v]\nshow variable [time v]\nset [time v] to [0]\nrepeat until <(level) = [14]>\n    change [time v] by (1)\n    wait (1) seconds\nend\nstop [this script v]\n\nwhen flag clicked\nhide variable [time v]\nhide variable [☁ world record v]\n\nwhen I receive [the end :\) v]\nforever\n    if <(time) < (☁ WORLD RECORD)> then\n        if <(time) < (☁ WORLD RECORD)> then\n            set [☁ world record v] to (time)\n            broadcast (WR ANI v)\n            stop [this script v]\n        end\n    end\nend\n\nwhen I receive [the end :\) v]\nshow variable [☁ world record v]\n\n@skin gain ani\n\nwhen flag clicked\nhide\ngo to [front v] layer\npoint in direction (90)\nset size to (30) %\ngo to x: (0) y: (0)\nswitch costume to (with out text v)\n\nwhen I receive [give skin v]\ngo to [front v] layer\npoint in direction (90)\nset size to (30) %\ngo to x: (0) y: (0)\nset rotation style [all around v]\nswitch costume to (with out text v)\nwait (1) seconds\nbroadcast (transition v)\nshow\nrepeat (56)\n    turn left (25) degrees\n    change size by (10)\nend\nturn left (25) degrees\npoint in direction (90)\nswitch costume to (with text v)\nrepeat until <<key (any v) pressed?> or <mouse down?>>\n    repeat (10)\n        change y by (1.5)\n    end\n    repeat (10)\n        change y by (-1.5)\n    end\nend\nswitch costume to (with out text v)\nrepeat (58)\n    change size by (-8.4)\nend\nset rotation style [left-right v]\nrepeat until <touching (player v)?>\n    move (10) steps\n    point towards (player v)\nend\nhide\nbroadcast (flash v)\nbroadcast (change skin v)\n\n@flash\n\nwhen flag clicked\nshow\nset size to (300) %\nset [ghost v] effect to (100)\n\nwhen I receive [flash v]\nforever\n    go to [front v] layer\nend\n\nwhen I receive [flash v]\nswitch costume to (white v)\ngo to [front v] layer\nclear graphic effects\nshow\ngo to x: (0) y: (0)\nrepeat (20)\n    change [ghost v] effect by (5)\nend\nhide\nclear graphic effects\n\n@snow\n\nwhen flag clicked\nshow\nclear graphic effects\ngo to [front v] layer\nswitch costume to (1 v)\nset size to (120) %\ngo to [front v] layer\nset [ghost v] effect to (50)\nforever\n    next costume\nend\n\nwhen I receive [thumbnail v]\nforever\n    go to [front v] layer\nend\n\n