⛰️ Mountain High Speedrun! | A Platformer

Instructions: ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n⛰️ ᴍᴏᴜɴᴛᴀɪɴ ʜɪɢʜ | ᴀ ᴘʟᴀᴛꜰᴏʀᴍᴇʀ\n~~~~~~~~~~~~~~~~~~~~~~~~~~~\n2021/08/08-09 curated by @nerdintown !!\n~~~~~~~~~~~~~~~~~~~~~~~~~~~\n★ INTRODUCTION ★\n\nHi! It's DwBros's Official First Project Together!! Thank You For All Your Support!! It would be great of you to follow us! Thanks!\nThis Platformer is about a gradient explorer going high in the mountains, but went too high!! So, you player need to help him get back to his home that you see in the thumbnail! The Journey will not be easy though.. There are spikes, gears, water, lava, etc. See how long you take to reach the gradient explorer home!\nPress that ♥︎ and ★ !!!\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n★ CONTROLS ★\n\nArrow Keys To Move!!!\nAnd Green Flag To Play Again.\nOne More thing, tap! (Intro, score)\nAlso, to swim, hold the up arrow!\n(Post your score in the comments!)\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n★ Credits ★\n\n- Some Assets from @Deluxra\n- Some assets from @dwseoh127's projects\n- BGM&SFX from Nintendo! (Mario)\n- The Text from thumbnail is from cool text\n- The Font is Quick Sand (from google drawings)\n- Code is 100% Me\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\nv. 1. 0 BETA\n\nPossible Upgrades:\n+Cloud-Score [IF WE GET THE SCRATCHER STATUS!]\n+Other modes\n\n© 2021 DwBros Productions \n[@dwseoh127 || @dwseoh12]\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

@Stage\n\nwhen flag clicked\nset [_timer v] to [0.00]\nrepeat (5)\n    change [brightness v] effect by (-2)\nend\n\ndefine Timer\nset [_timer v] to (([floor v] of ((timer) * (100)) ) / (100))\n\nwhen I receive [start!! v]\nreset timer\nforever\n    Timer\nend\n\nwhen I receive [ready! v]\nchange [brightness v] effect by (10)\n\nwhen I receive [start!! v]\nplay sound [\[Super Mario Bros\] Time Warning Sound Effect \[Free Ringtone Download\] v] until done\nforever\n    play sound [Marine Pop, Sky Pop! - Super Mario Land v] until done\nend\n\nwhen I receive [stop timer v]\nbroadcast (Next Level v)\nstop [other scripts in sprite v]\nplay sound [Course Clear - Super Mario Bros 3 v] until done\n\n@player\n\nwhen I start as a clone\nrepeat (60)\n    change [ghost v] effect by (8)\n    change size by (-8)\nend\ndelete this clone\n\ndefine physics <touch>\nif <key (down arrow v) pressed?> then\n    switch costume to (crouch v)\nelse\n    switch costume to (costume2 v)\nend\nset [x v] to (x position)\nset [y v] to (y position)\ngo to [front v] layer\ngo [backward v] (1) layers\nclear graphic effects\nif <touching (water/lava v)?> then\n    change [yv v] by (-0.25)\nelse\n    change [yv v] by (-1)\nend\nif <touching (trampoline v)?> then\n    start sound [Boing sound effect v]\n    change [yv v] by (20)\nend\nif <key (r v) pressed?> then\n    broadcast (Reset v)\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\n    go to x: (-200) y: (-45)\n    repeat (10)\n        change [ghost v] effect by (-10)\n    end\nend\nif <<key (right arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n    point in direction (90)\n    change [xv v] by (0.9)\nend\nif <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>> then\n    point in direction (90)\n    change [xv v] by (-0.9)\nend\nset [xv v] to ((Xv) * (0.9))\nchange x by (Xv)\nif  then\n    if <key (up arrow v) pressed?> then\n        change [yv v] by (0.7)\n    end\nend\nif <<touching (platforms v)?> or <touching (barrier v)?>> then\n    change y by (1)\nend\nif <<touching (platforms v)?> or <touching (barrier v)?>> then\n    change y by (1)\nend\nif <<touching (platforms v)?> or <touching (barrier v)?>> then\n    change y by (1)\nend\nif <<touching (platforms v)?> or <touching (barrier v)?>> then\n    change y by (1)\nend\nif <<touching (platforms v)?> or <touching (barrier v)?>> then\n    change y by (-4)\n    change x by ((Xv) * (-1))\n    if <<key (up arrow v) pressed?> or <mouse down?>> then\n        set [yv v] to [14]\n        if <(Xv) > [0]> then\n            start sound [smb_jump-small v]\n            set [xv v] to [-10]\n        else\n            start sound [smb_jump-small v]\n            set [xv v] to [10]\n        end\n    end\nend\nchange y by (Yv)\nif <<touching (platforms v)?> or <touching (barrier v)?>> then\n    change y by ((Yv) * (-1))\n    set [yv v] to [0]\nend\nchange y by (-1)\nif <<<key (up arrow v) pressed?> or <mouse down?>> and <<touching (platforms v)?> or <touching (barrier v)?>>> then\n    if <touching (trampoline v)?> then\n        change [yv v] by (20)\n    else\n        change [yv v] by (14)\n    end\n    start sound [smb_jump-small v]\nend\nchange y by (1)\nif <touching (portal v)?> then\n    broadcast (Portal v)\n    change [level v] by (1)\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\n    reset\n    broadcast (Next Level v)\n    go to x: (-200) y: (-45)\n    repeat (10)\n        change [ghost v] effect by (-10)\n    end\nend\nif <<<touching (danger v)?> or <<touching color (#ff5f5f)?> or <touching (enemies v)?>>> or <(y position) < [-175]>> then\n    start sound [Crunch v]\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\n    reset\n    go to x: (-200) y: (-45)\n    repeat (10)\n        change [ghost v] effect by (-10)\n    end\nend\n\nwhen flag clicked\nshow\nswitch costume to (costume2 v)\ngo to x: (-200) y: (-45)\nreset\nset [level v] to [1]\n\ndefine reset\nset [xv v] to [0]\nset [yv v] to [0]\n\nwhen I receive [start!! v]\nbroadcast (thingy v)\nforever\n    physics <>\nend\n\nwhen I receive [thingy v]\nforever\n    if <<key (right arrow v) pressed?> or <<key (left arrow v) pressed?> or <<key (up arrow v) pressed?> or >>> then\n        create clone of (_myself_ v)\n    end\nend\n\nwhen I receive [stop timer v]\nwait until <<(x position) = [-200]> and <(y position) = [-45]>>\nstop [other scripts in sprite v]\nclear graphic effects\nset [_vel v] to [0]\nrepeat until <touching (platforms v)?>\n    change [_vel v] by (-1)\n    change y by (_Vel)\nend\nset y to (-123)\nset [_vel v] to [1]\nrepeat until <touching (elements v)?>\n    change x by (2)\nend\nrepeat until <not <touching (elements v)?>>\n    change x by (2)\nend\nwait (.1) seconds\nswitch costume to (crouch v)\nwait (1) seconds\nsay [⚑\(Green Flag\) To Try Again!!!]\n\ndefine smooth glide to x position: (x) y position: (y) Speed: (speed) Ghost: (ge)\nrepeat until <<(round (x position)) = (x)> and <(round (y position)) = (y)>>\n    change x by (((x) - (x position)) / (speed))\n    change y by (((y) - (y position)) / (speed))\n    change [ghost v] effect by (ge)\nend\n\nwhen I receive [thingy v]\nforever\n    if  then\n        if <not <touching color (#ff5f5f)?>> then\n            if <key (up arrow v) pressed?> then\n                start sound [swim v]\n                wait until <not <key (up arrow v) pressed?>>\n            end\n        end\n    end\nend\n\n@Platforms\n\nwhen I receive [next level v]\nnext costume\n\nwhen flag clicked\nswitch costume to (costume1 v)\ngo to x: (0) y: (0)\nforever\n    go to [front v] layer\nend\n\n@Thumbnail\n\nwhen flag clicked\nforever\n    set [ghost v] effect to (100)\n    go to [front v] layer\nend\n\n@Cloud\n\nwhen flag clicked\nhide\nforever\n    create clone of (_myself_ v)\n    wait (2.3) seconds\nend\n\nwhen I start as a clone\nswitch costume to (pick random (1) to (2))\nshow\ngo to x: (-270) y: (pick random (120) to (100))\nset [ghost v] effect to (100)\nset [random v] to (pick random (6) to (10))\nrepeat (Random)\n    change [ghost v] effect by (-10)\n    change x by (pick random (2) to (3))\nend\nrepeat until <(x position) > [250]>\n    change x by (pick random (2) to (3))\nend\nrepeat (Random)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\n@portal\n\nwhen flag clicked\nshow\nforever\n    change [color v] effect by (1)\n    go to [front v] layer\nend\n\nbroadcast (Score v)\n\nwhen flag clicked\nwait (.1) seconds\nforever\n    if <(Level) = [14]> then\n        hide\n        broadcast (Stop timer v)\n        stop [this script v]\n    end\nend\n\n@Elements\n\nwhen I receive [next level v]\nnext costume\n\nwhen flag clicked\nswitch costume to (costume1 v)\ngo to x: (0) y: (0)\n\nwhen I receive [stop timer v]\nforever\n    switch costume to (costume14 v)\n    show\nend\n\n@Danger\n\nwhen flag clicked\nswitch costume to (spike v)\ngo to x: (0) y: (0)\nhide\nset [clone v] to [0]\nforever\n    wait until <(Level) = [3]>\n    spike at [-61] [-123] [100]\n    spike at [-29] [-123] [100]\n    spike at [3] [-123] [100]\n    wait until <(Level) = [4]>\n    turn at [-29] [-136] [100] [5]\n    turn at [39] [-136] [100] [5]\n    wait until <(Level) = [6]>\n    turn at [-73] [-120] [100] [5]\n    turn at [36] [-120] [100] [5]\n    wait until <(Level) = [7]>\n    turn at [67] [-101] [100] [5]\n    turn at [128] [-74] [100] [5]\n    spike at [-235] [2] [100]\n    wait until <(Level) = [11]>\n    turn at [-74] [28] [100] [5]\n    turn at [12] [-55] [100] [5]\n    turn at [172] [-174] [100] [5]\n    turn at [156] [19] [100] [5]\n    wait until <(Level) = [13]>\n    wait (.5) seconds\n    last level!!!\n    stop [this script v]\nend\n\ndefine spike at (x) (y) (size)\nswitch costume to (spike v)\nset [clone v] to [0]\ngo to x: (x) y: (y)\nset size to (size) %\ncreate clone of (_myself_ v)\n\ndefine turn at (x) (y) (size) (amount per frame)\ngo to [front v] layer\nswitch costume to (turn v)\nset [clone v] to [0]\ngo to x: (x) y: (y)\nset size to (size) %\nset [amount. v] to (amount per frame)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nshow\nif <(costume [name v]) = [spike]> then\n    set [temp. v] to (Level)\n    wait until <not <(Level) = (temp.)>>\n    set [clone v] to [1]\nelse\n    if <(costume [name v]) = [turn2]> then\n        set [temp. v] to (Level)\n        broadcast (thingy!! v)\n        repeat until <not <(Level) = (temp.)>>\n            go to [front v] layer\n            turn right (amount.) degrees\n            set size to (120) %\n        end\n        stop [other scripts in sprite v]\n        set [clone v] to [1]\n    else\n        set [temp. v] to (Level)\n        repeat until <not <(Level) = (temp.)>>\n            turn right (amount.) degrees\n        end\n        set [clone v] to [1]\n    end\nend\ndelete this clone\n\ndefine last level!!!\nswitch costume to (turn2 v)\ngo to x: (163) y: (59)\nset size to (120) %\nset size to (size) %\nset [amount. v] to [20]\ncreate clone of (_myself_ v)\n\nwhen I receive [thingy!! v]\nif <(costume [name v]) = [turn2]> then\n    forever\n        glide (.5) secs to x: (163) y: (-77)\n        wait (.5) seconds\n        glide (.5) secs to x: (163) y: (59)\n        wait (.5) seconds\n    end\nend\n\n@BARRIER\n\ndefine Moving Platform at (x) (y) to (x2) (y2) (size) (speed)\ndelete all of [data v]\nadd (x) to [data v]\nadd (y) to [data v]\nadd (x2) to [data v]\nadd (y2) to [data v]\nadd (size) to [data v]\nadd (speed) to [data v]\nset [temp. v] to (Level)\ncreate clone of (_myself_ v)\nwait until <not <(Temp.) = (Level)>>\nbroadcast (Delete Clone! v)\n\nwhen I receive [next level v]\nif <(Level) = [7]> then\n    Moving Platform at [-142] [76] to [142] [76] [90] [10]\nelse\n    if <(Level) = [13]> then\n        Moving Platform at [-135] [-130] to [-72] [-24] [90] [10]\n    end\nend\n\nwhen I start as a clone\nset size to (item (5) of [data v]) %\ngo to x: (item (1) of [data v]) y: (item (2) of [data v])\nshow\nforever\n    glide ((((item (3) of [data v]) - (item (1) of [data v])) + ((item (4) of [data v]) - (item (2) of [data v]))) / (join (item (6) of [data v]) [0])) secs to x: (item (3) of [data v]) y: (item (4) of [data v])\n    wait (1) seconds\n    glide ((((item (4) of [data v]) - (item (2) of [data v])) + ((item (3) of [data v]) - (item (1) of [data v]))) / (join (item (6) of [data v]) [0])) secs to x: (item (1) of [data v]) y: (item (2) of [data v])\n    wait (1) seconds\nend\n\nwhen I receive [delete clone! v]\ndelete this clone\n\n@water/lava\n\nwhen flag clicked\nswitch costume to (costume2 v)\ngo to x: (0) y: (0)\nforever\n    set y to ((([sin v] of ((timer) * (100)) ) * (5)) + (0))\nend\n\nwhen I receive [next level v]\nnext costume\n\nwhen I start as a clone\nrepeat (10)\n    change [ghost v] effect by (10)\n    change y by (1)\nend\ndelete this clone\n\n@_Bar\n\ndefine setup chars\ndelete all of [chars v]\nset [counter v] to [1]\nset [allowed_characters v] to [abcdefghijklmnopqrstuvwxyz0123456789`~!@#$%^&*\(\)-_=+\[{\]}\|;:'"‘’‟”,<.>/? ]\nrepeat (9)\n    add [] to [chars v]\nend\nrepeat (length of (allowed_characters))\n    add (letter (counter) of (allowed_characters)) to [chars v]\n    change [counter v] by (1)\nend\n\ndefine encode (string)\nsetup chars\nset [encoded v] to []\nset [counter v] to [1]\nrepeat (length of (string))\n    set [encoded v] to (join (encoded) (item # of (letter (counter) of (string)) in [chars v]))\n    change [counter v] by (1)\nend\n\ndefine decode\nsetup chars\nset [decoded v] to []\nset [counter v] to [1]\nrepeat ((length of (encoded)) / (2))\n    set [id v] to (join (letter (counter) of (encoded)) (letter ((counter) + (1)) of (encoded)))\n    set [decoded v] to (join (decoded) (item (id) of [chars v]))\n    change [counter v] by (2)\nend\n\ndefine transit!\nshow\ngo to x: (0) y: (400)\nsmooth glide to x position: [0] y position: [0] Speed: [3] Ghost: []\nwait until <mouse down?>\nwait until <not <mouse down?>>\nsmooth glide to x position: [0] y position: [-200] Speed: [3] Ghost: [5]\nhide\nclear graphic effects\n\ndefine smooth glide to x position: (x) y position: (y) Speed: (speed) Ghost: (ge)\nrepeat until <<(round (x position)) = (x)> and <(round (y position)) = (y)>>\n    change x by (((x) - (x position)) / (speed))\n    change y by (((y) - (y position)) / (speed))\n    change [ghost v] effect by (ge)\nend\n\nwhen flag clicked\nerase all\nhide\nset [clone id v] to [1]\ncreate clone of (_myself_ v)\nset [clone id v] to [2]\nforever\n    broadcast (delete number v)\n    Analyze\n    FONT [Quicksand] Write: (_ANALYZED) At X [-150] Y [160] Size [160] Color Effects [0] [100]\n    FONT [Quicksand] Write: (_TIMER) At X [54] Y [160] Size [150] Color Effects [0] [100]\nend\n\nwhen I start as a clone\nif <(CLONE ID) = [1]> then\n    switch costume to (costume2 v)\n    set size to (100) %\n    show\n    set [ghost v] effect to (20)\n    go to [front v] layer\n    go to x: (0) y: (0)\nend\ngo to [front v] layer\nshow\n\ndefine FONT [Quicksand] Write: (letter) At X (x) Y (y) Size (size) Color Effects (col) (bri)\ngo to x: (x) y: (y)\nset size to (size) %\nset [color v] effect to (col)\nset [brightness v] effect to (bri)\nset [_counter v] to [1]\nrepeat (length of (letter))\n    switch costume to (join [N_] (letter (_Counter) of (letter)))\n    create clone of (_myself_ v)\n    move (18) steps\n    change [_counter v] by (1)\nend\n\ndefine Analyze\nif <(Level) < [10]> then\n    set [_analyzed v] to (join [0] (Level))\nelse\n    set [_analyzed v] to (Level)\nend\n\nwhen I receive [delete number v]\nif <(CLONE ID) = [2]> then\n    delete this clone\nend\n\nwhen I receive [stop timer v]\nstop [other scripts in sprite v]\nbroadcast (Bar delete v) and wait\nset [brightness v] effect to (0)\nbroadcast (NEW!! v) and wait\nwait until <(_ScoreShow?) = [1]>\nset [clone id v] to [2]\nif <([floor v] of (_TIMER) ) = (_TIMER)> then\n    set [_timer v] to (join (_TIMER) [.00])\nend\nHighscore\nFONT [Quicksand] Write: (_TIMER) At X [-40] Y [10] Size [150] Color Effects [0] [-100]\nrepeat (_TIMER)\n    start sound [Super Mario Bros4 v]\nend\n\nwhen I receive [bar delete v]\ndelete this clone\n\nchange [level v] by (1)\n\nwhen I receive [new!! v]\nwait (.1) seconds\nset [clone id v] to [3]\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nif <(CLONE ID) = [3]> then\n    set size to (100) %\n    switch costume to (costume1 v)\n    transit!\n    switch costume to (costume3 v)\n    show\n    go to x: (0) y: (400)\n    smooth glide to x position: [0] y position: [0] Speed: [3] Ghost: []\n    set [_scoreshow? v] to [1]\nend\n\nwhen flag clicked\nset [_scoreshow? v] to [0]\n\nif <(CLONE ID) = [1]> then\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\nend\n\nbroadcast (delete number v)\n\nrepeat (13)\n    broadcast (Next Level v)\n    change [level v] by (1)\nend\n\nchange [level v] by (1)\nbroadcast (Next Level v)\n\ndefine Highscore\n\ndecode\n\nshow variable [☁️ cloud high score v]\nif <(letter (1) of (☁ High)) = [3]> then\n    set [☁️ cloud high score v] to (join (letter (2) of (☁ High)) (join (letter (3) of (☁ High)) (join [.] (join (letter (4) of (☁ High)) (letter (5) of (☁ High))))))\nelse\n    if <(letter (1) of (☁ High)) = [2]> then\n        set [☁️ cloud high score v] to (join (letter (2) of (☁ High)) (join (letter (3) of (☁ High)) (join [.] (letter (4) of (☁ High)))))\n    end\nend\nset [decoded high v] to [0]\nif <(☁️ CLOUD High Score) > (_TIMER)> then\n    set [counter2 v] to [1]\n    repeat until <(letter (counter2) of (_TIMER)) = [.]>\n        change [counter2 v] by (1)\n    end\n    set [temporary var v] to (counter2)\n    repeat until <(letter (counter2) of (_TIMER)) = []>\n        change [counter2 v] by (1)\n    end\n    if <((counter2) - (temporary var)) = [2]> then\n        set [☁ high v] to (join ((counter2) - (temporary var)) ((10) * (_TIMER)))\n    else\n        if <((counter2) - (temporary var)) = [3]> then\n            set [☁ high v] to (join ((counter2) - (temporary var)) ((100) * (_TIMER)))\n        end\n    end\n    encode (username)\n    set [☁ by v] to (encoded)\nend\nset [encoded v] to (☁ By)\ndecode\nset [☁️ cloud high score v] to (join (☁️ CLOUD High Score) (join [ By ] (decoded)))\n\nwhen flag clicked\nhide variable [☁️ cloud high score v]\n\nset [☁ high v] to [35615]\n\n@_Introduction\n\ndefine smooth glide to x position: (x) y position: (y) Speed: (speed) Ghost: (ge)\nrepeat until <<(round (x position)) = (x)> and <(round (y position)) = (y)>>\n    change x by (((x) - (x position)) / (speed))\n    change y by (((y) - (y position)) / (speed))\n    change [ghost v] effect by (ge)\nend\n\nwhen flag clicked\nswitch costume to (costume1 v)\ntransit!\nswitch costume to (costume2 v)\ntransit!\nwait (.5) seconds\nbroadcast (READY! v)\nswitch costume to (3! v)\nstart sound [3 v]\ncountdown\nswitch costume to (2! v)\nstart sound [2 v]\ncountdown\nswitch costume to (1! v)\nstart sound [1 v]\ncountdown\nstart sound [Go v]\nswitch costume to (go!!! v)\nshow\ngo to x: (0) y: (400)\nsmooth glide to x position: [0] y position: [0] Speed: [3] Ghost: []\nbroadcast (START!! v)\nwait (.5) seconds\nsmooth glide to x position: [0] y position: [-200] Speed: [3] Ghost: [5]\nhide\nclear graphic effects\n\ndefine transit!\nshow\ngo to x: (0) y: (400)\nsmooth glide to x position: [0] y position: [0] Speed: [3] Ghost: []\nwait until <mouse down?>\nwait until <not <mouse down?>>\nsmooth glide to x position: [0] y position: [-200] Speed: [3] Ghost: [5]\nhide\nclear graphic effects\n\ndefine countdown\nshow\ngo to x: (0) y: (400)\nsmooth glide to x position: [0] y position: [0] Speed: [3] Ghost: []\nwait (1) seconds\nsmooth glide to x position: [0] y position: [-200] Speed: [3] Ghost: [10]\nhide\nclear graphic effects\n\n