Monochromatic -- A Platformer

Instructions: Original Share Date: 3 Sep 2019\nRe-share date: 12 Jun 2020\n\nThis is \nᗰᗝᑎᗝᑕᕼᖇᗝᗰᗩ丅Ꭵᑕ - ᗩ ᑭᒪᗩ丅ᖴᗝᖇᗰᗴᖇ\n\nWelcome to ᗰᗝᑎᗝᑕᕼᖇᗝᗰᗩ丅Ꭵᑕ - ᗩ ᑭᒪᗩ丅ᖴᗝᖇᗰᗴᖇ\n\nThis is my FIRST EVER platformer, so don't be mean!\n\nPLAY PART 2 HERE:\n\nhttps://scratch.mit.edu/projects/326900213/\n\nIf you liked this, suggest it to this studio:\n\nhttps://scratch.mit.edu/studios/4228481\n\nLove, fave and follow for Part 2, and possibly a different platformer\n\nIf you find a glitch or want something in the game, let me know in the comments! I'll see what I can do :3\n\nI know it's short, but some of the levels are actually quite hard to beat!\n\nLoved and faved by @eunice0913!\nLoved and faved by @starwater!\nLoved by @Cicada_19!\n_____________________________________________\n\nInstructions:\n✰ Arrow keys [up, right, left]\n✰ Avoid Spikes [sharp thingymabbobs]\n✰ Touch the side to get to the next level [that may be a challenge]\n✰ All levels are possible, no matter how many times you die, just know that the levels are possible, so don't complain, I have tested each level myself!\n_____________________________________________\n\nI know it's short, so love for a Part 2!\n\nCredits:\nInspired by @Max-0\nThanks to @jromagnoli for part of the platforming script\nThanks to @xamuil2 for the clone trail\nME for the rest, and the art of the thumbnail\nThumbnail inspired by @Max-0 's game, Black\nMusic - Unity by TheFatRat\n_____________________________________________\n\nTags: \n#monochromatic #platformer #onecolour #square #ouch #spikes #jump #move #win #chromatic #mono #black #noothercolour #follow #NDP #fave #love #Part2\n_____________________________________________\n\nYa bois better follow for more

@Stage\n\nwhen flag clicked\nwait (4) seconds\nforever\n    play sound [TheFatRat - Unity v] until done\nend\n\n@-ball-(er)\n\nwhen I start as a clone\nrepeat (10)\n    change size by (-4)\n    change [ghost v] effect by (10)\n    change y by (-1)\nend\ndelete this clone\n\nwhen flag clicked\nforever\n    create clone of (_myself_ v)\nend\n\nwhen flag clicked\nhide\nwait (3) seconds\nbroadcast (del v)\nset [yv v] to [0]\nset [xv v] to [0]\nset [level v] to [1]\nswitch costume to (ball v)\nset size to (50) %\npoint in direction (90)\nshow\nset [ghost v] effect to (0)\ngo to x: (-150) y: (0)\nforever\n    omega\nend\n\ndefine omega\nif <not <touching (sprite1 v)?>> then\n    switch costume to (join [ball] (<key (right arrow v) pressed?> + (<key (left arrow v) pressed?> * (-1))))\n    change [xv v] by ((<key (left arrow v) pressed?> * (-3)) + (<key (right arrow v) pressed?> * (3)))\nend\nset [xv v] to ((Xv) * (0.7))\nchange x by (Xv)\ndetect slope: (8) (15) (13)\nchange [yv v] by (-1)\nchange y by (Yv)\nif <touching (sprite1 v)?> then\n    out2 <(Yv) > [0]>\nend\nchange y by (-1)\nif <<touching (sprite1 v)?> and <<key (up arrow v) pressed?> or <key (space v) pressed?>>> then\n    start sound [Jump v]\n    set [yv v] to [15]\nend\nif <touching (follow 4 more v)?> then\n    set [yv v] to [18]\nend\nchange y by (1)\nif <<touching (sprite3 v)?> or <(y position) < [-178]>> then\n    go to x: (-150) y: (0)\n    point in direction (90)\n    set [yv v] to [0]\n    set [xv v] to [0]\nend\nif <(x position) > [239]> then\n    change [level v] by (1)\n    hide\n    go to x: (-190) y: (0)\n    point in direction (90)\n    set [yv v] to [0]\n    set [xv v] to [0]\n    broadcast (message1 v) and wait\n    show\nend\n\nwhen I receive [del v]\ndelete this clone\n\ndefine out <boolean1>\nset [i v] to [0]\nif <boolean1> then\n    repeat until <<not <touching (sprite1 v)?>> or <(i) > [8]>>\n        change [i v] by (1)\n        change x by (-1)\n    end\nelse\n    if <[0] > (Xv)> then\n        repeat until <<not <touching (sprite1 v)?>> or <(i) > [8]>>\n            change [i v] by (1)\n            change x by (1)\n        end\n    end\nend\n\ndefine out2 <boolean1>\nset [i v] to [0]\nif <boolean1> then\n    repeat until <<not <touching (sprite1 v)?>> or <(i) > [24]>>\n        change [i v] by (1)\n        change y by (-1)\n    end\n    set [yv v] to [-1]\nelse\n    repeat until <<not <touching (sprite1 v)?>> or <(i) > [24]>>\n        change [i v] by (1)\n        change y by (1)\n    end\n    set [yv v] to [0]\nend\n\ndefine detect slope: (maxslope) (walljump) (jumpheight)\nset [i v] to [0]\nrepeat until <<(i) > (maxslope)> or <not <touching (sprite1 v)?>>>\n    change [i v] by (1)\n    change y by (1)\nend\nset [i2 v] to (i)\nif <touching (sprite1 v)?> then\n    out <(Xv) > [0]>\n    change y by ((0) - (i2))\n    if <<key (up arrow v) pressed?> or <key (space v) pressed?>> then\n        start sound [Jump v]\n        if <(Xv) > [0]> then\n            set [xv v] to ((0) - (walljump))\n        else\n            set [xv v] to (walljump)\n        end\n        set [yv v] to (jumpheight)\n    else\n        set [xv v] to [0]\n    end\nend\n\n@Sprite1\n\nwhen flag clicked\nhide\nwait (3) seconds\ngo to [back v] layer\nshow\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\n\nwhen I receive [message1 v]\nswitch costume to (join [costume] (level))\n\n@Sprite3\n\nwhen flag clicked\nhide\nwait (3) seconds\ngo to [back v] layer\ngo [backward v] (2) layers\nshow\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\n\nwhen I receive [message1 v]\nswitch costume to (join [costume] (level))\n\n@Sprite2\n\nwhen flag clicked\nset [ghost v] effect to (0)\nwait (1) seconds\nrepeat (100)\n    change [ghost v] effect by (1)\nend\n\n