Floodwater -- PLATFORMER -- #games #all

Instructions: Hello everyone!\n\nWelcome to my first platformer!\n\nInstructions are in game, but here they are just in case:\n-Spam the flag to start the game\n-You are the white cube\n-You can move using the arrow keys (PC)\n-You can go right and left by holding your finger on the side of the screen (mobile)\n-You can jump by holding your finger on the upper half of the screen (mobile)\n-Get to the right side of the screen to go to the next level\n-Don't touch spikes\n-Bounce pads bounce you high up\n\nAll levels are possible\n\nIf you loved and faved, you can do a suggestion for a new level. I'll then add that level to the project, with your name on the screen :)\n\nHave fun!

@Stage\n\nwhen I receive [start v]\nwait (1) seconds\nset volume to (100) %\nforever\n    play sound [Tobu - Colors v] until done\n    wait (1) seconds\n    play sound [Vexento - Tevo v] until done\nend\n\nwhen I receive [sound v]\nset volume to (0) %\n\nwhen I receive [sound on v]\nset volume to (100) %\n\n@Player\n\ndefine reset\nclear graphic effects\ngo to x: (-200) y: (-50)\npoint in direction (90)\nset [dead? v] to [0]\nset [x v v] to [0]\nset [y v v] to [0]\nset size to (70) %\nshow\n\nwhen I receive [next level v]\nset [change? v] to [1]\nreset\nset [change? v] to [0]\n\nwhen I receive [start v]\nset [level v] to [1]\nset [dead? v] to [0]\nset size to (70) %\nreset\nforever\n    go to [front v] layer\n    if <<<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> and <(dead?) = [0]>> then\n        change [x v v] by (.9)\n    end\n    if <<<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> and <(dead?) = [0]>> then\n        change [x v v] by (-.9)\n    end\n    set [x v v] to ((X v) * (0.9))\n    change x by (X v)\n    if <touching (ground v)?> then\n        change y by (2)\n        if <touching (ground v)?> then\n            change y by (2)\n            if <touching (ground v)?> then\n                change y by (2)\n                if <touching (ground v)?> then\n                    change y by (2)\n                    if <touching (ground v)?> then\n                        change y by (2)\n                        if <touching (ground v)?> then\n                            change x by ((X v) * (-2))\n                            change y by (-5)\n                            if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>>> then\n                                if <(X v) > [0]> then\n                                    set [x v v] to [-5]\n                                else\n                                    set [x v v] to [5]\n                                end\n                                set [y v v] to [13]\n                            else\n                                set [x v v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [y v v] by (-0.8)\n    change y by (Y v)\n    if <<touching (ground v)?> or <touching (moving ground v)?>> then\n        change y by ((Y v) * (-1))\n        set [y v v] to [0]\n    end\n    change y by (-1)\n    if <<touching (ground v)?> or <touching (moving ground v)?>> then\n        if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>>> then\n            set [y v v] to [12]\n        end\n    end\n    change y by (1)\n    if <<<<<touching (gears v)?> or <touching (danger v)?>> or <touching (killer wheel2 v)?>> or <touching (lightning v)?>> and <(dead?) = [0]>> then\n        Spin off screen\n    end\n    if <touching (jump pad v)?> then\n        set [y v v] to [20]\n    end\nend\n\nwhen I receive [start v]\nforever\n    set [direction v] to (direction)\nend\n\nwhen I receive [start v]\nset [change? v] to [0]\nforever\n    if <touching (flag v)?> then\n        start sound [Ding Sound Effect v]\n        broadcast (NEXT LEVEL v)\n        change [level v] by (1)\n    end\nend\n\nwhen I receive [start v]\nforever\n    if <(y position) = [-179]> then\n        Spin off screen\n    end\nend\n\nwhen [r v] key pressed\nif <(dead?) = [0]> then\n    reset\nend\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [start v]\nshow\n\ndefine Spin off screen\nset [dead? v] to [1]\nchange [player death v] by (1)\nrepeat (20)\n    change [ghost v] effect by (5)\nend\nreset\n\nwhen I receive [start v]\nforever\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nswitch costume to (center2 v)\nrepeat (10)\n    change [ghost v] effect by (5)\n    change size by (-5)\nend\ndelete this clone\n\nwhen flag clicked\nswitch costume to (center v)\n\nwhen I receive [respawn v]\n\nwhen flag clicked\nforever\n    if <<touching (spikes v)?> or <touching (moving danger v)?>> then\n        go to x: (-200) y: (-65)\n        play sound [Crunch v] until done\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (enemy v)?> then\n        go to x: (-200) y: (-65)\n    end\nend\n\nwhen flag clicked\nhide\n\n@Ground\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\nwhen I receive [next level v]\nnext costume\n\n@Intro\n\nwhen flag clicked\nshow\nstart sound [Tobu - Hope \(Edited\) v]\nset size to (100) %\npoint in direction (90)\ngo to x: (0) y: (0)\nset [brightness v] effect to (0)\nswitch costume to (background v)\nwait (9) seconds\nrepeat (10)\n    show\n    change [ghost v] effect by (-10)\nend\nhide\n\nwhen flag clicked\ncreate clone of (_myself_ v)\nset [clone id v] to [1]\nwait (0.03) seconds\ncreate clone of (_myself_ v)\nchange [clone id v] by (1)\nwait (0.03) seconds\ncreate clone of (_myself_ v)\nchange [clone id v] by (1)\n\nwhen I start as a clone\nif <(Clone ID) = [1]> then\n    hide\n    set size to (100) %\n    point in direction (90)\n    set [ghost v] effect to (50)\n    set [brightness v] effect to (0)\n    go to [front v] layer\n    switch costume to (oc v)\n    go to x: (1000) y: (0)\n    wait (3) seconds\n    show\n    repeat (20)\n        change [ghost v] effect by (-5)\n        change x by (((0) - (x position)) / (4))\n    end\n    repeat (140)\n        set [brightness v] effect to (0)\n        change y by (([sin v] of (Direction) ) * (1))\n        change [direction v] by (5)\n        point in direction (([tan v] of ((timer) * (120)) ) + (90))\n    end\n    point in direction (90)\n    repeat (10)\n        change y by ((5) - ((y position) * (0.2)))\n        change [ghost v] effect by (2.5)\n    end\n    repeat (30)\n        change y by (((5) - ((y position) * (0.2))) * (-1))\n        change [ghost v] effect by (3)\n    end\n    broadcast (Start v)\n    hide\nend\n\nwhen I start as a clone\nif <(Clone ID) = [2]> then\n    hide\n    set size to (100) %\n    point in direction (90)\n    set [ghost v] effect to (50)\n    set [brightness v] effect to (0)\n    go to [front v] layer\n    switch costume to (name logo v)\n    go to x: (1000) y: (0)\n    wait (2.5) seconds\n    show\n    repeat (20)\n        change [ghost v] effect by (-5)\n        change x by (((0) - (x position)) / (4))\n    end\n    repeat (140)\n        set [brightness v] effect to (0)\n        change y by (([sin v] of (Direction) ) * (1))\n        change [direction v] by (5)\n        point in direction (([tan v] of ((timer) * (120)) ) + (90))\n    end\n    point in direction (90)\n    repeat (10)\n        change y by ((5) - ((y position) * (0.2)))\n        change [ghost v] effect by (2.5)\n    end\n    repeat (30)\n        change y by (((5) - ((y position) * (0.2))) * (-1))\n        change [ghost v] effect by (3)\n    end\n    hide\nend\n\nwhen I receive [end of intro v]\n\ncreate clone of (_myself_ v)\nchange [clone id v] by (1)\n\nwhen I receive [end of intro v]\n\nif <(Clone ID) = [4]> then\n    show\n    set [ghost v] effect to (100)\n    set size to (100) %\n    go to [front v] layer\n    point in direction (90)\n    go to x: (0) y: (0)\n    switch costume to (ending transition v)\n    wait (0.03) seconds\n    repeat (10)\n        show\n        change [ghost v] effect by (-10)\n    end\n    wait (1) seconds\n    hide\nend\n\nwhen I start as a clone\nif <(Clone ID) = [3]> then\n    show\n    point in direction (90)\n    go to x: (0) y: (0)\n    show\n    set [ghost v] effect to (0)\n    switch costume to (flash v)\n    go to [front v] layer\n    clear graphic effects\n    repeat (50)\n        change [ghost v] effect by (10)\n    end\nend\n\n@Love fave\n\nwhen flag clicked\nset [costume v] to [0]\nhide\nforever\n    if <not <<(LOVED__) = [1]> and <(FAVED___) = [1]>>> then\n        wait (pick random (30) to (40)) seconds\n        switch costume to (costume1 v)\n        go to x: (0) y: (50)\n        show\n        go to [front v] layer\n        start sound [pop v]\n        repeat (9)\n            change y by (-6)\n        end\n        repeat (5)\n            change y by (3)\n        end\n        repeat (5)\n            change y by (-1)\n        end\n        wait (2) seconds\n        repeat (15)\n            change y by (7)\n        end\n        hide\n    end\n    if <(Costume) > [0]> then\n        hide\n        stop [this script v]\n    end\nend\n\n@Sun\n\nwhen flag clicked\nhide\npoint in direction (90)\ngo to x: (212) y: (166)\nset size to (100) %\nswitch costume to (costume1 v)\nforever\n    wait (0.03) seconds\n    repeat (10)\n        change size by (1.5)\n    end\n    wait (0.03) seconds\n    repeat (10)\n        change size by (-1.5)\n    end\n    wait (0.03) seconds\nend\n\nwhen I receive [start v]\nshow\n\nwhen flag clicked\nforever\n    go to [back v] layer\nend\n\n@Spikes\n\nwhen flag clicked\nhide\nswitch costume to (costume1 v)\ngo to [back v] layer\n\nwhen I receive [start v]\nshow\n\nwhen I receive [next level v]\nnext costume\n\n@Flag\n\nwhen flag clicked\nhide\nswitch costume to (green flag v)\n\nwhen I receive [start v]\nshow\ngo to [back v] layer\n\nwhen I receive [next level v]\nnext costume\n\n@Stuff\n\nwhen flag clicked\nhide\nswitch costume to (costume1 v)\n\nwhen I receive [start v]\nshow\ngo to [back v] layer\n\nwhen I receive [next level v]\nnext costume\n\n@Clouds\n\nwhen flag clicked\nset [ghost v] effect to (34)\nforever\n    go to x: (-26) y: (19)\n    glide (7) secs to x: (-300) y: (13)\nend\n\nwhen flag clicked\ngo to [back v] layer\nhide\n\nwhen I receive [start v]\nshow\n\n@Moving ground\n\nwhen flag clicked\nswitch costume to (costume1 v)\nhide\n\nwhen I receive [next level v]\nnext costume\nif <(costume [number v]) = [4]> then\n    switch costume to (costume4 v)\n    go to x: (-56) y: (-32)\n    repeat until <(costume [number v]) = [5]>\n        repeat (40)\n            change x by (3)\n        end\n        repeat (40)\n            change x by (-3)\n        end\n    end\nend\nif <(costume [number v]) = [9]> then\n    switch costume to (costume9 v)\n    go to x: (-130) y: (-100)\n    repeat until <(costume [number v]) = [10]>\n        repeat (60)\n            change x by (3)\n        end\n        repeat (60)\n            change x by (-3)\n        end\n    end\nend\n\nwhen I receive [start v]\nshow\n\n@Sound\n\nwhen this sprite clicked\nif <(costume [number v]) = [1]> then\n    switch costume to (costume2 v)\n    broadcast (Sound v)\nelse\n    switch costume to (costume1 v)\n    broadcast (Sound On v)\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nshow\nswitch costume to (costume1 v)\n\nwhen I receive [start v]\nforever\n    if <touching (mouse-pointer v)?> then\n        change size by (((60) - (size)) / (3))\n        point in direction (90)\n    else\n        change size by (((40) - (size)) / (3))\n    end\nend\n\n@Moving danger\n\nwhen flag clicked\nswitch costume to (costume1 v)\nhide\n\nwhen I receive [next level v]\nnext costume\nif <(costume [number v]) = [7]> then\n    switch costume to (costume7 v)\n    go to x: (-56) y: (-105)\n    repeat until <(costume [number v]) = [8]>\n        repeat (50)\n            change x by (3)\n        end\n        repeat (50)\n            change x by (-3)\n        end\n    end\nend\nif <(costume [number v]) = [10]> then\n    switch costume to (costume10 v)\n    go to x: (-126) y: (132)\n    repeat until <(costume [number v]) = [11]>\n        repeat (80)\n            change x by (3)\n        end\n        repeat (80)\n            change x by (-3)\n        end\n    end\nend\n\nwhen I receive [start v]\nshow\n\n@Skip\n\nwhen flag clicked\nset volume to (100) %\nhide\n\nwhen I receive [start v]\nshow\nswitch costume to (costume1 v)\n\nwhen I receive [start v]\nforever\n    if <touching (mouse-pointer v)?> then\n        change size by (((60) - (size)) / (3))\n        point in direction (90)\n    else\n        change size by (((40) - (size)) / (3))\n    end\nend\n\nwhen this sprite clicked\nbroadcast (NEXT LEVEL v)\n\nwhen I receive [start v]\nforever\n    if <([costume # v] of [ground v]) = [11]> then\n        change volume by (-10)\n    end\nend\n\nwhen I receive [start v]\nforever\n    if <(volume) = [90]> then\n        hide\n    end\nend\n\n@thumbnail\n\nwhen flag clicked\ngo to x: (95) y: (-27)\nset [ghost v] effect to (100)\nforever\n    go to [front v] layer\n    reset timer\nend\n\nwhen [timer v] > (0.03)\ngo to x: (95) y: (-1000)\nrepeat until <(round (y position)) = [-27]>\n    go to [front v] layer\n    change [ghost v] effect by (-10)\n    change y by (((1) - (y position)) / (5))\nend\nset y to (-27)\n\n