Color || Platformer ~ Part 2 - The Desert

Instructions: ~~~~~~~~~~~ COLOR -- A PLATFORMER ~~~~~~~~\n \n         Welcome to Color -- A Platformer ~ Part 2! This simple, colorless, and generic platformer is a medium difficulty in which you must complete all 16 levels as fast as possible. 15 loves or 100 views, and I will make Part 3 early!!!!!!!!\n\nNEW GAME OUT!!!\nhttps://scratch.mit.edu/projects/931993602/\n\n100th love gets a free follow from me!!!!!\n\nI have a poll open on whether you want a sequel series to come out: https://scratch.mit.edu/projects/808979267/\n\nDec. 6: 500 views! (Let's get to 1000 quickly!!!!)\n\n100 views in 2 days? Thank you guys so much!!! :D\n\nPARTS:\nPart 1: https://scratch.mit.edu/projects/757620781/\nPart 3: https://scratch.mit.edu/projects/764015660/\nPart 4: https://scratch.mit.edu/projects/767616243/\nPart 5: https://scratch.mit.edu/projects/772220853/\n\nCOLOR 2 SERIES:\nPart 1: https://scratch.mit.edu/projects/823176480/\nPart 2: https://scratch.mit.edu/projects/921559305/\n\nWARNING: Intro may trigger seizures. If you are prone to these, then press the 'skip intro' button.\n\nINSTRUCTIONS :\nWASD, arrow keys, or touch screen to move\nS, down arrow, or touch screen below player to crouch\nAvoid colorless spikes, lava, and cacti\nTouch the yellow gem at the end to win\nTry to finish as fast as possible\nLove, favorite, and follow for Part 3\nEnjoy\n\nNOTES :\nThere is a very rare bug where when you start the game, the time doesn't work, and doesn't activate at all. Please don't take advantage of this and finish the game, then comment that you got 0 seconds. Just restart.\nComment 'Desert' for Part 3 ~ The Ocean to come out early. If this game gets 15 loves before 10 days are up, then I will start Part 3 right away, so love and favorite as well.\n\nCREDITS :\nThanks to @kamakiri1023 for the player code and art\nThanks to @Pickleanimation99 for the intro\nThanks to @ArtemScrathMaster for the music\nThanks to @warfame for the cactus art\nI did everything else!!!!\n\nComment 'Desert' for Part 3, and I hope you enjoy!!!!!!\n\n(819 blocks make up this game.)\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nYeet

@Stage\n\nwhen flag clicked\nswitch backdrop to (backdrop1 v)\n\nwhen I receive [start! v]\nwait (1) seconds\nforever\n    play sound [TheFatRat - Time Lapse v] until done\nend\n\nwhen I receive [play v]\nswitch backdrop to (backdrop2 v)\nforever\n    if <<(level) > [6]> and <(level) < [9]>> then\n        switch backdrop to (backdrop3 v)\n    else\n        if <<(level) > [14]> and <(level) < [17]>> then\n            switch backdrop to (backdrop3 v)\n        else\n            switch backdrop to (backdrop2 v)\n        end\n    end\nend\n\n@Intro\n\nwhen flag clicked\nhide\nwait (1) seconds\nstart sound [Techno2 v]\nwait (.5) seconds\nset [id v] to [BG]\ncreate clone of (_myself_ v)\nwait (.7) seconds\nset [id v] to [Text]\nstart sound [Trap Beat v]\ncreate clone of (_myself_ v)\nwait () seconds\nset [id v] to [Flash]\ncreate clone of (_myself_ v)\nwait () seconds\nset [id v] to [Bars]\ncreate clone of (_myself_ v)\nwait () seconds\npoint in direction (90)\nset [id v] to [Explosion]\nclear graphic effects\nset [my variable v] to [No]\nrepeat (7)\n    set [brightness v] effect to (100)\n    create clone of (_myself_ v)\n    turn right (25) degrees\n    set [brightness v] effect to (-50)\n    create clone of (_myself_ v)\n    turn right (25) degrees\nend\nset [my variable v] to [Yes]\nwait () seconds\nset [id v] to [SpinThing]\ncreate clone of (_myself_ v)\nwait () seconds\nset [my variable v] to [No]\nset [id v] to [Circlesss]\ngo to x: (-200) y: (125)\nrepeat (4)\n    repeat (6)\n        create clone of (_myself_ v)\n        change x by (81)\n    end\n    set x to (-200)\n    change y by (-81)\nend\nset [my variable v] to [Yes]\nwait () seconds\ngo to x: (-217) y: (-255)\nset [id v] to [EGG]\npoint in direction (90)\nrepeat (6)\n    create clone of (_myself_ v)\n    change x by (45)\nend\ngo to x: (217) y: (255)\nset [id v] to [EGG2]\npoint in direction (-90)\nrepeat (6)\n    create clone of (_myself_ v)\n    change x by (-45)\nend\nwait () seconds\npoint in direction (90)\nset [id v] to [Explosion]\nclear graphic effects\nset [my variable v] to [No]\nrepeat (35)\n    set [brightness v] effect to (100)\n    create clone of (_myself_ v)\n    turn right (25) degrees\n    set [brightness v] effect to (-50)\n    create clone of (_myself_ v)\n    turn right (25) degrees\nend\nset [my variable v] to [Yes]\nwait () seconds\nset [id v] to [Triangle!]\ncreate clone of (_myself_ v)\nwait () seconds\nset [id v] to [Squares?]\ncreate clone of (_myself_ v)\nwait () seconds\nset [id v] to [Squares?2]\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nif <(ID) = [Text]> then\n    switch costume to (costume1 v)\n    go to x: (0) y: (0)\n    clear graphic effects\n    set size to (100) %\n    go to [front v] layer\n    show\n    point in direction (70)\n    set [amt v] to [100]\n    set [y v] to [0]\n    set [direction v] to [0]\n    repeat (50)\n        set [amt v] to (((amt) * (.8)) + (((0) - (wob)) / (5)))\n        change [wob v] by (amt)\n        set y to (wob)\n        set [bt v] to (((bt) * (.9)) + (((90) - (direction)) / (5)))\n        turn right (bt) degrees\n    end\n    repeat (2)\n        turn right (1) degrees\n    end\n    repeat (2)\n        turn right (2) degrees\n    end\n    repeat (2)\n        turn right (5) degrees\n    end\n    repeat (2)\n        turn right (15) degrees\n        go to [front v] layer\n    end\n    repeat (4)\n        turn right (35) degrees\n        go to [front v] layer\n    end\n    repeat (3)\n        turn right (28) degrees\n        go to [front v] layer\n    end\n    repeat (3)\n        turn right (23) degrees\n        go to [front v] layer\n    end\n    repeat (28)\n        go to [front v] layer\n        point in direction ((([cos v] of ((timer) * (100)) ) * (6)) + (90))\n        repeat until <(size) < [35]>\n            change size by (-22)\n        end\n        hide\n    end\n    repeat (40)\n        point in direction ((([cos v] of ((timer) * (100)) ) * (6)) + (90))\n        repeat until <(size) < [35]>\n            change size by (-22)\n        end\n        hide\n    end\n    repeat (50)\n        turn right (Direction) degrees\n        change y by (Y)\n        change [y v] by (-.2)\n        change [direction v] by (.028)\n    end\n    delete this clone\nelse\n    if <(ID) = [BG]> then\n        switch costume to (costume2 v)\n        go to x: (0) y: (0)\n        clear graphic effects\n        point in direction (90)\n        set size to (0) %\n        show\n        repeat (23)\n            change size by ((size) * (.2))\n        end\n        repeat (100)\n            switch costume to (costume3 v)\n            change size by (((430) - (size)) / (6))\n            switch costume to (costume2 v)\n        end\n        set size to (100) %\n        set [size v] to [0]\n        repeat (15)\n            switch costume to (costume3 v)\n            change size by (Size)\n            switch costume to (costume66 v)\n            change [size v] by (2)\n        end\n        repeat (90)\n            switch costume to (costume3 v)\n            change size by (((1215) - (size)) / (16))\n            switch costume to (costume66 v)\n        end\n        broadcast (introend v)\n    else\n        if <(ID) = [Bars]> then\n            switch costume to (costume4 v)\n            go to x: (0) y: (0)\n            clear graphic effects\n            point in direction (90)\n            set size to (146) %\n            show\n            repeat (50)\n                go to [front v] layer\n                change size by (((100) - (size)) / (6))\n            end\n            repeat (75)\n                go to [front v] layer\n            end\n            repeat (40)\n                change size by (((146) - (size)) / (15))\n            end\n            delete this clone\n        else\n            if <(ID) = [Explosion]> then\n                switch costume to (costume5 v)\n                go to x: (0) y: (0)\n                set [step! v] to [6]\n                set size to (0) %\n                wait until <(my variable) = [Yes]>\n                show\n                repeat (5)\n                    change size by (((100) - (size)) / (7))\n                    move (Step!) steps\n                    turn left (3) degrees\n                    change [step! v] by (-.2)\n                end\n                repeat (25)\n                    next costume\n                    change size by (((100) - (size)) / (7))\n                    turn left (1) degrees\n                    move (Step!) steps\n                    change [step! v] by (-.2)\n                end\n                delete this clone\n            else\n                if <(ID) = [SpinThing]> then\n                    clear graphic effects\n                    set rotation style [all around v]\n                    switch costume to (costume43 v)\n                    go to x: (0) y: (0)\n                    set [turn! v] to [0]\n                    set [brightness v] effect to (100)\n                    point in direction (90)\n                    set size to (100) %\n                    show\n                    repeat (6)\n                        turn left (Turn!) degrees\n                        switch costume to ((costume [number v]) - (1))\n                        change [turn! v] by (.3)\n                    end\n                    repeat (6)\n                        turn left (Turn!) degrees\n                        switch costume to ((costume [number v]) - (1))\n                        change [turn! v] by (.8)\n                    end\n                    repeat (7)\n                        turn left (Turn!) degrees\n                        change [turn! v] by (2)\n                    end\n                    turn left (5) degrees\n                    repeat (8)\n                        turn left (Turn!) degrees\n                        change [turn! v] by (-1.9)\n                    end\n                    repeat (2)\n                        turn left (Turn!) degrees\n                        change [turn! v] by (-1)\n                    end\n                    repeat (7)\n                        turn left (Turn!) degrees\n                        change [turn! v] by (-.5)\n                    end\n                    set rotation style [left-right v]\n                    point in direction (-90)\n                    repeat (12)\n                        next costume\n                    end\n                    delete this clone\n                else\n                    if <(ID) = [Circlesss]> then\n                        switch costume to (costume44 v)\n                        clear graphic effects\n                        point in direction (90)\n                        set size to (100) %\n                        wait until <(my variable) = [Yes]>\n                        show\n                        repeat (3)\n                            change [fisheye v] effect by (25)\n                        end\n                        repeat (4)\n                            change [fisheye v] effect by (60)\n                        end\n                        repeat (4)\n                            change [fisheye v] effect by (150)\n                        end\n                        repeat (4)\n                            change [fisheye v] effect by (300)\n                        end\n                        repeat (4)\n                            change [fisheye v] effect by (800)\n                            change [ghost v] effect by (3)\n                        end\n                        repeat (4)\n                            change [fisheye v] effect by (3000)\n                            change [ghost v] effect by (7)\n                        end\n                        repeat (4)\n                            change [fisheye v] effect by (3000)\n                            change [ghost v] effect by (12)\n                        end\n                        delete this clone\n                    else\n                        if <(ID) = [EGG]> then\n                            clear graphic effects\n                            set size to (100) %\n                            set [brightness v] effect to (100)\n                            wait (.3) seconds\n                            show\n                            switch costume to (costume45 v)\n                            repeat (5)\n                                change y by (((-73) - (y position)) / (6))\n                            end\n                            repeat (17)\n                                next costume\n                                change y by (((-73) - (y position)) / (6))\n                            end\n                            delete this clone\n                        else\n                            if <(ID) = [EGG2]> then\n                                clear graphic effects\n                                set size to (100) %\n                                set [brightness v] effect to (100)\n                                show\n                                switch costume to (costume45 v)\n                                repeat (5)\n                                    change y by (((95) - (y position)) / (6))\n                                end\n                                repeat (17)\n                                    next costume\n                                    change y by (((95) - (y position)) / (6))\n                                end\n                                delete this clone\n                            else\n                                if <(ID) = [Triangle!]> then\n                                    switch costume to (costume63 v)\n                                    go to x: (0) y: (0)\n                                    clear graphic effects\n                                    point in direction (90)\n                                    set size to (0) %\n                                    show\n                                    repeat (12)\n                                        change size by (((565) - (size)) / (15))\n                                    end\n                                    repeat (50)\n                                        switch costume to (costume3 v)\n                                        change size by (((565) - (size)) / (15))\n                                        switch costume to (costume63 v)\n                                    end\n                                    delete this clone\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nset y to ((([cos v] of ((timer) * (390)) ) * (6)) + (0))\nset y to ((([cos v] of ((timer) * (390)) ) * (6)) + (0))\n\nwhen I start as a clone\nforever\n    set [color v] effect to (Color)\nend\n\nwhen flag clicked\nset [color v] to [0]\nforever\n    change [color v] by (6)\nend\n\nwhen I start as a clone\nif <(ID) = [Flash]> then\n    switch costume to (costume64 v)\n    go to x: (0) y: (0)\n    clear graphic effects\n    point in direction (90)\n    set size to (100) %\n    show\n    repeat (10)\n        go to [front v] layer\n        clear graphic effects\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        wait (.1) seconds\n    end\n    delete this clone\nend\n\nwhen I start as a clone\nif <(ID) = [Squares?]> then\n    switch costume to (costume65 v)\n    go to x: (-205) y: (-240)\n    clear graphic effects\n    point in direction (90)\n    set size to (100) %\n    set [brightness v] effect to (100)\n    show\n    glide (.5) secs to x: (-205) y: (240)\n    clear graphic effects\n    glide (.5) secs to x: (-205) y: (-240)\n    delete this clone\nelse\n    if <(ID) = [Squares?2]> then\n        switch costume to (costume65 v)\n        go to x: (205) y: (240)\n        clear graphic effects\n        point in direction (90)\n        set size to (100) %\n        set [brightness v] effect to (100)\n        show\n        glide (.5) secs to x: (205) y: (-240)\n        clear graphic effects\n        glide (.5) secs to x: (205) y: (240)\n        delete this clone\n    end\nend\n\nwhen flag clicked\nwait (8) seconds\nbroadcast (START! v)\n\n@Thumbnail\n\nwhen flag clicked\nset [ghost v] effect to (100)\ngo to x: (0) y: (360)\ngo to [front v] layer\nshow\nforever\n    reset timer\nend\n\nwhen [timer v] > (0.01)\nclear graphic effects\nglide (0.25) secs to x: (0) y: (0)\nforever\n    play sound [TheFatRat - Time Lapse v] until done\nend\n\n@Playbutton\n\nwhen flag clicked\nhide\n\nwhen I receive [start! v]\nshow\n\nwhen this sprite clicked\nbroadcast (play v)\nhide\n\n@Player\n\nwhen flag clicked\nhide\n\ndefine Physics\nswitch costume to (player v)\ngo to x: (-202) y: (12)\nset size to (80) %\nset rotation style [left-right v]\nshow\nset [xvel v] to [0]\nset [yvel v] to [0]\nforever\n    if <<<(mouse x) > (x position)> and <mouse down?>> or <<key (d v) pressed?> or <key (right arrow v) pressed?>>> then\n        point in direction (90)\n        change [xvel v] by (1.75)\n    end\n    if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(x position) > (mouse x)>>> then\n        point in direction (-90)\n        change [xvel v] by (-1.75)\n    end\n    set [xvel v] to ((xvel) * (0.8))\n    change x by (xvel)\n    if <touching (level v)?> then\n        change y by (1)\n        if <touching (level v)?> then\n            change y by (1)\n            if <touching (level v)?> then\n                change y by (1)\n                if <touching (level v)?> then\n                    change y by (1)\n                    if <touching (level v)?> then\n                        change y by (1)\n                        if <touching (level v)?> then\n                            change x by ((xvel) * (-1))\n                            change y by (-5)\n                            if <<<mouse down?> and <(y position) < (mouse y)>> or <<key (w v) pressed?> or <key (up arrow v) pressed?>>> then\n                                set [yvel v] to [15]\n                                if <(direction) = [90]> then\n                                    set [xvel v] to [-15]\n                                else\n                                    set [xvel v] to [15]\n                                end\n                            else\n                                set [xvel v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [yvel v] by (-1)\n    change y by (yvel)\n    if <touching (level v)?> then\n        change y by ((yvel) * (-1))\n        set [yvel v] to [0]\n    end\n    change y by (-1)\n    if <<<key (w v) pressed?> and <touching (level v)?>> or <<touching (level v)?> and <<key (up arrow v) pressed?> or <<mouse down?> and <<(mouse y) > (y position)> and <touching (level v)?>>>>>> then\n        change [yvel v] by (15)\n    end\n    change y by (1)\n    if <[235] < (x position)> then\n        go to x: (-202) y: (12)\n        broadcast (nextlevel v)\n        change [level v] by (1)\n        set [xvel v] to [0]\n        set [yvel v] to [0]\n    end\n    if  then\n        go to x: (-202) y: (12)\n        set [xvel v] to [0]\n        broadcast (death v)\n        set [yvel v] to [0]\n    end\n    if <touching (trampolines v)?> then\n        set [yvel v] to [17.5]\n    end\n    if <(y position) < [-180]> then\n        go to x: (-202) y: (12)\n        broadcast (death v)\n        set [xvel v] to [0]\n        set [yvel v] to [0]\n    end\nend\n\nwhen I receive [play v]\ngo to x: (-195) y: (-18)\nset [yvel v] to [0]\nset [xvel v] to [0]\nset [level v] to [1]\nforever\n    Physics\nend\n\nwhen I receive [play v]\nforever\n    if <<key (down arrow v) pressed?> or <<key (s v) pressed?> or <<(mouse y) < (y position)> and <mouse down?>>>> then\n        switch costume to (player-crouch v)\n    else\n        switch costume to (player v)\n    end\nend\n\nwait (1) seconds\n\n@Level\n\nwhen flag clicked\nswitch costume to (costume1 v)\nhide\n\nwhen I receive [play v]\nswitch costume to (costume1 v)\nshow\n\nwhen I receive [nextlevel v]\nswitch costume to (level)\n\nwhen I receive [skippedlevel v]\nswitch costume to (level)\n\n@Danger\n\nwhen flag clicked\ngo to [back v] layer\nhide\n\nwhen I receive [play v]\ngo to [back v] layer\nswitch costume to (costume1 v)\nshow\n\nwhen I receive [nextlevel v]\ngo to [back v] layer\nswitch costume to (level)\n\nwhen I receive [skippedlevel v]\ngo to [back v] layer\nswitch costume to (level)\n\n@Trampolines\n\nwhen flag clicked\nhide\n\nwhen I receive [play v]\nswitch costume to (costume1 v)\nforever\n    if <(level) = [8]> then\n        go to x: (-5) y: (-89)\n        repeat until <not <(level) = [8]>>\n            show\n            if <touching (player v)?> then\n                repeat (11)\n                    next costume\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [play v]\nhide\nforever\n    if <not <(level) = [8]>> then\n        switch costume to (costume1 v)\n        hide\n    end\nend\n\n@Fake platform\n\nwhen flag clicked\nclear graphic effects\nhide\n\nwhen I receive [play v]\nclear graphic effects\nforever\n    if <(level) = [12]> then\n        show\n        repeat until <not <(level) = [12]>>\n            if <touching (player v)?> then\n                set [ghost v] effect to (40)\n            else\n                clear graphic effects\n            end\n        end\n    else\n        clear graphic effects\n        hide\n    end\nend\n\n@Timernumber\n\nwhen flag clicked\nset [time v] to [0]\nhide\n\nwhen I receive [play v]\nset [time v] to [0]\nforever\n    repeat until <(level) = [16]>\n        change [time v] by (1)\n        wait (1) seconds\n    end\nend\n\nwhen I receive [play v]\nshow\ngo to x: (230) y: (-300)\nset [multidigit??? v] to [no]\nrepeat (10)\n    switch costume to (0 v)\nend\nforever\n    if <[0] < (time)> then\n        switch costume to ((time) mod (10))\n    end\nend\n\n@Timenumber2\n\nwhen flag clicked\nhide\n\nwhen I receive [play v]\ngo to x: (210) y: (-300)\nrepeat (70)\n    switch costume to (0 v)\n    hide\nend\nforever\n    if <[9] < (time)> then\n        switch costume to ((((time) - (5)) / (10)) mod (10))\n        show\n        set [multidigit??? v] to [yes]\n    end\nend\n\nrepeat until <(level) = [16]>\nend\n\n@Timenumber3\n\nwhen flag clicked\nhide\n\nwhen I receive [play v]\ngo to x: (190) y: (-300)\nrepeat (70)\n    switch costume to (0 v)\n    hide\nend\nforever\n    if <[99] < (time)> then\n        switch costume to ((((time) - (50)) / (100)) mod (10))\n        show\n        set [multidigit??? v] to [yes]\n    end\nend\n\nrepeat until <(level) = [16]>\nend\n\n@Timenumber4\n\nwhen flag clicked\nhide\n\nwhen I receive [play v]\ngo to x: (170) y: (-300)\nrepeat (70)\n    switch costume to (0 v)\n    hide\nend\nforever\n    if <[999] < (time)> then\n        switch costume to ((((time) - (500)) / (1000)) mod (10))\n        show\n        set [multidigit??? v] to [yes]\n    end\nend\n\nrepeat until <(level) = [16]>\nend\n\n@Timenumber5\n\nwhen flag clicked\nhide\n\nwhen I receive [play v]\ngo to x: (150) y: (-300)\nrepeat (70)\n    switch costume to (0 v)\n    hide\nend\nforever\n    if <[9999] < (time)> then\n        switch costume to ((((time) - (5000)) / (10000)) mod (10))\n        show\n        set [multidigit??? v] to [yes]\n    end\nend\n\nrepeat until <(level) = [16]>\nend\n\n@Crystal\n\nwhen flag clicked\ngo to [back v] layer\ngo to [back v] layer\ngo to x: (69) y: (-29)\nhide\n\nwhen I receive [play v]\nhide\nforever\n    if <(level) = [16]> then\n        go to [back v] layer\n        show\n        forever\n            if <touching (player v)?> then\n                stop [all v]\n            end\n        end\n    else\n        hide\n    end\nend\n\n@Blank\n\n@Levelskipbutton\n\nwhen flag clicked\ngo to x: (167) y: (-143)\nset [leveldeaths v] to [0]\nhide\n\nwhen I receive [play v]\nset [leveldeaths v] to [0]\nforever\n    if <<(leveldeaths) > [9]> and <(level) < [16]>> then\n        go to [front v] layer\n        set [ghost v] effect to (35)\n        show\n    else\n        hide\n    end\nend\n\nwhen I receive [death v]\nchange [leveldeaths v] by (1)\n\nwhen I receive [nextlevel v]\nset [leveldeaths v] to [0]\n\nwhen this sprite clicked\nbroadcast (skippedlevel v)\nset [leveldeaths v] to [0]\nchange [level v] by (1)\nhide\n\n