Jumper | scrolling platformer

Instructions: Jumper | scrolling platformer\n----------------------------------------------------------\nIn this game the goal is to pass the game about the end, you control the player. More:\n\nRed block - they kill you\nYellow block - trampoline\nBlue block - the end\n\n- controls -\nW or / \ - jump\nA or <- left movement\nD or> - right movement\nclick on the player - change the color\n\nview history:\n2/26/22: 155\n2/28/22: 660\n3/2/22: 1322\n3/8/22: 2069\n3/11/22: 2113\n3/25/22: 2160\n---\n\n\n\n\n\nupates:\nv1.0 More obstacles\nV1.2 Several bugs fixed\nv2.0 Checkpoints added\nv2.2 More obstacles\n

@Stage\n\nwhen flag clicked\nforever\n    play sound [Naron - Imagination \(Inspired By Alan Walker\) \[NCN Release\] v] until done\nend\n\n@P\n\nwhen flag clicked\nforever\n    if <touching color (#ff0000)?> then\n        broadcast (1 v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching color (#fbff00)?> then\n        broadcast (2 v)\n    end\nend\n\nwhen I receive [4 v]\n\nset x to (10)\n\nwhen I receive [5 v]\n\nset x to (-10)\n\nwhen flag clicked\ngo to [front v] layer\ngo to x: (0) y: (0)\n\nwhen flag clicked\nforever\n    if <touching color (#00a9ff)?> then\n        broadcast (6 v)\n    end\nend\n\nwhen this sprite clicked\nchange [color v] effect by (25)\n\nwhen flag clicked\n\nwhen I receive [3 v]\nrepeat (10)\n    change y by (2)\nend\nrepeat (10)\n    change y by (-2)\nend\n\nset [ghost v] effect to (100)\n\nwhen flag clicked\nforever\n    if <not <touching color (#00a00d)?>> then\n        broadcast (1 v)\n    end\nend\n\n@PL\n\nwhen flag clicked\nset [jump v] to [1]\ngo to x: (6900) y: (0)\nrepeat until <touching (p v)?>\n    change y by (10)\nend\nchange y by (-5)\nset [jump v] to [0]\n\nwhen flag clicked\nforever\n    if <<key (space v) pressed?> or <<key (up arrow v) pressed?> or <key (w v) pressed?>>> then\n        wait until <not <<key (space v) pressed?> and <<key (up arrow v) pressed?> and <key (w v) pressed?>>>>\n        broadcast (3 v)\n        set [jump v] to [1]\n        repeat (10)\n            change y by (-10)\n        end\n        repeat (5)\n            change y by (-2)\n        end\n        set [jump v] to [0]\n        wait until <touching (p v)?>\n    end\nend\n\nwhen flag clicked\nforever\n    if <(jump) = [0]> then\n        if <not <touching (p v)?>> then\n            change y by (10)\n            repeat until <not <touching (p v)?>>\n                if <touching (p v)?> then\n                    change y by (-1)\n                end\n            end\n            change y by (2)\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <key (right arrow v) pressed?> then\n        change x by (-7)\n        broadcast (4 v)\n    else\n        if <key (d v) pressed?> then\n            change x by (-7)\n            broadcast (4 v)\n        end\n    end\n    if <key (left arrow v) pressed?> then\n        change x by (7)\n        broadcast (5 v)\n    else\n        if <key (a v) pressed?> then\n            change x by (7)\n            broadcast (5 v)\n        end\n    end\nend\n\nwhen I receive [< v]\nchange x by (10)\n\nwhen I receive [> v]\nchange x by (-10)\n\nwhen I receive [\/ v]\nchange y by (10)\n\nwhen I receive [1 v]\nset [jump v] to [1]\nif <(C) = [0]> then\n    go to x: (6900) y: (0)\nelse\n    if <(C) = [1]> then\n        go to x: (4915) y: (-146)\n    else\n        if <(C) = [2]> then\n            go to x: (3125) y: (-521)\n        else\n            if <(C) = [3]> then\n                go to x: (495) y: (-626)\n            else\n                if <(C) = [4]> then\n                    go to x: (-2950) y: (-562)\n                else\n                    if <(C) = [5]> then\n                        go to x: (-5430) y: (-2054)\n                    else\n                        if <(C) = [6]> then\n                            go to x: (-6300) y: (-457)\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\nrepeat until <touching (p v)?>\n    change y by (10)\nend\nchange y by (-5)\nset [jump v] to [0]\n\nwhen I receive [2 v]\nset [jump v] to [1]\nrepeat (20)\n    change y by (-10)\nend\nrepeat (5)\n    change y by (-2)\nend\nset [jump v] to [0]\nwait until <touching (p v)?>\n\nwhen flag clicked\nset [c v] to [0]\nwait until <(x position) < [4915]>\nset [c v] to [1]\nwait until <(x position) < [3125]>\nset [c v] to [2]\nwait until <(x position) < [495]>\nset [c v] to [3]\nwait until <(x position) < [-2950]>\nset [c v] to [4]\nwait until <(x position) < [-5430]>\nset [c v] to [5]\nwait until <(x position) < [-6300]>\nset [c v] to [6]\n\ngo to x: (-5430) y: (-2054)\n\n@WD1\n\nwhen flag clicked\nset [ghost v] effect to (100)\nforever\n    go to (p v)\n    if <touching (pl v)?> then\n        broadcast (> v)\n    end\nend\n\n@WD2\n\nwhen flag clicked\nset [ghost v] effect to (100)\nforever\n    go to (p v)\n    if <touching (pl v)?> then\n        broadcast (< v)\n    end\nend\n\n@WD3\n\nwhen flag clicked\nset [ghost v] effect to (100)\nforever\n    go to (p v)\n    if <touching (pl v)?> then\n        broadcast (\/ v)\n    end\nend\n\n@Lik6\n\nwhen flag clicked\nhide\nforever\n    go to [front v] layer\nend\n\nwhen I receive [6 v]\nshow\n\n@Lik7\n\nwhen flag clicked\nset [ghost v] effect to (100)\nshow\nforever\n    go to [front v] layer\nend\n\n@Lik8\n\nwhen flag clicked\nhide\n\ngo to [front v] layer\nshow\ngo to x: (0) y: (10)\n\nwhen I receive [3 v]\nrepeat (10)\n    change y by (2)\nend\nrepeat (10)\n    change y by (-2)\nend\n\n@PL2\n\nwhen flag clicked\nforever\n    go to (pl v)\nend\n\n