V1.5 Platformer (100% chill)

Instructions: Use WASD or arrow keys! If you R stuck then press R\n Or now just press space, point the opposite direction, then jump all at the same time to shoot out of the wall!\nDon't toucha red! It is Hot!\nSECOND GAME IS HERE!!: https://scratch.mit.edu/projects/247213670/ \n\nPlay in turbo mode for a extra challenge!!!\nCan you complete this clallenge:\n\nV1: relese. \nV1.1: added a var(able) which shows us how many of you guys beat this ;D\nV1.2: eyy i fixed the issue of getting stuck and wall jumping is not a possibility right now. :D\nV1.3: final update? new section added!\nV1.3: final update. new section added!\nv1.5: SPIKES WORK CONSISTENTLY.\n\n\n"master pencil" has actually animated Speed Cube! (it took 4 hours lol) If you're not familiar with the first one of speedcube's first adventure, play here! \nhttps://scratch.mit.edu/projects/240954097/\n\nMaster pencil's appearance/ secound game!: https://scratch.mit.edu/projects/243800076/\n\nA lame speed cube game: \nhttps://scratch.mit.edu/projects/242021729/\n\nSO... MANY... VEIWS...

@Stage\n\nwhen flag clicked\nbroadcast (Engine_Start v)\n\n@player\n\nwait (0.1) seconds\n\nset [playerx v] to [0]\n\nbroadcast (Engine_Tick v) and wait\n\nwhen I receive [engine_start v]\nshow\npoint in direction (90)\ngo to x: (0) y: (180)\nset rotation style [left-right v]\ngo to [front v] layer\nset size to (80) %\nset [playerx v] to [0]\nset [playery v] to [-3]\nforever\n    switch costume to (hitbox v)\n    change [playery v] by (-1)\n    if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n        point in direction (-90)\n        change [playerx v] by (-1)\n    end\n    if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n        point in direction (90)\n        change [playerx v] by (1)\n    end\n    set [playerx v] to ((PlayerX) * (0.9))\n    if <touching (ground v)?> then\n        set [playery v] to [0]\n        change y by (1)\n    end\n    if <touching (ground v)?> then\n        set [playery v] to [0]\n        change y by (1)\n    end\n    if <touching (ground v)?> then\n        set [playery v] to [0]\n        change y by (1)\n    end\n    if <touching (ground v)?> then\n        set [playery v] to [0]\n        change y by (1)\n    end\n    if <touching (ground v)?> then\n        change y by (-4)\n        if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n            set [playery v] to [0]\n            if <([abs v] of (PlayerX) ) = (PlayerX)> then\n                set [playerx v] to ((PlayerX) * (-1.3))\n                broadcast (YEEE v)\n                set [playery v] to [0]\n            else\n                set [playerx v] to ((PlayerX) * (-1.3))\n                broadcast (YEEE v)\n                set [playery v] to [0]\n            end\n        else\n            set [playerx v] to ((PlayerX) * (-1.3))\n            broadcast (YEEE v)\n            set [playery v] to [0]\n        end\n    end\n    change y by (PlayerY)\n    if <touching (ground v)?> then\n        change y by ((PlayerY) - ((PlayerY) * (2)))\n        set [playery v] to [0]\n    end\n    change y by (-1)\n    if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> and <touching (ground v)?>> then\n        set [playery v] to [15]\n    end\n    change y by (1)\n    set x to (0)\n    set [all sprite v] to (PlayerX)\n    if <<<<touching (_edge_ v)?> and <[-10] > (y position)>> or <key (r v) pressed?>> or <touching color (#ff0000)?>> then\n        switch costume to (stand v)\n        wait until <not <key (r v) pressed?>>\n        set [playerx v] to [0]\n        set [playery v] to [0]\n        set [all sprite v] to [-420]\n        set y to (165)\n        point in direction (90)\n        broadcast (YEET v)\n    end\n    broadcast (Engine_Tick v) and wait\nend\n\nwhen I receive [yeet v]\nwait (0.1) seconds\nrepeat until <not <touching (ground v)?>>\n    change y by (-10)\nend\n\nset [playery v] to [0]\n\nwhen [space v] key pressed\nwait (0.1) seconds\nrepeat until <not <touching (ground v)?>>\n    move (-10) steps\nend\n\nbroadcast (YEET v) and wait\n\nwhen I receive [engine_tick v]\nif <not <touching (ground v)?>> then\n    set [stuck? v] to [no]\nend\nif <(Stuck?) = [yes]> then\nend\n\nwait (0.1) seconds\n\nwhen I receive [engine_tick v]\nswitch costume to (PlayerLastC)\nif <(PlayerY) > [0]> then\n    switch costume to (jump v)\nelse\n    if <(PlayerY) < [0]> then\n        switch costume to (fall v)\n    else\n        if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<key (right arrow v) pressed?> or <key (d v) pressed?>>> then\n            if <<[1] < (costume [number v])> and <[9] > (costume [number v])>> then\n                next costume\n            else\n                switch costume to (walk1 v)\n            end\n        else\n            switch costume to (stand v)\n        end\n    end\nend\nset [playerlastc v] to (costume [number v])\n\nset [playerx v] to [-10]\n\nchange x by (10)\n\nset [playerx v] to [yes]\n\nset [playerx v] to [-10]\nset [playery v] to [0]\nset [stuck? v] to [no]\n\nset [stuck? v] to [no]\nset [playerx v] to [10]\nset [playery v] to [0]\n\nwait (0.1) seconds\n\nwhen I receive [yeee v]\nset [playery v] to [0]\n\npoint towards (mouse-pointer v)\n\nturn right (15) degrees\n\nwhen I receive [engine_tick v]\nif <(backdrop [name v]) = [Stars]> then\n    change [playery v] by (0.5)\nend\n\nmove (10) steps\nturn right (15) degrees\nmove (10) steps\n\n@Ground\n\nwhen I receive [engine_start v]\nhide variable [☁ # of time beat globaly v]\nset [positionx v] to [0]\nset [scrollx v] to [0]\nswitch costume to (ground v)\nset [numberofparts v] to [22]\nrepeat ((NumberOfParts) - (1))\n    create clone of (_myself_ v)\n    next costume\n    change [positionx v] by (479)\nend\n\nwhen I receive [engine_tick v]\nset [scrollx v] to ((ScrollX) + (ALL SPRITE))\nif <(ScrollX) < [0]> then\n    set [scrollx v] to [0]\nend\ngo to x: ((PositionX) - (ScrollX)) y: (0)\n\nwhen flag clicked\n\nwhen I receive [engine_tick v]\nswitch backdrop to (blue sky3 v)\nif <[1190] > (ScrollX)> then\n    switch backdrop to (blue sky3 v)\nend\nif <[1190] < (ScrollX)> then\n    switch backdrop to (blue sky2 v)\nend\nif <[3060] < (ScrollX)> then\n    switch backdrop to (blue sky3 v)\nend\nif <[5180] < (ScrollX)> then\n    switch backdrop to (backdrop1 v)\nend\nif <[8400] < (ScrollX)> then\n    switch backdrop to (stars v)\nend\n\nset [numberofparts v] to [8]\n\nwhen I receive [u win v]\nswitch costume to (ground v)\n\nwhen flag clicked\nwait until <[3060] < (ScrollX)>\n\nswitch backdrop to (blue sky3 v)\nif <(username) = [DOODDOODDOOD]> then\n    change [☁ people who beat this: v] by (-1)\nend\nshow variable [☁ # of time beat globaly v]\nchange [☁ # of time beat globaly v] by (1)\n\n@no clip tings\n\nwhen I receive [engine_start v]\nset [positionx v] to [0]\nset [scrollx v] to [0]\nswitch costume to (costume1 v)\nset [numberofparts v] to [12]\nrepeat ((NumberOfParts) - (1))\n    go [backward v] (999) layers\n    create clone of (_myself_ v)\n    next costume\n    change [positionx v] by (479)\nend\n\nwhen I receive [engine_tick v]\ngo [backward v] (1) layers\nset [scrollx v] to ((ScrollX) + (ALL SPRITE))\nif <(ScrollX) < [0]> then\n    set [scrollx v] to [0]\nend\ngo to x: ((PositionX) - (ScrollX)) y: (0)\n\nset [scrollx v] to [2]\n\n@thumbnail\n\nwhen flag clicked\nhide variable [☁ # of time beat globaly v]\nhide\ngo to x: (0) y: (0)\nwait (0.01) seconds\nset [ghost v] effect to (100)\nshow\nrepeat (10)\n    wait (0.01) seconds\n    go to [front v] layer\nend\nwait (5) seconds\nhide variable [☁ # of time beat globaly v]\n\n@RAndom things\n\nwhen flag clicked\nhide\n\n@Sprite1\n\nwhen I receive [engine_start v]\nwait (0.01) seconds\ngo to x: (0) y: (0)\ngo to [front v] layer\nshow\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\n\n@Ground2\n\nwhen I receive [engine_start v]\nhide variable [☁ # of time beat globaly v]\nset [positionx v] to [0]\nset [scrollx v] to [0]\nswitch costume to (ground v)\nset [numberofparts v] to [22]\nrepeat ((NumberOfParts) - (1))\n    create clone of (_myself_ v)\n    next costume\n    change [positionx v] by (479)\nend\n\nwhen I receive [engine_tick v]\nset [scrollx v] to ((ScrollX) + (ALL SPRITE))\nif <(ScrollX) < [0]> then\n    set [scrollx v] to [0]\nend\ngo to x: ((PositionX) - (ScrollX)) y: (0)\n\nwhen flag clicked\n\nwhen I receive [engine_tick v]\nswitch backdrop to (blue sky3 v)\nif <[1190] > (ScrollX)> then\n    switch backdrop to (blue sky3 v)\nend\nif <[1190] < (ScrollX)> then\n    switch backdrop to (blue sky2 v)\nend\nif <[3060] < (ScrollX)> then\n    switch backdrop to (blue sky3 v)\nend\nif <[5180] < (ScrollX)> then\n    switch backdrop to (backdrop1 v)\nend\nif <[8400] < (ScrollX)> then\n    switch backdrop to (stars v)\nend\n\nset [numberofparts v] to [8]\n\nwhen I receive [u win v]\nswitch costume to (ground v)\n\nwhen flag clicked\nwait until <[3060] < (ScrollX)>\n\nswitch backdrop to (blue sky3 v)\nif <(username) = [DOODDOODDOOD]> then\n    change [☁ people who beat this: v] by (-1)\nend\nshow variable [☁ # of time beat globaly v]\nchange [☁ # of time beat globaly v] by (1)\n\n