Red Platformer 

Instructions: <==============Red Platformer==============>\nWelcome to Red Platformer!\nThis is my first game on Scratch.\nIf you like it, make sure you leave a Love or Favourite or follow.Check out: \nhttps://scratch.mit.edu/projects/331365630/\n<==============   Instruction   ==============>\n-WASD or Cursor keys to move !

@Stage\n\n@Red Cube\n\ndefine platform (moving speed) (gravity) (friction) (jump height) (hm) (vm)\nchange y by (Y Velocity)\nif <touching color (#ff0000)?> then\n    repeat ([abs v] of (Y Velocity) )\n        if <touching color (#ff0000)?> then\n            change y by ((([abs v] of (Y Velocity) ) / (Y Velocity)) * (-1))\n        end\n    end\n    if <<<key (w v) pressed?> or <key (up arrow v) pressed?>> and <not <(Y Velocity) > [0]>>> then\n        set [y velocity v] to (jump height)\n        start sound [Jump v]\n    else\n        set [y velocity v] to [0]\n    end\nelse\n    change [y velocity v] by (gravity)\nend\nif <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n    change [x velocity v] by (moving speed)\nend\nif <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n    change [x velocity v] by ((moving speed) * (-1))\nend\nchange x by (X Velocity)\nif <touching color (#ff0000)?> then\n    set [slope v] to (y position)\n    repeat (([abs v] of (X Velocity) ) + (1))\n        if <touching color (#ff0000)?> then\n            change y by (1)\n        end\n    end\n    if <touching color (#ff0000)?> then\n        set y to (Slope)\n        repeat ([ceiling v] of ([abs v] of (X Velocity) ) )\n            if <touching color (#ff0000)?> then\n                change x by ((-1) * (([abs v] of (X Velocity) ) / (X Velocity)))\n            end\n        end\n    end\n    if <<key (w v) pressed?> or <key (up arrow v) pressed?>> then\n        if <(X Velocity) < [0]> then\n            set [x velocity v] to [0]\n            if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n                set [x velocity v] to (hm)\n                set [y velocity v] to (vm)\n            end\n        else\n            set [x velocity v] to [0]\n            if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n                set [x velocity v] to ((-1) * (hm))\n                set [y velocity v] to (vm)\n            end\n        end\n    end\nend\nset [x velocity v] to ((X Velocity) * (friction))\n\nwhen flag clicked\ngo to x: (-210) y: (-143)\ninit\nset [ghost v] effect to (100)\nwait (4) seconds\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nshow\nforever\n    platform [1] [-1] [0.9] [12] [8] [8]\n    if <touching color (#cd0000)?> then\n        go to x: (-210) y: (-90)\n        set [x velocity v] to [0]\n        set [y velocity v] to [0]\n    end\n    if <touching color (#ff8181)?> then\n        set [y velocity v] to [16]\n    end\n    if <<(x position) > [238]> and <touching (_edge_ v)?>> then\n        change [level v] by (1)\n        set x to (-222)\n    end\n    if <<(y position) < [-173]> and <touching (_edge_ v)?>> then\n        go to x: (-210) y: (-90)\n    end\nend\n\ndefine init\nset [x velocity v] to [0]\nset [y velocity v] to [0]\nset [slope v] to [0]\n\nwhen flag clicked\nforever\n    play sound [Vexento - Pixel Party v] until done\nend\n\n@Red Ground\n\nwhen flag clicked\nswitch costume to (red ground v)\nWait();\nset [level v] to [1]\nforever\n    Level();\nend\n\ndefine Level();\ngo to x: (0) y: (0)\nswitch costume to (Level)\n\ndefine Wait();\nset [ghost v] effect to (100)\nwait (2) seconds\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\n\nset [level v] to [15]\n\n@Intro Helper -- Rain\n\nwhen flag clicked\nforever\n    switch costume to (rain v)\n    repeat until <(timer) > [5]>\n        create clone of (_myself_ v)\n        wait (0.1) seconds\n    end\nend\n\nwhen I start as a clone\nshow\ngo to x: (pick random (230) to (-230)) y: (180)\nset size to (pick random (70) to (100)) %\nset [ghost v] effect to (0)\nrepeat until <<(y position) < [-173]> and <touching (_edge_ v)?>>\n    change y by ((size) / (-16))\n    change [ghost v] effect by (2)\nend\ndelete this clone\n\n@Intro\n\nwhen flag clicked\ninitialize();\nClone();\n\nwhen I start as a clone\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\n\ndefine initialize();\nshow\ngo to x: (0) y: (0)\npoint in direction (90)\nset [ghost v] effect to (100)\nswitch costume to (intro v)\nset size to (300) %\n\ndefine Clone();\nrepeat (8)\n    create clone of (_myself_ v)\n    next costume\n    wait (0.2) seconds\nend\n\nwhen I start as a clone\nwait (2.5) seconds\nrepeat (20)\n    turn right (10) degrees\n    move (7) steps\n    change [ghost v] effect by (5)\n    change size by (10)\nend\ndelete this clone\n\n@Instruction\n\nwhen flag clicked\nswitch costume to (instruction v)\nhide\nwait (4) seconds\nshow\nset [ghost v] effect to (100)\nforever\n    repeat (10)\n        change [ghost v] effect by (-10)\n    end\n    wait (0.1) seconds\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\nend\n\nwhen flag clicked\nwait (4) seconds\nforever\n    switch costume to (Level)\n    if <not <<(Level) = [1]> or <<<(Level) = [2]> or <(Level) = [3]>> or <(Level) = [4]>>>> then\n        hide\n        stop [this script v]\n    end\nend\n\n@Thumbnail\n\nwhen flag clicked\nforever\n    set size to (100) %\n    set [ghost v] effect to (100)\nend\n\n