Colorful Platformer

Instructions: Use arrow keys or WASD to control Mr. Cube.\n\nOh wow! A colorful platformer. So many colors. It would easily be the most colorful platformer on Scratch. I can't believe my eyes! This would be perfect for the new SDS called colorless!\n\nHere are the various colors used in the game:\nBlack\nLight Black\nLighter Black\nEven lighter Black\nDark Black\nDarker Black\nEven darker Black\nGrey\nLight Grey\nLighter Grey\nEven lighter Grey\nDark Grey\nDarker Grey\nEven darker Grey\nWhite\nLight White\nLighter White\nEven lighter white\nDark white\nDarker white\nEven darker white\nRed (for lava)\nBlue (for Mr. Cube)\n\n#games #platformer #colorless (uh.. I mean #colorful)

@Stage\n\nwhen flag clicked\nbroadcast (start v)\n\nwhen I receive [arrived at planet v]\nshow variable [☁ record time \(seconds\) v]\nif <(Your time:) < (☁ Record Time \(seconds\))> then\n    if <(Your time:) > [1]> then\n        set [☁ record time \(seconds\) v] to (Your time:)\n        change [☁ bot_detector v] by (-1)\n    end\nend\nstop [other scripts in sprite v]\n\nwhen I receive [start v]\nreset timer\nhide variable [your time: v]\nhide variable [☁ record time \(seconds\) v]\nforever\n    set [your time: v] to (timer)\n    if <key (j v) pressed?> then\n        show variable [your time: v]\n        show variable [☁ record time \(seconds\) v]\n    end\nend\n\nset [☁ record time \(seconds\) v] to [100]\n\ndefine Encode (high score)\n\nEncode []\n\n@Player\n\nwhen I start as a clone\nclear graphic effects\nrepeat (10)\n    change [ghost v] effect by (10)\n    change y by (5)\n    turn right (5) degrees\nend\ndelete this clone\n\nwhen I receive [next level v]\nbroadcast (Reset v)\n\nwhen I receive [reset v]\nset [x velocity v] to [0]\nset [y velocity v] to [0]\ngo to x: (-216) y: (40)\n\nwhen I receive [stop scripts in cube sprite v]\nwait (1) seconds\nstop [other scripts in sprite v]\n\nwhen I receive [start v]\nset [the level v] to [1]\nbroadcast (Next Level v)\nforever\n    if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n        if <(movable?) = [true]> then\n            change [x velocity v] by (-1.5)\n        end\n    end\n    if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n        if <(movable?) = [true]> then\n            change [x velocity v] by (1.5)\n        end\n    end\n    set [x velocity v] to ((X Velocity) * (0.85))\n    change x by (X Velocity)\n    if <touching (ground v)?> then\n        change y by (1)\n    end\n    if <touching (ground v)?> then\n        change y by (1)\n    end\n    if <touching (ground v)?> then\n        change y by (1)\n    end\n    if <touching (ground v)?> then\n        change y by (1)\n    end\n    if <touching (ground v)?> then\n        change y by (-4)\n        change x by ((X Velocity) * (-1))\n        if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n            if <(X Velocity) > [0]> then\n                set [x velocity v] to [-10]\n            else\n                set [x velocity v] to [10]\n            end\n            set [y velocity v] to [15]\n        else\n            set [x velocity v] to [0]\n        end\n    end\n    change [y velocity v] by (-1)\n    change y by (Y Velocity)\n    if <touching (ground v)?> then\n        change y by ((Y Velocity) - ((Y Velocity) * (2)))\n        set [y velocity v] to [0]\n        if <<key (down arrow v) pressed?> or <key (s v) pressed?>> then\n            switch costume to (crouch v)\n        else\n            switch costume to (player2 v)\n        end\n    end\n    change y by (-1)\n    if <<touching (ground v)?> and <<key (up arrow v) pressed?> or <key (w v) pressed?>>> then\n        set [y velocity v] to [15]\n    end\n    change y by (1)\n    if <(x position) > [239]> then\n        broadcast (Next Level v) and wait\n        change [the level v] by (1)\n    end\n    if <touching (spikes v)?> then\n        broadcast (Reset v)\n        create clone of (_myself_ v)\n    else\n        if <<key (down arrow v) pressed?> or <key (s v) pressed?>> then\n            switch costume to (crouch v)\n        else\n            switch costume to (player2 v)\n        end\n        if <touching (lava v)?> then\n            broadcast (Reset v)\n        end\n    end\nend\n\n@Ground\n\nwhen I receive [start v]\nforever\n    switch costume to (The Level)\nend\n\nwhen I receive [start v]\nset [isgenuineuser? v] to [false]\nforever\n    if <(The Level) = [13]> then\n        broadcast (stop scripts in cube sprite v)\n        broadcast (arrived at planet v)\n        stop [other scripts in sprite v]\n        stop [this script v]\n    end\n    if <(The Level) = [12]> then\n        set [isgenuineuser? v] to [true]\n    end\nend\n\n@Spikes\n\nwhen I receive [start v]\nforever\n    switch costume to (The Level)\nend\n\n@Lava\n\nwhen I receive [start v]\nforever\n    switch costume to (The Level)\nend\n\n@Thumbnail\n\nwhen I receive [start v]\nshow\nwait (1) seconds\ngo to x: (0) y: (0)\nhide\ngo to [front v] layer\nclear graphic effects\n\n@Player Trail\n\nwhen I start as a clone\nshow\nrepeat (10)\n    change [ghost v] effect by (21)\nend\ndelete this clone\n\nwhen I receive [scroll v]\nhide\ndelete this clone\n\nwhen I receive [start v]\nshow\nforever\n    point in direction ([direction v] of [player v])\n    switch costume to ([costume name v] of [player v])\n    go to x: ([x position v] of [player v]) y: ([y position v] of [player v])\n    create clone of (_myself_ v)\nend\n\n@:P\n\nwhen I receive [start v]\nset [movable? v] to [false]\nclear graphic effects\ngo to [front v] layer\nwait (1.5) seconds\nset volume to (100) %\nstart sound [Thunder Storm v]\nwait (1.5) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nset [movable? v] to [true]\nset volume to (20) %\nforever\n    play sound [bensound-slowmotion v] until done\nend\n\n@the brown part\n\nwhen I receive [arrived at planet v]\nwait (1.5) seconds\nclear graphic effects\ngo to [front v] layer\nset [ghost v] effect to (100)\nshow\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\n\nwhen I receive [start v]\nclear graphic effects\nhide\n\n@the dark green part\n\nwhen I receive [arrived at planet v]\nwait (2.3) seconds\nclear graphic effects\ngo to [front v] layer\nset [ghost v] effect to (100)\nshow\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\n\nwhen I receive [start v]\nclear graphic effects\nhide\n\n@the light green part\n\nwhen I receive [arrived at planet v]\nwait (2.78) seconds\nclear graphic effects\ngo to [front v] layer\nset [ghost v] effect to (100)\nshow\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\n\nwhen I receive [start v]\nclear graphic effects\nhide\n\n@the blue sky part\n\nwhen I receive [arrived at planet v]\nwait (3.0) seconds\nclear graphic effects\ngo to [back v] layer\nset [ghost v] effect to (100)\nshow\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\n\nwhen I receive [start v]\nclear graphic effects\nhide\n\n@Timer Display\n\nwhen flag clicked\nset [text v] to [1]\nforever\n    switch costume to (costume v)\n    set [letters completed v] to [0]\n    repeat until <(Letters completed) = (length of (Text))>\n        create clone of (_myself_ v)\n        change [letters completed v] by (1)\n    end\n    if <(Text) = []> then\n        switch costume to (signed out - error v)\n    end\n    go to [front v] layer\n    wait (1) seconds\n    change [text v] by (1)\nend\n\nwhen I start as a clone\nshow\nmove ((10) * (Letters completed)) steps\nswitch costume to (letter ((Letters completed) + (1)) of (Text))\nwait (1.11) seconds\ndelete this clone\n\nwhen I receive [arrived at planet v]\n\nstop [other scripts in sprite v]\nset [text v] to ([floor v] of (timer) )\nswitch costume to (costume v)\nset [letters completed v] to [0]\nrepeat until <(Letters completed) = (length of (Text))>\n    create clone of (_myself_ v)\n    change [letters completed v] by (1)\nend\ngo to [front v] layer\nwait (1) seconds\nchange [text v] by (1)\n\nwhen I receive [arrived at planet v]\nstop [other scripts in sprite v]\nset [text v] to ([floor v] of (timer) )\nswitch costume to (costume v)\nset [letters completed v] to [0]\nrepeat until <(Letters completed) = (length of (Text))>\n    show\n    stamp\n    hide\n    change [letters completed v] by (1)\nend\ngo to [front v] layer\nwait (1) seconds\nchange [text v] by (1)\n\n@Sprite1\n\nwhen I receive [start v]\nforever\n    set [your time: v] to (timer)\n    if <key (j v) pressed?> then\n        show variable [your time: v]\n        show variable [☁ record time \(seconds\) v]\n    end\nend\n\nwhen I receive [arrived at planet v]\nstop [other scripts in sprite v]\n\n