Seasons | a platformer #games

Instructions:                                     Seasons\n\n➤ 4 seasons\n\n➤ 4+ hours spent on this\n\n➤ 16 levels\n\n➤ comment "dawn" (its a reference to a project I'm working on ;)"\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\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\nplease just comment it lol\n\n

@Stage\n\nwhen I receive [message1 v]\nnext backdrop\n\nwhen flag clicked\nhide\nswitch backdrop to (backdrop1 v)\n\n@player\n\ndefine Touch Ground <up?>\nchange [falling? v] by (1)\nrepeat until <not <touching (ground v)?>>\n    if <up?> then\n        change y by (-1)\n    else\n        change y by (1)\n        set [falling? v] to [0]\n    end\n    set [speed y v] to [0]\nend\n\ndefine Walk (direction) (speed)\npoint in direction (direction)\nchange x by (speed)\nset [slope v] to [0]\nrepeat until <<(slope) = [8]> or <not <touching (ground v)?>>>\n    change y by (1)\n    change [slope v] by (1)\nend\nif <(slope) = [8]> then\n    change x by ((0) - (speed))\n    change y by ((0) - (slope))\nend\n\nwhen flag clicked\nset size to (75) %\nset rotation style [left-right v]\ngo to x: (-150) y: (50)\nshow\nset [speed y v] to [0]\nset [falling? v] to [10]\nset [lvl v] to [1]\nforever\n    switch costume to (hitbox v)\n    change [speed y v] by (-1)\n    change y by (speed y)\n    Touch Ground <(speed y) > [0]>\n    if <key (left arrow v) pressed?> then\n        Walk (90) (-9)\n    end\n    if <key (right arrow v) pressed?> then\n        Walk (90) (9)\n    end\n    if <<key (up arrow v) pressed?> and <(falling?) < [3]>> then\n        set [speed y v] to [12]\n    end\n    if <<<(y position) < [-180]> or <<touching (spikes v)?> or <touching (saw v)?>>> or <touching (e v)?>> then\n        go to x: (-150) y: (50)\n        set [speed y v] to [0]\n    end\n    if <[225] < (x position)> then\n        go to x: (-150) y: (50)\n        change [lvl v] by (1)\n        set [speed y v] to [0]\n        broadcast (message1 v)\n    end\n    switch costume to (costume1 v)\nend\n\n@ground\n\nwhen flag clicked\ngo to [front v] layer\nswitch costume to (costume1 v)\n\nwhen I receive [message1 v]\nnext costume\n\n@spikes\n\nwhen flag clicked\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\n\nwhen I receive [message1 v]\nnext costume\n\n@deco\n\nwhen flag clicked\ngo to [back v] layer\nset x to (12)\nswitch costume to (costume1 v)\n\nwhen I receive [message1 v]\nnext costume\n\n@saw\n\nwhen flag clicked\nswitch costume to (costume1 v)\nforever\n    turn right (7) degrees\nend\n\nwhen I receive [message1 v]\nnext costume\ngo to [back v] layer\ngo [forward v] (1) layers\nif <(lvl) = [4]> then\n    set [momentum v] to [12]\n    go to x: (115) y: (-60)\n    repeat until <(lvl) = [5]>\n        repeat (12)\n            change x by (momentum)\n            change [momentum v] by (-1)\n        end\n        repeat (12)\n            change x by (momentum)\n            change [momentum v] by (-1)\n        end\n        repeat (24)\n            change x by (momentum)\n            change [momentum v] by (1)\n        end\n    end\nend\nif <(lvl) = [5]> then\n    set [momentum v] to [18]\n    go to x: (0) y: (-60)\n    repeat until <(lvl) = [6]>\n        repeat (18)\n            change x by (momentum)\n            change [momentum v] by (-1)\n        end\n        repeat (18)\n            change x by (momentum)\n            change [momentum v] by (-1)\n        end\n        repeat (36)\n            change x by (momentum)\n            change [momentum v] by (1)\n        end\n    end\nend\nif <(lvl) = [6]> then\n    set [momentum v] to [12]\n    go to x: (45) y: (-50)\n    repeat until <(lvl) = [7]>\n        repeat (12)\n            change x by (momentum)\n            change [momentum v] by (-1)\n        end\n        repeat (12)\n            change x by (momentum)\n            change [momentum v] by (-1)\n        end\n        repeat (24)\n            change x by (momentum)\n            change [momentum v] by (1)\n        end\n    end\nend\nif <(lvl) = [13]> then\n    set [momentum v] to [10]\n    go to x: (-20) y: (-50)\n    repeat until <(lvl) = [14]>\n        repeat (10)\n            change x by (momentum)\n            change [momentum v] by (-1)\n        end\n        repeat (10)\n            change x by (momentum)\n            change [momentum v] by (-1)\n        end\n        repeat (20)\n            change x by (momentum)\n            change [momentum v] by (1)\n        end\n    end\nend\nif <(lvl) = [14]> then\n    set [momentum v] to [9]\n    go to x: (140) y: (-50)\n    repeat until <(lvl) = [15]>\n        repeat (9)\n            change x by (momentum)\n            change [momentum v] by (-1)\n        end\n        repeat (9)\n            change x by (momentum)\n            change [momentum v] by (-1)\n        end\n        repeat (18)\n            change x by (momentum)\n            change [momentum v] by (1)\n        end\n    end\nend\n\n@e\n\nwhen flag clicked\nswitch costume to (1 v)\nforever\n    if <(lvl) = [9]> then\n        go to x: (60) y: (-90)\n        repeat (20)\n            change y by (-1)\n        end\n        repeat (20)\n            change y by (1)\n        end\n    end\n    if <<(lvl) = [10]> or <(lvl) = [11]>> then\n        go to x: (30) y: (-90)\n        repeat (20)\n            change y by (-1)\n        end\n        repeat (20)\n            change y by (1)\n        end\n    end\nend\n\nwhen I receive [message1 v]\nswitch costume to (lvl)\ngo to [back v] layer\ngo [forward v] (1) layers\nclone\n\nwhen I start as a clone\ngo to [front v] layer\ngo [backward v] (2) layers\nchange y by (pick random (-15) to (15))\nforever\n    repeat (20)\n        change y by (-1)\n    end\n    repeat (20)\n        change y by (1)\n    end\nend\n\ndefine clone\nif <(lvl) = [9]> then\n    go to x: (60) y: (-91)\n    set [clone v] to [1]\n    repeat (3)\n        switch costume to (join [clone] (clone))\n        change [clone v] by (1)\n        create clone of (_myself_ v)\n    end\n    switch costume to (9 v)\nend\nif <<(lvl) = [10]> or <(lvl) = [11]>> then\n    set [clone v] to [1]\n    go to x: (30) y: (-91)\n    repeat (3)\n        switch costume to (join [clone] (clone))\n        change [clone v] by (1)\n        create clone of (_myself_ v)\n    end\n    switch costume to (10 v)\nend\n\nwhen I receive [message1 v]\ndelete this clone\n\n@TN\n\nwhen flag clicked\nshow\nset size to (100) %\nset [ghost v] effect to (100)\ngo to [front v] layer\n\n