Tiny Tower (A platformer)

Instructions: Tiny Tower 2 - Hardcore\nhttps://scratch.mit.edu/projects/683991329/\n\nGAME - Tiny Tower (A platformer)\n\nART - @RainFreeze\n\nCODE - @RainFreeze\n\nIDEA - Climb to the top of the tower to win! Avoid the deadly spikes, lava, and other traps! Don't forget to collect the keys to unlock doors! Have fun!\n\nHOW TO PLAY - \nUse arrow keys to move\nLike, Star, and Follow!\n\nMusic - @Will_Wam\n\n#All #Trending #Games #Art #Platformer\n\n1000 VIEWS?!?!?!?!?!?! - 1/18/22\n3RD PAGE ON TRENDING??!?!?!!?!? - 1/18/22\n2000 VIEWS?!?!?!?!?!?!? - 1/20/21\n2500 VIEWS!?!??!?!??!?!??! - 1/22/22\n3000 VIEWS!?!?!?!??!?!?!?! - 1/24/22\n4400 VIEWS?!?!?!?!?!?!??! - 5/5/22

@Stage\n\nwhen flag clicked\nforever\n    play sound [music v] until done\nend\n\n@player\n\ndefine Run Game\nchange [speed y v] by (-1)\nif <<key (a v) pressed?> or <key (left arrow v) pressed?>> then\n    change [speed x v] by (-3)\nend\nif <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n    change [speed x v] by (3)\nend\nset [speed x v] to ((Speed X) * (0.7))\nchange x by (Speed X)\nif <<touching (wall v)?> or <<touching (ground v)?> or <touching (bridge v)?>>> then\n    change y by (1)\n    if <<touching (wall v)?> or <<touching (ground v)?> or <touching (bridge v)?>>> then\n        change y by (1)\n        if <<touching (wall v)?> or <<touching (ground v)?> or <touching (bridge v)?>>> then\n            change y by (1)\n            if <<touching (wall v)?> or <<touching (ground v)?> or <touching (bridge v)?>>> then\n                change y by (1)\n                if <<touching (wall v)?> or <<touching (ground v)?> or <touching (bridge v)?>>> then\n                    change y by (1)\n                    if <<touching (wall v)?> or <<touching (ground v)?> or <touching (bridge v)?>>> then\n                        change y by (1)\n                        if <<touching (wall v)?> or <<touching (ground v)?> or <touching (bridge v)?>>> then\n                            change y by (1)\n                            if <<touching (wall v)?> or <<touching (ground v)?> or <touching (bridge v)?>>> then\n                                change y by (1)\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\nif <<touching (wall v)?> or <<touching (ground v)?> or <touching (bridge v)?>>> then\n    change y by (-8)\n    repeat until <not <<touching (wall v)?> or <<touching (ground v)?> or <touching (bridge v)?>>>>\n        change x by ((Speed X) * (-1))\n    end\n    if <<key (w v) pressed?> or <key (up arrow v) pressed?>> then\n        set [speed y v] to [10]\n        if <(Speed X) < [0]> then\n            set [speed x v] to [16]\n        else\n            set [speed x v] to [-16]\n        end\n    else\n        set [speed x v] to [0]\n    end\nend\nchange y by (Speed Y)\nif <<touching (wall v)?> or <<touching (ground v)?> or <touching (bridge v)?>>> then\n    repeat until <not <<touching (wall v)?> or <<touching (ground v)?> or <touching (bridge v)?>>>>\n        change y by ((Speed Y) * (-1))\n    end\n    set [speed y v] to [0]\nend\nchange y by (-1)\nif <<<key (w v) pressed?> or <key (up arrow v) pressed?>> and <<touching (wall v)?> or <<touching (ground v)?> or <touching (bridge v)?>>>> then\n    set [speed y v] to [14]\nend\nchange y by (1)\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nswitch costume to (idle v)\nshow\nset [speed y v] to [0]\nset [speed x v] to [0]\ngo to x: (-241) y: (-142)\nset rotation style [left-right v]\nforever\n    Run Game\nend\n\nwhen I receive [start v]\nforever\n    if <touching color (#00ff08)?> then\n        go to x: (-241) y: (-142)\n        broadcast (next v)\n    end\nend\n\nwhen I receive [start v]\nforever\n    if <<touching (saw v)?> or <<touching (lava v)?> or <touching (traps v)?>>> then\n        go to x: (-241) y: (-142)\n    end\nend\n\nwhen flag clicked\nbroadcast (start v)\n\nwhen I receive [start v]\nforever\n    if <touching (key v)?> then\n        broadcast (hide v)\n    end\nend\n\n@Ground\n\nwhen I receive [next v]\nnext costume\nchange [level v] by (1)\nwait (0.2) seconds\n\nwhen I receive [start v]\nshow\nset [level v] to [1]\nswitch costume to (1 v)\n\nwhen flag clicked\nhide\n\n@traps\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\ngo to x: (0) y: (0)\npoint in direction (90)\ngo to [back v] layer\nshow\nforever\n    switch costume to (level)\nend\n\nwhen I receive [start v]\nforever\n    if <(level) = [6]> then\n        hide\n    end\nend\n\n@saw\n\nwhen I receive [start v]\ngo to x: (0) y: (0)\npoint in direction (90)\ngo to [back v] layer\nshow\nforever\n    switch costume to (level)\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nforever\n    turn right (1) degrees\nend\n\nwhen I receive [start v]\nforever\n    if <(level) = [1]> then\n        go to x: (-7) y: (55)\n    end\nend\n\nwhen I receive [start v]\nforever\n    if <(level) = [2]> then\n        go to x: (11) y: (-168)\n    end\nend\n\nwhen I receive [start v]\nforever\n    if <(level) = [3]> then\n        go to x: (223) y: (-31)\n    end\nend\n\nwhen I receive [start v]\nforever\n    if <(level) = [4]> then\n        go to x: (142) y: (-168)\n    end\nend\n\nwhen I receive [start v]\nforever\n    if <(level) = [5]> then\n        go to x: (-131) y: (57)\n    end\nend\n\nwhen I receive [start v]\nforever\n    if <(level) = [6]> then\n        hide\n    end\nend\n\n@cover\n\nwhen flag clicked\nhide\n\n@finish\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nforever\n    if <(level) = [6]> then\n        hide\n    end\nend\n\nwhen I receive [start v]\nshow\n\n@wall\n\nwhen I receive [start v]\ngo to x: (0) y: (0)\npoint in direction (90)\ngo to [back v] layer\nshow\nforever\n    switch costume to (level)\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [hide v]\nhide\n\nwhen I receive [start v]\nwait until <(level) = [4]>\nshow\n\nwhen I receive [start v]\nwait until <(level) = [5]>\nshow\n\n@bridge\n\nwhen I receive [start v]\ngo to x: (0) y: (0)\npoint in direction (90)\ngo to [back v] layer\nshow\nforever\n    switch costume to (level)\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nwait until <(level) = [2]>\ngo to x: (36) y: (6)\n\nwhen I receive [start v]\nforever\n    if <(level) = [2]> then\n        repeat until <(level) = [3]>\n            glide (3) secs to x: (-172) y: (6)\n            glide (3) secs to x: (36) y: (6)\n        end\n    end\nend\n\nwhen I receive [start v]\nwait until <(level) = [5]>\ngo to x: (-173) y: (-123)\n\nwhen I receive [start v]\nforever\n    if <(level) = [5]> then\n        repeat until <(level) = [6]>\n            glide (1.5) secs to x: (-173) y: (-123)\n            glide (1.5) secs to x: (41) y: (-123)\n        end\n    end\nend\n\nwhen I receive [start v]\nforever\n    if <(level) = [6]> then\n        hide\n    end\nend\n\n@key\n\nwhen I receive [start v]\ngo to x: (0) y: (0)\npoint in direction (90)\ngo to [back v] layer\nshow\nforever\n    switch costume to (level)\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nforever\n    repeat (5)\n        change y by (1)\n        wait (0.01) seconds\n    end\n    repeat (5)\n        change y by (-1)\n        wait (0.01) seconds\n    end\nend\n\nwhen I receive [hide v]\nhide\n\nwhen I receive [start v]\nwait until <(level) = [4]>\nshow\n\nwhen I receive [start v]\nwait until <(level) = [5]>\nshow\n\n@lava\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\ngo to x: (0) y: (0)\npoint in direction (90)\ngo to [back v] layer\nshow\nforever\n    switch costume to (level)\nend\n\nwhen I receive [start v]\nforever\n    repeat (10)\n        change y by (1)\n        wait (0.01) seconds\n    end\n    repeat (10)\n        change y by (-1)\n        wait (0.01) seconds\n    end\nend\n\nwhen I receive [start v]\nforever\n    if <(level) = [6]> then\n        hide\n    end\nend\n\n