scratcher platformer

Instructions: It's possible

@Stage\n\nwhen flag clicked\ndebut\nforever\n    regle <(levels) = [6]> <(levels) = [11]> <(levels) = [16]> <(levels) = [21]> <(levels) = [26]>\nend\n\ndefine debut\nswitch backdrop to (monde nitendo v)\n\ndefine regle <sortie 1> <sotie 2> <sortie 3> <sortie 4> <fin>\nif <sortie 1> then\n    switch backdrop to (monde kodiak77-77 v)\nend\nif <sotie 2> then\n    switch backdrop to (monde aquatique v)\nend\nif <sortie 3> then\n    switch backdrop to (monde scratch v)\nend\nif <sortie 4> then\n    switch backdrop to (monde mahpell v)\nend\nif <fin> then\n    switch backdrop to (image projet scratch v)\nend\n\n@scratcher\n\ndefine xcoll\nrepeat until <<not <touching (levels v)?>> or <touching (bounce v)?>>\n    if <(x) > [0]> then\n        change x by (-1)\n    else\n        change x by (1)\n    end\nend\n\ndefine ycoll\nrepeat until <<not <touching (levels v)?>> or <touching (bounce v)?>>\n    if <(y) > [0]> then\n        change y by (-1)\n    else\n        change y by (1)\n    end\nend\n\ndefine fast\nrepeat (6)\n    if <<touching (levels v)?> or <touching (bounce v)?>> then\n        change y by (1)\n    end\nend\n\nwhen flag clicked\ngo to x: (-40) y: (0)\npoint in direction (90)\nhide\nswitch costume to (premier costume mahpell v)\n\ndefine preparation\nset size to (20) %\ngo to x: (-200) y: (0)\npoint in direction (90)\nset rotation style [left-right v]\nset [x v] to [0]\nset [y v] to [0]\n\ndefine mort <chute> <spike>\nif <<chute> or <spike>> then\n    preparation\nend\n\ndefine nouveau niveau <passage> <non dernier niveau>\nif <passage> then\n    if <non dernier niveau> then\n        preparation\n        broadcast (next level v)\n    end\nend\n\ndefine tomber\nchange [y v] by (-1)\n\nwhen flag clicked\nforever\n    create clone of (_myself_ v)\nend\n\ndefine marcher (orientation) (direction)\npoint in direction (orientation)\nchange [x v] by (direction)\n\nwhen I start as a clone\nrepeat (10)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\nwhen I receive [go v]\npreparation\nforever\n    tomber\n    if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n        marcher [90] [1]\n    end\n    if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n        marcher [-90] [-1]\n    end\n    set [x v] to ((x) * (0.9))\n    change x by (x)\n    if <<touching (levels v)?> or <touching (bounce v)?>> then\n        fast\n        if <<touching (levels v)?> or <touching (bounce v)?>> then\n            change y by (-6)\n            xcoll\n            if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n                set [y v] to [12]\n                if <([abs v] of (x) ) = (x)> then\n                    set [x v] to [-8]\n                else\n                    set [x v] to [8]\n                end\n            else\n                set [x v] to [0]\n            end\n        end\n    end\n    change y by (y)\n    if <<touching (levels v)?> or <touching (bounce v)?>> then\n        ycoll\n        if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> and <(y) < [0]>> then\n            set [y v] to [14]\n        else\n            set [y v] to [0]\n        end\n    end\n    mort <(y position) < [-180]> <touching (spikes v)?>\n    nouveau niveau <(x position) > [240]> <not <(levels) = [26]>>\nend\n\nwhen I receive [menu v]\ngo to x: (-40) y: (0)\nshow\n\ndefine mouvement <mahpell> <tp83tnzap> <kodiak77-77> <madji> <corpcooga> <griffpatch> <coder_d6> <xamuil2> <remixsuper> <sharkyshar> <imperial 11> <nampinanathali> <paul2448> <coltroc>\nif <mahpell> then\n    switch costume to (premier costume mahpell v)\n    repeat (48)\n        next costume\n        wait (0.01) seconds\n    end\nend\nif <tp83tnzap> then\n    switch costume to (tp83tnzap v)\n    repeat (30)\n        next costume\n        wait (0.01) seconds\n    end\nend\nif <kodiak77-77> then\n    switch costume to (kodiak77-77 v)\nend\nif <madji> then\n    switch costume to (madji v)\nend\nif <corpcooga> then\n    switch costume to (corpcooga v)\nend\nif <griffpatch> then\n    switch costume to (griffpach v)\nend\nif <coder_d6> then\n    switch costume to (coder_d6 v)\nend\nif <xamuil2> then\n    switch costume to (xamuil2 v)\nend\nif <remixsuper> then\n    switch costume to (remixsuper v)\nend\nif <sharkyshar> then\n    switch costume to (sharkyshar v)\nend\nif <imperial 11> then\n    switch costume to (imperial 11 v)\nend\nif <nampinanathali> then\n    switch costume to (nampinanathali v)\nend\nif <paul2448> then\n    switch costume to (paul2448 v)\nend\nif <coltroc> then\n    switch costume to (coltroc v)\nend\n\nwhen I receive [go v]\n\nwhen flag clicked\nforever\n    mouvement <<(costume [number v]) < [50]> and <(costume [number v]) > [0]>> <<(costume [number v]) < [82]> and <(costume [number v]) > [49]>> <(costume [number v]) = [82]> <(costume [number v]) = [83]> <(costume [number v]) = [91]> <(costume [number v]) = [89]> <(costume [number v]) = [92]> <(costume [number v]) = [88]> <(costume [number v]) = [86]> <(costume [number v]) = [87]> <(costume [number v]) = [93]> <(costume [number v]) = [90]> <(costume [number v]) = [85]> <>\nend\n\nwhen I receive [suivant v]\nsuivant\n\ndefine suivant\n\ndefine precedent\n\nwhen I receive [precedent v]\nprecedent\n\nwhen I receive [coder_d6 v]\nswitch costume to (coder_d6 v)\nset size to (80) %\n\nwhen I receive [coltroc v]\nswitch costume to (coltroc v)\nset size to (80) %\n\nwhen I receive [corpcooga v]\nswitch costume to (corpcooga v)\nset size to (80) %\n\nwhen I receive [mahpell v]\nswitch costume to (premier costume mahpell v)\nset size to (20) %\n\nwhen I receive [griffpatch v]\nswitch costume to (griffpach v)\nset size to (80) %\n\nwhen I receive [madji v]\nswitch costume to (madji v)\nset size to (80) %\n\nwhen I receive [nampinanathali v]\nswitch costume to (nampinanathali v)\nset size to (80) %\n\nwhen I receive [paul2448 v]\nswitch costume to (paul2448 v)\nset size to (55) %\n\nwhen I receive [remixsuper v]\nswitch costume to (remixsuper v)\nset size to (100) %\n\nwhen I receive [imperial 11 v]\nswitch costume to (imperial 11 v)\nset size to (80) %\n\nwhen I receive [sharkyshar v]\nswitch costume to (sharkyshar v)\nset size to (80) %\n\nwhen I receive [kodiak77-77 v]\nswitch costume to (kodiak77-77 v)\nset size to (80) %\n\nwhen I receive [xamuil2 v]\nswitch costume to (xamuil2 v)\nset size to (80) %\n\nwhen I receive [tp83tnzap v]\nswitch costume to (tp83tnzap v)\nset size to (20) %\n\ndefine bounce <jump>\nif <jump> then\n    change [y v] by (20)\nend\n\nwhen flag clicked\nforever\n    bounce <touching (bounce v)?>\nend\n\nwhen I receive [petitscratchcat v]\nset size to (80) %\nswitch costume to (petitscratchcat v)\n\nwhen I receive [fs12 extension#new v]\nswitch costume to (fantasticscratcheur12 v)\nset size to (100) %\n\n@Levels\n\nwhen flag clicked\ndebut\n\ndefine debut\nswitch costume to (nsmbwii-hd-2 v)\nset [levels v] to [1]\n\nwhen I receive [next level v]\nc'est bon <(levels) < [26]>\n\ndefine c'est bon <changement>\nif <changement> then\n    next costume\n    change [levels v] by (1)\nend\n\n@image\n\ndefine by (mahpell)\n100% (mahpell)\nscratcher plateformer\n\ndefine 100% (mahpell)\n\ndefine scratcher plateformer\nmahpell\ntp83tnzap\nkodiak 77-77\nmadji\ncorcooga\ngriffpatch\nXamuil2\nremixsuper\ncoder_d6\nsharkyshar\nimperial 11\nnampinanathaly\nPaul2448\ncoltroc\n\ndefine mahpell\n\ndefine kodiak 77-77\n\ndefine sharkyshar\n\ndefine corcooga\n\ndefine griffpatch\n\ndefine tp83tnzap\n\ndefine coltroc\n\ndefine madji\n\ndefine nampinanathaly\n\ndefine coder_d6\n\ndefine remixsuper\n\ndefine Paul2448\n\ndefine Xamuil2\n\ndefine imperial 11\n\ndefine PetitScratchCat\n\nPetitScratchCat\n\n@scrpro2\n\nwhen flag clicked\ndebut\nmusique intro [10]\ntomber [4]\ntourner [2] [180]\ntaille [-10] [20]\non se cache\nstop\n\ndefine debut\npoint in direction (90)\ngo to x: (0) y: (0)\nset [menu v] to [1]\nswitch costume to (scrpro2 v)\nshow\ngo to [front v] layer\nset size to (100) %\nset tempo to (60)\n\ndefine regle tempo <trop vite> (accélération) <trop trop vite> <bug> (vitesse maximale) 120 vitesse maximale tempo\nif <trop vite> then\n    change tempo by (accélération)\nend\nif <trop trop vite> then\n    set tempo to (vitesse maximale)\nend\nif <bug> then\n    set tempo to (vitesse maximale)\nend\n\nwhen flag clicked\npoint in direction (90)\nforever\n    regle tempo <(tempo) = [100]> [20] <(tempo) = [120]> <(tempo) > [120]> [120] 120 vitesse maximale tempo\nend\n\ndefine musique menu\nrepeat until <(menu) = [0]>\n    play sound [super smash bros ultimate v] until done\nend\n\ndefine on se cache\nrepeat (10)\n    change [color v] effect by (10)\n    change [ghost v] effect by (10)\n    wait (0.2) seconds\nend\n\ndefine tourner (degres) (nombre de fois)\nrepeat (nombre de fois)\n    turn right (degres) degrees\nend\n\ndefine tomber (chute)\nrepeat (chute)\n    wait (0.1) seconds\n    next costume\n    change size by (50)\nend\n\ndefine musique intro (son)\nrepeat (son)\n    start sound [recording1 v]\n    change tempo by (20)\nend\n\ndefine stop\nhide\nstop all sounds\nbroadcast (menu v)\n\ndefine taille (r) (g)\nrepeat (2)\n    change size by (r)\n    wait (0.1) seconds\n    change size by (g)\n    wait (0.1) seconds\n    change size by (r)\n    wait (0.1) seconds\nend\n\nwhen I receive [menu v]\nmusique menu\n\nwhen I receive [go v]\nwait (0.5) seconds\nforever\n    play sound [recording3 v] until done\nend\n\n@Sprite1\n\nwhen flag clicked\nhide\ngo to x: (-30) y: (-25)\n\nwhen I receive [menu v]\nshow\n\nwhen flag clicked\nforever\n    go <touching (mouse-pointer v)?> <mouse down?>\nend\n\ndefine go <depart> <validé>\nif <<depart> and <validé>> then\n    broadcast (go v)\n    hide\n    play sound [Wand v] until done\n    set [menu v] to [0]\n    stop all sounds\nend\n\n@spikes\n\ndefine c'est bon <changement>\nif <changement> then\n    next costume\nend\n\nwhen I receive [next level v]\nc'est bon <(levels) < [26]>\n\ndefine debut\nswitch costume to (costume1 v)\nhide\n\nwhen flag clicked\ndebut\n\nwhen I receive [go v]\nshow\n\n@igs\n\nwhen flag clicked\ndepart\n\nwhen I receive [menu v]\nshow\n\nwhen I receive [go v]\nhide\n\ndefine suivant 
 <c>\nif <
 and <c>> then\n    broadcast (suivant v)\n    wait (0.5) seconds\nend\n\nwhen flag clicked\nforever\n    suivant <touching (mouse-pointer v)?> <mouse down?>\nend\n\ndefine depart\nhide\ngo to x: (-50) y: (20)\n\ngo to x: (-50) y: (20)\n\n@igs2\n\nwhen flag clicked\ndebut\n\nwhen I receive [menu v]\nshow\n\nwhen I receive [go v]\nhide\n\ndefine suivant <p> <c>\nif <<p> and <c>> then\n    broadcast (precedent v)\n    wait (0.5) seconds\nend\n\nwhen flag clicked\nforever\n    suivant <touching (mouse-pointer v)?> <mouse down?>\nend\n\ndefine debut\nhide\ngo to x: (-250) y: (21)\n\n@bloc\n\nwhen flag clicked\ndebut\nforever\n    tourner [20] [1]\nend\n\ndefine debut\nhide\npoint in direction (90)\ngo to x: (-40) y: (100)\nswitch costume to (in4 v)\n\ndefine tourner (nombre de fois) (degres)\nrepeat (nombre de fois)\n    turn right (degres) degrees\nend\nrepeat (nombre de fois)\n    turn left (degres) degrees\nend\nrepeat (nombre de fois)\n    turn left (degres) degrees\nend\nrepeat (nombre de fois)\n    turn right (degres) degrees\nend\n\nwhen I receive [menu v]\nshow\n\nwhen I receive [suivant v]\nnext costume\n\nwhen I receive [precedent v]\nswitch costume to ((costume [number v]) - (1))\n\nwhen I receive [go v]\nhide\n\ndefine apparence <mahpell> <tp83tnzap> <kodiak77-77> <madji> <corpcooga> <griffpatch> <coder_d6> <xamuil2> <remixsuper> <sharkyshar> <imperial 11> <nampinanathali> <paul2448> <coltroc> nom d'utilisateur <petitscratchcat> extension <fantasticscratcheur12>\nif <mahpell> then\n    broadcast (mahpell v)\n    wait until <not <(costume [number v]) = [1]>>\nend\nif <tp83tnzap> then\n    broadcast (tp83tnzap v)\n    wait until <not <<(costume [number v]) > [49]> and <(costume [number v]) < [82]>>>\nend\nif <kodiak77-77> then\n    broadcast (kodiak77-77 v)\nend\nif <madji> then\n    broadcast (madji v)\nend\nif <corpcooga> then\n    broadcast (corpcooga v)\nend\nif <griffpatch> then\n    broadcast (griffpatch v)\nend\nif <coder_d6> then\n    broadcast (coder_d6 v)\nend\nif <xamuil2> then\n    broadcast (Xamuil2 v)\nend\nif <remixsuper> then\n    broadcast (remixsuper v)\nend\nif <sharkyshar> then\n    broadcast (sharkyshar v)\nend\nif <imperial 11> then\n    broadcast (imperial 11 v)\nend\nif <nampinanathali> then\n    broadcast (nampinanathali v)\nend\nif <paul2448> then\n    broadcast (Paul2448 v)\nend\nif <coltroc> then\n    broadcast (coltroc v)\nend\nif <petitscratchcat> then\n    broadcast (PetitScratchCat v)\nend\nif <fantasticscratcheur12> then\n    FantasticScratcheur12\nend\n\nwhen flag clicked\nforever\n    apparence <(costume [number v]) = [1]> <(costume [number v]) = [2]> <(costume [number v]) = [3]> <(costume [number v]) = [4]> <(costume [number v]) = [5]> <(costume [number v]) = [6]> <(costume [number v]) = [7]> <(costume [number v]) = [8]> <(costume [number v]) = [9]> <(costume [number v]) = [10]> <(costume [number v]) = [11]> <(costume [number v]) = [12]> <(costume [number v]) = [13]> <(costume [number v]) = [14]> nom d'utilisateur <(costume [number v]) = [15]> extension <(costume [number v]) = [16]>\nend\n\ndefine FantasticScratcheur12\nbroadcast (fs12 extension#new v)\n\n@bounce\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nforever\n    customisation <touching (scratcher v)?> <touching (scratcher v)?>\nend\n\nrepeat until <1>\n\n\n\ndefine customisation <1> <2>\nif <1> then\n    switch costume to (costume2 v)\nelse\n    switch costume to (costume1 v)\nend\n\ndefine condution <je peux> <encore> <2> <3>\nif <je peux> then\n    show\n    go to x: (0) y: (-35)\nelse\n    if <encore> then\n        show\n        go to x: (20) y: (-35)\n    else\n        if <2> then\n            show\n            go to x: (20) y: (-40)\n        else\n            if <3> then\n                show\n                go to x: (-100) y: (-15)\n            else\n                hide\n            end\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    condution <(levels) = [3]> <(levels) = [5]> <(levels) = [6]> <(levels) = [20]>\nend\n\n@thumb\n\nwhen flag clicked\ngo to [front v] layer\nset [ghost v] effect to (100)\n\n@notif\n\nwhen flag clicked\ngo to x: (0) y: (50)\nhide\nwait (pick random (8) to (15)) seconds\nshow\nrepeat until <(y position) < [6]>\n    change y by (((5) - (y position)) / (6))\nend\nwait (3.5) seconds\nrepeat until <(y position) > [49.5]>\n    change y by (((y position) + (5)) / (5))\nend\nhide\nforever\n    wait (pick random (14) to (26)) seconds\n    show\n    repeat until <(y position) < [6]>\n        change y by (((5) - (y position)) / (6))\n    end\n    wait (3.5) seconds\n    repeat until <(y position) > [49.5]>\n        change y by (((y position) + (5)) / (5))\n    end\n    hide\nend\n\n