Autumn I A Scrolling Platformer

Instructions: ✿ Aᴜᴛᴜᴍɴ ✿\n\n✿ Mʏ ᴍᴇꜱꜱᴀɢᴇ ✿\nI ᴀᴍ ꜱᴏʀʀʏ ɪᴛ ɪꜱ ꜱʜᴏʀᴛ ʙᴜᴛ ɪ ʜᴀᴠᴇ ʙᴇᴇɴ ᴡᴏʀᴋɪɴɢ ᴏɴ ɪᴛ ʜᴀʀᴅ. Iᴛ ᴛᴏᴏᴋ ᴍᴇ ᴀ ʟᴏɴɢ ᴛɪᴍᴇ ᴛᴏ ᴄʀᴇᴀᴛᴇ ᴛʜɪꜱ. I ᴄᴀɴ'ᴛ ꜰɪɢᴜʀᴇ ᴏᴜᴛ ᴡʜʏ ᴛʜᴇ ᴘʟᴀʏᴇʀ ɪꜱ ꜱʟᴏᴡ ꜱᴏ ᴘʟᴇᴀꜱᴇ ꜰᴏʀɢɪᴠᴇ ᴍᴇ! Tᴏ ᴍᴀᴋᴇ ᴛʜᴇ ᴘʟᴀʏᴇʀ ɢᴏ ꜱᴍᴏᴏᴛʜ, ʜᴏʟᴅ Aʟᴛ ᴀɴᴅ ᴘʀᴇꜱꜱ ᴛʜᴇ ɢʀᴇᴇɴ ꜰʟᴀɢ. Eɴᴊᴏʏ!\n\nGo to Turbowarp and right click the flag: https://turbowarp.org/565704705\n\n✿ Gᴀᴍᴇ ✿\n- Usᴇ Lᴇғᴛ/Rɪɢʜᴛ ᴏʀ A/D Kᴇʏs ᴛᴏ ᴍᴏᴠᴇ!\n- Usᴇ Uᴘ Kᴇʏ ᴏʀ W Kᴇʏ ᴛᴏ ᴊᴜᴍᴘ!\n- Sᴘɪᴋᴇꜱ, ᴀɴᴅ Wᴀᴛᴇʀ ᴄᴀɴ ʜᴜʀᴛ ʏᴏᴜ!\n\n✿ Gᴀᴍᴇ Iɴꜰᴏ ✿\nMʏ ꜱᴇᴄᴏɴᴅ ɢᴀᴍᴇ\n407 Bʟᴏᴄᴋꜱ\n7 Sᴘʀɪᴛᴇꜱ\n37 Sᴄʀɪᴘᴛꜱ\n5 Mᴇꜱꜱᴀɢᴇꜱ\n27 Vᴀʀɪᴀʙʟᴇꜱ \n16 Cᴜꜱᴛᴏᴍ ʙʟᴏᴄᴋꜱ \n10 Lᴇᴠᴇʟꜱ\n60+ Lᴏᴠᴇꜱ\n40+ Fᴀᴠᴏᴜʀɪᴛᴇꜱ\n1.9k+ Vɪᴇᴡꜱ\n\n✿ Cʀᴇᴅɪᴛꜱ ✿\nGᴀᴍᴇ ʙʏ @-GalacticCoder-\nEɴɢɪɴᴇ ᴀɴᴅ Tᴜᴛᴏʀɪᴀʟ ʙʏ  @griffpatch (ᴍᴏᴅɪꜰɪᴇᴅ ʙʏ ᴍᴇ)\nPʟᴀʏᴇʀ ᴀɴᴅ Sᴘɪᴋᴇꜱ ʙʏ @Invisity\nWᴀᴛᴇʀ ʙʏ @Ziyu3\nTᴇxᴛ ʙʏ Cooltext.com\nEᴠᴇʀʏᴛʜɪɴɢ Eʟꜱᴇ ʙʏ Mᴇ

@Stage\n\nwhen [m v] key pressed\nset [mouse v] to (join ((mouse x) + (SCROLL X)) (join [,] ((mouse y) + (SCROLL Y))))\nshow variable [mouse v]\n\n@Blank\n\nwhen flag clicked\n\n@Thumbnail\n\nwhen flag clicked\nforever\n    go to x: (0) y: (0)\n    show\n    change [ghost v] effect by (100000000)\nend\n\n@Player\n\nwhen flag clicked\nbroadcast (Green Flag 🏳 v) and wait\nbroadcast (Play Game v) and wait\n\nwhen I receive [green flag 🏳 v]\nhide\ngo to [front v] layer\n\nwhen I receive [play game v]\nset [level v] to [1]\nforever\n    broadcast (Reset v) and wait\n    broadcast (Setup v) and wait\n    Game On\n    repeat until <(EXIT) > []>\n        Tick\n        broadcast (Tick v) and wait\n    end\n    if <(EXIT) = [win]> then\n        Game - Win\n    else\n        Game - Die\n    end\nend\n\ndefine Game On\nset [x v] to [0]\nset [y v] to [0]\nset [scroll x v] to [0]\nset [scroll y v] to [0]\nset [sx v] to [0]\nset [sy v] to [0]\nset [in air v] to [0]\nset [exit v] to []\nhide variable [mouse v]\nset size to (80) %\nset [ghost v] effect to (0)\nshow\n\ndefine Tick\nif <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n    change [sx v] by (-2)\nend\nif <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n    change [sx v] by (2)\nend\nset [sx v] to ((sx) * (0.8))\nif <([abs v] of (sx) ) > [0.9]> then\n    Change Player x by (round (sx))\nend\nif <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n    if <(in air) < [4]> then\n        set [sy v] to [16]\n    end\nend\nif <(sy) > [-20]> then\n    change [sy v] by (-2)\nend\nChange Player y by (sy)\nPosition\nTest - Die\nset [scroll x v] to (x)\nif <(SCROLL X) < [0]> then\n    set [scroll x v] to [0]\nend\nchange [scroll y v] by (round (((y) - (SCROLL Y)) / (10)))\nif <(SCROLL Y) < [0]> then\n    set [scroll y v] to [0]\nend\nPosition\nif <(y) < [-180]> then\n    set [exit v] to [die]\nend\n\ndefine Change Player y by (sy)\nchange [y v] by (sy)\nchange [in air v] by (1)\nPosition\nrepeat until <not <touching (platforms v)?>>\n    if <(sy) > [0]> then\n        change [y v] by (-1)\n    else\n        change [y v] by (1)\n        set [in air v] to [0]\n    end\n    Position\n    set [sy v] to [0]\nend\n\ndefine Position\ngo to x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\n\ndefine Change Player x by (sx)\nchange [x v] by (sx)\nPosition\nif <touching (platforms v)?> then\n    repeat (12)\n        change [y v] by (1)\n        Position\n        if <not <touching (platforms v)?>> then\n            stop [this script v]\n        end\n    end\n    change [y v] by (-12)\n    if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n        if <(sx) > [50]> then\n            set [sx v] to [-16]\n        else\n            set [sx v] to [16]\n        end\n        set [in air v] to [0]\n    else\n        set [sx v] to [0]\n    end\n    repeat until <not <touching (platforms v)?>>\n        if <(sx) > [0]> then\n            change [x v] by (-1)\n        else\n            change [x v] by (1)\n        end\n        Position\n    end\nend\n\ndefine Game - Die\nset [exit v] to []\nrepeat (5)\n    hide\n    wait (0.1) seconds\n    show\n    wait (0.1) seconds\nend\nhide\nwait (0.5) seconds\n\ndefine Test - Die\nif <<touching (spikes v)?> or <<touching (saws v)?> or <touching (water v)?>>> then\n    set [exit v] to [die]\nend\n\ndefine Game - Win\nrepeat (50)\n    point towards (exit v)\n    turn right (65) degrees\n    move ((distance to [exit v]) / (2)) steps\n    change size by (-1)\n    change [ghost v] effect by (2)\nend\nhide\nchange [level v] by (1)\nwait (1) seconds\n\n@Platforms\n\nwhen I receive [green flag 🏳 v]\nhide\n\nwhen I receive [tick v]\nPosition x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(LEVEL) = [1]> then\n    switch costume to (level 1 1 v)\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\nelse\nend\nset [x v] to [-99999]\n\ndefine Position x: (x) y: (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\n@Art\n\nwhen I receive [green flag 🏳 v]\nhide\n\nwhen I receive [tick v]\nPosition x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\ngo to [back v] layer\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(LEVEL) = [1]> then\n    switch costume to (level 1 1 v)\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\nend\nset [x v] to [-99999]\n\ndefine Position x: (x) y: (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\n@Spikes\n\nwhen I receive [tick v]\nPosition x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\ngo to [back v] layer\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(LEVEL) = [1]> then\n    switch costume to (level 1 1 v)\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\nelse\nend\nset [x v] to [-99999]\n\ndefine Position x: (x) y: (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\nwhen I receive [green flag 🏳 v]\nhide\n\n@Water\n\nwhen I receive [tick v]\nPosition x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\ngo to [back v] layer\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(LEVEL) = [1]> then\n    switch costume to (level 1 1 v)\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\n    Clone at x: [360] y: [0]\nelse\nend\nset [x v] to [-99999]\n\ndefine Position x: (x) y: (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\nwhen I receive [green flag 🏳 v]\nhide\n\n