The Jungle || Contest Entry || Platformer!!

Instructions: So.. ya might be a teensy bit generic? Comment if u think it is, or if it isn’t..\nYay its my most successful project til now! (No not anymore)\nI legit had to discuss with my dad which contest to enter this in, @theCharpy won!\nBasic things:\nArrow keys, WASD, Mobile controls to move\nAvoid thorns (generic part) and water (also generic)\nTurtles prove to be moving platforms (totally non generic)\nYa thats all...\n\nUr basically trapped in the jungle and have to make it back to the city\nYup thats all\nThere’s nothing else\nNothin else......\nLiterally nothin left! EXCEPT THE CREDITS PLEASE LOOK AT THAT!\nO yea! I remembered something! The butterflies are very scarcely interactive! YA! LET’S NOT FORGET THAT!\nOtherwise there is nothing left....\nEXCEPT FOR YOU TO LOVE AND FAV THIS PROJECT!\nThank you so very much for reading this entire essay and wasting your precious time.. pat on the back for you! =D

@Stage\n\nwhen flag clicked\nforever\n    play sound [Sounds of the Boreal Forest v] until done\nend\n\n@player\n\nwhen flag clicked\nhide\nswitch costume to (costume1 v)\ngo to x: (-200) y: (36)\nset size to (20) %\n\nwhen flag clicked\nforever\n    if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n        set rotation style [left-right v]\n        point in direction (90)\n        next costume\n    end\n    if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n        set rotation style [left-right v]\n        point in direction (-90)\n        next costume\n    end\n    if <not <key (any v) pressed?>> then\n        switch costume to (costume11 v)\n    end\n    if <<(costume [number v]) = [1]> and <<key (right arrow v) pressed?> or <key (d v) pressed?>>> then\n        switch costume to (costume1 v)\n    end\n    if <<(costume [number v]) = [1]> and <<key (left arrow v) pressed?> or <key (a v) pressed?>>> then\n        switch costume to (costume1 v)\n    end\nend\n\nwhen I receive [play v]\nshow\nset size to (50) %\nset rotation style [left-right v]\nset [in prog v] to []\nset [y v] to [0]\nset [x v] to [0]\nforever\n    change [y v] by (-1)\n    if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(x position) > (mouse x)>>> then\n        change [x v] by (-0.5)\n        point in direction (-90)\n    end\n    if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        change [x v] by (0.5)\n        point in direction (90)\n    end\n    set [x v] to ((x) * (0.9))\n    change x by (x)\n    if <<touching (ground`` v)?> or <touching (turtle: moving river platform v)?>> then\n        change y by (1)\n    end\n    if <<touching (ground`` v)?> or <touching (turtle: moving river platform v)?>> then\n        change y by (1)\n    end\n    if <<touching (ground`` v)?> or <touching (turtle: moving river platform v)?>> then\n        change y by (1)\n    end\n    if <<touching (ground`` v)?> or <touching (turtle: moving river platform v)?>> then\n        change y by (1)\n    end\n    if <<touching (ground`` v)?> or <touching (turtle: moving river platform v)?>> then\n        change y by (1)\n    end\n    if <<touching (ground`` v)?> or <touching (turtle: moving river platform v)?>> then\n        change y by (-5)\n        change x by ((x) * (-1))\n        if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> then\n            set [y v] to [17]\n            if <(x) > [0]> then\n                set [x v] to [-5]\n            else\n                set [x v] to [5]\n            end\n        else\n            set [x v] to [0]\n        end\n    end\n    change y by (y)\n    if <<touching (ground`` v)?> or <touching (turtle: moving river platform v)?>> then\n        change y by ((y) - ((y) * (2)))\n        set [y v] to [0]\n    end\n    change y by (-1)\n    if <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> and <<touching (ground`` v)?> or <touching (turtle: moving river platform v)?>>> then\n        set [y v] to [15]\n    end\n    change y by (1)\n    if <touching (thorns v)?> then\n        if <not <(In prog) = [Yes]>> then\n            create clone of (_myself_ v)\n            Respawn\n            wait (0.2) seconds\n        end\n    end\n    if <touching (turtle: moving river platform v)?> then\n        set x to (round ([x position v] of [turtle: moving river platform v]))\n    end\n    if on edge, bounce\n    if <touching (next level v)?> then\n        broadcast (Next level v)\n        Next level\n    end\n    if <touching (water v)?> then\n        Water\n        Respawn\n        wait (0.2) seconds\n    end\nend\n\nwhen flag clicked\nbroadcast (play v)\n\nwhen flag clicked\nforever\n    go to [back v] layer\n    go [forward v] (1) layers\nend\n\ndefine Water\nswitch costume to (costume11 v)\ncreate clone of (_myself_ v)\n\ndefine Respawn\ngo to (respawner v)\n\nwhen I start as a clone\nrepeat (10)\n    change y by (-10)\n    go to [front v] layer\nend\ndelete this clone\n\ndefine Next level\nset [in prog v] to [Yes]\nglide (2) secs to x: (-220) y: (y position)\nswitch costume to (costume [number v])\nset [in prog v] to [No]\n\nwhen [r v] key pressed\nRespawn\n\nwhen I receive [done v]\nhide\nstop [other scripts in sprite v]\n\n@Ground``\n\nwhen flag clicked\nset [level v] to [1]\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\n\nwhen I receive [next level v]\nNext level\n\ndefine Next level\nchange [level v] by (1)\ncreate clone of (_myself_ v)\nglide (2) secs to x: (-495) y: (0)\ngo to x: (0) y: (0)\nnext costume\n\nwhen I start as a clone\ngo to [back v] layer\nnext costume\ngo to x: (500) y: (0)\nglide (2) secs to x: (0) y: (0)\ndelete this clone\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [21]> then\n        broadcast (Done v)\n    end\nend\n\n@Leave things\n\nwhen flag clicked\ngo to x: (0) y: (0)\nswitch costume to (Level)\nforever\n    go to [front v] layer\n    set [ghost v] effect to (10)\nend\n\ndefine Next level\ncreate clone of (_myself_ v)\nglide (2) secs to x: (-495) y: (0)\ngo to x: (0) y: (0)\nnext costume\n\nwhen I receive [next level v]\nNext level\n\nwhen I start as a clone\ngo to [front v] layer\nnext costume\ngo to x: (500) y: (0)\nglide (2) secs to x: (0) y: (0)\ndelete this clone\n\nwhen I receive [done v]\nhide\nstop [other scripts in sprite v]\n\nwhen flag clicked\nshow\n\n@Butterflies\n\nwhen flag clicked\nhide\nrepeat (3)\n    Butterfly\nend\n\ndefine Butterfly\ngo to (random position v)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nshow\nforever\n    set size to (pick random (7) to (10)) %\n    set [butterfly step v] to (pick random (5) to (10))\n    set [butterfly turn v] to (pick random (3) to (30))\n    repeat (3)\n        repeat (3)\n            if on edge, bounce\n            move (Butterfly step) steps\n        end\n        repeat (1)\n            if on edge, bounce\n            turn right (Butterfly turn) degrees\n        end\n        if on edge, bounce\n    end\nend\n\nwhen I start as a clone\nforever\n    if on edge, bounce\n    go to [front v] layer\nend\n\nwhen I start as a clone\nforever\n    if <<touching (player v)?> or <touching (leave things v)?>> then\n        change x by (([direction v] of [player v]) / (10))\n        turn right (180) degrees\n    end\nend\n\nwhen I receive [done v]\nhide\nstop [other scripts in sprite v]\n\n@Turtle: moving river platform\n\nwhen flag clicked\ngo to x: (-100) y: (-80)\nhide\nforever\n    repeat (100)\n        go to [back v] layer\n        change x by (2.5)\n        set rotation style [left-right v]\n        point in direction (-90)\n    end\n    repeat (100)\n        change x by (-2.5)\n        set rotation style [left-right v]\n        point in direction (90)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [4]> then\n        show\n    end\n    if <(Level) = [5]> then\n        hide\n    end\nend\n\nwhen I receive [next level v]\nhide\n\nwhen I receive [done v]\nhide\nstop [other scripts in sprite v]\n\n@birds\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\ngo to x: (205) y: (pick random (150) to (120))\nshow\nswitch costume to (costume1 v)\nset size to (50) %\nrepeat until <touching (_edge_ v)?>\n    wait (0.05) seconds\n    next costume\n    change x by ((pick random (5) to (10)) * (-1))\n    if <touching (_edge_ v)?> then\n        delete this clone\n    end\nend\ndelete this clone\n\nwhen I receive [play v]\nforever\n    wait (pick random (6) to (4)) seconds\n    create clone of (_myself_ v)\nend\n\nwhen I receive [done v]\nhide\nstop [other scripts in sprite v]\n\n@Next level\n\nwhen flag clicked\nshow\nset size to (100) %\ngo to x: (0) y: (0)\nset [ghost v] effect to (100)\n\nwhen I receive [done v]\nhide\nstop [other scripts in sprite v]\n\n@Water\n\nwhen flag clicked\nshow\nswitch costume to (costume2 v)\nforever\n    set [ghost v] effect to (5)\n    go to [front v] layer\n    go [backward v] (1) layers\nend\n\nwhen I receive [next level v]\nNext level\n\nhide\n\nwhen flag clicked\nforever\n    repeat (10)\n        change y by (1)\n    end\n    repeat (10)\n        change y by (-1)\n    end\nend\n\nwhen I receive [done v]\nhide\nstop [other scripts in sprite v]\n\ndefine Next level\ncreate clone of (_myself_ v)\nglide (2) secs to x: (-495) y: (0)\ngo to x: (0) y: (0)\nnext costume\n\nwhen I start as a clone\nnext costume\ngo to [back v] layer\ngo to x: (500) y: (0)\nglide (2) secs to x: (0) y: (0)\ndelete this clone\n\n@Thorns\n\nwhen flag clicked\ngo to x: (0) y: (0)\nswitch costume to (costume5 v)\nshow\n\nwhen I receive [next level v]\nNext level\n\nwhen I start as a clone\nshow\nnext costume\ngo to x: (500) y: (0)\nglide (2) secs to x: (0) y: (0)\ndelete this clone\n\nwhen I receive [done v]\nhide\nstop [other scripts in sprite v]\n\ndefine Next level\ncreate clone of (_myself_ v)\nglide (2) secs to x: (-495) y: (0)\ngo to x: (0) y: (0)\nnext costume\n\n@Respawner\n\nwhen flag clicked\nbroadcast (Respawner v)\n\ndefine (y) (level)\nif <(Level) = (level)> then\n    go to x: (-225) y: (y)\nend\n\nwhen I receive [next level v]\nbroadcast (Respawner v)\n\nwhen I receive [respawner v]\nforever\n    [-50] [1]\n    [80] [3]\n    [10] [4]\n    [120] [6]\n    [-50] [7]\n    [30] [8]\n    [-50] [9]\n    [97] [12]\n    [50] [13]\n    [130] [14]\n    [150] [15]\n    [95] [16]\n    [150] [17]\nend\n\nwhen flag clicked\nforever\n    set [ghost v] effect to (100)\nend\n\nwhen [r v] key pressed\nbroadcast (Respawner v)\n\nwhen I receive [done v]\nhide\nstop [other scripts in sprite v]\n\n@Level\n\nwhen flag clicked\nshow\nswitch costume to (1 v)\ngo to x: (0) y: (157)\nforever\n    set size to (75) %\n    if <touching (player v)?> then\n        set [ghost v] effect to (80)\n    else\n        clear graphic effects\n    end\nend\n\ndefine Next level\ncreate clone of (_myself_ v)\nglide (2) secs to x: (230) y: (157)\ngo to x: (0) y: (157)\nnext costume\n\nwhen I receive [next level v]\nNext level\n\nwhen I start as a clone\nshow\ngo to [front v] layer\nnext costume\ngo to x: (-230) y: (157)\nglide (2) secs to x: (0) y: (157)\ndelete this clone\n\nwhen I receive [done v]\nhide\nstop [other scripts in sprite v]\n\n@Ground art\n\nwhen flag clicked\nforever\n    go to [back v] layer\n    if <(Level) = [10]> then\n        show\n    else\n        hide\n    end\n    go to [back v] layer\n    go [backward v] (5000000000000) layers\nend\n\ndefine Next level\ncreate clone of (_myself_ v)\nglide (2) secs to x: (-495) y: (0)\ngo to x: (0) y: (0)\n\nwhen I receive [next level v]\nNext level\n\nwhen I receive [done v]\nhide\nstop [other scripts in sprite v]\n\n@Sprite1\n\nwhen flag clicked\nforever\n    go to [front v] layer\n    set [ghost v] effect to (100)\n    show\n    go to x: (0) y: (0)\nend\n\n