Lava || A Platformer
@Stage\n\nset [ghost v] effect to (100)\n\n@cube\n\nwhen I receive [go v]\n\nif <([abs v] of (yv) ) > [8]> then\n    set [yv v] to (((yv) / ([abs v] of (yv) )) * (8))\nend\n\nchange x by ((-1) * (xv))\nset [xv v] to ((-1) * (xv))\n\nchange [x v] by ((-1) * (x position))\nset x to (0)\n\n\n\nset [yv v] to ((yv) * (0.7))\n\nset [xv v] to ((xv) * (0.7))\n\nif <([abs v] of (xv) ) > [8]> then\n\nset [startx v] to [-180]\nset [level v] to [1]\n\nwhen I receive [levelup v]\n\nwhen flag clicked\nerase all\npen up\nset [x v] to [0]\ngo to x: (-220) y: (150)\nset [xv v] to [0]\nset [yv v] to [0]\nreset timer\nforever\n    if <touching (end v)?> then\n    if <touching color (#99b3ff)?> then\n        if <key (left arrow v) pressed?> then\n            change [xv v] by (-1)\n        end\n        if <key (right arrow v) pressed?> then\n            change [xv v] by (1)\n        end\n        if <<key (down arrow v) pressed?> and <not <touching color (#000000)?>>> then\n            change [yv v] by (-1)\n        else\n            if <<key (down arrow v) pressed?> and <touching color (#000000)?>> then\n                change [yv v] by (1)\n            end\n        end\n        if <key (up arrow v) pressed?> then\n            change [yv v] by (1)\n        end\n        set [xv v] to ((xv) * (0.8))\n        set [yv v] to ((yv) * (0.8))\n        change [yv v] by (((yv) / (15)) + (0.1))\n        if <touching color (#ff0000)?> then\n            broadcast (dead v) and wait\n            set [x v] to [0]\n            go to x: (-220) y: (150)\n            set [xv v] to [0]\n            set [yv v] to [0]\n        end\n        change x by (xv)\n        change y by (yv)\n        if <not <touching color (#99b3ff)?>> then\n            change y by (-2)\n            if <touching color (#99b3ff)?> then\n                change y by (2)\n                change y by ((-1) * (yv))\n                if <key (up arrow v) pressed?> then\n                    change y by (yv)\n                    set [yv v] to [9]\n                end\n            end\n        end\n        if <touching color (#000008)?> then\n            change y by (-2)\n            if <touching color (#000008)?> then\n                change x by ((-1) * (xv))\n                set [xv v] to ((-1) * (xv))\n            end\n            change y by (2)\n        end\n        if <touching color (#000008)?> then\n            change y by (-6)\n            if <not <touching color (#000008)?>> then\n                change y by ((-1) * (yv))\n                set [yv v] to ((-1) * (yv))\n            end\n            change y by (6)\n        end\n    else\n        if <<(y position) < [-170]> or <touching color (#ff0000)?>> then\n            broadcast (dead v) and wait\n            set [x v] to [0]\n            go to x: (-220) y: (100)\n            set [xv v] to [0]\n            set [yv v] to [0]\n        end\n        if <key (left arrow v) pressed?> then\n            change [xv v] by (-1)\n        end\n        if <key (right arrow v) pressed?> then\n            change [xv v] by (1)\n        end\n        set [xv v] to ((xv) * (0.85))\n        change x by (xv)\n        if <touching color (#000008)?> then\n            change y by (-2)\n            if <touching color (#000008)?> then\n                change x by ((-1) * ((xv) + ((xv) / (([abs v] of (xv) ) + (0.0001)))))\n                if <<key (up arrow v) pressed?> and <not <(xv) = [0]>>> then\n                    set [yv v] to [8]\n                    set [xv v] to (((xv) / ([abs v] of (xv) )) * (-10))\n                else\n                    set [xv v] to [0]\n                end\n            end\n            change y by (2)\n        end\n        change y by (-3)\n        if <<key (up arrow v) pressed?> and <touching color (#000008)?>> then\n            set [yv v] to [9]\n        else\n        end\n        change y by (3)\n        if <(yv) > [-15]> then\n            change [yv v] by (-0.5)\n        end\n        if <(yv) < [3]> then\n            change y by (-2)\n            if <not <touching color (#000008)?>> then\n                change y by (-1)\n            end\n            change y by (2)\n        end\n        if <touching color (#32ff4f)?> then\n            set [yv v] to [15]\n        end\n        change y by (yv)\n        if <touching color (#000008)?> then\n            change y by (-2)\n            if <touching color (#000008)?> then\n                change y by ((-1) * (yv))\n                set [yv v] to [-3]\n            end\n            change y by (2)\n        end\n    end\nend\n\nif <touching color (#31ff57)?> then\n    set [yv v] to [20]\nend\n\n\n\ngo to [front v] layer\n\nchange [level v] by (1)\n\nbroadcast (levelup v) and wait\n\nwhen flag clicked\nforever\n    if <(x position) > [230]> then\n        hide\n        go to x: (-220) y: (150)\n        set [xv v] to [0]\n        set [yv v] to [0]\n        change [level v] by (1)\n        show\n    end\nend\n\nwhen flag clicked\nforever\nend\n\nwhen flag clicked\nforever\n    if <<key (s v) pressed?> and <not <(LEVEL) = [16]>>> then\n        hide\n        go to x: (-220) y: (150)\n        set [xv v] to [0]\n        set [yv v] to [0]\n        change [level v] by (1)\n        show\n        wait until <not <key (s v) pressed?>>\n    end\nend\n\n@end\n\nadd (x position) to [endx v]\nadd (y position) to [endy v]\n\nwhen flag clicked\nset [level v] to [1]\ngo to x: (item (level) of [endx v]) y: (item (level) of [endy v])\nhide\n\nwhen I receive [levelup v]\nwait until <(levup) > [1]>\ngo to x: (item (level) of [endx v]) y: (item (level) of [endy v])\nchange [levup v] by (1)\nstop [this script v]\n\n@Level\n\nwhen flag clicked\npen up\nset pen color to (#000000)\nset pen size to (10)\nset [level v] to [1]\nforever\n    switch costume to (LEVEL)\nend\n\n@Sprite1\n\nwhen flag clicked\nforever\n    if <not <([costume # v] of [level v]) = [16]>> then\n        set [end v] to [0]\n        hide\n        switch costume to (pick random (1) to (3))\n        wait (.01) seconds\n        create clone of (_myself_ v)\n    else\n        set [end v] to [1]\n    end\nend\n\nwhen flag clicked\nforever\n    go to (cube v)\nend\n\nwhen I start as a clone\nset size to (pick random (70) to (140)) %\nset [ghost v] effect to (0)\nshow\npoint in direction (pick random (1) to (360))\nrepeat (5)\n    move (5) steps\nend\nrepeat (10)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\n@Sprite2\n\nwhen flag clicked\nforever\n    go to x: ((([x position v] of [cube v]) * (-1)) / (10)) y: ((([y position v] of [cube v]) * (-1)) / (10))\nend\n\n@Sprite4\n\nwhen flag clicked\nforever\n    if <(end) = [1]> then\n        hide\n        switch costume to (pick random (1) to (3))\n        wait (.01) seconds\n        create clone of (_myself_ v)\n    end\nend\n\nwhen flag clicked\nforever\n    go to (cube v)\nend\n\nwhen I start as a clone\nset size to (pick random (70) to (140)) %\nset [ghost v] effect to (0)\nshow\npoint in direction (pick random (1) to (360))\nrepeat (5)\n    move (5) steps\nend\nrepeat (10)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\n@Sprite3\n\nwhen flag clicked\nforever\n    if <(end) = [1]> then\n        show\n        wait (.05) seconds\n        next costume\n    else\n        hide\n    end\nend\n\n@Sprite5\n\nwhen flag clicked\nshow\ngo to [front v] layer\nset [ghost v] effect to (100)\n\n
This has been brought to you by @-KrakenMaster-\n____________________________________________\nThis is my first shared platformer, please be nice.\n____________________________________________\nThis is fire platformer, use the arrow keys to control. If a level is too hard, press 's' to skip. Get to the right side of the screen without dying to pass a level. Please love, fave, and follow!\n____________________________________________\n16 levels of platformer-ish stuff.\n____________________________________________\n#fun #games #platform #platformer #play #gaming #enjoy #playing #levels #why #are #you #reading #this #hashtag #lava #fire #element #who #cares #fun #for #everyone #rated #E #for #everyone #and #who #cares #i #dont