Rainbow Platformer! 

Instructions:                         ~~~~~~~READ!~~~~~~~\nHello everyone! Use the arrow keys to move. All the other instructions are in the game. It's colorful! The flags are changing colors each level. And the colorful paint are changing colors, also the colorful bouncy is changing. The background is rainbow too!  Have fun! \n\nCHALLENGE: Try to finish all of the levels before the music does!

@Stage\n\nwhen flag clicked\nwait (0.1) seconds\nstart sound [Electroman Adventures v]\nwait until <([costume # v] of [ground v]) = [9]>\nstop all sounds\nstart sound [dreamscape 009 v]\n\n@Character\n\nwhen flag clicked\nbroadcast (message1 v)\n\nwhen I receive [message1 v]\ngo to [front v] layer\ngo to x: (-200) y: (-50)\nset rotation style [left-right v]\nshow\nset [speed y v] to [0]\nset [falling? v] to [10]\nforever\n    create clone of (_myself_ v)\n    switch costume to (hitbox v)\n    if <<(Speed Y) < [4]> or <<key (up arrow v) pressed?> or <key (w v) pressed?>>> then\n        change [speed y v] by (-1)\n    else\n        change [speed y v] by (-2)\n    end\n    if <(Speed Y) < [-16]> then\n        set [speed y v] to [-16]\n    end\n    change y by (Speed Y)\n    Touch Ground <(Speed Y) > [0]>\n    if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n        Walk (-90) (-5)\n    end\n    if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n        Walk (90) (5)\n    end\n    if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> and <(Falling?) < [4]>> then\n        set [speed y v] to [12]\n    end\n    if <touching (bad v)?> then\n        go to x: (-200) y: (0)\n        set [speed y v] to [0]\n        set [falling? v] to [10]\n    end\n    if <touching (bouncy v)?> then\n        set [speed y v] to [25]\n    end\n    if <touching (water v)?> then\n        set [falling? v] to [0]\n    end\n    switch costume to (red square v)\nend\n\ndefine Walk (direction) (speed)\npoint in direction (direction)\nchange x by (speed)\nset [slope v] to [0]\nrepeat until <<(Slope) = [8]> or <not <touching (ground v)?>>>\n    change y by (1)\n    change [slope v] by (1)\nend\nif <(Slope) = [8]> then\n    change x by ((0) - (speed))\n    change y by ((0) - (Slope))\nend\n\ndefine Touch Ground <up?>\nchange [falling? v] by (1)\nrepeat until <not <touching (ground v)?>>\n    if <up?> then\n        change y by (-1)\n    else\n        change y by (1)\n        set [falling? v] to [0]\n    end\n    set [speed y v] to [0]\nend\n\nwhen I receive [next level v]\ngo to x: (-200) y: (0)\nset [speed y v] to [0]\nset [falling? v] to [10]\n\nwhen flag clicked\nforever\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nrepeat (10)\n    switch costume to (red square2 v)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\n@Ground\n\nwhen I receive [message1 v]\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\n\nwhen I receive [next level v]\nnext costume\n\n@Goal\n\nwhen I receive [message1 v]\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\nforever\n    if <touching (character v)?> then\n        broadcast (next level v)\n        wait until <not <touching (character v)?>>\n    end\nend\n\nwhen I receive [next level v]\nnext costume\n\nwhen flag clicked\nwait (0.1) seconds\nrepeat until <<(x position) = [0]> and <(y position) = [0]>>\n    go to x: (0) y: (0)\nend\n\n@Bad\n\nwhen flag clicked\nwait (0.1) seconds\nrepeat until <<(x position) = [0]> and <(y position) = [0]>>\n    go to x: (0) y: (0)\nend\n\nwhen I receive [message1 v]\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\n\nwhen I receive [next level v]\nnext costume\n\n@Bouncy\n\nwhen flag clicked\nwait (0.1) seconds\nrepeat until <<(x position) = [0]> and <(y position) = [0]>>\n    go to x: (0) y: (0)\nend\n\nwhen I receive [message1 v]\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\n\nwhen I receive [next level v]\nnext costume\n\n@Water\n\nwhen flag clicked\nwait (0.1) seconds\nrepeat until <<(x position) = [0]> and <(y position) = [0]>>\n    go to x: (0) y: (0)\nend\n\nwhen I receive [message1 v]\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\n\nwhen I receive [next level v]\nnext costume\n\n