Stickman Platformer

Instructions: https://scratch.mit.edu/projects/1016736776/\n\n\n\n\n\n\n\n\n\n\n\n\n\n----hashtags-----\n#games #trending #All #popular #new#epic#recent #games #trending #popular #new#epic#recent #games #trending #popular #new#epic#recent#games #trending #platformer #platformer_game #platformergame

@Stage\n\nwhen I receive [start v]\nwait (1) seconds\nset volume to (70) %\nforever\n    play sound [Inferno v] until done\nend\n\nwhen I receive [sound v]\nset volume to (0) %\n\nwhen I receive [sound on v]\nset volume to (100) %\n\n@Player\n\ndefine reset\nclear graphic effects\ngo to x: (-200) y: (-50)\npoint in direction (90)\nset [dead? v] to [0]\nset [x v v] to [0]\nset [y v v] to [0]\nset size to (70) %\nshow\n\nwhen I receive [next level v]\nset [change? v] to [1]\nreset\nset [change? v] to [0]\n\nwhen I receive [start v]\nset [level v] to [1]\nset [dead? v] to [0]\nset size to (70) %\nreset\nforever\n    go to [front v] layer\n    if <<<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> and <(dead?) = [0]>> then\n        change [x v v] by (.9)\n    end\n    if <<<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> and <(dead?) = [0]>> then\n        change [x v v] by (-.9)\n    end\n    set [x v v] to ((X v) * (0.9))\n    change x by (X v)\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 ((X v) * (-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) + (20))>>>> then\n                                if <(X v) > [0]> then\n                                    set [x v v] to [-5]\n                                else\n                                    set [x v v] to [5]\n                                end\n                                set [y v v] to [13]\n                            else\n                                set [x v v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [y v v] by (-0.8)\n    change y by (Y v)\n    if <<touching (ground v)?> or <<touching (moving ground v)?> or <touching (elevator v)?>>> then\n        change y by ((Y v) * (-1))\n        set [y v v] to [0]\n    end\n    change y by (-1)\n    if <<touching (ground v)?> or <<touching (moving ground v)?> or <touching (elevator 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 [y v v] to [13]\n        end\n    end\n    change y by (1)\n    if <<<<<touching (gears v)?> or <touching (danger v)?>> or <touching (killer wheel2 v)?>> or <touching (lightning v)?>> and <(dead?) = [0]>> then\n        Spin off screen\n    end\nend\n\nif <touching (trampoline v)?> then\n    set [y v v] to [5]\nend\n\nwhen I receive [start v]\nforever\n    set [direction v] to (direction)\nend\n\nwhen I receive [start v]\nset [change? v] to [0]\nforever\n    if <touching (flag v)?> then\n        start sound [Ding Sound Effect v]\n        broadcast (NEXT LEVEL v)\n        change [level v] by (1)\n    end\nend\n\nwhen I receive [start v]\nforever\n    if <(y position) = [-179]> then\n        Spin off screen\n    end\nend\n\nwhen [r v] key pressed\nif <(dead?) = [0]> then\n    reset\nend\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [start v]\nshow\n\ndefine Spin off screen\nset [dead? v] to [1]\nchange [player death v] by (1)\nrepeat (20)\n    change [ghost v] effect by (5)\nend\nreset\n\nwhen I receive [start v]\nforever\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nswitch costume to (center2 v)\nrepeat (10)\n    change [ghost v] effect by (5)\n    change size by (-5)\nend\ndelete this clone\n\nwhen flag clicked\nswitch costume to (center v)\n\nwhen I receive [respawn v]\n\nwhen flag clicked\nforever\n    if <<touching (spikes v)?> or <<touching (moving danger v)?> or <<<touching (dissipering danger v)?> or <touching (moving danger2 v)?>> or <touching (moving spikes v)?>>>> then\n        go to x: (-200) y: (-65)\n        play sound [Crunch v] until done\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (speed v)?> then\n        change [x v v] by (-6)\n    end\n    if <touching (size o meter v)?> then\n        set size to (40) %\n        wait (3) seconds\n        set size to (70) %\n    end\nend\n\nwhen flag clicked\nbroadcast (Start v)\nhide\n\nwhen flag clicked\nforever\n    if <<<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>>> and <<touching (orbs v)?> or <touching (line v)?>>> then\n        change [y v v] by (3)\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (trampoline v)?> then\n        change [y v v] by (20)\n    end\nend\n\n@Ground\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\nwhen I receive [next level v]\nnext costume\n\n@Love fave\n\nwhen flag clicked\nset [costume v] to [0]\nhide\nforever\n    if <not <<(LOVED__) = [1]> and <(FAVED___) = [1]>>> then\n        wait (pick random (19) to (26)) seconds\n        switch costume to (costume2 v)\n        go to x: (0) y: (50)\n        show\n        go to [front v] layer\n        start sound [pop v]\n        repeat (9)\n            change y by (-6)\n        end\n        repeat (5)\n            change y by (3)\n        end\n        repeat (5)\n            change y by (-1)\n        end\n        wait (2) seconds\n        repeat (15)\n            change y by (7)\n        end\n        hide\n    end\n    if <(Costume) > [0]> then\n        hide\n        stop [this script v]\n    end\nend\n\n@Sun\n\nwhen flag clicked\nhide\npoint in direction (90)\ngo to x: (212) y: (166)\nset size to (100) %\nswitch costume to (costume1 v)\nforever\n    wait (0.03) seconds\n    repeat (10)\n        change size by (1.5)\n    end\n    wait (0.03) seconds\n    repeat (10)\n        change size by (-1.5)\n    end\n    wait (0.03) seconds\nend\n\nwhen I receive [start v]\nshow\n\nwhen flag clicked\nforever\n    go to [back v] layer\nend\n\n@Spikes\n\nwhen flag clicked\nhide\nswitch costume to (costume1 v)\ngo to [back v] layer\n\nwhen I receive [start v]\ngo to x: (28) y: (18)\nshow\nforever\n    repeat (10)\n        change y by (0.2)\n    end\n    repeat (10)\n        change y by (-0.2)\n    end\nend\n\nwhen I receive [next level v]\nnext costume\n\n@Flag\n\nwhen flag clicked\nhide\nswitch costume to (green flag v)\n\nwhen I receive [start v]\nshow\ngo to [back v] layer\n\nwhen I receive [next level v]\nnext costume\n\n@Stuff\n\nwhen flag clicked\nhide\nswitch costume to (costume1 v)\n\nwhen I receive [start v]\nshow\ngo to [back v] layer\n\nwhen I receive [next level v]\nnext costume\n\n@Clouds\n\nwhen flag clicked\nset [ghost v] effect to (34)\nforever\n    go to x: (-26) y: (19)\n    glide (7) secs to x: (-300) y: (13)\nend\n\nwhen flag clicked\ngo to [back v] layer\nhide\n\nwhen I receive [start v]\nshow\n\n@Moving ground\n\nwhen flag clicked\nswitch costume to (costume1 v)\nhide\n\nwhen I receive [next level v]\nnext costume\nwait (0.2) seconds\nif <(costume [number v]) = [10]> then\n    switch costume to (costume10 v)\n    go to x: (0) y: (0)\n    repeat until <(costume [number v]) = [11]>\n        repeat (60)\n            change x by (4)\n        end\n        repeat (60)\n            change x by (-4)\n        end\n    end\nend\n\nwhen I receive [start v]\nshow\n\nif <(costume [number v]) = [9]> then\n    switch costume to (costume9 v)\n    go to x: (-130) y: (-100)\n    repeat until <(costume [number v]) = [10]>\n        repeat (60)\n            change x by (3)\n        end\n        repeat (60)\n            change x by (-3)\n        end\n    end\nend\n\n@Sound\n\nwhen this sprite clicked\nif <(costume [number v]) = [1]> then\n    switch costume to (costume2 v)\n    broadcast (Sound v)\nelse\n    switch costume to (costume1 v)\n    broadcast (Sound On v)\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nshow\nswitch costume to (costume1 v)\n\nwhen I receive [start v]\nforever\n    if <touching (mouse-pointer v)?> then\n        change size by (((60) - (size)) / (3))\n        point in direction (90)\n    else\n        change size by (((40) - (size)) / (3))\n    end\nend\n\n@Skip\n\nwhen flag clicked\nset volume to (100) %\n\nhide\n\nwhen I receive [start v]\nshow\nswitch costume to (costume1 v)\n\nwhen this sprite clicked\nbroadcast (NEXT LEVEL v)\nchange [level v] by (1)\n\nwhen I receive [start v]\nforever\n    if <([costume # v] of [ground v]) = [12]> then\n        change volume by (-10)\n    end\nend\n\nwhen I receive [start v]\nforever\n    if <(volume) = [90]> then\n        hide\n    end\nend\n\nwhen I receive [start v]\nforever\n    if <touching (mouse-pointer v)?> then\n        change size by (((60) - (size)) / (3))\n        point in direction (90)\n    else\n        change size by (((40) - (size)) / (3))\n    end\nend\n\n@Moving danger\n\nwhen I receive [next level v]\nnext costume\nif <(costume [number v]) = [2]> then\n    switch costume to (costume2 v)\n    go to x: (0) y: (0)\n    repeat until <(costume [number v]) = [3]>\n        repeat (50)\n            change x by (3)\n        end\n        repeat (50)\n            change x by (-3)\n        end\n    end\nend\nif <(costume [number v]) = [3]> then\n    switch costume to (costume3 v)\n    go to x: (0) y: (0)\n    repeat until <(costume [number v]) = [4]>\n        repeat (70)\n            change x by (5)\n        end\n        repeat (70)\n            change x by (-5)\n        end\n    end\nend\nif <(costume [number v]) = [5]> then\n    switch costume to (costume5 v)\n    go to x: (0) y: (0)\n    repeat until <(costume [number v]) = [6]>\n        repeat (20)\n            change x by (3)\n        end\n        repeat (20)\n            change x by (-3)\n        end\n    end\nend\nif <(costume [number v]) = [7]> then\n    switch costume to (costume7 v)\n    go to x: (0) y: (0)\n    repeat until <(costume [number v]) = [8]>\n        repeat (45)\n            change x by (3)\n        end\n        repeat (45)\n            change x by (-3)\n        end\n    end\nend\nif <(costume [number v]) = [10]> then\n    switch costume to (costume10 v)\n    go to x: (0) y: (0)\n    repeat until <(costume [number v]) = [11]>\n        repeat (80)\n            change x by (2)\n        end\n        repeat (80)\n            change x by (-2)\n        end\n    end\nend\n\nwhen flag clicked\nswitch costume to (costume1 v)\nhide\n\nwhen I receive [start v]\nshow\n\n@thumbnail\n\nwhen flag clicked\ngo to x: (95) y: (-27)\nset [ghost v] effect to (100)\nforever\n    go to [front v] layer\n    reset timer\nend\n\nwhen [timer v] > (0.03)\ngo to x: (95) y: (-1000)\nrepeat until <(round (y position)) = [-27]>\n    go to [front v] layer\n    change [ghost v] effect by (-10)\n    change y by (((1) - (y position)) / (5))\nend\nset y to (-27)\n\n@Speed\n\nwhen flag clicked\nhide\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [start v]\nswitch costume to (costume1 v)\nshow\n\n@Orbs\n\nwhen I receive [next level v]\nnext costume\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nswitch costume to (costume1 v)\nshow\n\n@Trampoline\n\nwhen I receive [next level v]\nnext costume\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nswitch costume to (costume1 v)\nshow\n\n@Dissipering danger\n\nwhen I receive [next level v]\nnext costume\nif <(costume [number v]) = [3]> then\n    switch costume to (costume3 v)\n    go to x: (0) y: (0)\n    repeat until <(costume [number v]) = [4]>\n        repeat (45)\n            change x by (3)\n        end\n        repeat (45)\n            change x by (-3)\n        end\n    end\nend\nif <(costume [number v]) = [7]> then\n    switch costume to (costume7 v)\n    go to x: (0) y: (0)\n    repeat until <(costume [number v]) = [8]>\n        repeat (70)\n            change x by (-5)\n        end\n        repeat (70)\n            change x by (5)\n        end\n    end\nend\n\nwhen flag clicked\nswitch costume to (costume1 v)\nhide\n\nwhen I receive [start v]\nshow\n\nwhen flag clicked\nforever\n    wait (pick random (4) to (7)) seconds\n    repeat (4)\n        change [ghost v] effect by (25)\n    end\n    wait (pick random (2) to (4)) seconds\n    repeat (4)\n        change [ghost v] effect by (-25)\n    end\nend\n\n@Size O meter\n\nwhen flag clicked\nhide\nswitch costume to (costume1 v)\ngo to [back v] layer\n\nwhen I receive [start v]\ngo to x: (28) y: (18)\nshow\nforever\n    repeat (10)\n        change y by (0.2)\n    end\n    repeat (10)\n        change y by (-0.2)\n    end\nend\n\nwhen I receive [next level v]\nnext costume\n\n@Transition\n\ndefine T\nshow\ngo to [front v] layer\nclear graphic effects\nrepeat (20)\n    change [ghost v] effect by (5)\nend\nhide\n\nwhen I receive [start v]\nT\n\nwhen flag clicked\nhide\n\nwhen I receive [next level v]\nT\n\n@Bird\n\nwhen I receive [start v]\ngo to x: (251) y: (pick random (21) to (176))\nforever\n    repeat (6)\n        wait (Bird Flight Speed) seconds\n        next costume\n    end\n    wait (Bird Flight Speed) seconds\n    switch costume to (costume9 v)\n    wait (Bird Flight Speed) seconds\n    switch costume to (costume8 v)\n    wait (Bird Flight Speed) seconds\n    switch costume to (costume7 v)\n    wait (Bird Flight Speed) seconds\n    switch costume to (costume6 v)\n    wait (Bird Flight Speed) seconds\n    switch costume to (costume5 v)\n    wait (Bird Flight Speed) seconds\n    switch costume to (costume3 v)\n    wait (Bird Flight Speed) seconds\n    switch costume to (costume1 v)\nend\n\nwhen flag clicked\nset [ghost v] effect to (30)\nset [bird flight speed v] to [0.1]\nhide\nwait (3) seconds\ngo to [back v] layer\n\nwhen I receive [start v]\ngo to [front v] layer\nswitch costume to (costume1 v)\nshow\nforever\n    if <(x position) < [-248]> then\n        hide\n        wait (1) seconds\n        go to x: (251) y: (pick random (21) to (176))\n        show\n    end\n    change x by (-2)\nend\n\n@Bird2\n\nwhen I receive [start v]\ngo to x: (251) y: (pick random (21) to (176))\nforever\n    repeat (6)\n        wait (Bird Flight Speed) seconds\n        next costume\n    end\n    wait (Bird Flight Speed) seconds\n    switch costume to (costume9 v)\n    wait (Bird Flight Speed) seconds\n    switch costume to (costume8 v)\n    wait (Bird Flight Speed) seconds\n    switch costume to (costume7 v)\n    wait (Bird Flight Speed) seconds\n    switch costume to (costume6 v)\n    wait (Bird Flight Speed) seconds\n    switch costume to (costume5 v)\n    wait (Bird Flight Speed) seconds\n    switch costume to (costume3 v)\n    wait (Bird Flight Speed) seconds\n    switch costume to (costume1 v)\nend\n\nwhen flag clicked\nset [ghost v] effect to (30)\nset [bird flight speed v] to [0.1]\nhide\nwait (3) seconds\ngo to [back v] layer\n\nwhen I receive [start v]\nswitch costume to (costume1 v)\nshow\nforever\n    if <(x position) < [-248]> then\n        hide\n        wait (1) seconds\n        go to x: (251) y: (pick random (21) to (176))\n        show\n    end\n    change x by (-2.5)\nend\n\n@Logo\n\nwhen flag clicked\nhide\n\n@Sprite1\n\n@Line\n\nwhen I receive [next level v]\nnext costume\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nswitch costume to (costume1 v)\nshow\n\n@Moving danger2\n\nwhen I receive [next level v]\nnext costume\nif <(costume [number v]) = [3]> then\n    switch costume to (costume3 v)\n    go to x: (0) y: (0)\n    repeat until <(costume [number v]) = [4]>\n        repeat (50)\n            change x by (3)\n        end\n        repeat (50)\n            change x by (-3)\n        end\n    end\nend\nif <(costume [number v]) = [7]> then\n    switch costume to (costume7 v)\n    go to x: (0) y: (0)\n    repeat until <(costume [number v]) = [8]>\n        repeat (150)\n            change x by (1)\n        end\n        repeat (150)\n            change x by (-1)\n        end\n    end\nend\nif <(costume [number v]) = [10]> then\n    switch costume to (costume10 v)\n    go to x: (0) y: (0)\n    repeat until <(costume [number v]) = [11]>\n        repeat (80)\n            change x by (-2)\n        end\n        repeat (80)\n            change x by (2)\n        end\n    end\nend\n\nwhen flag clicked\nswitch costume to (costume1 v)\nhide\n\nwhen I receive [start v]\nshow\n\nif <(costume [number v]) = [11]> then\n    switch costume to (costume11 v)\n    go to x: (-36) y: (132)\n    repeat until <(costume [number v]) = [12]>\n        repeat (40)\n            change x by (5)\n        end\n        repeat (40)\n            change x by (-5)\n        end\n    end\nend\n\n@Moving spikes\n\nwhen flag clicked\nhide\nswitch costume to (costume1 v)\ngo to [back v] layer\n\nwhen I receive [start v]\ngo to x: (28) y: (18)\nshow\nforever\n    if <(costume [number v]) = [10]> then\n        repeat (20)\n            change y by (-1)\n        end\n        wait (3) seconds\n        repeat (20)\n            change y by (1)\n        end\n        wait (3) seconds\n    else\n        repeat (20)\n            change y by (-2)\n        end\n        wait (2) seconds\n        repeat (20)\n            change y by (2)\n        end\n        wait (2) seconds\n    end\nend\n\nwhen I receive [next level v]\nnext costume\n\n