All Upside-down (A Platformer)

Instructions: ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\nDouble click the green flag when you start or restart.\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n-Arrow keys or wasd keys to move\n-Don't  touch red/lava\n-R to reset\n-O skips a level\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\nThere are 15 levels some harder than others but none too hard. I know its short but i just needed to get a project out. Haven't shared a project in a long time.\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n100 views ✔️      5 Loves   ✔️      5 Faves   ✔️\n200 views ✔️      10 Loves ✔️      10 Faves ✔️\n300 views ✔️      20 Loves ✔️      20 Faves ✔️\n400 views ✔️      30 Loves ✔️      30 Faves ✔️\n500 views ✔️      40 Loves ✔️      40 Faves ✔️\n600 views ✔️      50 Loves ✔️      50 Faves ✔️\n700 views ✔️      60 Loves ✔️      60 Faves ✔️\n800 views ✔️      70 Loves ✔️      70 Faves ✔️\n900 views ✔️      80 Loves ✔️      80 Faves\n1k views   ✔️      90 Loves            90 Faves \n1.5k view  ✔️      100 Loves          100 Faves \n2k views   ✔️       150 Loves          150 Faves \n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

@Stage\n\nwhen I receive [littt v]\nwait (0.2) seconds\nnext backdrop\n\n@Sprite3\n\nwhen flag clicked\nhide\n\nshow\nbroadcast (hide v)\nhide variable [level v]\n\n@Level\n\nwhen flag clicked\nswitch costume to (level 1 v)\ngo to x: (0) y: (0)\nset rotation style [all around v]\npoint in direction (90)\nshow\n\nwhen I receive [hide v]\nhide\n\nwhen I receive [next lvl v]\nnext costume\nchange [level v] by (1)\n\nwhen flag clicked\nset [level v] to [1]\nforever\n    if <(costume [number v]) = [16]> then\n        broadcast (End v)\n    end\nend\n\nswitch costume to (level 15 v)\n\nwhen I receive [end v]\nstop [other scripts in sprite v]\n\nset [level v] to [15]\n\nhide variable [level v]\n\n@Dude\n\ndefine ghost effect\nset [ghost v] effect to (100)\nrepeat (20)\n    change [ghost v] effect by (-5)\nend\n\nwhen I receive [start v]\ngo to x: (-195) y: (84)\nset size to (60) %\nset [x v v] to [0]\nset [y v v] to [0]\ngo to [front v] layer\nshow\nghost effect\nforever\n    change [y v v] by (0.5)\n    if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n        change [x v v] by (-0.7)\n    end\n    if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n        change [x v v] by (0.7)\n    end\n    set [x v v] to ((x v) * (0.9))\n    change x by (x v)\n    if <<<touching color (#000000)?> or <touching color (#000000)?>> or <(y position) > [163]>> then\n        change y by (-1)\n        if <<<touching color (#000000)?> or <touching color (#000000)?>> or <(y position) > [163]>> then\n            change y by (-1)\n        end\n        if <<<touching color (#000000)?> or <touching color (#000000)?>> or <(y position) > [163]>> then\n            change y by (-1)\n        end\n        if <<<touching color (#000000)?> or <touching color (#000000)?>> or <(y position) > [163]>> then\n            change y by (-1)\n        end\n        if <<<touching color (#000000)?> or <touching color (#000000)?>> or <(y position) > [163]>> then\n            change y by (-1)\n        end\n        if <<<touching color (#000000)?> or <touching color (#000000)?>> or <(y position) > [163]>> then\n            change y by (-1)\n        end\n        if <<<touching color (#000000)?> or <touching color (#000000)?>> or <(y position) > [163]>> then\n            change y by (6)\n            if <<key (down arrow v) pressed?> or <key (s v) pressed?>> then\n                set [y v v] to [-9]\n                if <(x v) > [0]> then\n                    set [x v v] to [-8]\n                else\n                    set [x v v] to [8]\n                end\n            else\n                change x by ((x v) * (-1))\n                set [x v v] to [0]\n            end\n        end\n    end\n    change y by (y v)\n    if <<<touching color (#000000)?> or <touching color (#000000)?>> or <(y position) > [163]>> then\n        change y by ((y v) * (-1))\n        set [y v v] to [0]\n    end\n    change y by (0.5)\n    if <<<<touching color (#000000)?> or <touching color (#000000)?>> or <(y position) > [163]>> and <<key (down arrow v) pressed?> or <key (s v) pressed?>>> then\n        set [y v v] to [-8]\n    end\n    change y by (-0.5)\n    if <<touching color (#ff0000)?> or <key (r v) pressed?>> then\n        go to x: (-195) y: (84)\n        set [x v v] to [0]\n        set [y v v] to [0]\n        ghost effect\n    end\n    if <<(x position) > [233]> or <key (o v) pressed?>> then\n        broadcast (next lvl v)\n        go to x: (-195) y: (84)\n        set [x v v] to [0]\n        set [y v v] to [0]\n        ghost effect\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [16]> then\n        broadcast (End v)\n    end\nend\n\nwhen I receive [hide v]\nhide\n\nwhen I receive [start v]\nshow variable [level v]\ngo to x: (-195) y: (84)\nshow\n\nwhen flag clicked\nhide variable [level v]\nwait (7.5) seconds\nbroadcast (Start v)\n\n@Intro\n\nwhen flag clicked\nset [finished v] to [0]\nshow\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\ncreate clone of (_myself_ v)\nwait (1) seconds\nswitch costume to (background v)\nset [ghost v] effect to (100)\nwait (3) seconds\nrepeat (20)\n    change [ghost v] effect by (-5)\nend\ncreate clone of (_myself_ v)\nwait (1) seconds\nswitch costume to (convivial v)\ngo to x: (0) y: (1000)\nrepeat (15)\n    change y by (((0) - (y position)) * (0.3))\nend\ngo to x: (0) y: (0)\ncreate clone of (_myself_ v)\nstart sound [Sword Slash - Sound Effect \[HD\] v]\nswitch costume to (gloss v)\ngo to x: (-1000) y: (0)\nrepeat (15)\n    change x by (((0) - (x position)) * (0.3))\nend\ngo to x: (0) y: (0)\ncreate clone of (_myself_ v)\nhide\nset [finished v] to [1]\n\nwhen I start as a clone\nforever\n    if <(Finished) = [1]> then\n        repeat until <(y position) > [344]>\n            change y by (((345) - (y position)) * (0.3))\n            change [ghost v] effect by (11)\n        end\n        delete this clone\n    end\nend\n\n