Adventure A platformer

Instructions: Use arrow keys to move and collect coins and beat the boss. HAVE FUN

@Stage\n\n@Thumb HUG THUMB\n\nwhen flag clicked\nhide\n\ngo to [front v] layer\nshow\ngo to x: (0) y: (0)\n\n@Boss\n\nwhen flag clicked\nhide\nforever\n    if <(Level) = [7]> then\n        show\n        go to x: (203) y: (5)\n        glide (.7) secs to x: (105) y: (5)\n        glide (1) secs to x: (203) y: (5)\n    end\n    hide\nend\n\n@Glow\n\nwhen flag clicked\nhide\n\nwhen I receive [coin v]\nshow\nset [ghost v] effect to (100)\nrepeat (10)\n    change [ghost v] effect by (-5)\nend\n\nwait (.01) seconds\n\nwhen flag clicked\nforever\n    if <(Level) = [1]> then\n        go to x: (221) y: (-35)\n    end\n    if <(Level) = [2]> then\n        go to x: (194) y: (-188)\n    end\n    if <(Level) = [3]> then\n        go to x: (215) y: (98)\n    end\n    if <(Level) = [4]> then\n        go to x: (209) y: (-185)\n    end\n    if <(Level) = [5]> then\n        go to x: (200) y: (115)\n    end\n    if <(Level) = [6]> then\n        go to x: (196) y: (126)\n    end\n    if <(Level) = [7]> then\n        go to x: (209) y: (-14)\n    end\n    if <(Level) = [8]> then\n        hide\n    end\n    if <touching (ball v)?> then\n        hide\n        broadcast (SHOW COIN v)\n        broadcast (GO To Places v)\n    end\nend\n\nwhen flag clicked\nset [time v] to [0]\nhide variable [time v]\nhide variable [☁ by: v]\nhide variable [☁ fastest time v]\nforever\n    repeat until <(Level) = [8]>\n        set [time v] to (timer)\n    end\n    if <(Level) = [8]> then\n        show variable [☁ by: v]\n        show variable [☁ fastest time v]\n        show variable [time v]\n    end\n    if <(Level) = [8]> then\n        if <(Time) < (☁ Fastest Time)> then\n            set [☁ fastest time v] to (Time)\n            set [☁ by: v] to (username)\n        end\n    end\nend\n\nset [☁ fastest time v] to [10000]\n\n@Door\n\nwhen flag clicked\ngo to [front v] layer\nshow\ngo to [front v] layer\ngo to x: (300) y: (26)\n\nwhen I receive [coin v]\nrepeat (7)\n    change y by (-10)\nend\nhide\n\nwhen flag clicked\nshow\nforever\n    if <(Level) = [1]> then\n        go to x: (300) y: (26)\n    end\n    if <(Level) = [2]> then\n        go to x: (222) y: (-68)\n    end\n    if <(Level) = [3]> then\n        go to x: (296) y: (166)\n    end\n    if <(Level) = [4]> then\n        go to x: (296) y: (-99)\n    end\n    if <(Level) = [5]> then\n        go to x: (299) y: (195)\n    end\n    if <(Level) = [6]> then\n        go to x: (297) y: (208)\n    end\n    if <(Level) = [7]> then\n        go to x: (297) y: (49)\n    end\n    if <(Level) = [8]> then\n        hide\n    end\nend\n\nwhen I receive [show coin v]\nshow\n\n@Sprite1\n\n@ScoreHundreds\n\nwhen I receive [die  v]\n\nwhen flag clicked\nset [tensdeath v] to [0]\nset [onesdeath v] to [0]\nforever\n    if <(TensDeath) = [100]> then\n        set [tensdeath v] to [0]\n        change [hundredsdeath v] by (1)\n    end\n    switch costume to ((HundredsDeath) + (1))\nend\n\nset y to (161)\n\n@ScoreTens\n\nwhen I receive [die  v]\n\nwhen flag clicked\nset [onesdeath v] to [0]\nforever\n    if <(OnesDeath) = [10]> then\n        set [onesdeath v] to [0]\n        change [tensdeath v] by (1)\n    end\n    switch costume to ((TensDeath) + (1))\nend\n\nchange y by (161)\n\nset y to (161)\n\n@ScoreOnes\n\nwhen I receive [die  v]\nchange [onesdeath v] by (1)\n\nwhen flag clicked\nset [onesdeath v] to [0]\nforever\n    switch costume to ((OnesDeath) + (1))\nend\n\nchange y by (165)\n\nset y to (161)\n\n@Spikes\n\nwhen flag clicked\ngo to x: (0) y: (0)\nforever\n    switch costume to (costume3 v)\n    wait (.05) seconds\n    switch costume to (costume4 v)\n    wait (.05) seconds\n    switch costume to (costume5 v)\n    wait (.05) seconds\n    switch costume to (costume6 v)\n    wait (.05) seconds\n    switch costume to (costume7 v)\n    wait (.05) seconds\n    switch costume to (costume8 v)\n    wait (.05) seconds\n    switch costume to (costume9 v)\n    wait (3) seconds\n    switch costume to (costume8 v)\n    wait (.05) seconds\n    switch costume to (costume7 v)\n    wait (.05) seconds\n    switch costume to (costume6 v)\n    wait (.05) seconds\n    switch costume to (costume5 v)\n    wait (.05) seconds\n    switch costume to (costume4 v)\n    wait (.05) seconds\n    switch costume to (costume3 v)\n    wait (3) seconds\nend\n\nwhen flag clicked\nshow\nforever\n    if <(Level) = [1]> then\n        go to x: (0) y: (-1)\n    end\n    if <(Level) = [2]> then\n        go to x: (23) y: (71)\n    end\n    if <(Level) = [3]> then\n        go to x: (-32) y: (-8)\n    end\n    if <(Level) = [4]> then\n        go to x: (-221) y: (220)\n    end\n    if <(Level) = [5]> then\n        go to x: (-100) y: (105)\n    end\n    if <(Level) = [6]> then\n        go to x: (83) y: (12)\n    end\n    if <(Level) = [7]> then\n        go to x: (-81) y: (8)\n    end\n    if <(Level) = [7]> then\n        go to x: (-81) y: (8)\n    end\n    if <(Level) = [8]> then\n        hide\n    end\nend\n\ngo to x: (0) y: (0)\n\n@COIN COUNTER\n\nwhen flag clicked\nforever\n    if <(COIN) = [0]> then\n        switch costume to (0 v)\n    end\n    if <(COIN) = [1]> then\n        switch costume to (1 v)\n    end\n    if <(COIN) = [2]> then\n        switch costume to (2 v)\n    end\nend\n\n@Coins\n\nwhen flag clicked\nshow\nset size to (75) %\ngo to x: (216) y: (88)\nswitch costume to (costume1 v)\nforever\n    wait (.05) seconds\n    next costume\nend\n\nwhen I receive [coin v]\nchange [coin v] by (1)\nhide\nplay sound [Collect v] until done\n\nwhen flag clicked\nshow\nforever\n    if <(Level) = [1]> then\n        go to x: (216) y: (88)\n    end\n    if <(Level) = [2]> then\n        go to x: (-220) y: (-28)\n    end\n    if <(Level) = [3]> then\n        go to x: (-68) y: (-110)\n    end\n    if <(Level) = [4]> then\n        go to x: (-190) y: (122)\n    end\n    if <(Level) = [5]> then\n        go to x: (-200) y: (-130)\n    end\n    if <(Level) = [6]> then\n        go to x: (-200) y: (-130)\n    end\n    if <(Level) = [7]> then\n        go to x: (-74) y: (51)\n    end\n    if <(Level) = [8]> then\n        hide\n    end\nend\n\nwhen I receive [show coin v]\nshow\n\n@AHHH\n\nwhen flag clicked\ngo to [front v] layer\nrepeat (11)\n    go [backward v] (1) layers\nend\nforever\n    if <(Level) = [1]> then\n        switch costume to (costume1 v)\n        go to x: (0) y: (0)\n    end\n    if <(Level) = [2]> then\n        switch costume to (costume3 v)\n        go to x: (-96) y: (-16)\n    end\n    if <(Level) = [3]> then\n        switch costume to (costume2 v)\n        go to x: (-240) y: (-21)\n    end\n    if <(Level) = [4]> then\n        switch costume to (costume2 v)\n        go to x: (-44) y: (-16)\n    end\n    if <(Level) = [5]> then\n        switch costume to (costume2 v)\n        go to x: (-187) y: (-35)\n    end\n    if <(Level) = [6]> then\n        switch costume to (costume4 v)\n        go to x: (-32) y: (-30)\n    end\n    if <(Level) = [6]> then\n        switch costume to (costume5 v)\n        go to x: (-32) y: (-30)\n    end\nend\n\n@Background\n\ngo to x: (0) y: (0)\ngo to [back v] layer\n\n@Level\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset [level v] to [1]\nforever\n    if <(Level) = [1]> then\n        switch costume to (1 v)\n    end\n    if <(Level) = [2]> then\n        switch costume to (2 v)\n    end\n    if <(Level) = [3]> then\n        switch costume to (3 v)\n    end\n    if <(Level) = [4]> then\n        switch costume to (4 v)\n    end\n    if <(Level) = [5]> then\n        switch costume to (5 v)\n    end\n    if <(Level) = [6]> then\n        switch costume to (6 v)\n    end\n    if <(Level) = [7]> then\n        switch costume to (7 v)\n    end\n    if <(Level) = [8]> then\n        switch costume to (8 v)\n    end\nend\n\nchange x by (2)\n\nswitch costume to (Level)\n\n@Ball\n\nwhen flag clicked\ngo to [front v] layer\nswitch costume to (costume1 v)\ngo to x: (-201) y: (67)\nset [yv v] to [0]\nset [xv v] to [0]\nforever\n    Platform Gravity: [-1] Jump Height: [12] Side Movement Speed: [2] Friction [.7] Slope: [8]\nend\n\ndefine Platform Gravity: (gravity) Jump Height: (jump height) Side Movement Speed: (side movement) Friction (friction) Slope: (slope)\nchange [yv v] by (gravity)\nchange y by (Yv)\nif <touching (level v)?> then\n    repeat until <not <touching (level v)?>>\n        change y by ((([abs v] of (Yv) ) / (Yv)) * (-1))\n    end\n    set [yv v] to (<<key (up arrow v) pressed?> and <(([abs v] of (Yv) ) / (Yv)) = [-1]>> * (jump height))\nend\nset [xv v] to (((Xv) + ((<key (left arrow v) pressed?> * ((side movement) * (-1))) + (<key (right arrow v) pressed?> * (side movement)))) * (friction))\nchange x by (Xv)\nset [slope v] to [0]\nrepeat until <<(slope) = ((slope) * (-1))> or <not <touching (level v)?>>>\n    change y by (1)\n    change [slope v] by (-1)\nend\nif <touching (level v)?> then\n    change y by (slope)\n    repeat until <not <touching (level v)?>>\n        change x by ((([abs v] of (Xv) ) / (Xv)) * (-1))\n    end\nend\nif <touching (ahhh v)?> then\n    broadcast (DIE  v)\nend\nif <touching (coins v)?> then\n    broadcast (COIN v)\nend\nif <touching (spikes v)?> then\n    broadcast (DIE  v)\nend\nif <touching (door v)?> then\n    broadcast (DIE  v)\nend\nif <touching (boss v)?> then\n    broadcast (DIE  v)\nend\n\nwhen flag clicked\nset [coin v] to [0]\nforever\n    if <key (up arrow v) pressed?> then\n        play sound [Boing v] until done\n    end\n    play sound [Nebula v] until done\nend\n\npoint in direction (90)\n\nwhen I receive [die  v]\ngo to x: (-201) y: (40)\nswitch costume to (costume1 v)\n\nwhen I receive [die  v]\nplay sound [Oops v] until done\n\nwhen I receive [go to places v]\ngo to x: (-201) y: (40)\nchange [level v] by (1)\n\n