Underwater platformer

Instructions:                      ⭐Platformer Engine⭐\nIt is a platformer engine :)\n-WASD or Arrow Keys To Move.\n-Up Arrow To Jump.\n-Don't Touch Spikes.\n-You Can Wall Jump.\nRemix:✅\n-WASD키나 화살표키로 움직이세요.\n-위쪽 화살표키로 점프하세요.\n-가시에 닿지 마세요.\n-벽을 뛰어넘을 수 있습니다.\nRemix:✅

@Stage\n\nwhen flag clicked\nswitch backdrop to (sky v)\nforever\n    play sound [y2meta v] until done\nend\n\nwhen flag clicked\nbroadcast (E v)\n\n@player\n\ndefine Slow Down\nchange [xv v] by ((Xv) * (-0.08))\n\nwhen I start as a clone\nswitch costume to (4 v)\nrepeat (10)\n    change [ghost v] effect by (15)\n    change size by (-1.5)\nend\ndelete this clone\n\nwhen I receive [game v]\nforever\n    if <<[240] < (x position)> and <(Dead) = [0]>> then\n        broadcast (NAXT LEVEL v)\n        change [level v] by (1)\n        reset\n    end\nend\n\ndefine Dead\nset [dead v] to [1]\nrepeat (25)\n    change [ghost v] effect by (4)\nend\nreset\n\ndefine reset\nclear graphic effects\npoint in direction (90)\ngo to x: (-200) y: (30)\nswitch costume to (player1 v)\nset [dead v] to [0]\nset [xv v] to [0]\nset [yv v] to [0]\nset size to (20) %\nshow\n\ndefine Start\nset [dead v] to [0]\nset [level v] to [1]\nset size to (20) %\nreset\nforever\n    create clone of (_myself_ v)\n    if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        switch costume to (player1 v)\n        change [xv v] by (1)\n    end\n    if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> then\n        switch costume to (player2 v)\n        change [xv v] by (-1)\n    end\n    Slow Down\n    set [xv v] to ((Xv) * (1))\n    change x by (Xv)\n    if <touching (ground v)?> then\n        change y by (2)\n        if <touching (ground v)?> then\n            change y by (2)\n            if <touching (ground v)?> then\n                change y by (2)\n                if <touching (ground v)?> then\n                    change y by (2)\n                    if <touching (ground v)?> then\n                        change y by (2)\n                        if <touching (ground v)?> then\n                            change x by ((Xv) * (-2))\n                            change y by (-5)\n                            if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > ((y position) + (10))>>>> then\n                                if <(Xv) > [0]> then\n                                    set [xv v] to [-5]\n                                else\n                                    set [xv v] to [5]\n                                end\n                                set [yv v] to [13]\n                            else\n                                set [xv v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [yv v] by (-0.8)\n    change y by (Yv)\n    if <touching (ground v)?> then\n        change y by ((Yv) * (-1))\n        set [yv v] to [0]\n    end\n    change y by (-1)\n    if <touching (ground v)?> then\n        if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>>> then\n            set [yv v] to [12]\n        end\n    end\n    change y by (1)\n    if <<touching (spike v)?> or <touching (lava v)?>> then\n        Dead\n    end\n    if <(y position) < [-170]> then\n        Dead\n    end\nend\n\nwhen flag clicked\nbroadcast (game v)\nStart\n\nwhen backdrop switches to [dave-jo v]\nhide\n\n@ground\n\nwhen flag clicked\n\nwhen backdrop switches to [sky v]\ngo to [front v] layer\nshow\nforever\n    switch costume to (Level)\nend\n\nwhen I receive [e v]\ngo [backward v] (1) layers\n\n@spike\n\nwhen flag clicked\ngo to [back v] layer\nshow\nforever\n    switch costume to (Level)\nend\n\nhide\n\n@Sprite1\n\nwhen flag clicked\ngo to [front v] layer\npoint in direction (90)\nrepeat (20)\n    change [ghost v] effect by (5)\nend\n\nwhen backdrop switches to [sky v]\ngo to [front v] layer\n\n