Candy a platformer !

Instructions:                        -Commands-\nUse the arrows to move.\nPress on shop to change skin. (If you unlocked it of course)\n900+ blocks o-o!\n\nI can't speak anymore of this project, almost 30 hours of work o-o\nHey! Welcome to "Candy a platformer"! This is probably my best project! Love and fav: D\nYes yes I know ... everything is pink x)\nNow I see patout candy everywhere and pink too ... .-. .. x)\nWell, will we arrive in top loved or in the English tendencies? :3\nWell that's all I finished my little speech!\n                       -Credits-\nxaf For the music !\n@Red_Sweatshirt for the mountains background :D\n@TimMcCool for pilars : https://scratch.mit.edu/projects/387012596/ and love and fav detector !\n@Paul2448 For the rest and the platformer \n@Achal_Animations for the cube !(shop).\n\n                   -Inspiration-\n@0014049 inspired me a lot!\n@MJM3 too :)\n                   \n-Watch my first animation: https://scratch.mit.edu/projects/417357106/\n-Did you complete this game? You can watch the one here: https://scratch.mit.edu/projects/406268609/ :)\n\n\n                         -Tags-\n#candy #pink #games #all #art #paul2448 #potato #goodbye #ducks #are #awesome\n\n-Paul\n\n*sad* #0 on trending ;-;\nuh, curated tysm\n1.2k likes, great lol

@Stage\n\nwhen flag clicked\nset [ghost v] effect to (30)\n\n@Cube\n\ndefine Retour\ngo to x: (-224) y: (-65)\n\nwhen I start as a clone\nif <(personnage) = [0]> then\n    switch costume to (clone v)\nelse\n    if <(personnage) = [1]> then\n        switch costume to (clone chef v)\n    else\n        if <(personnage) = [2]> then\n            switch costume to (clone candy v)\n        else\n            if <(personnage) = [3]> then\n                switch costume to (clone l&f v)\n            end\n        end\n    end\nend\nrepeat (10)\n    change size by (-2.5)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\nwhen flag clicked\nswitch costume to (-> v)\nshow\ngo to x: (0) y: (0)\nforever\n    change [yvelocity v] by (-0.5)\n    if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> then\n        set rotation style [left-right v]\n        point in direction (-90)\n        change [xvelocity v] by (-.9)\n    end\n    if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(x position) < (mouse x)>>> then\n        point in direction (90)\n        change [xvelocity v] by (.9)\n    end\n    if <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(y position) < (mouse y)>>> and <touching (platformes v)?>> then\n        set [yvelocity v] to [9]\n    end\n    change y by (0.5)\n    set [xvelocity v] to ((xvelocity) * (0.9))\n    change x by (xvelocity)\n    if <touching (platformes v)?> then\n        change y by (1)\n        if <touching (platformes v)?> then\n            change y by (1)\n            if <touching (platformes v)?> then\n                change y by (1)\n                if <touching (platformes v)?> then\n                    change y by (1)\n                    if <touching (platformes v)?> then\n                        change y by (1)\n                        if <touching (platformes v)?> then\n                            change y by (1)\n                            if <touching (platformes v)?> then\n                                change y by (-6)\n                                change x by ((xvelocity) * (-1))\n                            end\n                            if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(y position) < (mouse y)>>> then\n                                set [yvelocity v] to [8]\n                                if <(xvelocity) > [0]> then\n                                    set [xvelocity v] to [-8]\n                                else\n                                    set [xvelocity v] to [8]\n                                end\n                            else\n                                set [xvelocity v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change y by (yvelocity)\n    if <touching (platformes v)?> then\n        change y by ((yvelocity) * (-1))\n        set [yvelocity v] to <<(x position) = [200]> or <(x position) > [200]>>\n    end\n    change y by (-0.5)\n    if <<touching (big spike v)?> or <<touching (spike v)?> or <(y position) < [-180]>>> then\n        start sound [Crunch v]\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        set [xvelocity v] to <(Niveau) = [4]>\n        set [yvelocity v] to [0]\n        point in direction (90)\n        if <<(Niveau) = [4]> or <(Niveau) = [8]>> then\n            go to x: (-220) y: (156)\n        else\n            if <(Niveau) = [6]> then\n                go to x: (-216) y: (-10)\n            else\n                go to x: (-209) y: (50)\n            end\n        end\n        repeat (10)\n            change [ghost v] effect by (-10)\n        end\n    end\nend\n\nwhen flag clicked\nset [personnage v] to [0]\nswitch costume to (-> v)\nforever\n    create clone of (_myself_ v)\nend\n\nwhen flag clicked\nforever\n    if <<(Niveau) = [11]> and <<<(x position) = [264]> or <<(x position) = [251]> or <(x position) = [240]>>> or <(x position) = [252]>>> then\n        broadcast (fin v)\n        stop [other scripts in sprite v]\n        stop [this script v]\n    end\n    if <<<(Niveau) = [3]> and <<<(x position) = [264]> or <<(x position) = [251]> or <(x position) = [240]>>> or <(x position) = [252]>>> or <<(Niveau) = [7]> and <<<(x position) = [264]> or <<(x position) = [251]> or <(x position) = [240]>>> or <(x position) = [252]>>>> then\n        broadcast (SUIVANT v)\n        go to x: (-220) y: (156)\n    else\n        if <<<(x position) = [264]> or <<(x position) = [251]> or <(x position) = [240]>>> or <(x position) = [252]>> then\n            broadcast (SUIVANT v)\n            Retour\n        end\n    end\nend\n\nwhen I receive [glug v]\nplay sound [Glug v] until done\n\nwhen I receive [boing v]\nplay sound [Big Boing v] until done\n\nwhen I receive [yvelocity v]\nset [yvelocity v] to [13]\n\nwhen I receive [retour v]\nRetour\n\nif <<touching (pics -> spikes v)?> or <(y position) < >> then\n    start sound [Glug v]\n    repeat (4)\n        change [ghost v] effect by (10)\n    end\n    set [xvelocity v] to [1]\n    set [yvelocity v] to [1]\n    go to x: (-209) y: (50)\n    repeat (4)\n        change [ghost v] effect by (-10)\n    end\nend\npoint in direction (90)\n\nwhen flag clicked\nforever\n    if <touching (water v)?> then\n        set [yvelocity v] to [-3]\n        if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n            set [yvelocity v] to [5]\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (water v)?> then\n        play sound [Splash v] until done\n        wait until <not <touching (water v)?>>\n    end\nend\n\nwhen flag clicked\nforever\n    if <<touching (blue bouncy v)?> or <<touching (sprite2 v)?> or <touching (sprite3 v)?>>> then\n        set [yvelocity v] to [13]\n    end\nend\n\nwhen flag clicked\nforever\n    if <<touching (blue bouncy v)?> or <<touching (sprite2 v)?> or <touching (sprite3 v)?>>> then\n        play sound [Big Boing v] until done\n        wait until <not <touching (<<touching (blue bouncy v)?> or <<touching (sprite2 v)?> or <touching (sprite3 v)?>>> v)?>>\n    end\nend\n\nwhen I receive [change v]\nset [personnage v] to [1]\nswitch costume to (->2 v)\n\nwhen flag clicked\nforever\n    if <touching (sprite1 v)?> then\n        play sound [Coin v] until done\n    end\nend\n\nwhen I receive [change2 v]\nset [personnage v] to [2]\nswitch costume to (->3 v)\n\nwhen I receive [change 3 v]\nset [personnage v] to [3]\nswitch costume to (->4 v)\n\nwhen flag clicked\n\nwhen I receive [fin v]\nforever\n    hide\nend\n\nwhen flag clicked\nforever\n    play sound [Unlimited v] until done\nend\n\nwhen flag clicked\nshow\n\nwhen I receive [next v]\nhide\n\n@Platformes\n\nwhen I receive [suivant v]\nnext costume\nchange [niveau v] by (1)\n\nwhen flag clicked\nshow\nswitch costume to (level 1 v)\nset [niveau v] to [1]\ngo to x: (0) y: (-95)\n\nwhen I receive [i like kartoffel v]\nnext costume\n\nshow\n\nwait (1) seconds\n\nwhen flag clicked\nforever\n    if <<(Open/no) = [Red]> and <(Niveau) = [8]>> then\n        switch costume to (level 10 v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Niveau) = [8]> then\n        broadcast (Vérification v)\n    end\nend\n\nwhen I receive [suivant v]\nif <(Niveau) = [9]> then\n    switch costume to (level 9 v)\n    change [niveau v] by (1)\nend\n\nwhen I receive [fin v]\nhide\n\n@Effects\n\nwhen flag clicked\nshow\nswitch costume to (costume1 v)\ngo to [back v] layer\n\nwhen I receive [suivant v]\nnext costume\n\nwhen flag clicked\nforever\nend\n\nwhen I receive [vérification v]\nif <<(Open/no) = [Blue]> and <(Niveau) = [8]>> then\n    switch costume to (costume8 v)\nelse\n    forever\n        hide\n    end\nend\n\n@Water\n\nwhen I receive [suivant v]\nnext costume\n\nwhen flag clicked\nset [ghost v] effect to (50)\nshow\nswitch costume to (costume1 v)\ngo to [back v] layer\nforever\n    set y to ((0) + (([sin v] of (((timer) + (1)) * (190)) ) * (5.75)))\nend\n\n@Spike\n\nwhen I receive [suivant v]\nnext costume\n\nwhen flag clicked\nshow\nswitch costume to (costume2 v)\ngo to [back v] layer\n\n@Big spike\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nforever\n    if <(Niveau) = [1]> then\n        hide\n    end\n    if <(Niveau) = [2]> then\n        hide\n    end\n    if <(Niveau) = [3]> then\n        hide\n    end\n    if <(Niveau) = [4]> then\n        hide\n    end\n    if <(Niveau) = [5]> then\n        set size to (100) %\n        show\n        go to x: (-45) y: (-147)\n    end\n    if <(Niveau) = [6]> then\n        hide\n    end\n    if <(Niveau) = [7]> then\n        hide\n    end\n    if <(Niveau) = [8]> then\n        hide\n    end\n    if <(Niveau) = [9]> then\n        hide\n    end\n    if <(Niveau) = [10]> then\n        set size to (170) %\n        show\n        go to x: (0) y: (0)\n    end\n    if <(Niveau) = [11]> then\n        hide\n    end\nend\n\ndefine Clone (x) (y)\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\n\nwhen flag clicked\nforever\n    turn right (8) degrees\nend\n\nClone [300] [-95]\n\nwhen I start as a clone\nforever\n    turn right (8) degrees\nend\n\n@Blue bouncy\n\ndefine Animation\nif <touching (cube v)?> then\n    switch costume to (blue1 v)\n    wait (0.00001) seconds\n    switch costume to (blue2 v)\n    wait (0.00001) seconds\n    switch costume to (blue3 v)\n    wait (0.00001) seconds\n    switch costume to (blue4 v)\n    wait (0.00001) seconds\n    switch costume to (blue5 v)\n    wait (0.00001) seconds\nend\nwait until <not <touching (cube v)?>>\n\nwhen flag clicked\nforever\n    if <(Niveau) = [1]> then\n        hide\n    end\n    if <(Niveau) = [2]> then\n        hide\n    end\n    if <(Niveau) = [3]> then\n        show\n        go to x: (-136) y: (-96)\n        broadcast (bruh v)\n        Animation\n    end\n    if <(Niveau) = [4]> then\n        hide\n    end\nend\n\nwhen I receive [bruh v]\n\n@Sprite2\n\ndefine Animation\nif <touching (cube v)?> then\n    switch costume to (pink1 v)\n    wait (0.00001) seconds\n    switch costume to (pink2 v)\n    wait (0.00001) seconds\n    switch costume to (pink3 v)\n    wait (0.00001) seconds\n    switch costume to (pink4 v)\n    wait (0.00001) seconds\n    switch costume to (pink5 v)\n    wait (0.00001) seconds\nend\nwait until <not <touching (cube v)?>>\n\nwhen flag clicked\ngo to [back v] layer\nforever\n    if <(Niveau) = [1]> then\n        hide\n    end\n    if <(Niveau) = [2]> then\n        hide\n    end\n    if <(Niveau) = [3]> then\n        hide\n    end\n    if <(Niveau) = [4]> then\n        hide\n    end\n    if <(Niveau) = [5]> then\n        show\n        go to x: (116) y: (-111)\n        broadcast (bruh v)\n        Animation\n    end\n    if <(Niveau) = [6]> then\n        hide\n    end\nend\n\n@Sprite3\n\nwhen flag clicked\nswitch costume to (costume1 v)\ngo to [back v] layer\n\nwhen I receive [suivant v]\nnext costume\n\n@Sprite1\n\nwhen flag clicked\nshow\nswitch costume to (nothing1 v)\ngo to [back v] layer\n\nwhen I receive [suivant v]\nnext costume\n\nwhen flag clicked\nforever\n    if <(LEVEL) = [4]> then\n        go to x: (-177) y: (-23)\n        show\n        switch costume to (new skin v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (cube v)?> then\n        broadcast (New skin 1 v)\n        hide\n    end\nend\n\nwhen flag clicked\nforever\n    change [sine v] by (7.5)\n    point in direction ((([sin v] of (sine) ) * (30)) + (90))\n    set size to ((([sin v] of ((sine) * (2.1220102)) ) * (8)) + (size)) %\nend\n\nwhen I start as a clone\nforever\n    change [sine v] by (7.5)\n    point in direction ((([sin v] of (sine) ) * (30)) + (90))\n    set size to ((([sin v] of ((sine) * (2.1220102)) ) * (8)) + (size)) %\nend\n\nwhen flag clicked\nforever\n    if <(Niveau) = [8]> then\n        create clone of (_myself_ v)\n        stop [this script v]\n    end\nend\n\nwhen I start as a clone\npoint in direction (90)\nclear graphic effects\nshow\nforever\n    if <touching (cube v)?> then\n        broadcast (New skin 2 v)\n        hide\n    end\nend\n\n@Notifiations\n\nwhen I receive [new skin 1 v]\nset size to (175) %\nset [skin 1 v] to [1]\nclear graphic effects\nshow\nswitch costume to (costume1 v)\nwait (1.5) seconds\nrepeat (30)\n    change [ghost v] effect by (5)\nend\n\nwhen flag clicked\nset [skin 1 v] to [0]\nset [skin2 v] to [0]\nhide\n\nwhen I receive [notif soux v]\nclear graphic effects\nshow\nswitch costume to (costume2 v)\nwait (1.5) seconds\nrepeat (30)\n    change [ghost v] effect by (5)\nend\n\nwhen I receive [notif l&f v]\nclear graphic effects\nshow\nswitch costume to (costume3 v)\nwait (1.5) seconds\nrepeat (30)\n    change [ghost v] effect by (5)\nend\n\nwhen I receive [what's v]\nclear graphic effects\nshow\nswitch costume to (costume4 v)\nwait (1.5) seconds\nrepeat (30)\n    change [ghost v] effect by (5)\nend\n\nwhen I receive [new skin 2 v]\nset size to (120) %\nset [skin2 v] to [1]\nclear graphic effects\nshow\nswitch costume to (costume1 v)\nwait (1.5) seconds\nrepeat (30)\n    change [ghost v] effect by (5)\nend\n\nset [skin 1 v] to [1]\nclear graphic effects\nshow\nswitch costume to (costume1 v)\nwait (1.5) seconds\nrepeat (30)\n    change [ghost v] effect by (5)\nend\n\nbroadcast (Notif soux v)\n\n@Sprite4\n\nwhen I receive [shop v]\ncreate clone of (_myself_ v)\n\nwhen flag clicked\nclear graphic effects\nset [ghost v] effect to (50)\n\nwhen flag clicked\ngo to x: (0) y: (0)\nshow\nswitch costume to (costume1 v)\nforever\n    if <touching (mouse-pointer v)?> then\n        set [ghost v] effect to (75)\n        if <mouse down?> then\n            broadcast (Shop v)\n            stop [this script v]\n        end\n    else\n        set [ghost v] effect to (50)\n    end\nend\n\ndefine Clone (...)\nswitch costume to (...)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nforever\n    switch costume to (costume2 v)\n    if <touching (mouse-pointer v)?> then\n        set [ghost v] effect to (40)\n        if <mouse down?> then\n            if <(Skin 1) = [1]> then\n                broadcast (Change v)\n                broadcast (Cacher v)\n            else\n                broadcast (Notif soux v)\n                broadcast (Cacher v)\n                hide\n                stop [this script v]\n            end\n        end\n    else\n        set [ghost v] effect to (0)\n    end\nend\n\nwhen I receive [cacher v]\nbroadcast (re v)\ndelete this clone\n\nwhen I receive [re v]\nshow\nswitch costume to (costume1 v)\nforever\n    if <touching (mouse-pointer v)?> then\n        set [ghost v] effect to (40)\n        if <mouse down?> then\n            broadcast (Shop v)\n            stop [this script v]\n        end\n    else\n        set [ghost v] effect to (0)\n    end\nend\n\nbroadcast (Cacher v)\n\nwhen I receive [fin v]\nhide\n\n@Sprite5\n\nwhen flag clicked\nhide\n\nwhen I receive [shop v]\nshow\nforever\n    switch costume to (front v)\n    if <touching (mouse-pointer v)?> then\n        set [ghost v] effect to (40)\n        if <mouse down?> then\n            if <(skin2) = [1]> then\n                broadcast (Change2 v)\n                broadcast (Cacher v)\n            else\n                broadcast (Notif soux v)\n                broadcast (Cacher v)\n                stop [this script v]\n            end\n        end\n    else\n        set [ghost v] effect to (0)\n    end\nend\n\nwhen I receive [shop v]\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nforever\n    show\n    switch costume to (costume3 v)\n    if <touching (mouse-pointer v)?> then\n        set [ghost v] effect to (40)\n        if <mouse down?> then\n            if <<(LOVED__) = [1]> and <(FAVED___) = [1]>> then\n                broadcast (Change 3 v)\n                broadcast (Cacher v)\n            else\n                broadcast (Notif l&f v)\n                broadcast (Cacher v)\n                stop [this script v]\n            end\n        end\n    else\n        set [ghost v] effect to (0)\n    end\nend\n\nwhen I receive [cacher v]\nhide\ndelete this clone\n\nbroadcast (Change3 v)\nstop [this script v]\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\nshow\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@Sprite6\n\nwhen flag clicked\ngo to [back v] layer\nforever\n    if <(Niveau) = [7]> then\n        show\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nswitch costume to (red button v)\nset [open/no v] to [Red]\nforever\n    if <touching (cube v)?> then\n        play sound [pop v] until done\n        broadcast (what's v)\n        set [open/no v] to [Blue]\n        switch costume to (blue button v)\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Niveau) = [8]> then\n        hide\n        stop [this script v]\n    end\nend\n\n@Sprite7\n\nwhen I start as a clone\nshow\ngo to [front v] layer\nshow\nset [ghost v] effect to (100)\nrepeat (10)\n    switch costume to (costume2 v)\n    go to [front v] layer\n    change [ghost v] effect by (-10)\nend\nwait (1) seconds\nbroadcast (next v)\nrepeat (10)\n    change [ghost v] effect by (10)\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [fin v]\ncreate clone of (_myself_ v)\n\nwhen I receive [next v]\nshow\nswitch costume to (costume1 v)\nstop [all v]\n\nshow\n\nset [niveau v] to [9]\n\n