Rainbow a platformer

Instructions: if this does not work press the green flag or restart your computer go to widows key and press the power button\nand click on restart.

@Stage\n\nwhen flag clicked\nswitch backdrop to (backdrop1 v)\n\nwhen I receive [start v]\nwait (3) seconds\nswitch backdrop to (backdrop2 v)\n\nwhen I receive [next level v]\nnext backdrop\n\n@Intro\n\nwhen I start as a clone\nif <(Clone) = [Particles]> then\n    switch costume to (pick random (29) to (31))\n    set size to (pick random (50) to (150)) %\n    set [ghost v] effect to (pick random (0.) to (5.))\n    set [brightness v] effect to (pick random (-25.) to (100.))\n    go to x: (0) y: (0)\n    point in direction (pick random (-180) to (180))\n    set [x v] to (pick random (10.) to (12.))\n    set [i v] to (pick random (2.) to (9.))\n    go to [front v] layer\n    show\n    repeat until <touching (_edge_ v)?>\n        move (X) steps\n        change y by (I)\n        change [i v] by (-0.4)\n        set [x v] to ((X) * (0.95))\n    end\n    delete this clone\nend\n\ndefine Particles\nset [clone v] to [Particles]\nrepeat (50)\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nif <(Clone) = [Name]> then\n    switch costume to (name v)\n    set size to (50) %\n    clear graphic effects\n    go to [front v] layer\n    go to x: (0) y: (-100)\n    point in direction (0)\n    show\n    repeat (50)\n        go to [front v] layer\n        change size by (((130) - (size)) / (8))\n        change y by (((0) - (y position)) / (8))\n        turn right (((90) - (direction)) / (8)) degrees\n    end\n    set [i v] to [-1]\n    repeat (10)\n        go to [front v] layer\n        change size by (I)\n        change [i v] by (join [-] (([abs v] of (I) ) / (2)))\n        turn right (I) degrees\n    end\n    switch costume to (logo v)\n    repeat (40)\n        go to [front v] layer\n        change size by (((130) - (size)) / (8))\n        turn right (((90) - (direction)) / (8)) degrees\n    end\n    set [i v] to [-1]\n    repeat (20)\n        go to [front v] layer\n        change size by ((I) / (3))\n        change [i v] by (join [-] (([abs v] of (I) ) / (4)))\n        turn right ((I) / (-3)) degrees\n    end\n    delete this clone\nend\n\nwhen flag clicked\nreset timer\nhide\nstart sound [Prismo - Stronger v]\nset volume to (100) %\nclear graphic effects\nset size to (100) %\npoint in direction (90)\ngo to x: (0) y: (0)\nset [clone v] to [Square]\ncreate clone of (_myself_ v)\nwait (1) seconds\nset [clone v] to [Name]\ncreate clone of (_myself_ v)\nwait (0) seconds\nrepeat (2)\n    Spiral spline explosion\n    Particles\n    Rect\n    Spiral spline explosion\nend\nCircle\nrepeat (4)\n    Spiral spline explosion\n    Particles\n    Rect\n    Spiral spline explosion\nend\nCircle\nrepeat (2)\n    Spiral spline explosion\n    Rect\n    Spiral spline explosion\nend\nbroadcast (Start v)\n\nwhen I start as a clone\nif <(Clone) = [Square]> then\n    clear graphic effects\n    show\n    set size to (0) %\n    go to x: (0) y: (300)\n    point in direction (0)\n    switch costume to (square v)\n    repeat (20)\n        change size by (((100) - (size)) / (5))\n        turn right (((90) - (direction)) / (5)) degrees\n        change y by (((0) - (y position)) / (5))\n    end\n    point in direction (90)\n    repeat (12)\n        next costume\n    end\n    repeat (20)\n        switch costume to (blank v)\n        change size by (((2000) - (size)) / (5))\n        switch costume to (square13 v)\n    end\n    wait (3) seconds\n    repeat (20)\n        switch costume to (blank v)\n        change size by (((100) - (size)) / (5))\n        switch costume to (square13 v)\n    end\n    repeat (12)\n        switch costume to ((costume [number v]) - (1))\n        change size by (-5)\n    end\n    set [i v] to [-1]\n    repeat (20)\n        change size by ((I) / (3))\n        change [i v] by (join [-] (([abs v] of (I) ) / (4)))\n        turn right ((I) / (-3)) degrees\n        change y by ((I) / (3))\n    end\n    delete this clone\nend\n\nwhen I start as a clone\nif <(Clone) = [Bursts]> then\n    switch costume to (lineexplosion1 v)\n    clear graphic effects\n    go to [front v] layer\n    go [backward v] (1) layers\n    set [i v] to (pick random (1) to (3))\n    if <(I) = [1]> then\n        set [brightness v] effect to (100)\n    else\n        if <(I) = [2]> then\n            set [brightness v] effect to (25)\n        else\n            set [brightness v] effect to (-25)\n        end\n    end\n    show\n    set [i v] to [20]\n    Animate   x: [0] y: [0] size: [0] rotate: (pick random (-180) to (180)) speed: [1]\n    repeat (2)\n        set [i v] to ((I) * (0.9))\n        move (I) steps\n        Size: [100] speed: [5]\n    end\n    repeat (10)\n        set [i v] to ((I) * (0.9))\n        move (I) steps\n        Size: [100] speed: [5]\n        change [ghost v] effect by (10)\n        next costume\n    end\n    delete this clone\nend\n\ndefine Animate   x: (x) y: (y) size: (s) rotate: (r) speed: (s)\nchange x by (((round (x)) - (round (x position))) / (s))\nchange y by (((round (y)) - (round (y position))) / (s))\nchange size by (((round (s)) - (round (size))) / (s))\nturn right (((round (r)) - (round (direction))) / (s)) degrees\n\ndefine Spiral spline explosion\nset [clone v] to [Bursts]\nrepeat (5)\n    create clone of (_myself_ v)\nend\n\ndefine Size: (s) speed: (spd)\nchange size by (((round (s)) - (round (size))) / (spd))\n\ndefine Rect\nset [clone v] to [Rect]\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nif <(Clone) = [Rect]> then\n    clear graphic effects\n    show\n    set size to (0) %\n    go to (random position v)\n    point in direction (90)\n    switch costume to (background rect v)\n    repeat until <(round (size)) = [300]>\n        change size by (((300) - (size)) / (15))\n        change [ghost v] effect by (4)\n    end\n    delete this clone\nend\n\nwhen I start as a clone\nif <(Clone) = [Circle]> then\n    clear graphic effects\n    set [brightness v] effect to (100)\n    go to [front v] layer\n    go [backward v] (2) layers\n    show\n    set size to (0) %\n    go to x: (0) y: (0)\n    point in direction (90)\n    switch costume to (circle explosion 1 v)\n    repeat (20)\n        switch costume to (blank v)\n        change size by (((300) - (size)) / (5))\n        switch costume to (circle explosion 1 v)\n    end\n    delete this clone\nend\n\ndefine Circle\nset [clone v] to [Circle]\ncreate clone of (_myself_ v)\nwait (0.1) seconds\nset [clone v] to [Circle 2]\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nif <(Clone) = [Circle 2]> then\n    clear graphic effects\n    set [brightness v] effect to (0)\n    go to [front v] layer\n    go [backward v] (1) layers\n    show\n    set size to (0) %\n    go to x: (0) y: (0)\n    point in direction (90)\n    switch costume to (circle explosion 1 v)\n    repeat (20)\n        switch costume to (blank v)\n        change size by (((300) - (size)) / (5))\n        switch costume to (circle explosion 1 v)\n    end\n    delete this clone\nend\n\n@detector\n\nwhen flag clicked\nhide\nset [faved___ v] to [0]\nset [loved__ v] to [0]\nset [clone id v] to [0]\ncreate clone of (_myself_ v)\nwait (0.2) seconds\nset [clone id v] to [1]\ncreate clone of (_myself_ v)\nwait until <<(LOVED__) = [1]> and <(FAVED___) = [1]>>\nwait (1) seconds\nbroadcast (Message v)\nshow\ngo to [front v] layer\ngo to x: (0) y: (50)\nreset timer\nswitch costume to (pick random (1) to (4))\nset [ghost v] effect to (100)\nrepeat until <(timer) > [3.5]>\n    change y by ((y position) / (-15))\n    change [ghost v] effect by (-3)\nend\nreset timer\nrepeat until <(timer) > [3.5]>\n    change y by (((y position) - (-100)) / (-15))\n    change [ghost v] effect by (10)\nend\n\nwhen I start as a clone\nif <(clone id) = [0]> then\n    go to x: (-15) y: (0)\n    set [loved__ v] to [0]\n    switch costume to (love v)\n    forever\n        set [love? v] to <touching (mouse-pointer v)?>\n        if <touching (mouse-pointer v)?> then\n            set [loved__ v] to [1]\n        end\n    end\nend\nif <(clone id) = [1]> then\n    go to x: (0) y: (0)\n    switch costume to (fave v)\n    set [faved___ v] to [0]\n    forever\n        set [fav v] to <touching (mouse-pointer v)?>\n        if <touching (mouse-pointer v)?> then\n            set [faved___ v] to [1]\n        end\n    end\nend\n\n@Level\n\nwhen I receive [start v]\nwait (3) seconds\nshow\ngo to [front v] layer\nswitch costume to (1 v)\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [next level v]\nnext costume\n\nwhen flag clicked\nforever\n    if <(Level) = [78]> then\n        switch backdrop to (backdrop2 v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [89]> then\n        switch backdrop to (backdrop3 v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [100]> then\n        broadcast (you win and time c v)\n    end\nend\n\n@Lava\n\nwhen I receive [start v]\nwait (3) seconds\nshow\ngo to [front v] layer\nswitch costume to (coustume1 v)\n\nwhen flag clicked\nforever\n    set [tide v] to [0]\n    repeat (10)\n        change [tide v] by (1)\n    end\n    repeat (20)\n        change [tide v] by (-1)\n    end\n    repeat (10)\n        change [tide v] by (1)\n    end\nend\n\nwhen flag clicked\nforever\n    set y to (Tide)\n    switch costume to (Level)\nend\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [next level v]\nnext costume\n\n@Spikes\n\nwhen I receive [start v]\nwait (3) seconds\nshow\ngo to [front v] layer\nswitch costume to (costume 2 v)\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [next level v]\nnext costume\n\nwhen flag clicked\nforever\n    if <(Level) = [12]> then\n        go to [back v] layer\n    else\n        go to [front v] layer\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [45]> then\n        go to [back v] layer\n    else\n        go to [front v] layer\n    end\nend\n\n@Cube\n\nwhen flag clicked\nhide variable [☁ timer v]\n\nwhen flag clicked\nforever\n    if <(☁ Timer) < (☁ Highscore)> then\n        set [☁ highscore v] to (☁ Timer)\n    end\nend\n\nwhen flag clicked\nset [level v] to [0]\nbroadcast (NEXT LEVEL v)\nforever\n    if <key (left arrow v) pressed?> then\n        change [x vel v] by (-1)\n    end\n    if <key (right arrow v) pressed?> then\n        change [x vel v] by (1)\n    end\n    set [x vel v] to ((x vel) * (0.9))\n    change x by (x vel)\n    if <touching (level v)?> then\n        change y by (1)\n    end\n    if <touching (level v)?> then\n        change y by (1)\n    end\n    if <touching (level v)?> then\n        change y by (1)\n    end\n    if <touching (level v)?> then\n        change y by (1)\n    end\n    if <touching (level v)?> then\n        change y by (-4)\n        change x by ((x vel) * (-1))\n        if <key (up arrow v) pressed?> then\n            if <(x vel) > [0]> then\n                set [x vel v] to [-10]\n            else\n                set [x vel v] to [10]\n            end\n            set [y vel v] to [15]\n        else\n            set [x vel v] to [0]\n        end\n    end\n    if <touching (water v)?> then\n        change [y vel v] by (-0.5)\n    else\n        change [y vel v] by (-1)\n    end\n    change y by (y vel)\n    if <touching (level v)?> then\n        change y by ((y vel) - ((y vel) * (2)))\n        set [y vel v] to [0]\n    end\n    change y by (-1)\n    if <touching (water v)?> then\n        if <key (up arrow v) pressed?> then\n            set [y vel v] to [5]\n        end\n    else\n        if <<touching (level v)?> and <key (up arrow v) pressed?>> then\n            set [y vel v] to [15]\n        end\n    end\n    change y by (1)\n    create clone of (_myself_ v)\n    if <(x position) > [250]> then\n        broadcast (NEXT LEVEL v) and wait\n    end\n    if <touching (spikes v)?> then\n        broadcast (restart v)\n    end\n    if <touching (bounce v)?> then\n        set [y vel v] to [19]\n    end\n    if <touching (enemy v)?> then\n        set [y vel v] to [15]\n    end\nend\n\nwhen I start as a clone\nclear graphic effects\nrepeat (10)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\nwhen I receive [next level v]\nbroadcast (restart v)\n\nwhen I receive [restart v]\nset [x vel v] to [0]\nset [y vel v] to [0]\ngo to x: (-220) y: (-96)\n\nwhen flag clicked\ngo to x: (-224) y: (-3)\n\nwhen flag clicked\nforever\n    if <touching (lava v)?> then\n        broadcast (restart v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [78]> then\n        broadcast (you win and time c v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (spikes v)?> then\n        broadcast (restart v)\n    end\nend\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [start v]\nwait (3) seconds\nplay sound [TheFatRat - Windfall v] until done\n\nwhen I receive [start v]\nwait (3) seconds\nshow\ngo to [front v] layer\nswitch costume to (1 v)\n\nwhen flag clicked\nforever\n    if <(x position) = [224]> then\n        broadcast (NEXT LEVEL v)\n    end\nend\n\nwhen flag clicked\ngo to x: (-220) y: (-96)\n\nwhen I receive [next level v]\nchange [level v] by (1)\n\nwhen I receive [next level v]\nnext costume\n\nwhen flag clicked\nforever\n    wait (1) seconds\n    change [color v] effect by (25)\nend\n\n@Bounce\n\ndefine Clone at (x pos) (y pos)\ngo to x: (x pos) y: (y pos)\ncreate clone of (_myself_ v)\n\nwhen I receive [next level v]\nif  then\n    delete this clone\nend\nif <(Level) = [12]> then\n    Clone at [-11] [-71]\nend\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nforever\n    show\n    go to [front v] layer\n    if <touching (cube v)?> then\n        switch costume to (costume2 v)\n        wait (00.1) seconds\n    else\n        switch costume to (costume1 v)\n        wait (00.1) seconds\n    end\nend\n\nwhen flag clicked\nforever\n    switch costume to (Level)\nend\n\n@Sun\n\nwhen I start as a clone\nswitch costume to (sun v)\n\nwhen I receive [dead v]\nset [brightness v] effect to (-100)\nrepeat (50)\n    change [brightness v] effect by (2)\nend\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen flag clicked\nforever\n    if <(Level) = [23]> then\n        show\n        go to [front v] layer\n        clear graphic effects\n        switch costume to (rays v)\n        go to x: (210) y: (170)\n        create clone of (_myself_ v)\n        forever\n            turn right (1) degrees\n        end\n    end\n    forever\n        if <(Level) = [34]> then\n            hide\n            go to [back v] layer\n        end\n    end\nend\n\n@Enemy\n\nwhen flag clicked\ngo to x: (-224) y: (-3)\n\ndefine Clone at (x pos) (y pos)\ngo to x: (x pos) y: (y pos)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nshow\ngo to [front v] layer\nforever\n    if <([x position v] of [cube v]) < (x position)> then\n        change [x vel v] by (-0.5)\n    end\n    if <(x position) < ([x position v] of [cube v])> then\n        change [x vel v] by (0.5)\n    end\n    set [x vel v] to ((x vel) * (0.9))\n    change x by (x vel)\n    if <touching (level v)?> then\n        change y by (1)\n    end\n    if <touching (level v)?> then\n        change y by (1)\n    end\n    if <touching (level v)?> then\n        change y by (1)\n    end\n    if <touching (level v)?> then\n        change y by (1)\n    end\n    if <touching (level v)?> then\n        change y by (-4)\n        change x by ((x vel) * (-1))\n        if <(([y position v] of [cube v]) - (50)) > (y position)> then\n            if <(x vel) > [0]> then\n                set [x vel v] to [-10]\n            else\n                set [x vel v] to [10]\n            end\n            set [y vel v] to [15]\n        else\n            set [x vel v] to [0]\n        end\n    end\n    change [y vel v] by (-1)\n    change y by (y vel)\n    if <touching (level v)?> then\n        change y by ((y vel) - ((y vel) * (2)))\n        set [y vel v] to [0]\n    end\n    change y by (-1)\n    change y by (1)\n    if <touching (spikes v)?> then\n        delete this clone\n    end\n    if <touching (bounce v)?> then\n        set [y vel v] to [19]\n    end\n    if <touching (cube v)?> then\n        change y by (-1)\n        if <<touching (level v)?> and <(([y position v] of [cube v]) - (5)) > (y position)>> then\n            delete this clone\n        else\n            broadcast (restart v)\n        end\n        change y by (1)\n    end\nend\n\nwhen I receive [restart v]\nif  then\n    delete this clone\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [restart v]\nif  then\n    delete this clone\nend\nif <(Level) = [34]> then\n    Clone at [166] [-65]\nend\n\n@Water\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen flag clicked\nforever\n    if <(Level) = [45]> then\n        show\n        go to [back v] layer\n        switch costume to (costume1 v)\n    end\nend\n\nwhen flag clicked\nset [ghost v] effect to (30)\n\nwhen flag clicked\nforever\n    set [tide 2 v] to [0]\n    repeat (10)\n        change [tide 2 v] by (1)\n    end\n    repeat (20)\n        change [tide 2 v] by (-1)\n    end\n    repeat (10)\n        change [tide 2 v] by (1)\n    end\nend\n\nwhen flag clicked\nforever\n    set y to (Tide 2)\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [56]> then\n        hide\n        go to [back v] layer\n    end\nend\n\n@You win\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [you win and time c v]\nshow\ngo to [front v] layer\nstop [other scripts in sprite v]\nshow variable [timer v]\nset [timer v] to (Timer)\n\nwhen flag clicked\nhide variable [timer v]\n\nwhen I receive [start v]\nwait (3) seconds\nforever\n    wait (1) seconds\n    change [timer v] by (1)\nend\n\nwhen flag clicked\nset [timer v] to [0]\n\n@Thumbnail\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\n