Terraria Platformer

Instructions: arrow keys to move\nthis is a fan game of terraria, which is a pixelated 2d action adventure sandbox game\ntheir is a weird wall glitch i don´t know how to fix i´m also a little lazy please heart and star and follow 

@Stage\n\nwhen flag clicked\nswitch backdrop to (night sky v)\nforever\n    if <<(vy) > [110]> and <not <(vx) < [-5000]>>> then\n        switch backdrop to ($ \(4\)2 v)\n    else\n        switch backdrop to (night sky v)\n    end\nend\n\n@Sprite1\n\nwhen flag clicked\ngo to [front v] layer\ngo to x: (0) y: (0)\nset [vy v] to [-50]\nset [vx v] to [0]\nforever\n    change [vy v] by (5)\n    if <key (left arrow v) pressed?> then\n        change [vx v] by (5)\n        switch costume to ($ v)\n        if <touching color (#976a4a)?> then\n            change [vx v] by (-5)\n        end\n    end\n    if <key (right arrow v) pressed?> then\n        change [vx v] by (-5)\n        switch costume to ($2 v)\n        if <touching color (#976a4a)?> then\n            change [vx v] by (5)\n        end\n    end\n    if <touching color (#02200a)?> then\n        change [vy v] by (-5)\n    end\n    if <(vy) = [1000]> then\n        set [vx v] to [0]\n        set [vy v] to [-50]\n    end\n    if <touching color (#d1d68a)?> then\n        set [vx v] to [0]\n        set [vy v] to [-50]\n    end\n    if <touching color (#153f1d)?> then\n        set [vx v] to [0]\n        set [vy v] to [-50]\n    end\n    if <touching color (#fd7e02)?> then\n        set [vx v] to [0]\n        set [vy v] to [-50]\n    end\n    if <touching color (#177fba)?> then\n        set [vx v] to [0]\n        set [vy v] to [-50]\n    end\n    if <touching color (#dc1c1c)?> then\n        set [vx v] to [0]\n        set [vy v] to [-50]\n    end\n    if <touching color (#dc1c1c)?> then\n        set [vx v] to [0]\n        set [vy v] to [-50]\n    end\n    if <touching color (#4d2f99)?> then\n        set [vx v] to [-5050]\n        set [vy v] to [340]\n    end\n    if <touching color (#c8ffff)?> then\n        set [vx v] to [-5070]\n        set [vy v] to [-750]\n    end\n    if <touching color (#fff200)?> then\n        set [vx v] to [-5050]\n    end\nend\n\nwhen flag clicked\nforever\n    if <key (up arrow v) pressed?> then\n        if <touching color (#02200a)?> then\n            repeat (10)\n                change [vy v] by (-20)\n            end\n        end\n    end\nend\n\n@Sprite2\n\nwhen flag clicked\nforever\n    go to x: ((vx) + ((480) * (0))) y: ((vy) + ((360) * (0)))\nend\n\n@Sprite3\n\nwhen flag clicked\nforever\n    go to x: ((vx) + ((480) * (1))) y: ((vy) + ((360) * (0)))\n    set [vy2 v] to (y position)\nend\n\n@$ (2)\n\nwhen flag clicked\nforever\n    go to x: ((vx) + ((480) * (vx2))) y: ((vy2) + (23))\nend\n\nwhen flag clicked\nset [vx2 v] to [1.5]\nforever\n    switch costume to ($ \(2\) v)\n    repeat (200)\n        change [vx2 v] by (-.005)\n        wait (0) seconds\n    end\n    switch costume to ($ \(2\)2 v)\n    repeat (200)\n        change [vx2 v] by (.005)\n        wait (0) seconds\n    end\nend\n\n@Sprite4\n\nwhen flag clicked\nshow\ngo to x: (0) y: (0)\n\nhide\n\n@Sprite5\n\nwhen flag clicked\nforever\n    go to x: ((vx) + ((480) * (2))) y: ((vy) + ((360) * (0)))\nend\n\n@$ (2)2\n\nwhen flag clicked\nset [vx2 v] to [2.5]\nset [slime_y v] to [7]\nforever\n    repeat (5)\n        repeat (20)\n            change [slime_y v] by (5)\n            change [vx2 v] by (-.005)\n            wait (0) seconds\n        end\n        repeat (20)\n            change [slime_y v] by (-5)\n            change [vx2 v] by (-.005)\n            wait (0) seconds\n        end\n        wait (1) seconds\n    end\n    wait (1) seconds\n    repeat (5)\n        repeat (20)\n            change [slime_y v] by (5)\n            change [vx2 v] by (.005)\n            wait (0) seconds\n        end\n        repeat (20)\n            change [slime_y v] by (-5)\n            change [vx2 v] by (.005)\n            wait (0) seconds\n        end\n        wait (1) seconds\n    end\n    wait (1) seconds\nend\n\nwhen flag clicked\nbroadcast (message1 v)\nforever\n    go to x: ((vx) + ((480) * (vx2))) y: ((vy2) + (slime_y))\nend\n\nwhen flag clicked\nforever\n    next costume\n    wait (0) seconds\nend\n\nset [my variable v] to [5]\n\nset [my variable v] to [-5]\n\nset [my variable v] to [5]\n\nset [my variable v] to [-5]\n\n@Sprite6\n\nwhen flag clicked\nforever\n    go to x: ((vx) + ((480) * (3))) y: ((vy) + ((360) * (0)))\nend\n\n@$ (2)3\n\nwhen flag clicked\nset [vx2 v] to [3.5]\nset [slime_y v] to [7]\nforever\n    repeat (5)\n        repeat (20)\n            change [slime_y v] by (5)\n            change [vx2 v] by (-.005)\n            wait (0) seconds\n        end\n        repeat (20)\n            change [slime_y v] by (-5)\n            change [vx2 v] by (-.005)\n            wait (0) seconds\n        end\n        wait (1) seconds\n    end\n    repeat (5)\n        repeat (20)\n            change [slime_y v] by (5)\n            change [vx2 v] by (.005)\n            wait (0) seconds\n        end\n        repeat (20)\n            change [slime_y v] by (-5)\n            change [vx2 v] by (.005)\n            wait (0) seconds\n        end\n        wait (1) seconds\n    end\nend\n\nwhen flag clicked\nbroadcast (message1 v)\nforever\n    go to x: ((vx) + ((480) * (vx2))) y: ((vy2) + (slime_y))\nend\n\nwhen flag clicked\nforever\n    next costume\n    wait (0) seconds\nend\n\nset [my variable v] to [5]\n\nset [my variable v] to [-5]\n\nset [my variable v] to [5]\n\nset [my variable v] to [-5]\n\n@$ (2)4\n\nwhen flag clicked\nhide\nwait (2) seconds\nshow\nset [vx2 v] to [3.5]\nset [slime_y v] to [7]\nforever\n    repeat (5)\n        repeat (20)\n            change [slime_y v] by (5)\n            change [vx2 v] by (-.005)\n            wait (0) seconds\n        end\n        repeat (20)\n            change [slime_y v] by (-5)\n            change [vx2 v] by (-.005)\n            wait (0) seconds\n        end\n    end\n    wait (1) seconds\n    repeat (5)\n        repeat (20)\n            change [slime_y v] by (5)\n            change [vx2 v] by (.005)\n            wait (0) seconds\n        end\n        repeat (20)\n            change [slime_y v] by (-5)\n            change [vx2 v] by (.005)\n            wait (0) seconds\n        end\n    end\n    wait (1) seconds\nend\n\nwhen flag clicked\nforever\n    next costume\n    wait (0) seconds\nend\n\nset [my variable v] to [5]\n\nset [my variable v] to [-5]\n\nset [my variable v] to [5]\n\nset [my variable v] to [-5]\n\nwhen flag clicked\nbroadcast (message1 v)\nforever\n    go to x: ((vx) + ((480) * (vx2))) y: ((vy2) + (slime_y))\nend\n\n@$ (2)5\n\nwhen flag clicked\nhide\nwait (4) seconds\nshow\nset [vx2 v] to [3.5]\nforever\n    switch costume to ($ \(2\) v)\n    repeat (200)\n        change [vx2 v] by (-.005)\n        wait (0) seconds\n    end\n    switch costume to ($ \(2\)2 v)\n    repeat (200)\n        change [vx2 v] by (.005)\n        wait (0) seconds\n    end\nend\n\nwhen flag clicked\nforever\n    go to x: ((vx) + ((480) * (vx2))) y: ((vy2) + (23))\nend\n\n@Sprite7\n\nwhen flag clicked\nforever\n    go to x: ((vx) + ((480) * (4))) y: ((vy) + ((360) * (0)))\nend\n\n@Sprite8\n\nwhen flag clicked\nforever\n    go to x: ((vx) + ((480) * (4))) y: ((vy) + ((360) * (-1)))\nend\n\n@Sprite9\n\nwhen flag clicked\nforever\n    go to x: ((vx) + ((480) * (5))) y: ((vy) + ((360) * (-1)))\nend\n\n@Sprite10\n\nwhen flag clicked\nforever\n    go to x: ((vx) + ((480) * (6))) y: ((vy) + ((360) * (-1)))\nend\n\n@Sprite11\n\nwhen flag clicked\nforever\n    go to x: ((vx) + ((480) * (7))) y: ((vy) + ((360) * (-1)))\nend\n\n@Sprite12\n\nwhen flag clicked\nforever\n    go to x: ((vx) + ((480) * (8))) y: ((vy) + ((360) * (-1)))\n    next costume\nend\n\n@Sprite13\n\nwhen flag clicked\nforever\n    go to x: ((vx) + ((480) * (11))) y: ((vy) + ((360) * (-1)))\nend\n\n@$ (2)6\n\nwhen flag clicked\nforever\n    go to x: ((vx) + ((480) * (vx2))) y: ((vy2) + (-290))\nend\n\nwhen flag clicked\nset [vx2 v] to [11.5]\nforever\n    switch costume to ($ \(5\) v)\n    repeat (200)\n        change [vx2 v] by (-.005)\n        wait (0) seconds\n    end\n    switch costume to ($ \(5\)2 v)\n    repeat (200)\n        change [vx2 v] by (.005)\n        wait (0) seconds\n    end\nend\n\n@$ (2)7\n\nwhen flag clicked\nforever\n    go to x: ((vx) + ((480) * (vx2))) y: ((vy2) + (-340))\nend\n\nwhen flag clicked\nhide\nwait (2) seconds\nshow\nset [vx2 v] to [11.5]\nforever\n    switch costume to ($ \(2\) v)\n    repeat (200)\n        change [vx2 v] by (-.005)\n        wait (0) seconds\n    end\n    switch costume to ($ \(2\)2 v)\n    repeat (200)\n        change [vx2 v] by (.005)\n        wait (0) seconds\n    end\nend\n\n@Sprite14\n\nwhen flag clicked\nforever\n    go to x: ((vx) + ((480) * (12))) y: ((vy) + ((360) * (-1)))\nend\n\n@Sprite15\n\nwhen flag clicked\nforever\n    go to x: ((vx) + ((480) * (11))) y: ((vy) + ((360) * (2)))\nend\n\n@Sprite16\n\nwhen flag clicked\nforever\n    go to x: ((vx) + ((480) * (10))) y: ((vy) + ((360) * (2)))\nend\n\n@Sprite17\n\nwhen flag clicked\nforever\n    go to x: ((vx) + ((480) * (12))) y: ((vy) + ((360) * (2)))\nend\n\n@Sprite18\n\nwhen flag clicked\nhide\n\nshow\n\n