Seasons a 360 platformer                       #games
@Stage\n\nwhen flag clicked\nforever\n    switch backdrop to (LEVEL)\nend\n\nchange [level v] by (1)\n\nwhen flag clicked\nforever\n    play sound [Treenan v] until done\nend\n\nwhen flag clicked\nset volume to (100) %\nforever\n    if <key (m v) pressed?> then\n        if <(volume) = [100]> then\n            set volume to (0) %\n        else\n            set volume to (100) %\n        end\n        wait until <not <key (m v) pressed?>>\n    end\nend\n\n@Ground\n\ndefine Set size hack to (size hack)\nswitch costume to (size hack v)\nset size to (size hack) %\nswitch costume to (LEVEL)\n\nwhen I receive [respawn v]\nStuff\n\nwhen flag clicked\nset [level v] to [1]\nbroadcast (Respawn v) and wait\nforever\n    switch costume to (LEVEL)\n    if <(LEVEL) = [5]> then\n        hide\n    end\n    change [y vel v] by (1)\n    if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<((mouse x) + (15)) > ([x position v] of [player v])> and <mouse down?>>> then\n        change [d vel v] by ((speed) * (-1))\n    end\n    if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<((mouse x) - (15)) < ([x position v] of [player v])> and <mouse down?>>> then\n        change [d vel v] by (speed)\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 [sky time v] by (1)\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        set [sky time v] to [0]\n        if <(sky time) < [2]> then\n            if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<((mouse y) + (15)) > ([y position v] of [player v])> and <mouse down?>>> then\n                set [y vel v] to [-12]\n            end\n        end\n    end\n    change y by (-1)\n    set [rot y v] to (y position)\nend\n\ngo to [front v] layer\n\nrepeat until <not <touching (player v)?>>\n\nset [level v] to [3]\ngo to x: (-10) y: (-666)\npoint in direction (-164)\n\nset [level v] to [2]\ngo to x: (-10) y: (-491)\npoint in direction (-174)\n\nset [level v] to [1]\ngo to x: (-10) y: (-491)\npoint in direction (55)\n\nset [level v] to [4]\ngo to x: (-10) y: (-494)\npoint in direction (165)\nset [d vel v] to [0]\nset [y vel v] to [0]\n\nset [level v] to [4]\n\nset [level v] to [4]\ngo to x: (-10) y: (-494)\npoint in direction (-166)\nset [d vel v] to [0]\nset [y vel v] to [0]\n\nchange [level v] by (1)\n\ndefine Stuff\nset [size hack v] to [6]\nset [size hack v] to ((SIZE HACK) * (100))\nset [speed v] to [0.15]\nSet size hack to (SIZE HACK)\npoint in direction (90)\ngo to x: (-10) y: (-520)\nset [d vel v] to [0]\nset [y vel v] to [0]\nset [tw v] to [0]\nshow\n\n@Player\n\nwhen flag clicked\ngo to x: (0) y: (0)\nforever\n    change y by (-5)\n    if <touching color (#ff9e00)?> then\n        change [level v] by (1)\n        broadcast (Respawn v) and wait\n    end\n    if <touching (danger v)?> then\n        broadcast (Respawn v) and wait\n    end\n    if <touching (bouncy v)?> then\n        set [y vel v] to [0]\n        change [y vel v] by (-18)\n    end\n    change y by (5)\nend\n\nset [level v] to [1]\n\nwhen flag clicked\nset size to (80) %\nforever\n    if <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<((mouse y) + (15)) > ([y position v] of [player v])> and <mouse down?>>> and <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<((mouse x) + (15)) > ([x position v] of [player v])> and <mouse down?>>>> then\n        switch costume to (right up v)\n    else\n        if <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<((mouse y) + (15)) > ([y position v] of [player v])> and <mouse down?>>> and <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<((mouse x) - (15)) < ([x position v] of [player v])> and <mouse down?>>>> then\n            switch costume to (left up v)\n        else\n            if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<((mouse y) + (15)) > ([y position v] of [player v])> and <mouse down?>>> then\n                switch costume to (up v)\n            else\n                if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<((mouse x) + (15)) > ([x position v] of [player v])> and <mouse down?>>> then\n                    switch costume to (right v)\n                else\n                    if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<((mouse x) - (15)) < ([x position v] of [player v])> and <mouse down?>>> then\n                        switch costume to (left v)\n                    else\n                        switch costume to (middle v)\n                    end\n                end\n            end\n        end\n    end\n    if <(LEVEL) = [5]> then\n        hide\n    end\nend\n\nwhen flag clicked\ngo to x: (0) y: (0)\nforever\n\nchange x by ((((mouse x) / (27)) - (x position)) * (0.1))\nchange y by ((((mouse y) / (27)) - (y position)) * (0.1))\n\nwhen I receive [respawn v]\nshow\n\n@Danger\n\ndefine Set size hack to (size hack)\nswitch costume to (size hack v)\nset size to (size hack) %\nswitch costume to (LEVEL)\n\nwhen I receive [respawn v]\nshow\npoint in direction (90)\ngo to x: (-10) y: (-500)\nset [d vel v] to [0]\nset [y vel v] to [0]\nSet size hack to (SIZE HACK)\n\nwhen flag clicked\nbroadcast (Respawn v)\nSet size hack to (SIZE HACK)\nforever\n    go to [back v] layer\n    switch costume to (LEVEL)\n    if <(LEVEL) = [5]> then\n        hide\n    end\n    go to (ground v)\n    point in direction ([direction v] of [ground v])\nend\n\ndefine Game\n\nset [level v] to [3]\n\nGame\n\n@Bouncy\n\ndefine Set size hack to (size hack)\nswitch costume to (size hack v)\nset size to (size hack) %\nswitch costume to (LEVEL)\n\nwhen I receive [respawn v]\nshow\npoint in direction (90)\ngo to x: (-10) y: (-500)\nset [d vel v] to [0]\nset [y vel v] to [0]\n\nwhen flag clicked\nbroadcast (Respawn v)\nSet size hack to (SIZE HACK)\nforever\n    go to [back v] layer\n    switch costume to (LEVEL)\n    if <(LEVEL) = [5]> then\n        hide\n    end\n    go to (ground v)\n    point in direction ([direction v] of [ground v])\nend\n\ndefine Game\n\nGame\n\n@Particles\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nGO\n\ndefine GO\ngo to x: (230) y: (pick random (-160) to (170))\npoint in direction (pick random (-70) to (-105))\nset size to (pick random (150) to (200)) %\nset [ghost v] to (pick random (6) to (16))\ngo to [front v] layer\nshow\nset [ghost v] effect to (100)\nif <(LEVEL) = [1]> then\n    switch costume to (pick random (1) to (2))\nelse\n    if <(LEVEL) = [2]> then\n        switch costume to (pick random (3) to (4))\n    else\n        if <(LEVEL) = [3]> then\n            switch costume to (pick random (5) to (6))\n        else\n            if <(LEVEL) = [4]> then\n                switch costume to (pick random (7) to (8))\n            end\n        end\n    end\nend\nrepeat (5)\n    change [ghost v] effect by ((ghost) * (-1))\nend\nrepeat until <<(x position) < [-230]> or <<(y position) > [175]> or <(y position) < [-175]>>>\n    move (pick random (7) to (13)) steps\n    go to [front v] layer\n    turn left (pick random (-1) to (1)) degrees\n    if <(LEVEL) = [5]> then\n        hide\n    end\nend\nrepeat (5)\n    change [ghost v] effect by (ghost)\nend\n\nwhen flag clicked\nforever\n    if <not <(LEVEL) = [5]>> then\n        create clone of (_myself_ v)\n        wait (0.1) seconds\n    end\nend\n\nchange [level v] by (1)\n\n@Thing\n\nwhen flag clicked\nset [click v] to [0]\nforever\n    if <(LEVEL) = [5]> then\n        if <(click) = [0]> then\n            show\n            set [ghost v] effect to (100)\n            repeat (50)\n                change [ghost v] effect by (-2)\n            end\n            change [click v] by (1)\n        end\n    else\n        hide\n    end\nend\n\nset [level v] to [5]\n\n@Thumb\n\nwhen flag clicked\nforever\n    show\n    set [ghost v] effect to (100)\n    go to [front v] layer\n    go to [front v] layer\n    repeat (10)\n        go [forward v] (10) layers\n    end\nend\n\n@Clouds\n\nwhen flag clicked\nset [ghost v] effect to (0)\nforever\n    hide\n    if <(PAUSE) = [0]> then\n        create clone of (_myself_ v)\n        wait (pick random (0.5) to (2)) seconds\n    end\nend\n\nwhen I start as a clone\nshow\nswitch costume to (pick random (1) to (5))\ngo to x: (-250) y: (pick random (-60) to (160))\nset [ghost v] effect to (pick random (40) to (70))\nrepeat until <(x position) > [267]>\n    if <(PAUSE) = [0]> then\n        change x by (pick random (2) to (5))\n        go to [back v] layer\n        go to [back v] layer\n        go [backward v] (999) layers\n    end\nend\ndelete this clone\n\nwhen I receive [setup v]\ndelete this clone\n\n
To start it, spam the flag or else it might not work\nFinally it's done in a month (I hate level designs)!\n\nCursor keys, WAD, or mobile! \nM to mute/unmute\n\nHope you like it!\n\n1K followers for a sequel!\n\n\nBlue = Winter = easy\nGreen = Spring = medium\nGreen (2) = Summer = hard\nOrange = Fall/Autumn = challenge\n\nALL LEVELS ARE POSSIBLE (update: or are they?)\n\n@KingQuacks part of the thumbnail and a lot of support :)\n@pranavhaha for the amazing tutorial :)\n@kool_kodes and @_SCRATCHY_LAZAR and @StratfordJames for inspiration\n@-Xaf- for the awesome music!\n@TheCactusMaster (Me) for the art and the rest.\n\n#games #all #360 #platformer #Seasons #al