Character || A Collaborative Platformer

Instructions: Nouveau jeu!\n\nContrôles : flèches pour bouger et vers la fin espace pour tirer\n\nPrincipe du jeu : tout est constitué de caractères dans ce monde! finissez tous les niveaux afin de terminer le jeu!\n\nN'oubliez pas de liker si ca vous a plu!\n\nBon jeu!\n\nAller voir la version de Matji! (rip le respect ;( g deux fois moins de reconnaissance) https://scratch.mit.edu/projects/407423906

@Stage\n\n@Hache\n\nwhen flag clicked\nhide\ngo to x: (-260) y: (-50)\nwait (1) seconds\nshow\nglide (0.15) secs to x: (45) y: (-50)\nbroadcast (Intro  v)\n\nwhen flag clicked\nclear graphic effects\nswitch costume to (costume2 v)\npoint in direction (30)\nset size to (150) %\nwait (1) seconds\nrepeat (5)\n    turn right (15) degrees\nend\n\nwhen I receive [intro  v]\nplay sound [Explosion2 v] until done\n\nwhen I receive [intro  v]\nchange x by (4)\nwait (0) seconds\nchange x by (-4)\nwait (0) seconds\nchange x by (2)\nwait (0) seconds\nchange x by (-2)\nwait (0) seconds\nchange x by (1)\nwait (0) seconds\nchange x by (-1)\n\nwhen I receive [intro  v]\nwait (1) seconds\nrepeat (100)\n    change [ghost v] effect by (1)\nend\nnext costume\nrepeat (50)\n    change [ghost v] effect by (-2)\nend\nwait (0.5) seconds\nrepeat (50)\n    change [ghost v] effect by (2)\nend\nwait (0.5) seconds\nbroadcast (Cinématique v)\n\n@Mur\n\nwhen flag clicked\nshow\ngo to [front v] layer\nswitch costume to (costume2 v)\nset size to (150) %\n\nwhen I receive [intro  v]\npoint in direction (90)\ngo to x: (100) y: (0)\nswitch costume to (costume3 v)\n\nwhen I receive [intro  v]\nchange x by (4)\nwait (0) seconds\nchange x by (-4)\nwait (0) seconds\nchange x by (2)\nwait (0) seconds\nchange x by (-2)\nwait (0) seconds\nchange x by (1)\nwait (0) seconds\nchange x by (-1)\n\nwhen I receive [intro  v]\nwait (1) seconds\nrepeat (100)\n    change [ghost v] effect by (1)\nend\nhide\n\n@TEL CINEMATIQUE\n\nwhen flag clicked\nhide\nset size to (120) %\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [19]> then\n        start sound [Glass Breaking v]\n        wait (1) seconds\n    end\n    if <(costume [number v]) = [28]> then\n        start sound [Jump v]\n        wait (1) seconds\n        stop [this script v]\n    end\nend\n\nwhen I receive [cinématique v]\nshow\ngo to x: (0) y: (0)\nswitch costume to (1 v)\nwait (1.5) seconds\nstart sound [High Whoosh v]\nswitch costume to (2 v)\nwait (1.5) seconds\nrepeat (10)\n    next costume\n    start sound [Mouse Click - Sound Effect \(HD\) v]\n    wait (0.2) seconds\nend\nwait (0.5) seconds\nrepeat (28)\n    next costume\n    wait (0.07) seconds\nend\nwait (1) seconds\nhide\nbroadcast (Début jeu v)\n\n@PERSO\n\nwhen flag clicked\nhide\nswitch costume to (repos v)\ngo to x: (-210) y: (-90)\nset rotation style [left-right v]\n\ndefine Touch Ground <up?>\nchange [falling? v] by (1)\nrepeat until <not <touching (niveaux v)?>>\n    if <up?> then\n        change y by (-1)\n    else\n        change y by (1)\n        set [falling? v] to [0]\n    end\n    set [speed y v] to [0]\nend\n\ndefine Walk (direction) (speed)\npoint in direction (direction)\nchange x by (speed)\nset [slope v] to [0]\nrepeat until <<(slope) = [8]> or <not <touching (niveaux v)?>>>\n    change y by (1)\n    change [slope v] by (1)\nend\nif <(slope) = [8]> then\n    change x by ((0) - (speed))\n    change y by ((0) - (slope))\nend\nif <(speed) < [0]> then\n    change [frame v] by ((speed) / (-8))\nelse\n    change [frame v] by ((speed) / (8))\nend\n\nwhen I receive [début jeu v]\nshow\nset [speed y v] to [0]\nset [falling? v] to [10]\nforever\n    change y by (speed y)\n    Touch Ground <(speed y) > [0]>\n    change [speed y v] by (-1.3)\n    set [speed x v] to ((speed x) * (0.8))\n    if <<key (left arrow v) pressed?> or <<(x position) > (mouse x)> and <mouse down?>>> then\n        change [speed x v] by (-1)\n    end\n    if <<key (right arrow v) pressed?> or <<(mouse x) > (x position)> and <mouse down?>>> then\n        change [speed x v] by (1)\n    end\n    if <(speed x) < [-0.5]> then\n        Walk (-90) (speed x)\n    else\n        if <(speed x) > [0.5]> then\n            Walk (90) (speed x)\n        else\n            set [frame v] to [0]\n        end\n    end\n    if <<key (up arrow v) pressed?> or <<(mouse y) > (y position)> and <mouse down?>>> then\n        if <<(jump key) = [0]> and <(falling?) < [3]>> then\n            start sound [Jump v]\n            set [speed y v] to [14]\n            set [falling? v] to [6]\n            set [jump key v] to [1]\n        end\n    else\n        set [jump key v] to [0]\n    end\n    if <<(y position) < [-175]> or <<<<<touching (ennemi v)?> or <touching (poisson v)?>> or <touching (lave et pics v)?>> or <touching (boss v)?>> or <touching (attaque boss v)?>>> then\n        start sound [Crunch v]\n        if <(Vie boss) > [0]> then\n            set [vie boss v] to [232]\n        end\n        switch costume to (mort v)\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        clear graphic effects\n        if <([costume # v] of [niveaux v]) = [16]> then\n            set y to (-20)\n        else\n            go to x: (-220) y: (-20)\n        end\n        set [speed y v] to [0]\n        broadcast (Reset v)\n    end\n    if <[220] < (x position)> then\n        if <not <([costume # v] of [niveaux v]) = [16]>> then\n            if <([costume # v] of [niveaux v]) = [15]> then\n                go to x: (-190) y: (-20)\n            else\n                go to x: (-220) y: (-20)\n            end\n            set [speed y v] to [0]\n            change [ma variable v] by (1)\n            broadcast (Next Level v)\n        end\n    end\n    if <touching color (#12ff00)?> then\n        set [speed y v] to [22]\n    end\nend\n\nwhen I receive [début jeu v]\nforever\n    if <<(y position) < [-175]> or <<<<<touching (ennemi v)?> or <touching (poisson v)?>> or <touching (lave et pics v)?>> or <touching (boss v)?>> or <touching (attaque boss v)?>>> then\n        wait (0.1) seconds\n    else\n        if <<<key (right arrow v) pressed?> or <key (left arrow v) pressed?>> and <(speed y) = [-1.3]>> then\n            if <(costume [number v]) = [5]> then\n                switch costume to (marche 2 v)\n                wait (0.05) seconds\n            else\n                switch costume to (marche 1 v)\n                wait (0.05) seconds\n            end\n        else\n            if <(speed y) > [0]> then\n                switch costume to (saut \(costume nécessaire?\) v)\n            else\n                switch costume to (repos v)\n            end\n        end\n    end\nend\n\nbroadcast (Début jeu v)\n\nwhen I receive [début jeu v]\nforever\n    if <touching color (#0073ff)?> then\n        change [speed x v] by (1.5)\n    end\nend\n\n@NIVEAUX\n\nwhen flag clicked\nswitch costume to (niveau 1 v)\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [début jeu v]\nshow\nforever\n    play sound [Dry Out v] until done\nend\n\n@LAVE ET PICS\n\nwhen flag clicked\nswitch costume to (niveau 1 v)\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [début jeu v]\nshow\n\n@ENNEMI\n\nwhen flag clicked\nhide\n\nwhen I receive [début jeu v]\nforever\n    if <([costume # v] of [niveaux v]) = [6]> then\n        switch costume to (vivant v)\n        show\n    else\n        hide\n    end\nend\n\nwhen I receive [début jeu v]\ngo to x: (115) y: (122)\nforever\n    set size to (75) %\n    repeat (30)\n        change x by (2.5)\n    end\n    repeat (30)\n        change x by (-2.5)\n    end\nend\n\n@BOSS\n\nwhen flag clicked\nhide\nwait (11) seconds\nwait until <([costume # v] of [niveaux v]) = [16]>\nshow\nset [vie boss v] to [232]\nrepeat until <(Vie boss) < [1]>\n    switch costume to (normal v)\n    go to x: (120) y: (200)\n    repeat (10)\n        change [ghost v] effect by (-10)\n    end\n    glide (3) secs to x: (120) y: (-80)\n    switch costume to (normal v)\n    if <(Vie boss) > [0]> then\n        broadcast (Tir v)\n    end\n    wait (11) seconds\n    switch costume to (préparation tir v)\n    wait (1) seconds\n    switch costume to ( en tir v)\n    create clone of (_myself_ v)\n    wait (1) seconds\n    switch costume to (normal v)\n    wait (0.5) seconds\n    glide (3) secs to x: (120) y: (200)\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\n    go to x: (-120) y: (200)\n    repeat (10)\n        change [ghost v] effect by (-10)\n    end\n    glide (2.5) secs to x: (-120) y: (-80)\n    switch costume to (normal v)\n    if <(Vie boss) > [0]> then\n        broadcast (Tir v)\n    end\n    wait (11) seconds\n    switch costume to (préparation tir v)\n    wait (2) seconds\n    switch costume to ( en tir v)\n    create clone of (_myself_ v)\n    wait (1) seconds\n    switch costume to (normal v)\n    wait (0.5) seconds\n    glide (2.5) secs to x: (-120) y: (200)\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\nend\nstop [this script v]\n\nwhen flag clicked\nset [vie boss v] to [232]\nwait until <(Vie boss) < [1]>\nbroadcast (Décès Boss v)\nhide\n\nwhen I start as a clone\nset rotation style [left-right v]\nchange y by (-25)\npoint towards (perso v)\nif <(Vie boss) > [0]> then\n    switch costume to (tir v)\n    show\n    wait (0.5) seconds\nend\ndelete this clone\n\nwhen flag clicked\nset rotation style [left-right v]\nforever\n    point towards (perso v)\nend\n\nwhen I receive [début jeu v]\nforever\n    if <touching (tir du perso v)?> then\n        change [vie boss v] by (-1.6)\n        set [brightness v] effect to (40)\n        wait (0.2) seconds\n    else\n        set [brightness v] effect to (0)\n    end\nend\n\n@TIR DU PERSO\n\nwhen flag clicked\nhide\n\nwhen I receive [gun v]\nforever\n    if <key (space v) pressed?> then\n        create clone of (_myself_ v)\n        wait until <not <key (space v) pressed?>>\n    end\nend\n\nwhen I start as a clone\nshow\nswitch costume to (tir v)\ngo to (perso v)\npoint in direction ([direction v] of [perso v])\nrepeat until <<<touching (niveaux v)?> or <touching (boss v)?>> or <touching (_edge_ v)?>>\n    move (16) steps\nend\nif <touching (boss v)?> then\n    change [vie boss v] by (-1)\nend\nswitch costume to (détruit v)\nwait (0) seconds\ndelete this clone\n\n@POISSON\n\nwhen flag clicked\nhide\nforever\n    if <([costume # v] of [niveaux v]) = [5]> then\n        set size to (75) %\n        show\n    else\n        if <([costume # v] of [niveaux v]) = [6]> then\n            set size to (75) %\n            show\n        else\n            hide\n        end\n    end\nend\n\nwhen flag clicked\nswitch costume to (rien v)\nforever\n    switch costume to (haut v)\n    wait (0.05) seconds\n    switch costume to (haut2 v)\n    set y to (-125)\n    change y by (37)\n    wait (0.05) seconds\n    change y by (30)\n    wait (0.05) seconds\n    change y by (35)\n    wait (0.05) seconds\n    change y by (20)\n    wait (0.05) seconds\n    change y by (16)\n    wait (0.05) seconds\n    change y by (12)\n    wait (0.05) seconds\n    change y by (8)\n    wait (0.05) seconds\n    change y by (4)\n    wait (0.05) seconds\n    change y by (2)\n    wait (0.05) seconds\n    change y by (1)\n    wait (0.05) seconds\n    change y by (0)\n    wait (0.05) seconds\n    switch costume to (bas2 v)\n    change y by (0)\n    wait (0.05) seconds\n    change y by (-1)\n    wait (0.05) seconds\n    change y by (-2)\n    wait (0.05) seconds\n    change y by (-4)\n    wait (0.05) seconds\n    change y by (-8)\n    wait (0.05) seconds\n    change y by (-12)\n    wait (0.05) seconds\n    change y by (-16)\n    wait (0.05) seconds\n    change y by (-20)\n    wait (0.05) seconds\n    change y by (-25)\n    wait (0.05) seconds\n    change y by (-30)\n    wait (0.05) seconds\n    change y by (-37)\n    switch costume to (bas v)\n    wait (0.05) seconds\n    switch costume to (rien v)\n    wait (1) seconds\nend\n\nwhen flag clicked\nforever\n    if <([costume # v] of [niveaux v]) = [5]> then\n        set x to (-130)\n    else\n        set x to (-150)\n    end\nend\n\n@PISTOLET\n\nwhen flag clicked\nclear graphic effects\nhide\ngo to x: (-10) y: (-95)\nwait until <([costume # v] of [niveaux v]) = [15]>\nshow\nwait until <touching (perso v)?>\nbroadcast (Gun v)\nrepeat (20)\n    change y by (2)\n    change [brightness v] effect by (3)\n    change [ghost v] effect by (5)\nend\n\n@NIVEAUX DECORATION\n\nwhen flag clicked\nswitch costume to (niveau 1 v)\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [début jeu v]\nshow\n\n@ANIMATION DECES BOSS\n\nwhen flag clicked\nhide\nclear graphic effects\n\nwhen I receive [décès boss v]\nstart sound [boom v]\npoint in direction (0)\nrepeat (5)\n    create clone of (_myself_ v)\n    turn right (60) degrees\nend\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nshow\ngo to (boss v)\nrepeat (10)\n    move (10) steps\n    change [ghost v] effect by (10)\n    wait (0) seconds\nend\ndelete this clone\n\nwhen I receive [décès boss v]\nwait (1) seconds\nbroadcast (Image de fin v)\n\n@ATTAQUE BOSS\n\nwhen flag clicked\nhide\n\nwhen I receive [tir v]\nrepeat (11)\n    if <(Vie boss) > [0]> then\n        create clone of (_myself_ v)\n        wait (0.8) seconds\n    end\nend\n\nwhen I start as a clone\nif <(Vie boss) > [0]> then\n    show\n    go to (boss v)\n    point towards (perso v)\n    repeat until <<touching (_edge_ v)?> or <<touching (niveaux v)?> or <touching (perso v)?>>>\n        move (6) steps\n    end\nend\ndelete this clone\n\n@BARRE DE VIE (CADRE)\n\nwhen flag clicked\nhide\ngo to x: (0) y: (-180)\nwait until <([costume # v] of [niveaux v]) = [15]>\nshow\nrepeat (10)\n    go to [front v] layer\nend\n\n@BARRE DE VIE (BARRE)\n\nwhen flag clicked\ngo to [front v] layer\nhide\ngo to x: (0) y: (-180)\nwait until <([costume # v] of [niveaux v]) = [15]>\nshow\nrepeat until <(Vie boss) < [1]>\n    set x to (((Vie boss) * (2)) - (215))\nend\nhide\n\n@MINIATURE\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\n\n@Sprite1\n\nwhen flag clicked\nset [ghost v] effect to (100)\nshow\ngo to x: (0) y: (0)\ngo to [front v] layer\n\nwhen I receive [image de fin v]\nrepeat (20)\n    change [ghost v] effect by (-5)\n    go to [front v] layer\n    wait (0) seconds\nend\ngo to [front v] layer\nstop [all v]\n\n