Terrains || A Mobile Friendly Platformer #all #games

Instructions: Instructions:\nArrow keys, WASD, or drag the player to move.\nAvoid lava, saws, and spikes.\nFirst you will land in the grasslands, then enter a cave, then trek your way through the hot desert, and finally get back into the grasslands!\nNo advertising or spamming please.\nPlease stop saying this is generic, I already know.\nPost in the comments how many skips and fails you used and did.\nHave fun!

@Stage\n\nwhen flag clicked\nforever\n    play sound [music \(1\) v] until done\nend\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 (100) %\nshow\n\nwhen I receive [next level v]\nset [change? v] to [1]\nreset\nset [change? v] to [0]\n\nwhen I receive [alright bros let's go v]\n\nwhen I receive [alright bros let's go v]\nforever\n    set [direction v] to (direction)\nend\n\nwhen I receive [alright bros let's go v]\nset [change? v] to [0]\nforever\n    if <<(x position) = [240]> and <(dead?) = [0]>> then\n        broadcast (NEXT LEVEL v)\n        change [level v] by (1)\n    end\nend\n\nwhen I receive [alright bros let's go 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 [alright bros let's go 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 [alright bros let's go 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\nbroadcast (alright bros let's go v)\n\nwhen flag clicked\nswitch costume to (center v)\n\nwhen I receive [respawn v]\n\nwhen flag clicked\nforever\n    if <<touching (danger v)?> or <touching (gears v)?>> then\n        go to x: (-200) y: (-65)\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (enemy v)?> then\n        go to x: (-200) y: (-65)\n    end\nend\n\nwhen flag clicked\nset [level v] to [1]\nset [dead? v] to [0]\nset size to (100) %\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)?> 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)?> 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 [12]\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\n    if <touching (jump pad v)?> then\n        set [y v v] to [20]\n    end\nend\n\nwhen flag clicked\nshow\n\n@Ground\n\nwhen flag clicked\nswitch costume to (1 v)\nforever\n    if <(costume [number v]) = [19]> then\n        broadcast (End v)\n    end\nend\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [transition v]\nnext costume\n\n@Danger\n\nwhen flag clicked\nswitch costume to (level 1 v)\n\nforever\n    switch costume to (Level)\nend\n\nglide (1) secs to x: (0) y: (0)\n\nglide (1) secs to x: (0) y: (10)\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [transition v]\nnext costume\n\n@Text\n\nwhen flag clicked\ngo to x: (0) y: (0)\nshow\ngo to [back v] layer\nforever\n    switch costume to (Level)\nend\n\n@Thumbnail\n\nwhen flag clicked\ngo to x: (0) y: (200)\nhide\nwait (0.001) seconds\nforever\n    go to [front v] layer\nend\n\nwhen flag clicked\nforever\n    set [timer2 v] to ((timer) + (.1))\nend\n\nwhen [timer v] > (Timer2)\nshow\nrepeat (5)\n    change y by (-7.5)\nend\nrepeat until <(y position) = [0]>\n    change y by (-12.5)\nend\nrepeat (35)\n    glide (pick random (0) to (0.0001)) secs to x: (pick random (-10) to (10)) y: (pick random (-10) to (10))\nend\nglide (0.5) secs to x: (0) y: (0)\n\nstart sound [whoooooop v]\nstart sound [xplosion v]\n\n@Skip\n\nwhen flag clicked\nwait until <(Level) = [21]>\nhide\n\nwhen flag clicked\nhide\n\nwhen I receive [intro done v]\nwait (0.8) seconds\n\nwhen this sprite clicked\nbroadcast (Transition v)\nbroadcast (Next v)\nbroadcast (Create Clone v)\nchange [level v] by (1)\n\nwhen flag clicked\nwait until <(Level) = [11]>\nswitch costume to (costume2 v)\nwait until <(Level) = [14]>\nswitch costume to (costume1 v)\n\nwhen I receive [intro done v]\nwait until <(Level) = [21]>\nhide\n\nwhen flag clicked\nshow\nswitch costume to (costume1 v)\nforever\n    if <touching (mouse-pointer v)?> then\n        set [brightness v] effect to (10)\n    else\n        set [brightness v] effect to (0)\n    end\nend\n\nwhen I receive [end v]\nswitch costume to (costume2 v)\nstop [other scripts in sprite v]\n\n