Winter World |  Platformer #games

Instructions: Welcome to the Winter World! It is the time of year where there is snow on the ground! (In Canada mostly)\nHave Fun and Enjoy!\n\n----------------------INSTRUCTIONS------------------------\n\nUse arrow or WAD keys to move!\nTrampolines make you bounce and the flag is the end of the level! Make sure to avoid spikes and ice cold water!\nAlso, watch out for moving enemies!\nThe last level has a key that you must get!\n\n---------------------------CREDITS---------------------------\n\nThanks to @InfinitelyEndless for most of the platformer character code! :D\n@-zerx- for the hat!\n@TheFunkyPanda for the intro and OC!\nAnd @DANISON for the nice music!\n\nFollow me and @Pancham106 for a cookie! :)\nPlease NO ADS.\n\n-----------------------CHECK LIST----------------------------\n10 loves: Completed!\n25 loves: Completed!\n50 loves: Completed!\n100 loves: Completed!\n200 loves: Completed!\n500 loves: Completed\n1000 loves:\n\nUseless tags:\n#games #fun #all #art #platformer\n

@Stage\n\nwhen I receive [start v]\nwait (2) seconds\nforever\n    set volume to (50) %\n    play sound [\[Royalty Free Music\] Winter Sunshine - Nicolai Heidlas v] until done\nend\n\nwhen I receive [sound on v]\nset volume to (50) %\n\nwhen I receive [sound v]\nset volume to (0) %\n\n@Player\n\ndefine reset\nclear graphic effects\ngo to x: (-200) y: (-50)\npoint in direction (90)\nset [dead? v] to [0]\nset [x v v] to [0]\nset [y v v] to [0]\nset size to (100) %\nshow\n\nwhen I receive [next level v]\nset [change? v] to [1]\nreset\nset [change? v] to [0]\n\nwhen I receive [start v]\nset [level v] to [1]\nset [dead? v] to [0]\nset size to (100) %\nreset\nforever\n    go to [front v] layer\n    if <<<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> and <(dead?) = [0]>> then\n        change [x v v] by (.9)\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        change [x v v] by (-.9)\n    end\n    set [x v v] to ((X v) * (0.9))\n    change x by (X v)\n    if <touching (ground v)?> then\n        change y by (2)\n        if <touching (ground v)?> then\n            change y by (2)\n            if <touching (ground v)?> then\n                change y by (2)\n                if <touching (ground v)?> then\n                    change y by (2)\n                    if <touching (ground v)?> then\n                        change y by (2)\n                        if <touching (ground v)?> then\n                            change x by ((X v) * (-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) + (20))>>>> then\n                                if <(X v) > [0]> then\n                                    set [x v v] to [-5]\n                                else\n                                    set [x v v] to [5]\n                                end\n                                set [y v v] to [13]\n                            else\n                                set [x v v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [y v v] by (-0.8)\n    change y by (Y v)\n    if <<touching (ground v)?> or <<touching (moving ground v)?> or <touching (ice ghost stuff v)?>>> then\n        change y by ((Y v) * (-1))\n        set [y v v] to [0]\n    end\n    change y by (-1)\n    if <<touching (ground v)?> or <<touching (moving ground v)?> or <touching (ice ghost stuff v)?>>> then\n        if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>>> then\n            set [y v v] to [12]\n        end\n    end\n    change y by (1)\n    if <<<<<touching (gears v)?> or <touching (danger v)?>> or <touching (killer wheel2 v)?>> or <touching (lightning v)?>> and <(dead?) = [0]>> then\n        Spin off screen\n    end\n    if <touching (trampoline v)?> then\n        start sound [Big Boing v]\n        set [y v v] to [20]\n    end\nend\n\nwhen I receive [start v]\nforever\n    set [direction v] to (direction)\nend\n\nwhen I receive [start v]\nset [change? v] to [0]\nforever\n    if <touching (flag v)?> then\n        start sound [Ding Sound Effect v]\n        broadcast (NEXT LEVEL v)\n        change [level v] by (1)\n    end\nend\n\nwhen I receive [start v]\nforever\n    if <(y position) = [-179]> then\n        Spin off screen\n    end\nend\n\nwhen [r v] key pressed\nif <(dead?) = [0]> then\n    reset\nend\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [start v]\nshow\n\ndefine Spin off screen\nset [dead? v] to [1]\nchange [player death v] by (1)\nrepeat (20)\n    change [ghost v] effect by (5)\nend\nreset\n\nwhen I start as a clone\nswitch costume to (center2 v)\nrepeat (10)\n    change [ghost v] effect by (5)\n    change size by (-5)\nend\ndelete this clone\n\nwhen flag clicked\nswitch costume to (center v)\n\nwhen flag clicked\nclear graphic effects\nforever\n    if <<touching (spikes v)?> or <touching (moving danger v)?>> then\n        start sound [\[another deltarune noise\] v]\n        broadcast (Dead v)\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        go to x: (-200) y: (-65)\n        clear graphic effects\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (enemy v)?> then\n        go to x: (-200) y: (-65)\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nif <touching (trampoline v)?> then\n\nset [y v v] to [0]\n\nwait (1) seconds\nrepeat (5)\n    change [ghost v] effect by (20)\nend\nhide\n\n@Ground\n\nwhen flag clicked\nswitch costume to (costume1 v)\ngo to [front v] layer\nhide\n\nwhen I receive [start v]\nshow\n\nwhen I receive [next level v]\nnext costume\n\n@Intro\n\nwhen flag clicked\nshow\nstart sound [Tobu - Hope \(Edited\) v]\nset size to (100) %\npoint in direction (90)\ngo to x: (0) y: (0)\nset [brightness v] effect to (0)\nswitch costume to (background v)\nwait (9) seconds\nrepeat (10)\n    show\n    change [ghost v] effect by (-10)\nend\nhide\n\nwhen flag clicked\ncreate clone of (_myself_ v)\nset [clone id v] to [1]\nwait (0.03) seconds\ncreate clone of (_myself_ v)\nchange [clone id v] by (1)\nwait (0.03) seconds\ncreate clone of (_myself_ v)\nchange [clone id v] by (1)\n\nwhen I start as a clone\nif <(Clone ID) = [1]> then\n    hide\n    set size to (100) %\n    point in direction (90)\n    set [ghost v] effect to (50)\n    set [brightness v] effect to (0)\n    go to [front v] layer\n    switch costume to (oc v)\n    go to x: (1000) y: (0)\n    wait (3) seconds\n    show\n    repeat (20)\n        change [ghost v] effect by (-5)\n        change x by (((0) - (x position)) / (4))\n    end\n    repeat (140)\n        set [brightness v] effect to (0)\n        change y by (([sin v] of (Direction) ) * (1))\n        change [direction v] by (5)\n        point in direction (([tan v] of ((timer) * (120)) ) + (90))\n    end\n    point in direction (90)\n    repeat (10)\n        change y by ((5) - ((y position) * (0.2)))\n        change [ghost v] effect by (2.5)\n    end\n    repeat (30)\n        change y by (((5) - ((y position) * (0.2))) * (-1))\n        change [ghost v] effect by (3)\n    end\n    broadcast (Start v)\n    hide\nend\n\nwhen I start as a clone\nif <(Clone ID) = [2]> then\n    hide\n    set size to (100) %\n    point in direction (90)\n    set [ghost v] effect to (50)\n    set [brightness v] effect to (0)\n    go to [front v] layer\n    switch costume to (name logo v)\n    go to x: (1000) y: (0)\n    wait (2.5) seconds\n    show\n    repeat (20)\n        change [ghost v] effect by (-5)\n        change x by (((0) - (x position)) / (4))\n    end\n    repeat (140)\n        set [brightness v] effect to (0)\n        change y by (([sin v] of (Direction) ) * (1))\n        change [direction v] by (5)\n        point in direction (([tan v] of ((timer) * (120)) ) + (90))\n    end\n    point in direction (90)\n    repeat (10)\n        change y by ((5) - ((y position) * (0.2)))\n        change [ghost v] effect by (2.5)\n    end\n    repeat (30)\n        change y by (((5) - ((y position) * (0.2))) * (-1))\n        change [ghost v] effect by (3)\n    end\n    hide\nend\n\nwhen I receive [end of intro v]\n\ncreate clone of (_myself_ v)\nchange [clone id v] by (1)\n\nwhen I receive [end of intro v]\n\nif <(Clone ID) = [4]> then\n    show\n    set [ghost v] effect to (100)\n    set size to (100) %\n    go to [front v] layer\n    point in direction (90)\n    go to x: (0) y: (0)\n    switch costume to (ending transition v)\n    wait (0.03) seconds\n    repeat (10)\n        show\n        change [ghost v] effect by (-10)\n    end\n    wait (1) seconds\n    hide\nend\n\nwhen I start as a clone\nif <(Clone ID) = [3]> then\n    show\n    point in direction (90)\n    go to x: (0) y: (0)\n    show\n    set [ghost v] effect to (0)\n    switch costume to (flash v)\n    go to [front v] layer\n    clear graphic effects\n    repeat (50)\n        change [ghost v] effect by (10)\n    end\nend\n\n@Snow\n\nwhen I receive [start v]\ngo to [back v] layer\ngo [forward v] (1) layers\nhide\nforever\n    create clone of (_myself_ v)\n    wait (pick random (0.1) to (0.4)) seconds\nend\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nshow\ngo to x: (pick random (-227) to (228)) y: (180)\nrepeat until <(x position) = [-145]>\n    change y by (-2)\nend\n\ndelete this clone\n\n@Stuff\n\nwhen flag clicked\nswitch costume to (costume1 v)\nhide\n\nwhen I receive [start v]\nshow\ngo to [back v] layer\n\nwhen I receive [next level v]\nnext costume\n\n@Hands\n\nwhen I receive [start v]\nshow\nforever\n    go to (player v)\nend\n\nwhen flag clicked\nhide\n\n@Flag\n\nwhen flag clicked\nhide\nswitch costume to (green flag v)\ngo to x: (0) y: (0)\n\nwhen I receive [start v]\nshow\nwait (1) seconds\ngo to [back v] layer\ngo [forward v] (1) layers\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [start v]\nshow\nforever\n    repeat (10)\n        change y by (-0.5)\n    end\n    repeat (10)\n        change y by (0.5)\n    end\nend\n\n@Sound\n\nwhen this sprite clicked\nif <(costume [number v]) = [1]> then\n    switch costume to (costume2 v)\n    broadcast (Sound v)\nelse\n    switch costume to (costume1 v)\n    broadcast (Sound On v)\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nshow\nswitch costume to (costume1 v)\n\nwhen I receive [start v]\nforever\n    if <touching (mouse-pointer v)?> then\n        change size by (((60) - (size)) / (3))\n        point in direction (90)\n    else\n        change size by (((40) - (size)) / (3))\n    end\nend\n\n@Clouds\n\nwhen flag clicked\nset [ghost v] effect to (70)\nforever\n    go to x: (-26) y: (19)\n    glide (8) secs to x: (-300) y: (13)\nend\n\nwhen flag clicked\ngo to [back v] layer\nhide\n\nwhen I receive [start v]\nshow\n\n@Spikes\n\nwhen flag clicked\ngo to x: (36) y: (28)\nhide\nswitch costume to (costume1 v)\ngo to [back v] layer\ngo [forward v] (1) layers\n\nwhen I receive [key v]\nif <(Level) = [10]> then\n    switch costume to (costume11 v)\nend\n\nwhen I receive [start v]\nshow\nforever\n    repeat (10)\n        change y by (-0.5)\n    end\n    repeat (10)\n        change y by (0.5)\n    end\nend\n\nwhen I receive [next level v]\nnext costume\nif <(Level) = [11]> then\n    switch costume to (costume12 v)\nend\n\n@Moving danger\n\nwhen flag clicked\nswitch costume to (costume1 v)\nhide\n\nwhen I receive [next level v]\npoint in direction (90)\nnext costume\nif <(costume [number v]) = [3]> then\n    switch costume to (costume3 v)\n    go to x: (0) y: (0)\n    repeat until <(costume [number v]) = [4]>\n        repeat (40)\n            change x by (3)\n        end\n        repeat (40)\n            change x by (-3)\n        end\n    end\nend\nif <(costume [number v]) = [4]> then\n    switch costume to (costume4 v)\n    go to x: (0) y: (0)\n    repeat until <(costume [number v]) = [5]>\n        repeat (50)\n            change x by (5)\n        end\n        repeat (50)\n            change x by (-5)\n        end\n    end\nend\nif <(costume [number v]) = [5]> then\n    switch costume to (costume5 v)\n    go to x: (0) y: (0)\n    repeat until <(costume [number v]) = [6]>\n        repeat (45)\n            change x by (3)\n        end\n        repeat (45)\n            change x by (-3)\n        end\n    end\nend\nif <(costume [number v]) = [9]> then\n    switch costume to (costume9 v)\n    go to x: (0) y: (0)\n    repeat until <(costume [number v]) = [10]>\n        repeat (60)\n            change x by (3)\n        end\n        repeat (60)\n            change x by (-3)\n        end\n    end\nend\nif <(costume [number v]) = [10]> then\n    switch costume to (costume10 v)\n    go to x: (0) y: (0)\n    repeat until <(costume [number v]) = [11]>\n        repeat (60)\n            change x by (3)\n        end\n        repeat (60)\n            change x by (-3)\n        end\n    end\nend\n\nwhen I receive [start v]\nshow\n\n@Moving ground\n\nwhen flag clicked\nswitch costume to (costume1 v)\nhide\n\nwhen I receive [next level v]\nnext costume\nif <(costume [number v]) = [3]> then\n    switch costume to (costume3 v)\n    go to x: (0) y: (0)\n    repeat until <(costume [number v]) = [4]>\n        repeat (40)\n            change x by (3)\n        end\n        repeat (40)\n            change x by (-3)\n        end\n    end\nend\nif <(costume [number v]) = [4]> then\n    switch costume to (costume4 v)\n    go to x: (0) y: (0)\n    repeat until <(costume [number v]) = [5]>\n        repeat (60)\n            change x by (3)\n        end\n        repeat (60)\n            change x by (-3)\n        end\n    end\nend\nif <(costume [number v]) = [6]> then\n    switch costume to (costume6 v)\n    go to x: (0) y: (0)\n    repeat until <(costume [number v]) = [7]>\n        repeat (80)\n            change x by (-3)\n        end\n        repeat (80)\n            change x by (3)\n        end\n    end\nend\nif <(costume [number v]) = [10]> then\n    switch costume to (costume10 v)\n    go to x: (0) y: (0)\n    repeat until <(costume [number v]) = [11]>\n        repeat (80)\n            change x by (-3)\n        end\n        repeat (80)\n            change x by (3)\n        end\n    end\nend\n\nwhen I receive [start v]\nshow\n\n@thumbnail\n\nwhen flag clicked\ngo to x: (95) y: (-27)\nset [ghost v] effect to (100)\nforever\n    go to [front v] layer\n    reset timer\nend\n\nwhen [timer v] > (0.03)\ngo to x: (95) y: (-1000)\nrepeat until <(round (y position)) = [-27]>\n    go to [front v] layer\n    change [ghost v] effect by (-10)\n    change y by (((1) - (y position)) / (5))\nend\nset y to (-27)\n\n@Skip\n\nwhen flag clicked\nhide\nset volume to (100) %\n\nwhen I receive [start v]\nshow\nswitch costume to (costume1 v)\n\nwhen I receive [start v]\nforever\n    if <touching (mouse-pointer v)?> then\n        change size by (((60) - (size)) / (3))\n        point in direction (90)\n    else\n        change size by (((40) - (size)) / (3))\n    end\nend\n\nwhen this sprite clicked\nbroadcast (NEXT LEVEL v)\nchange [level v] by (1)\n\nwhen I receive [start v]\nforever\n    if <([costume # v] of [ground v]) = [11]> then\n        change volume by (-10)\n    end\nend\n\nwhen I receive [start v]\nforever\n    if <(volume) = [90]> then\n        hide\n    end\nend\n\n@Trampoline\n\nwhen flag clicked\nhide\nswitch costume to (t1 v)\n\nwhen I receive [start v]\nshow\nwait (1) seconds\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [start v]\ngo to x: (0) y: (0)\nshow\nforever\n    repeat (10)\n        change y by (-0.2)\n    end\n    repeat (10)\n        change y by (0.2)\n    end\nend\n\n@Ice Ghost Stuff\n\nwhen [m v] key pressed\nshow variable [mousex v]\nshow variable [mousey v]\nset [mousex v] to (mouse x)\nset [mousey v] to (mouse y)\n\nbroadcast (Reset v)\n\nwhen flag clicked\nhide variable [mousex v]\nhide variable [mousey v]\nhide\n\ndefine Clone At X: (x) (y)\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\n\nwhen I receive [next level v]\nif  then\n    delete this clone\nend\nif <(Level) = [6]> then\n    Clone At X: [109] [-9]\n    Clone At X: [152] [89]\nend\nif <(Level) = [7]> then\n    Clone At X: [76] [98]\nend\nif <(Level) = [9]> then\n    Clone At X: [232] [-8]\nend\nif <(Level) = [10]> then\n    Clone At X: [44] [-60]\nend\n\nwhen I start as a clone\npoint in direction (90)\nshow\ngo [backward v] (11) layers\nwait until <touching (player v)?>\nif <(Level) = [6]> then\n    if <([y position v] of [player v]) > (y position)> then\n        wait (0.1) seconds\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        delete this clone\n    end\nelse\n    wait (0.1) seconds\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\n    delete this clone\nend\n\nbroadcast (Next v)\n\nwhen I receive [dead v]\nif <(Level) = [6]> then\n    wait (0.4) seconds\n    Clone At X: [109] [-9]\n    Clone At X: [152] [89]\nend\nif <(Level) = [7]> then\n    wait (0.4) seconds\n    Clone At X: [76] [98]\nend\nif <(Level) = [9]> then\n    wait (0.4) seconds\n    Clone At X: [232] [-8]\nend\nif <(Level) = [10]> then\n    wait (0.4) seconds\n    Clone At X: [44] [-60]\nend\n\n@Key\n\nwhen flag clicked\nclear graphic effects\ngo to x: (36) y: (28)\nhide\nswitch costume to (costume1 v)\n\nwhen I receive [start v]\nforever\n    if <touching (player v)?> then\n        repeat (4)\n            change [ghost v] effect by (25)\n        end\n        start sound [Collect v]\n        broadcast (Key v)\n        hide\n    end\nend\n\nwhen I receive [start v]\nforever\n    repeat (10)\n        change y by (-0.5)\n    end\n    repeat (10)\n        change y by (0.5)\n    end\nend\n\nwhen I receive [next level v]\nnext costume\nif <(Level) = [10]> then\n    show\nelse\n    hide\nend\n\n