Minecraft Platformer

Instructions:                  》Very Short Platformer《\n♢ ------------------------------------------------ ♢\n\n▸ How to play: Use WASD or ARROW keys to move around and get to the end and don't fall or you lose. Mobile is supported, don't touch the magma and the lava.\n\n▶ my tribute to Technoblade, a minecraft platformer\nTechnoblade never dies...\n\n\n----------------- 》Credits《 -----------------\n⇁ @thepugmen ~ Code and Game\n⇁ Lena Raine ~ all pigstep (music)\n⇁ Minecraft ~ for the sprites\n⇁ @Griffpatch ~ Scrolling engine (heavily modified for smooth gameplay)\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n----------------- 》Tags《 -----------------\n#project #Thepugmen #Hard #Animations #All #Art #Music #Stories #Tutorials #explore #minecraft #minecraftplatformer #Game

@Stage\n\nwhen flag clicked\nswitch backdrop to (bg v)\n\nwhen I receive [thumbnail v]\nswitch backdrop to (empty v)\n\n@Sprite1\n\n@Player hitbox\n\nwhen I receive [play game v]\nset [level v] to [1]\nforever\n    broadcast (Reset v) and wait\n    broadcast (Setip v) and wait\n    Game on\n    repeat until <(EXIT) > []>\n        Tick\n        broadcast (Tick v) and wait\n    end\n    if <(EXIT) = [Win]> then\n        Game - Win\n    else\n        Game - Die\n    end\n    if <touching (background v)?> then\n        Game - Die\n    end\nend\n\nwhen flag clicked\nbroadcast (Green Flag v) and wait\nbroadcast (Play Game v) and wait\n\nwhen I receive [green flag v]\nhide\ngo to [front v] layer\n\ndefine Game on\nset [x v] to [-138]\nset [y v] to [0]\nset [speed y v] to [0]\nset [speed x v] to [0]\nset [in air v] to [0]\nset [exit v] to []\nset [scroll x v] to [0]\nset [scroll y v] to [0]\nset size to (60) %\nshow\n\ndefine Tick\nswitch costume to (hitbox v)\nif <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> then\n    change [speed x v] by (-2)\n    point in direction (-90)\nend\nif <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n    change [speed x v] by (2)\n    point in direction (90)\nend\nset [speed x v] to ((Speed x) * (0.8))\nif <([abs v] of (Speed x) ) > [0.9]> then\n    Change player x by (round (Speed x))\nend\nif <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> then\n    if <(in air) < [5]> then\n        set [speed y v] to [13]\n    end\nend\nif <(Speed y) > [-20]> then\n    change [speed y v] by (-2)\nend\nChange player y by (Speed y)\nset [scroll x v] to (x)\nif <(SCROLL X) < [0]> then\n    set [scroll x v] to [0]\nend\nif <(SCROLL X) > [5761]> then\n    set [scroll x v] to [5761]\nend\nchange [scroll y v] by (round (((y) - (SCROLL Y)) / (10)))\nif <(SCROLL Y) < [0]> then\n    set [scroll y v] to [0]\nend\nPosition\nif <<(y) < [-178]> or <touching (hurt v)?>> then\n    set [exit v] to [Die]\nend\nif <not <<key (any v) pressed?> or <mouse down?>>> then\n    set [animateshowsprite v] to [0]\n    set [animatetimervariable v] to [0]\nelse\n    change [animatetimervariable v] by (1)\n    set [animateshowsprite v] to (((AnimateShowSprite) + ([floor v] of ((((AnimateTimerVariable) mod (3)) + (1)) / (3)) )) mod (8))\nend\nswitch costume to ((AnimateShowSprite) + ([cos v] of (1) ))\n\ndefine Change player y by (sy)\nchange [y v] by (sy)\nchange [in air v] by (1)\nPosition\nrepeat until <not <touching (platforms v)?>>\n    if <(sy) > [0]> then\n        change [y v] by (-1)\n    else\n        change [y v] by (1)\n        set [in air v] to [0]\n    end\n    Position\n    set [speed y v] to [0]\nend\n\ndefine Position\ngo to x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\n\ndefine Change player x by (sx)\nchange [x v] by (sx)\nPosition\nif <touching (platforms v)?> then\n    repeat (12)\n        change [y v] by (1)\n        Position\n        if <not <touching (platforms v)?>> then\n            stop [this script v]\n        end\n    end\n    change [y v] by (-12)\n    \n        if <(sx) > [0]> then\n            set [speed x v] to [-10]\n        else\n            set [speed x v] to [16]\n        end\n        set [in air v] to [0]\n    else\n        set [speed x v] to [0]\n    end\n    repeat until <not <touching (platforms v)?>>\n        if <(sx) > [0]> then\n            change [x v] by (-1)\n        else\n            change [x v] by (1)\n        end\n        Position\n    end\nend\n\nwhen I receive [play game v]\nwait (3) seconds\nforever\n    if <(SCROLL X) > [2833]> then\n        show\n        set [scroll y v] to [0]\n        set [scroll x v] to [2833]\n        stop [other scripts in sprite v]\n        switch costume to (run idle 1 v)\n        broadcast (END v)\n        stop [this script v]\n    end\nend\n\ndefine Game - Die\nset [exit v] to []\nswitch costume to (oof v)\nstart sound [oof v]\nset rotation style [all around v]\nrepeat (6)\n    turn right (15) degrees\n    change [ghost v] effect by (5)\nend\nset rotation style [left-right v]\nclear graphic effects\nhide\n\ndefine Game - Win\nrepeat (50)\n    point towards (exit v)\n    turn right (65) degrees\n    move ((distance to [exit v]) / (2)) steps\n    change size by (-0.25)\n    change [ghost v] effect by (2)\nend\nclear graphic effects\nwait (1) seconds\nbroadcast (END v)\nhide\n\nwait (.05) seconds\n\nwhen flag clicked\nforever\n    if <<(in air) = [0]> and <<<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> or <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>>>> then\n        play sound (pick random (1) to (3)) until done\n    end\nend\n\nwhen I receive [thumbnail v]\nstop [other scripts in sprite v]\nhide\n\n@Platforms\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nPosition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setip v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(LEVEL) = [1]> then\n    switch costume to (1 1 v)\n    switch backdrop to (bg v)\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\nend\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\nwhen flag clicked\nset [ghost v] effect to (100)\n\nwhen I receive [thumbnail v]\nstop [other scripts in sprite v]\nhide\n\n@Art\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nPosition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setip v]\nhide\nset [x v] to [0]\nset [y v] to [0]\ngo to [front v] layer\nif <(LEVEL) = [1]> then\n    switch costume to (1 1 v)\n    switch backdrop to (bg v)\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\nend\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\nwhen I receive [thumbnail v]\nstop [other scripts in sprite v]\nhide\n\n@BG\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nPosition ((x) - ((SCROLL X) / (20))) ((y) - ((SCROLL Y) / (20)))\n\nwhen I receive [setip v]\nhide\nset [x v] to [0]\nset [y v] to [0]\ngo to [back v] layer\nif <(LEVEL) = [1]> then\n    switch costume to (1 1 v)\n    switch backdrop to (bg v)\n    Clone at x: [480] y: [0]\nend\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\nwhen I receive [thumbnail v]\nstop [other scripts in sprite v]\nhide\n\n@hurt\n\nwhen I receive [thumbnail v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [green flag v]\nset [ghost v] effect to (100)\nhide\n\nwhen I receive [tick v]\nPosition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setip v]\nhide\nset [x v] to [0]\nset [y v] to [0]\ngo to [front v] layer\nif <(LEVEL) = [1]> then\n    switch costume to (1 1 v)\n    switch backdrop to (bg v)\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\nend\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\n@thumbnail\n\nwhen flag clicked\ngo to [back v] layer\nhide\n\nbroadcast (thumbnail v)\ngo to [front v] layer\nshow\n\n@now playing text\n\nwhen I receive [thumbnail v]\nstop [other scripts in sprite v]\nhide\n\nwhen flag clicked\nclear sound effects\nset volume to (100) %\ngo to [front v] layer\nset [ghost v] effect to (100)\nclear graphic effects\nhide\nwait (1) seconds\nwait until <(SCROLL X) > [3]>\nshow\ngo to [front v] layer\nwait (1) seconds\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nwait (2) seconds\nhide\n\nwhen flag clicked\nhide\nwait (1) seconds\nwait until <(SCROLL X) > [3]>\nrepeat (10)\n    go to [front v] layer\nend\nforever\n    play sound (pick random (1) to (2)) until done\nend\n\nwhen I receive [end v]\nrepeat (50)\n    change volume by (-2)\nend\nstop all sounds\nstop [other scripts in sprite v]\n\n@end transition\n\nwhen I receive [thumbnail v]\nstop [other scripts in sprite v]\nhide\n\nwhen flag clicked\nswitch costume to (rip techno v)\nset [ghost v] effect to (100)\nhide\n\nwhen I receive [end v]\nshow\ngo to [front v] layer\nrepeat (50)\n    change [ghost v] effect by (-2)\nend\nclear sound effects\nset volume to (0) %\nstart sound [pigstep NoteBlock remix v]\nrepeat (100)\n    change volume by (1)\nend\n\n