Flood Platformer


@Stage\n\nwhen flag clicked\nswitch backdrop to (intro v)\n\nwhen I receive [start v]\nswitch backdrop to (game v)\n\nwhen flag clicked\nforever\n    play sound [561695_Happy v] until done\nend\n\n@Player\n\nwhen flag clicked\ngo to x: (-208) y: (100)\nhide\n\ngo to [front v] layer\n\nwhen I receive [start v]\nshow\npoint in direction (90)\nset [yv v] to [0]\nset [xv v] to [0]\nforever\n    change [yv v] by (-0.5)\n    if <key (right arrow v) pressed?> then\n        change [xv v] by (0.7)\n    end\n    if <key (left arrow v) pressed?> then\n        change [xv v] by (-0.7)\n    end\n    set [xv v] to ((Xv) * (0.9))\n    change x by (Xv)\n    if <touching color (#666666)?> then\n        change y by (1)\n        if <touching color (#666666)?> then\n            change y by (1)\n            if <touching color (#666666)?> then\n                change y by (1)\n                if <touching color (#666666)?> then\n                    change y by (1)\n                    if <touching color (#666666)?> then\n                        change y by (1)\n                        if <touching color (#666666)?> then\n                            change x by ((Xv) * (-1))\n                            change x by (-1)\n                            change y by (-5)\n                            if <touching (none v)?> then\n                                change x by (Change)\n                            end\n                            change x by (1)\n                            if <key (up arrow v) pressed?> then\n                                if <(Xv) > [0]> then\n                                    set [xv v] to [-8]\n                                else\n                                    set [xv v] to [8]\n                                end\n                                set [yv v] to [10]\n                            else\n                                set [xv v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change y by (Yv)\n    if <touching color (#666666)?> then\n        change y by ((Yv) * (-1))\n        set [yv v] to [0]\n    end\n    change y by (-1)\n    if <touching color (#666666)?> then\n        if <key (up arrow v) pressed?> then\n            set [yv v] to [10]\n        end\n    end\n    if <(x position) > [239]> then\n        broadcast (next v)\n        go to x: (-208) y: (100)\n        set [xv v] to [0]\n        set [yv v] to [0]\n    end\n    if <<touching color (#cc0000)?> or <touching color (#990000)?>> then\n        set [yv v] to [0]\n        set [xv v] to [0]\n        go to x: (-208) y: (100)\n        show\n    end\n    if <touching (water v)?> then\n        set [yv v] to [0]\n        set [xv v] to [0]\n        broadcast (water v)\n        hide\n        wait (1) seconds\n        go to x: (-208) y: (100)\n        show\n    end\n    if <touching color (#666666)?> then\n        go to [front v] layer\n        if <key (up arrow v) pressed?> then\n            set [yv v] to [10]\n        else\n            set [yv v] to [-1]\n        end\n    end\n    change y by (1)\nend\n\n@Droplets\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\ngo to [front v] layer\ngo to x: (pick random (200) to (-200)) y: (186)\npoint in direction (90)\nset size to (pick random (50) to (100)) %\nset [ghost v] effect to ((size) / (1.3))\nshow\nrepeat until <(y position) < [-176]>\n    change y by ((0) - ((size) / (8)))\nend\ndelete this clone\n\nwhen I receive [start v]\nforever\n    create clone of (_myself_ v)\nend\n\n@water\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [start v]\nshow\n\n@splash\n\ndefine splash\nrepeat (15)\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\ngo to (player v)\nset size to (75) %\nclear graphic effects\nshow\nset [ym v] to (pick random (5) to (10))\nset [side v] to (pick random (1) to (2))\nif <(Side) = [1]> then\n    set [xm v] to (pick random (-3) to (-1))\nelse\n    set [xm v] to (pick random (1) to (3))\nend\nrepeat (50)\n    change [ghost v] effect by (2)\n    change size by (-1)\n    change y by (Ym)\n    change x by (Xm)\n    change [ym v] by (-0.5)\n    if <touching (_edge_ v)?> then\n        delete this clone\n    end\nend\ndelete this clone\n\nwhen I receive [water v]\nsplash\n\nwhen flag clicked\nhide\n\n@Intro\n\nwhen flag clicked\nswitch costume to (quote v)\npoint in direction (90)\ngo to x: (0) y: (0)\nhide\nset [velocity v] to [0]\nset size to (10) %\nshow\nrepeat (70)\n    set [velocity v] to ((((60) - (size)) * (0.1)) + ((velocity) * (0.8)))\n    change size by (velocity)\nend\nwait (0.3) seconds\nset [v v] to [5]\nset [t v] to [0]\nrepeat (65)\n    change size by (V)\n    go to [front v] layer\n    change [v v] by (-0.2)\n    turn right ([sqrt v] of (T) ) degrees\n    change [t v] by (5)\nend\nhide\npoint in direction (90)\nswitch costume to (logo v)\nset [velocity v] to [0]\nset size to (10) %\nshow\nrepeat (70)\n    set [velocity v] to ((((60) - (size)) * (0.1)) + ((velocity) * (0.8)))\n    change size by (velocity)\nend\nset [v v] to [5]\nrepeat (70)\n    go to [front v] layer\n    change size by (V)\n    change [v v] by (-0.2)\nend\nhide\nbroadcast (start v)\n\n@Ground\n\nwhen flag clicked\ngo to x: (0) y: (0)\nswitch costume to (1 v)\nhide\n\nwhen I receive [next v]\nnext costume\n\nwhen I receive [start v]\nshow\n\n@thumbnail\n\nwhen flag clicked\ngo to x: (0) y: (0)\nshow\nset [ghost v] effect to (100)\nforever\n    go to [front v] layer\nend\n\n