Hacked- A Mobile Friendly Platformer

Instructions: Double-click green flag\nArrow keys, WASD, or mobile to move\nR or restart button to restart\nSkip button to skip a level, but you can only skip 2 times\n20 levels\nIf you can't see the stick person's body, use fullscreen\nThe platforms are supposed to be hard to see in some levels\nNo ads

@Stage\n\n@Stickman \n\nwhen flag clicked\nswitch costume to (walk1 v)\nshow\nclear graphic effects\ngo to [front v] layer\ngo [backward v] (1) layers\nforever\n    if <not <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>>> then\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 (walk1 v)\n            wait (0.05) seconds\n            switch costume to (walk2 v)\n            wait (0.05) seconds\n            switch costume to (walk3 v)\n            wait (0.05) seconds\n            switch costume to (walk4 v)\n            wait (0.05) seconds\n            switch costume to (walk5 v)\n            wait (0.05) seconds\n            switch costume to (walk6 v)\n            wait (0.05) seconds\n            switch costume to (walk7 v)\n            wait (0.05) seconds\n            switch costume to (walk8 v)\n            wait (0.05) seconds\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 (costume1 v)\n            wait (0.05) seconds\n            switch costume to (costume2 v)\n            wait (0.05) seconds\n            switch costume to (costume3 v)\n            wait (0.05) seconds\n            switch costume to (costume4 v)\n            wait (0.05) seconds\n            switch costume to (costume5 v)\n            wait (0.05) seconds\n            switch costume to (costume6 v)\n            wait (0.05) seconds\n            switch costume to (costume7 v)\n            wait (0.05) seconds\n            switch costume to (costume8 v)\n            wait (0.05) seconds\n        end\n    end\n    if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>> then\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 (walk1 v)\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 (costume1 v)\n        end\n    end\nend\n\nwhen I receive [next level v]\nhide\nwait (0.2) seconds\nshow\n\nwhen I receive [done v]\nhide\n\nwhen flag clicked\nforever\n    go to (hitbox v)\nend\n\nwhen I receive [restart v]\nswitch costume to (walk1 v)\n\nwhen I receive [die v]\nclear graphic effects\nset [pixelate v] effect to (0)\n\nbroadcast (NEXT LEVEL v)\n\n@Hitbox\n\nwhen flag clicked\nforever\n    if  then\n        broadcast (NEXT LEVEL v)\n        set [xv v] to [0]\n        set [yv v] to [0]\n        go to x: (-242) y: (-50)\n        wait (.2) seconds\n        set [xv v] to [0]\n        set [yv v] to [0]\n    end\nend\n\nwhen flag clicked\nset [ghost v] effect to (100)\nset [die? v] to [No]\npoint in direction (90)\nset [yv v] to [0]\nset [xv v] to [0]\nset [level v] to [1]\nswitch costume to (costume1 v)\nshow\ngo to x: (-242) y: (-50)\ngo to [front v] layer\ngo [backward v] (2) layers\nforever\n    set size to (50) %\n    if <<touching (level v)?> or <touching (moving v)?>> then\n        if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>> then\n            set [yv v] to [12]\n        end\n    end\n    change y by (1)\n    if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\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        change [xv v] by (-1)\n    end\n    set [xv v] to ((xv) * (0.88))\n    change x by (xv)\n    if <<touching (level v)?> or <touching (moving v)?>> then\n        change y by (1)\n        if <<touching (level v)?> or <touching (moving v)?>> then\n            change y by (1)\n            if <<touching (level v)?> or <touching (moving v)?>> then\n                change y by (1)\n                if <<touching (level v)?> or <touching (moving v)?>> then\n                    change y by (1)\n                    if <<touching (level v)?> or <touching (moving v)?>> then\n                        change y by (1)\n                        if <<touching (level v)?> or <touching (moving v)?>> then\n                            change x by ((xv) * (-1))\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) + (20))>>> then\n                                if <(xv) > [0]> then\n                                    set [xv v] to [-2]\n                                else\n                                    set [xv v] to [-2]\n                                end\n                                set [yv v] to [-2]\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 (-1)\n    change y by (yv)\n    if <<touching (level v)?> or <touching (moving v)?>> then\n        change y by ((yv) * (-1))\n        set [yv v] to [0]\n    end\n    change y by (-1)\n    if <key (r v) pressed?> then\n        go to x: (-242) y: (-50)\n        set [xv v] to [0]\n        set [yv v] to [0]\n    end\n    if <(Level) = [21]> then\n        broadcast (Done v)\n    end\n    if <<<touching (danger v)?> or <touching (binary code v)?>> or <<(y position) < [-168]> or <(Die?) = [yes]>>> then\n        go to x: (-242) y: (-50)\n        set [die? v] to [No]\n        set [xv v] to [0]\n        set [yv v] to [0]\n    end\n    if <touching (trampoline v)?> then\n        set [yv v] to [15]\n    end\nend\n\nwhen I receive [restart v]\ngo to x: (-242) y: (-50)\nset [xv v] to [0]\nset [yv v] to [0]\n\nwhen I receive [restart v]\ngo to x: (-242) y: (-50)\nset [xv v] to [0]\nset [yv v] to [0]\n\nwhen I receive [next level v]\nset [xv v] to [0]\nset [yv v] to [0]\ngo to x: (-242) y: (-50)\nwait (.2) seconds\nset [xv v] to [0]\nset [yv v] to [0]\n\n@Level\n\nwhen flag clicked\nswitch costume to (1 v)\ngo to [back v] layer\nshow\ngo to x: (36) y: (28)\n\nwhen I receive [next level v]\nnext costume\nchange [level v] by (1)\n\nwhen I receive [done v]\nhide\n\n@Text\n\nwhen flag clicked\nswitch costume to (1 v)\ngo to [back v] layer\ngo [backward v] (3) layers\nshow\ngo to x: (36) y: (28)\nforever\n    switch costume to (Level)\nend\n\nwhen I receive [done v]\nhide\n\n@Danger\n\nwhen flag clicked\nswitch costume to (1 v)\ngo to [front v] layer\ngo [backward v] (3) layers\nshow\ngo to x: (0) y: (0)\nforever\n    switch costume to (Level)\n    if <(Level) = [3]> then\n        go to x: (-20) y: (-85)\n        point in direction (([sin v] of ((timer) * (300)) ) * (20))\n    else\n        go to x: (0) y: (0)\n        point in direction (90)\n    end\nend\n\nwhen I receive [done v]\nhide\n\n@Information\n\nwhen flag clicked\nswitch costume to (1 v)\ngo to [back v] layer\nshow\ngo to x: (0) y: (-90)\nswitch costume to (i v)\nset size to (75) %\nset [clone # v] to [1]\nforever\n    if <(Level) = [2]> then\n        show\n    else\n        hide\n    end\nend\n\nwhen I receive [done v]\nhide\n\nwhen flag clicked\nforever\n    if <touching (stickman  v)?> then\n        repeat until <(Clone #) = [2]>\n            create clone of (_myself_ v)\n            change [clone # v] by (1)\n        end\n    end\nend\n\nwhen I start as a clone\nshow\nswitch costume to (in v)\ngo to x: (0) y: (-90)\nset size to (3) %\nrepeat until <(size) = [75]>\n    change size by (9)\nend\nforever\n    if <not <touching (stickman  v)?>> then\n        repeat until <(size) = [3]>\n            change size by (-9)\n        end\n        hide\n        set [clone # v] to [1]\n        stop [this script v]\n    end\nend\n\n@Text Cursor\n\nwhen flag clicked\nshow\ngo to [front v] layer\ngo [backward v] (2) layers\ngo to x: (-80) y: (81)\nwait (0.1) seconds\nglide (1) secs to x: (50) y: (81)\n\nwhen flag clicked\nforever\n    wait (0.4) seconds\n    switch costume to (1 v)\n    wait (0.4) seconds\n    switch costume to (2 v)\nend\n\nwhen I receive [next level v]\ngo to x: (-80) y: (81)\nwait (0.1) seconds\nif <(Level) = [2]> then\n    glide (2) secs to x: (192) y: (81)\nend\nif <(Level) = [3]> then\n    glide (2) secs to x: (255) y: (81)\nend\nif <(Level) = [4]> then\n    glide (1) secs to x: (95) y: (81)\nend\nif <(Level) = [5]> then\n    glide (1.5) secs to x: (155) y: (81)\nend\nif <(Level) = [6]> then\n    glide (1.5) secs to x: (160) y: (81)\nend\nif <(Level) = [7]> then\n    glide (0.2) secs to x: (-60) y: (81)\nend\nif <(Level) = [9]> then\n    glide (0.2) secs to x: (-20) y: (81)\nend\nif <(Level) = [12]> then\n    glide (0.3) secs to x: (15) y: (81)\nend\nif <(Level) = [16]> then\n    glide (0.8) secs to x: (106) y: (81)\nend\nif <(Level) = [18]> then\n    glide (0.6) secs to x: (60) y: (81)\nend\nif <(Level) = [20]> then\n    glide (0.7) secs to x: (95) y: (81)\nend\n\n@Text Cursor2\n\nwhen flag clicked\nhide\ngo to [front v] layer\ngo [backward v] (2) layers\ngo to x: (-95) y: (30)\n\nwhen flag clicked\nforever\n    wait (0.4) seconds\n    switch costume to (1 v)\n    wait (0.4) seconds\n    switch costume to (2 v)\nend\n\nwhen I receive [next level v]\ngo to x: (-95) y: (30)\nwait (0.1) seconds\nif <(Level) = [9]> then\n    show\n    glide (2) secs to x: (230) y: (30)\nend\nif <(Level) = [10]> then\n    glide (0.2) secs to x: (-72) y: (30)\nend\nif <(Level) = [11]> then\n    glide (2) secs to x: (230) y: (30)\nend\nif <(Level) = [14]> then\n    glide (0.5) secs to x: (10) y: (30)\nend\nif <(Level) = [17]> then\n    glide (1) secs to x: (160) y: (30)\nend\n\n@Mouse Cursor\n\nwhen flag clicked\nforever\n    go to (mouse-pointer v)\n    show\n    go to [front v] layer\n    if <<touching (skip button v)?> or <touching (restart button v)?>> then\n        switch costume to (2 v)\n    else\n        switch costume to ( v)\n    end\nend\n\n@Level Revealer\n\nwhen flag clicked\ngo to [front v] layer\ngo [backward v] (2) layers\ngo to x: (-100) y: (-120)\nwait (0.1) seconds\nglide (0.5) secs to x: (587) y: (-120)\n\nwhen I receive [next level v]\ngo to x: (-100) y: (-120)\nwait (0.1) seconds\nglide (0.5) secs to x: (587) y: (-120)\n\n@Binary Code\n\nwhen flag clicked\nswitch costume to (1 v)\ngo to [back v] layer\ngo [backward v] (3) layers\ngo to x: (0) y: (-20)\nforever\n    if <<(Level) = [6]> or <<(Level) = [7]> or <<(Level) = [8]> or <<(Level) = [9]> or <<(Level) = [10]> or <<(Level) = [11]> or <<(Level) = [12]> or <<(Level) = [14]> or <(Level) = [17]>>>>>>>>> then\n        show\n    else\n        hide\n    end\nend\n\nwhen I receive [done v]\nhide\n\nwhen flag clicked\nforever\n    if <(Level) = [6]> then\n        repeat until <(costume [number v]) = [4]>\n            wait (0.005) seconds\n            next costume\n        end\n        wait (0.1) seconds\n        repeat until <(costume [number v]) = [1]>\n            wait (0.005) seconds\n            switch costume to ((costume [number v]) - (1))\n        end\n    end\n    if <(Level) = [7]> then\n        repeat until <(costume [number v]) = [8]>\n            wait (0.005) seconds\n            next costume\n        end\n        wait (0.1) seconds\n        repeat until <(costume [number v]) = [5]>\n            wait (0.005) seconds\n            switch costume to ((costume [number v]) - (1))\n        end\n    end\n    if <(Level) = [8]> then\n        switch costume to (pick random (1) to (10))\n    end\n    if <(Level) = [9]> then\n        switch costume to (11 v)\n    end\n    if <(Level) = [10]> then\n        switch costume to (12 v)\n    end\n    if <(Level) = [11]> then\n        switch costume to (13 v)\n    end\n    if <(Level) = [12]> then\n        repeat until <(costume [number v]) = [4]>\n            wait (0.005) seconds\n            next costume\n        end\n        wait (0.1) seconds\n        repeat until <(costume [number v]) = [1]>\n            wait (0.005) seconds\n            switch costume to ((costume [number v]) - (1))\n        end\n    end\n    if <(Level) = [13]> then\n        switch costume to (14 v)\n    end\n    if <(Level) = [17]> then\n        switch costume to (15 v)\n    end\nend\n\n@Skip Button\n\nwhen flag clicked\nshow\ngo to [front v] layer\nswitch costume to (2 v)\ngo [backward v] (1) layers\nset [skips left v] to [2]\nforever\n    go to x: (-360) y: (-5)\n    if <touching (mouse cursor v)?> then\n        set [brightness v] effect to (30)\n        if <mouse down?> then\n            wait until <not <mouse down?>>\n            broadcast (NEXT LEVEL v)\n            change [skips left v] by (-1)\n            next costume\n        end\n    else\n        set [brightness v] effect to (0)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Skips Left) = [0]> then\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        hide\n        stop [other scripts in sprite v]\n        stop [this script v]\n    else\n        show\n        set [ghost v] effect to (0)\n    end\nend\n\n@Restart Button\n\nwhen flag clicked\nshow\ngo to [front v] layer\ngo [backward v] (1) layers\nforever\n    go to x: (25) y: (-5)\n    if <touching (mouse cursor v)?> then\n        set [brightness v] effect to (30)\n        if <mouse down?> then\n            wait until <not <mouse down?>>\n            broadcast (restart v)\n        end\n    else\n        set [brightness v] effect to (0)\n    end\nend\n\n@Moving\n\nwhen flag clicked\ngo to x: (0) y: (-70)\nswitch costume to (1 v)\nforever\n    if <(Level) = [20]> then\n        show\n        glide (0.5) secs to x: (0) y: (0)\n        glide (0.5) secs to x: (0) y: (-70)\n    else\n        hide\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [20]> then\n        repeat (2)\n            next costume\n            create clone of (_myself_ v)\n        end\n        stop [this script v]\n    end\nend\n\nwhen I start as a clone\nforever\n    if <(Level) = [20]> then\n        if <(costume [number v]) = [2]> then\n            show\n            glide (0.6) secs to x: (120) y: (0)\n            glide (0.6) secs to x: (120) y: (-70)\n        else\n            glide (0.7) secs to x: (240) y: (0)\n            glide (0.7) secs to x: (240) y: (-70)\n        end\n    else\n        hide\n    end\nend\n\nwhen I start as a clone\nforever\n    if <(Level) = [20]> then\n        show\n    else\n        hide\n    end\nend\n\n@Thumbnail\n\nwhen flag clicked\nswitch costume to (thumbnail v)\nshow\nset [ghost v] effect to (100)\nset size to (100) %\ngo to x: (0) y: (0)\nforever\n    repeat (([10 ^ v] of ((10) * (10)) ) * (10))\n        go to [front v] layer\n    end\nend\n\nwhen I receive [done v]\nswitch costume to (end v)\nrepeat (100)\n    change [ghost v] effect by (-2)\nend\n\n