/\Seasons A Scrolling platformer/\

Instructions: ____________________________\n/Use Arrow Keys to move\              /\nAvoid Spikes and lava!                 /\njump on trees and snowmen!      /\n~go from season to season~     /\n\~/An adventure awaits\~/        /\n Pls ⭐ ❤️ & Follow              /\n_______________________/

@Stage\n\n@ clouds\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nset size to (pick random (50) to (80)) %\nshow\ngo to [back v] layer\nset [ghost v] effect to (20)\nswitch costume to (pick random (1) to (4))\nif <(side) = [1]> then\n    go to x: (300) y: (pick random (150) to (100))\n    repeat until <(x position) < [-250]>\n        change x by (-1)\n    end\n    delete this clone\nend\nif <(side) = [2]> then\n    go to x: (-300) y: (pick random (150) to (100))\n    repeat until <(x position) > [250]>\n        change x by (1)\n    end\n    delete this clone\nend\n\nwhen I start as a clone\nforever\n    go [backward v] (1) layers\n    go to [back v] layer\nend\n\nwhen I receive [green flag v]\nforever\n    set [side v] to (pick random (1) to (2))\n    create clone of (_myself_ v)\n    wait (pick random (1) to (2)) seconds\nend\n\n@particles\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\ngo to [front v] layer\nshow\nset [color v] effect to (pick random (-10) to (0))\ngo to x: (230) y: (pick random (-200) to (200))\npoint in direction (pick random (-105) to (-75))\nset [ghost v] effect to (100)\nrepeat (5)\n    change [ghost v] effect by (-10)\nend\nrepeat until <(x position) < [-230]>\n    move (10) steps\nend\nrepeat (5)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\nwhen I receive [green flag v]\nforever\n    wait (.1) seconds\n    create clone of (_myself_ v)\nend\n\nwhen I receive [green flag v]\nforever\n    if <(lvl) = [3]> then\n        switch costume to (costume2 v)\n    else\n        switch costume to (costume1 v)\n    end\nend\n\nwhen I receive [win v]\nstop [other scripts in sprite v]\nforever\n    delete this clone\nend\n\n@Win\n\nwhen flag clicked\ngo to x: (0) y: (43)\nhide\n\nwhen I receive [win v]\ngo to x: (0) y: (43)\nshow\n\n@text\n\ndefine set hack size (size)\nset [size hack flag v] to (costume [number v])\nswitch costume to (size hack v)\nset size to (size) %\nswitch costume to (size hack flag)\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [green flag v]\nforever\n    if <(lvl) = [1]> then\n        set hack size [200]\n    end\nend\n\nwhen I receive [green flag v]\nshow\nswitch costume to (spring v)\npoint in direction (90)\ngo to x: (0) y: (0)\nforever\n    go to (platform v)\n    point in direction ([direction v] of [platform v])\nend\n\nwhen I receive [win v]\nhide\n\n@water\n\ndefine set hack size (size)\nset [size hack flag v] to (costume [number v])\nswitch costume to (size hack v)\nset size to (size) %\nswitch costume to (size hack flag)\n\nwhen I receive [next level v]\nforever\n    if <(lvl) = [2]> then\n        set hack size [200]\n    else\n        hide\n        stop [other scripts in sprite v]\n    end\nend\n\nwhen I receive [next level v]\nforever\n    repeat (20)\n        change y by (-3)\n    end\n    repeat (20)\n        change y by (3)\n    end\nend\n\nwhen I receive [next level v]\ngo to [back v] layer\nshow\nswitch costume to (1 v)\npoint in direction (90)\ngo to x: (0) y: (0)\nforever\n    go to (platform v)\n    point in direction ([direction v] of [platform v])\nend\n\nwhen I receive [green flag v]\nhide\n\n@player\n\nwhen flag clicked\ngo to x: (0) y: (-1)\nhide\n\nwhen I receive [respawn v]\nset [ghost v] effect to (100)\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\n\nwhen I receive [green flag v]\nshow\nforever\n    if <not <key (any v) pressed?>> then\n        switch costume to (00 v)\n    end\n    if <key (up arrow v) pressed?> then\n        switch costume to (01 v)\n    end\n    if <key (right arrow v) pressed?> then\n        switch costume to (03 v)\n    end\n    if <key (left arrow v) pressed?> then\n        switch costume to (02 v)\n    end\n    if <<key (up arrow v) pressed?> and <key (left arrow v) pressed?>> then\n        switch costume to (04 v)\n    end\n    if <<key (up arrow v) pressed?> and <key (right arrow v) pressed?>> then\n        switch costume to (05 v)\n    end\nend\n\nwhen I receive [green flag v]\nforever\n    change y by (-5)\n    if <<touching color (#f7ef00)?> and <not <(lvl) = [2]>>> then\n        start sound [boing v]\n        set [y vel v] to [-20]\n    end\n    if <touching color (#888888)?> then\n        start sound [crunch v]\n        broadcast (respawn v)\n    end\n    if <touching color (#acacac)?> then\n        start sound [crunch v]\n        broadcast (respawn v)\n    end\n    if <touching color (#ff0000)?> then\n        start sound [crunch v]\n        broadcast (respawn v)\n    end\n    if <touching color (#1fff00)?> then\n        broadcast (Next Level v)\n        change [lvl v] by (1)\n    end\n    if <touching color (#129e00)?> then\n        broadcast (Win v)\n        stop [other scripts in sprite v]\n    end\n    change y by (5)\nend\n\n@Thumbnail\n\nwhen flag clicked\ngo to x: (0) y: (0)\nshow\ngo to [front v] layer\nset [ghost effect v] to [0]\nset [ghost v] effect to (Ghost effect)\nwait (2) seconds\nrepeat until <(Ghost effect) = [100]>\n    change [ghost effect v] by (10)\n    set [ghost v] effect to (Ghost effect)\nend\nhide\nset [ghost v] effect to (0)\nbroadcast (Green flag v)\n\nwhen I receive [win v]\nwait (3) seconds\ngo to x: (0) y: (0)\nshow\ngo to [front v] layer\nset [ghost effect v] to [100]\nset [ghost v] effect to (Ghost effect)\nwait (2) seconds\nrepeat until <(Ghost effect) = [0]>\n    change [ghost effect v] by (-10)\n    set [ghost v] effect to (Ghost effect)\nend\nset [ghost v] effect to (0)\nstop [all v]\n\n@Platform\n\ndefine SET HACK SIZE TO (number or text)\nswitch costume to (size hack v)\nset size to (number or text) %\nswitch costume to (spring v)\n\nwhen I receive [respawn v]\npoint in direction (90)\ngo to x: (-10) y: (-500)\nset [d vel v] to [0]\nset [y vel v] to [0]\n\nwhen I receive [green flag v]\ngo to [front v] layer\nshow\nbroadcast (respawn v)\nSET HACK SIZE TO [200]\nforever\n    change [y vel v] by (1)\n    if <<key (right arrow v) pressed?> or <<(mouse x) > (x position)> and <mouse down?>>> then\n        change [d vel v] by (-0.3)\n    end\n    if <<key (left arrow v) pressed?> or <<(x position) > (mouse x)> and <mouse down?>>> then\n        change [d vel v] by (0.3)\n    end\n    set [d vel v] to ((d vel) * (0.8))\n    turn right (d vel) degrees\n    if <touching (player v)?> then\n        change y by (-1)\n        if <touching (player v)?> then\n            change y by (-1)\n            if <touching (player v)?> then\n                change y by (-1)\n                if <touching (player v)?> then\n                    change y by (-1)\n                    if <touching (player v)?> then\n                        change y by (4)\n                        turn right ((d vel) * (-1)) degrees\n                        set [d vel v] to [0]\n                    end\n                end\n            end\n        end\n    end\n    change y by (y vel)\n    if <touching (player v)?> then\n        change y by ((y vel) * (-1))\n        set [y vel v] to [0]\n    end\n    change y by (1)\n    if <touching (player v)?> then\n        if <<key (up arrow v) pressed?> or <<(mouse y) > [50]> and <mouse down?>>> then\n            set [y vel v] to [-12]\n        end\n    end\n    change y by (-1)\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [green flag v]\nforever\n    play sound [Sunshine v] until done\nend\n\nwhen I receive [win v]\npoint in direction (90)\ngo to x: (-10) y: (-500)\nset [d vel v] to [0]\nset [y vel v] to [0]\n\nwhen I receive [win v]\nstop [other scripts in sprite v]\n\nwhen I receive [next level v]\ngo to x: (-10) y: (-500)\nset [d vel v] to [0]\nset [y vel v] to [0]\nnext costume\nbroadcast (respawn v)\n\nwhen I receive [green flag v]\nset [lvl v] to [1]\nforever\n    switch costume to (lvl)\nend\n\n