Rising Seas - An Up-Down Platformer (Mobile!)                       #games #art

Instructions: \n\n500 follower PFP contest: https://scratch.mit.edu/projects/408821704\n\n⚠️⚠️⚠️⚠️ ALL ADS WILL BE REPORTED! ⚠️⚠️⚠️⚠️\n\nWHAT? It's #2 on trending!!!\n\nGuys, please stop remixing and not changing anything :(\n\nHere's my entry for @carot3's competition. Hope I win :D\n\nWHAT!!? @0014049 and @TimMcCool ❤ and ⭐ ed?!\n\nThis is ʀɪsɪɴɢ sᴇᴀs -  ᴀɴ ᴜᴘ-ᴅᴏᴡɴ ᴘʟᴀᴛғᴏʀᴍᴇʀ\n\nDid you really like this project? If so, post it in the comments of this studio: https://scratch.mit.edu/studios/4228481/comments/\n\nThe message of this game: \nThis game addresses the rising sea levels that we notice today and you may have heard of. The rising sea levels must be taken seriously, and both you and I can help bring it to people's views. Just inform everyone you know about the rising sea levels and we can spread the word about the rising sea levels. Thank you and enjoy!\n\nThis took over 20 hours to make, so maybe leave a love and fave? \n\nMAKE SURE YOU WATCH OUT FOR THE RISING SEA, IT WILL KILL YOU!!!!\n\nLag? Play it here: https://forkphorus.github.io/#404718287\n\nCONTROLS:\n- Arrow keys (computer/PC) or click in the direction you want to go (mobile)\n- "S" key to skip a level\n"R" to reset a level\n- You can toggle some of the controls using the drop-down menu at the top of the screen that says "Options"\n- Fun Fact: The love and fave buttons turn red and yellow when you click them. Try it, it actually works!\n\nWHY THIS IS NOT GENERIC:\n✔️ Over 800 code blocks\n✔️ 20+ hours of hard work\n✔️ Unique gameplay\n✔️ Storyline\n✔️ A take-away message\n✔️ Moving Platforms\n✔️ #StGP\n\nPURPOSE OF THIS GAME:\nSo, what made me do it? I didn't spend over 20 hours on this game for no reason.\n \nWell, I made this game because we have to raise our voices about our attitude towards the environment.\n \nEvery day, our sea levels are rising and we are the cause of it. Our pollution causes icebergs and other ice structures to melt, which causes sea levels to rise.\n \nThat's why we need to spread the message. Let everyone you know about the rising sea levels, and together, we can make a difference!\n\nCREDITS:\n- @-SapphireDemon- for inspiration (but I had begun making this game before he shared Lava Flood) and some code\n- @TimMcCool for the play button bounce code\n- @Squadd_Legend for some inspiration\n- @ElectricGalaxy for some parallax code (He has left Scratch)\n- @0014049 for the thumbnail script\n- @jromagnoli for the platforming script and engine\n- TheFatRat for the music (Timelapse)\n- Me (@NeelDaPeel) for everything else (art, coding, parallaxes)\n\nTAGS:\n#Rising #Seas #StGP #NeelDaPeel #games #games #games #games #games #games #Games #Games #Games #Games #art #art #art #art #art #art #globalwarming #propose #projects #to #be #featured\n#griffpatch #0014049 #jromangoli #TimMcCool #-SapphireDemon- #Squadd_Legend #platformer #nongeneric #NeelDaPeel\n#games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games#games #games #games #games #games #games #games #games \n#art #art #art #art #art #art #art #art #art #art #art #art #art #art #art #art #art #art #art #art #art #art #art #art #art #art #art #art #art #art\n\nOk, that's enough tags now :)

@Stage\n\nwhen flag clicked\nswitch backdrop to (backdrop2 v)\n\nwhen I receive [begin game v]\nswitch backdrop to (backdrop3 v)\n\nwhen flag clicked\nforever\n\n\n    play sound [TheFatRat - Time Lapse v] until done\n    set volume to (100) %\nend\n\nwhen flag clicked\nforever\n    if <(Music on?) = [no]> then\n        stop all sounds\n    end\n    if <(Music on?) = [yes]> then\n    else\n        stop all sounds\n    end\nend\n\nplay sound [TheFatRat - Time Lapse v] until done\n\nset volume to (0) %\n\nwait (185.09) seconds\n\nwait (185.09) seconds\n\nplay sound [pop v] until done\n\nif <(Music on?) = [no]> then\n    stop all sounds\nend\n\nstart sound [TheFatRat - Time Lapse v]\nwait (185.09) seconds\nset volume to (100) %\n\nwhen flag clicked\nforever\n    if <([costume name v] of [mute/unmute button v]) = [Mute]> then\n        stop all sounds\n    end\n    if <([costume name v] of [mute/unmute button v]) = [Unmute]> then\n        play sound [TheFatRat - Time Lapse v] until done\n    end\nend\n\nbroadcast (Music v)\n\nwhen I receive [music v]\n\n@Blank\n\n@Sprite1\n\nwhen flag clicked\nhide\n\nwhen I receive [message1 v]\nswitch costume to (join [costume] (level))\n\nwhen I receive [begin game v]\ngo to [front v] layer\ngo [backward v] (6) layers\nshow\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\n\n@Danger\n\nwhen flag clicked\nhide\n\nwhen I receive [message1 v]\nswitch costume to (join [costume] (level))\n\nwhen I receive [begin game v]\ngo to [front v] layer\ngo [backward v] (6) layers\nshow\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\n\n@-ball-(er)\n\nwhen flag clicked\nhide\n\ndefine omega\nif <not <<touching (sprite1 v)?> or <touching (moving platform v)?>>> then\n    switch costume to (join [ball] (<key (right arrow v) pressed?> + (<key (left arrow v) pressed?> * (-1))))\n    change [xv v] by ((<<<key (a v) pressed?> or <key (left arrow v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> * (-2)) + (<<<key (d v) pressed?> or <key (right arrow v) pressed?>> or <<mouse down?> and <(x position) < (mouse x)>>> * (2)))\nend\nset [xv v] to ((Xv) * (0.7))\nchange x by (Xv)\ndetect slope: (8) (15) (13)\nchange [yv v] by (-1)\nchange y by (Yv)\nif <<touching (sprite1 v)?> or <touching (moving platform v)?>> then\n    out2 <(Yv) > [0]>\nend\nchange y by (-1)\nif <<<touching (sprite1 v)?> or <touching (moving platform v)?>> and <<<key (w v) pressed?> or <key (up arrow v) pressed?>> or <<(y position) < (mouse y)> and <mouse down?>>>> then\n    if <(Player's SFX) = [on]> then\n        start sound [Jump v]\n    else\n        stop all sounds\n    end\n    set [yv v] to [10]\nend\nif <touching (trampoline v)?> then\n    set [yv v] to [18]\nend\nif <touching (speed v)?> then\n    set [xv v] to [45]\nend\nchange y by (1)\nif <<<touching (rising sea v)?> or <(y position) < [-178]>> or <<<touching (danger v)?> or <<touching (spinning danger! v)?> or <touching (spinning danger! lvl 7 v)?>>> or <key (r v) pressed?>>> then\n    go to x: (-200) y: (-125)\n    point in direction (90)\n    set [yv v] to [0]\n    set [xv v] to [0]\n    broadcast (Death/Reset v)\nend\nif <<(y position) > [165]> or <key (s v) pressed?>> then\n    if <key (s v) pressed?> then\n        change [level v] by (1)\n        hide\n        go to x: (-200) y: (-125)\n        point in direction (90)\n        set [yv v] to [0]\n        set [xv v] to [0]\n        broadcast (message1 v)\n        show\n        wait until <not <key (s v) pressed?>>\n    else\n        if <(y position) > [165]> then\n            change [level v] by (1)\n            hide\n            go to x: (-200) y: (-125)\n            point in direction (90)\n            set [yv v] to [0]\n            set [xv v] to [0]\n            broadcast (message1 v)\n            show\n        end\n    end\nend\n\nDeath Animation\n\nwhen I receive [del v]\ndelete this clone\n\ndefine out <boolean1>\nset [i v] to [0]\nif <boolean1> then\n    repeat until <<not <<touching (sprite1 v)?> or <touching (moving platform v)?>>> or <(i) > [8]>>\n        change [i v] by (1)\n        change x by (-1)\n    end\nelse\n    if <[0] > (Xv)> then\n        repeat until <<not <<touching (sprite1 v)?> or <touching (moving platform v)?>>> or <(i) > [8]>>\n            change [i v] by (1)\n            change x by (1)\n        end\n    end\nend\n\ndefine out2 <boolean1>\nset [i v] to [0]\nif <boolean1> then\n    repeat until <<not <<touching (sprite1 v)?> or <touching (moving platform v)?>>> or <(i) > [24]>>\n        change [i v] by (1)\n        change y by (-1)\n    end\n    set [yv v] to [-1]\nelse\n    repeat until <<not <<touching (sprite1 v)?> or <touching (moving platform v)?>>> or <(i) > [24]>>\n        change [i v] by (1)\n        change y by (1)\n    end\n    set [yv v] to [0]\nend\n\ndefine detect slope: (maxslope) (walljump) (jumpheight)\nset [i v] to [0]\nrepeat until <<(i) > (maxslope)> or <not <<touching (sprite1 v)?> or <touching (moving platform v)?>>>>\n    change [i v] by (1)\n    change y by (1)\nend\nset [i2 v] to (i)\nif <touching (sprite1 v)?> then\n    out <(Xv) > [0]>\n    change y by ((0) - (i2))\n    if <<<key (w v) pressed?> or <key (up arrow v) pressed?>> or <<(y position) < (mouse y)> and <mouse down?>>> then\n        start sound [Jump v]\n        if <(Xv) > [0]> then\n            set [xv v] to ((0) - (walljump))\n        else\n            set [xv v] to (walljump)\n        end\n        set [yv v] to (jumpheight)\n    else\n        set [xv v] to [0]\n    end\nend\n\nwhen I receive [begin game v]\nbroadcast (del v)\nset [yv v] to [0]\nset [xv v] to [0]\nset [level v] to [1]\nswitch costume to (ball v)\nset size to (50) %\npoint in direction (90)\nshow\nset [ghost v] effect to (0)\ngo to x: (-200) y: (-125)\nforever\n    omega\nend\n\nwhen flag clicked\nset [jump v] to [0]\nforever\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nswitch costume to (trail v)\nrepeat (10)\n    change size by (-2)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\ndefine Death Animation\nset [y v v] to [10]\nrepeat until <(y position) < [-150]>\n    switch costume to (ball0 v)\n    turn right (10) degrees\n    change y by (Y v)\n    change [y v v] by (-1)\nend\nhide\ngo to x: (-200) y: (-125)\nswitch costume to (ball0 v)\nclear graphic effects\nset [x v v] to [0]\nset [y v v] to [0]\ngo to x: (-200) y: (-125)\npoint in direction (90)\nset size to (50) %\nshow\n\ngo to [front v] layer\n\nset [dead? v] to [0]\n\nwhen I receive [reset v]\ngo to x: (-200) y: (-125)\npoint in direction (90)\nset [yv v] to [0]\nset [xv v] to [0]\nbroadcast (Death/Reset v)\n\nwhen I receive [skip v]\ngo to x: (-200) y: (-125)\npoint in direction (90)\nset [yv v] to [0]\nset [xv v] to [0]\n\nchange [level v] by (1)\nbroadcast (message1 v)\n\nhide\n\nshow\nwait until <not <mouse down?>>\n\n@Rising Sea\n\nwhen flag clicked\ngo to [front v] layer\ngo [backward v] (5) layers\nhide\nset y to (-8)\n\nwhen I receive [death/reset v]\nset y to (-8)\nwait (4) seconds\n\nwhen I receive [begin game v]\nshow\nwait (2) seconds\nforever\n    if <not <(level) = [8]>> then\n        change y by (((level) / (10)) + ((round ([cos v] of (timer) )) / (12)))\n        go to [front v] layer\n        go [backward v] (1) layers\n    else\n        hide\n    end\nend\n\nwhen I receive [message1 v]\nset y to (-8)\n\nhide\nset y to (-8)\n\n@Moving Platform\n\nwhen flag clicked\nset [level v] to [1]\ngo to [back v] layer\ngo to x: (-25) y: (-21)\nhide\nforever\n    if <(level) = [1]> then\n        set x to (-240)\n        hide\n    else\n        if <(level) = [2]> then\n            switch costume to (costume1 v)\n            show\n            go to x: (-25) y: (0)\n            set x to (-200)\n            glide (2) secs to x: (200) y: (0)\n            set x to (200)\n            glide (2) secs to x: (-200) y: (0)\n            set x to (-200)\n        else\n            if <(level) = [7]> then\n                switch costume to (costume1 v)\n                show\n                go to x: (-25) y: (80)\n                set x to (-200)\n                glide (3) secs to x: (200) y: (80)\n                set x to (200)\n                glide (3) secs to x: (-200) y: (80)\n                set x to (-200)\n            else\n                hide\n                set x to (-240)\n            end\n        end\n    end\nend\n\ngo to [back v] layer\n\n@Title Screen Rising Sea\n\nwhen I receive [hello v]\nset y to (-8)\nwait (2) seconds\n\nwhen flag clicked\nshow\nset [ghost v] effect to (35)\nwait (2) seconds\nforever\n    glide (3) secs to x: (64) y: (200)\n    wait (0.5) seconds\n    glide (3) secs to x: (64) y: (-8)\nend\n\nwhen flag clicked\n\nwhen I receive [death/reset v]\nset y to (-8)\nwait (4) seconds\n\nwhen I receive [begin game v]\nhide\nset y to (-8)\nstop [other scripts in sprite v]\nstop [this script v]\n\nchange y by (0.3)\n\n@Title\n\nwhen I start as a clone\nset size to (100) %\nrepeat (10)\n    change [ghost v] effect by (75)\n    change size by (-6)\nend\ndelete this clone\n\nwhen flag clicked\nshow\nforever\n    create clone of (_myself_ v)\n    set x to (0)\nend\n\nwhen I receive [begin game v]\nhide\nstop [other scripts in sprite v]\nstop [this script v]\n\n@Play Button\n\nwhen flag clicked\nshow\nset size to (0) %\nset [bounce? v] to [0]\nforever\n    go to x: (0) y: ((0) - (y change title))\n    if <touching (mouse-pointer v)?> then\n        set [bounce? v] to (((bounce?) * (0.75)) + (((150) - (size)) * (0.2)))\n        change size by (bounce?)\n        if <mouse down?> then\n            start sound [Connect v]\n            broadcast (Begin Game v)\n            wait until <not <mouse down?>>\n        end\n    else\n        set [bounce? v] to (((bounce?) * (0.8)) + (((125) - (size)) * (0.2)))\n        change size by (bounce?)\n    end\nend\n\nwhen I receive [begin game v]\nhide\nstop [other scripts in sprite v]\nstop [this script v]\n\n@Shadow\n\nwhen flag clicked\nclear graphic effects\ngo to [back v] layer\nset [ghost v] effect to (100)\n\nwhen I receive [begin game v]\nforever\n    go to [back v] layer\n    go [forward v] (6) layers\n    set [ghost v] effect to (60)\n    go to (-ball-\(er\) v)\n    change x by (92.5)\n    change y by (-200)\nend\n\n@Text, Art etc.\n\nwhen flag clicked\nhide\n\nwhen I receive [message1 v]\nswitch costume to (join [costume] (level))\n\nwhen I receive [begin game v]\ngo to [back v] layer\ngo [forward v] (2) layers\nshow\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\n\n@Purpose\n\nwhen flag clicked\nswitch costume to (unselected v)\nshow\nforever\n    if <touching (mouse-pointer v)?> then\n        switch costume to (selected v)\n        if <mouse down?> then\n            broadcast (Purpose of the game v)\n            wait until <not <mouse down?>>\n        end\n    else\n        switch costume to (unselected v)\n    end\nend\n\nwhen I receive [begin game v]\nhide\nstop [other scripts in sprite v]\nstop [this script v]\n\n@#StGP\n\nwhen flag clicked\nswitch costume to (unselected v)\nshow\nforever\n    if <touching (mouse-pointer v)?> then\n        switch costume to (selected v)\n        if <mouse down?> then\n            broadcast (#StGP v)\n            wait until <not <mouse down?>>\n        end\n    else\n        switch costume to (unselected v)\n    end\nend\n\nwhen I receive [begin game v]\nhide\nstop [other scripts in sprite v]\nstop [this script v]\n\n@Controls\n\nwhen flag clicked\nswitch costume to (unselected v)\nshow\nforever\n    if <touching (mouse-pointer v)?> then\n        switch costume to (selected v)\n        if <mouse down?> then\n            broadcast (Instructions v)\n            wait until <not <mouse down?>>\n        end\n    else\n        switch costume to (unselected v)\n    end\nend\n\nwhen I receive [begin game v]\nhide\nstop [other scripts in sprite v]\nstop [this script v]\n\n@Get Help Window\n\nwhen I receive [get help v]\nwait (2) seconds\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        repeat (10)\n            change size by (-8)\n            change [ghost v] effect by (10)\n        end\n        set [ghost v] effect to (100)\n        set size to (20) %\n        wait until <not <mouse down?>>\n    end\nend\n\nwhen I receive [get help v]\ngo to [front v] layer\nrepeat (10)\n    change size by (8)\n    change [ghost v] effect by (-10)\nend\nforever\n    if <[100] < (size)> then\n        set size to (100) %\n    end\nend\n\nwhen flag clicked\nset [ghost v] effect to (100)\nset size to (20) %\n\nwait until <not <mouse down?>>\n\nwhen I receive [begin game v]\nstop [other scripts in sprite v]\nstop [this script v]\n\nhide\n\n@Instructions Window\n\nwhen flag clicked\nset [ghost v] effect to (100)\nset size to (20) %\n\nwhen I receive [instructions v]\ngo to [front v] layer\nrepeat (10)\n    change size by (8)\n    change [ghost v] effect by (-10)\nend\n\nset [ghost v] effect to (100)\nset size to (20) %\n\nwhen I receive [instructions v]\nwait (2) seconds\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        repeat (10)\n            change size by (-8)\n            change [ghost v] effect by (10)\n        end\n        wait until <not <mouse down?>>\n    end\nend\n\nwhen I receive [instructions v]\nforever\n    if <[100] < (size)> then\n        set size to (100) %\n    end\nend\n\nforever\n\nwhen I receive [begin game v]\nstop [other scripts in sprite v]\nstop [this script v]\n\nhide\n\n@#StGP window\n\nwhen I receive [#stgp v]\nwait (2) seconds\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        repeat (10)\n            change size by (-8)\n            change [ghost v] effect by (10)\n        end\n        set [ghost v] effect to (100)\n        set size to (20) %\n        wait until <not <mouse down?>>\n    end\nend\n\nwhen I receive [#stgp v]\ngo to [front v] layer\nrepeat (10)\n    change size by (8)\n    change [ghost v] effect by (-10)\nend\nforever\n    if <[100] < (size)> then\n        set size to (100) %\n    end\nend\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset [ghost v] effect to (100)\nset size to (20) %\n\nwait until <not <mouse down?>>\n\nwhen I receive [begin game v]\nstop [other scripts in sprite v]\nstop [this script v]\n\nhide\n\n@How to play\n\nwhen flag clicked\nswitch costume to (unselected v)\nshow\nforever\n    if <touching (mouse-pointer v)?> then\n        switch costume to (selected v)\n        if <mouse down?> then\n            broadcast (Get Help v)\n            wait until <not <mouse down?>>\n        end\n    else\n        switch costume to (unselected v)\n    end\nend\n\nwhen I receive [begin game v]\nhide\nstop [other scripts in sprite v]\nstop [this script v]\n\n@Parallax - Background\n\nwhen flag clicked\nhide\n\nwhen I receive [begin game v]\nshow\nset size to (200) %\ngo to [back v] layer\nforever\n    set y to (([y position v] of [-ball-\(er\) v]) * (0.3))\n    set x to (([x position v] of [-ball-\(er\) v]) * (-0.3))\nend\n\n@Purpose Window\n\nwhen I receive [purpose of the game v]\nwait (2) seconds\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        repeat (10)\n            change size by (-8)\n            change [ghost v] effect by (10)\n        end\n        set [ghost v] effect to (100)\n        set size to (20) %\n        wait until <not <mouse down?>>\n    end\nend\n\nwhen I receive [purpose of the game v]\ngo to [front v] layer\nrepeat (10)\n    change size by (8)\n    change [ghost v] effect by (-10)\nend\nforever\n    if <[100] < (size)> then\n        set size to (100) %\n    end\nend\n\nwhen flag clicked\nset [ghost v] effect to (100)\nset size to (20) %\n\nwait until <not <mouse down?>>\n\nwhen I receive [begin game v]\nstop [other scripts in sprite v]\nstop [this script v]\n\nhide\n\n@Trampoline\n\nwhen flag clicked\nhide\n\nwhen I receive [message1 v]\nswitch costume to (join [costume] (level))\n\nwhen I receive [begin game v]\ngo to [back v] layer\ngo [forward v] (3) layers\nshow\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\n\n@Thumb\n\nwhen [timer v] > (0.01)\nclear graphic effects\nshow\nswitch costume to (costume2 v)\nset size to (100) %\nswitch costume to (costume1 v)\nset [ghost v] effect to (100)\nrepeat (20)\n    go to [front v] layer\n    change [ghost v] effect by (-5)\nend\ngo to [front v] layer\n\nwhen flag clicked\nforever\n    hide\n    set [ghost v] effect to (100)\n    reset timer\n    switch costume to (costume1 v)\n    set size to (120) %\n    switch costume to (dot3 v)\nend\n\n@Moving Platform's Shadow\n\nwhen flag clicked\nclear graphic effects\ngo to [back v] layer\nset [ghost v] effect to (100)\n\nwhen I receive [begin game v]\nforever\n    if <(level) = [1]> then\n        go to [back v] layer\n        go [forward v] (1) layers\n        set [ghost v] effect to (100)\n    else\n        if <(level) = [2]> then\n            switch costume to (costume1 v)\n            go to [back v] layer\n            go [forward v] (6) layers\n            set [ghost v] effect to (80)\n            go to (moving platform v)\n            change x by (45)\n            change y by (-200)\n        else\n            if <(level) = [7]> then\n                switch costume to (costume1 v)\n                go to [back v] layer\n                go [forward v] (6) layers\n                set [ghost v] effect to (80)\n                go to (moving platform v)\n                change x by (45)\n                change y by (-200)\n            else\n                go to [back v] layer\n                set [ghost v] effect to (100)\n            end\n        end\n    end\nend\n\ngo to [back v] layer\nset [ghost v] effect to (100)\n\n@Transition\n\nwhen I receive [message1 v]\nshow\ngo to [front v] layer\nset size to (200) %\nset [ghost v] effect to (0)\ngo to x: (-550) y: (0)\nrepeat (40)\n    change x by (((0) - (x position)) / (10))\nend\nwait (1.5) seconds\nrepeat (40)\n    change x by ((((200) - (x position)) / (10)) * (-1))\n    change [ghost v] effect by (2.5)\nend\nhide\nnext costume\n\nchange y by (10)\n\nwhen flag clicked\nhide\nswitch costume to (costume1 v)\n\nwhen I receive [begin game v]\nwait (0) seconds\nshow\ngo to [front v] layer\nset size to (200) %\nset [ghost v] effect to (0)\ngo to x: (-550) y: (0)\nrepeat (40)\n    change x by (((0) - (x position)) / (10))\nend\nwait (1.5) seconds\nrepeat (40)\n    change x by ((((200) - (x position)) / (10)) * (-1))\n    change [ghost v] effect by (2.5)\nend\nhide\nnext costume\n\n@Speed\n\nwhen flag clicked\nhide\n\nwhen I receive [message1 v]\nswitch costume to (join [costume] (level))\n\nwhen I receive [begin game v]\ngo to [back v] layer\ngo [forward v] (3) layers\nshow\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\n\n@Hidden Platforms\n\nwhen flag clicked\nhide\n\nwhen I receive [message1 v]\nswitch costume to (join [costume] (level))\n\nwhen I receive [begin game v]\ngo to [back v] layer\ngo [forward v] (6) layers\nshow\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\n\nwhen I receive [begin game v]\nforever\n    if <(level) = [5]> then\n        if <touching (-ball-\(er\) v)?> then\n            repeat (2)\n                change [color v] effect by (25)\n            end\n            repeat (2)\n                change [color v] effect by (25)\n            end\n            wait (1) seconds\n            clear graphic effects\n        else\n            clear graphic effects\n        end\n    else\n        if <(level) = [7]> then\n            if <touching (-ball-\(er\) v)?> then\n                repeat (2)\n                    change [color v] effect by (25)\n                end\n                repeat (2)\n                    change [color v] effect by (25)\n                end\n                wait (1) seconds\n                clear graphic effects\n            else\n                clear graphic effects\n            end\n        else\n            clear graphic effects\n        end\n    end\nend\n\nclear graphic effects\n\n@Spinning Danger!\n\nwhen flag clicked\nhide\n\nwhen I receive [message1 v]\nswitch costume to (join [costume] (level))\nforever\n    if <(level) = [6]> then\n        show\n        go to x: (-54) y: (-64)\n        glide (1) secs to x: (190) y: (-64)\n        glide (1) secs to x: (-54) y: (-64)\n    else\n        hide\n    end\nend\n\nwhen I receive [begin game v]\ngo to [front v] layer\ngo [backward v] (6) layers\nshow\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\n\nwhen flag clicked\nforever\n    if <(level) = [6]> then\n        turn right (7.5) degrees\n    else\n        point in direction (90)\n    end\nend\n\nwhen flag clicked\n\nwhen I start as a clone\nforever\n    turn right (7.5) degrees\nend\n\npoint in direction (90)\n\nglide (1) secs to x: (70) y: (-67)\n\nwhen I receive [begin game v]\nwait until <(level) = [6]>\ncreate clone of (_myself_ v)\nstop [this script v]\n\nwhen I start as a clone\nrepeat until <not <(level) = [6]>>\n    go to x: (90) y: (40)\n    glide (1) secs to x: (-180) y: (40)\n    glide (1) secs to x: (90) y: (40)\nend\ndelete this clone\n\nglide (1) secs to x: (80) y: (40)\n\n@Spinning Danger! Lvl 7\n\nwhen flag clicked\nhide\n\nwhen I receive [message1 v]\nswitch costume to (join [costume] (level))\nforever\n    if <(level) = [7]> then\n        show\n        go to x: (-67) y: (-80)\n        glide (1) secs to x: (-67) y: (-80)\n        glide (1) secs to x: (-67) y: (0)\n        glide (1) secs to x: (-67) y: (-80)\n    else\n        hide\n        point in direction (90)\n    end\nend\n\nwhen I receive [begin game v]\ngo to [front v] layer\ngo [backward v] (6) layers\nshow\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\n\nwhen flag clicked\nforever\n    if <(level) = [7]> then\n        turn right (7.5) degrees\n    else\n        point in direction (90)\n    end\nend\n\nwhen flag clicked\n\nwhen I start as a clone\nforever\n    turn right (7.5) degrees\nend\n\nwhen I receive [begin game v]\nwait until <(level) = [7]>\ncreate clone of (_myself_ v)\nstop [this script v]\n\nwhen I start as a clone\nrepeat until <not <(level) = [7]>>\n    go to x: (80) y: (0)\n    glide (1) secs to x: (80) y: (0)\n    glide (1) secs to x: (80) y: (-80)\n    glide (1) secs to x: (80) y: (0)\nend\ndelete this clone\n\npoint in direction (90)\n\nglide (1) secs to x: (70) y: (-67)\n\n@Options Panel\n\nwhen flag clicked\ngo to [front v] layer\nset [options panel open or close? v] to [close]\nhide\ngo to x: (0) y: (0)\n\nwhen I receive [begin game v]\ngo to x: (0) y: (0)\nshow\nforever\n    if <touching (mouse-pointer v)?> then\n        broadcast (Options Panel v)\n        clear graphic effects\n        glide (0.5) secs to x: (0) y: (-50)\n        set [options panel open or close? v] to [open]\n        wait until <not <touching (mouse-pointer v)?>>\n        set [options panel open or close? v] to [close]\n        broadcast (Options Panel Closed v)\n        glide (0.5) secs to x: (0) y: (0)\n    else\n        set [options panel open or close? v] to [close]\n        broadcast (Options Panel Closed v)\n        set [ghost v] effect to (10)\n        glide (0.5) secs to x: (0) y: (0)\n    end\nend\n\ngo to [front v] layer\ngo [backward v] (3) layers\n\n@Mute/Unmute Button\n\nwhen flag clicked\ngo to [front v] layer\ngo [backward v] (4) layers\nset [music on? v] to [yes]\nhide\nset size to (80) %\ngo to x: (-210) y: (155)\nswitch costume to (unmute v)\n\nwhen I receive [options panel v]\nwait (0.4) seconds\nshow\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n    end\nend\n\nwhen I receive [options panel closed v]\ngo to [back v] layer\nhide\n\nwhen I receive [options panel v]\ngo to [front v] layer\nforever\n    if <touching (mouse-pointer v)?> then\n        set [touching mute/unmute v] to [yes]\n        broadcast (Music Button touched? v)\n    end\n    if <not <touching (mouse-pointer v)?>> then\n        set [touching mute/unmute v] to [no]\n        broadcast (Music Button not touched v)\n    end\nend\n\nswitch costume to (mute v)\nwait until <not <mouse down?>>\n\nswitch costume to (unmute v)\nwait until <not <mouse down?>>\n\nwhen this sprite clicked\nif <(Options Panel Open or Close?) = [open]> then\n    next costume\nend\nforever\n    if <(costume [name v]) = [Unmute]> then\n        set [music on? v] to [yes]\n    else\n        set [music on? v] to [no]\n    end\nend\n\nset volume to (100) %\n\nset volume to (0) %\n\n@Mouse Pointer Alerts\n\nwhen flag clicked\nhide\nforever\n    go to [front v] layer\n    go to (mouse-pointer v)\n    change y by (-30)\nend\n\nwhen I receive [music button touched? v]\nswitch costume to (music v)\nif <(Options Panel Open or Close?) = [open]> then\n    show\nelse\n    hide\nend\n\nwhen I receive [music button not touched v]\nif <<(touching sfx) = [no]> and <(Options Panel Open or Close?) = [open]>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [sfx button not touched v]\nif <<(touching mute/unmute) = [no]> and <(Options Panel Open or Close?) = [open]>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [sfx button touched v]\nswitch costume to (sfx v)\nif <(Options Panel Open or Close?) = [open]> then\n    show\nelse\n    hide\nend\n\nswitch costume to (blank v)\n\nwhen I receive [reset button not touched v]\nif <<(touching reset) = [no]> and <(Options Panel Open or Close?) = [open]>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset button touched v]\nswitch costume to (reset v)\nif <(Options Panel Open or Close?) = [open]> then\n    show\nelse\n    hide\nend\n\nwhen I receive [skip button not touched v]\nif <<(touching skip) = [no]> and <(Options Panel Open or Close?) = [open]>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [skip button touched v]\nswitch costume to (skip v)\nif <(Options Panel Open or Close?) = [open]> then\n    show\nelse\n    hide\nend\n\n@SFX On/Off Button\n\nwhen flag clicked\ngo to [front v] layer\ngo [backward v] (2) layers\nset [player's sfx v] to [on]\nhide\nset size to (80) %\ngo to x: (-150) y: (155)\nswitch costume to (unmute v)\n\nwhen I receive [options panel v]\nwait (0.4) seconds\nshow\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\nend\n\nwhen I receive [options panel closed v]\ngo to [back v] layer\nhide\n\nwhen I receive [options panel v]\ngo to [front v] layer\nforever\n    if <touching (mouse-pointer v)?> then\n        set [touching sfx v] to [yes]\n        broadcast (SFX Button touched v)\n    end\n    if <not <touching (mouse-pointer v)?>> then\n        set [touching sfx v] to [no]\n        broadcast (SFX button not touched v)\n    end\nend\n\nwhen this sprite clicked\nif <(Options Panel Open or Close?) = [open]> then\n    next costume\nend\nif <(costume [name v]) = [Unmute]> then\n    set [player's sfx v] to [on]\nelse\n    set [player's sfx v] to [off]\nend\n\n\n    switch costume to (mute v)\n    wait until <not <mouse down?>>\nelse\n    switch costume to (unmute v)\n    wait until <not <mouse down?>>\nend\n\n@Reset Button\n\nwhen flag clicked\ngo to [front v] layer\ngo [backward v] (1) layers\nhide\nset size to (80) %\ngo to x: (150) y: (155)\nswitch costume to (reset v)\n\nwhen I receive [options panel v]\nwait (0.4) seconds\nshow\nforever\n    if  then\nend\n\nif <(costume [name v]) = [Unmute]> then\n    set volume to (0) %\nelse\n    set volume to (100) %\nend\n\nwhen I receive [options panel closed v]\ngo to [back v] layer\nhide\n\nwhen I receive [options panel v]\ngo to [front v] layer\nforever\n    if <touching (mouse-pointer v)?> then\n        set [touching reset v] to [yes]\n        broadcast (reset button touched v)\n    end\n    if <not <touching (mouse-pointer v)?>> then\n        set [touching reset v] to [no]\n        broadcast (reset button not touched v)\n    end\nend\n\nwhen this sprite clicked\nif <(Options Panel Open or Close?) = [open]> then\n    broadcast (Reset v)\nend\n\nnext costume\n\n@Skip Button\n\nwhen flag clicked\ngo to [front v] layer\ngo [backward v] (3) layers\nhide\nset size to (80) %\ngo to x: (210) y: (155)\nswitch costume to (skip v)\n\nwhen I receive [options panel v]\nwait (0.4) seconds\nshow\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\nend\n\nif <(costume [name v]) = [Unmute]> then\n    switch costume to (mute v)\n    wait until <not <mouse down?>>\nelse\n    switch costume to (skip v)\n    wait until <not <mouse down?>>\nend\n\nwhen I receive [options panel closed v]\ngo to [back v] layer\nhide\n\nwhen I receive [options panel v]\ngo to [front v] layer\nforever\n    if <touching (mouse-pointer v)?> then\n        set [touching skip v] to [yes]\n        broadcast (skip button touched v)\n    end\n    if <not <touching (mouse-pointer v)?>> then\n        set [touching skip v] to [no]\n        broadcast (skip button not touched v)\n    end\nend\n\nwhen this sprite clicked\nif <(Options Panel Open or Close?) = [open]> then\n    broadcast (Skip v)\n    change [level v] by (1)\n    broadcast (message1 v)\nend\n\nnext costume\n\n