Outline: A Platformer

Instructions:  -ˏˋ Outline: A Platformer ˊˎ-\n\nNow mobile friendly!\nArrow keys or WASD to move on a pc, drag your finger to move on mobile. Avoid red, and don't fall down to the bottom of the screen. Press R to restart.\nAll levels are possible.\nEnjoy!\n\n-------------------------------------------------------------------------\n\n↪ Backstory\n\nAt first, all was well in Happyland. Everything was exciting and filled with color. LOTS of color. And everyone was happy.\nBut soon, Mr. Trim rose to power.\nHe liked everything trim and neat, and not a single hair\nin his moustache was ever out of place. He scrutinized\neverything through his spotless monocle.\nHe didn't like all the boisterous, wild color bursting from\nevery nook and cranny in Happyland. In places, there was even some color out of the lines. Now, he couldn't have that!\nSo he decided to remove all color from Happyland. Only nice, neat outlines were left. He stored all the magically compressed color in a little bottle he secretly hid away. \nMr. Trim was happy. But not everyone else was.\nSoon, Happyland became . . . a little less happy. Its\nresidents forgot what it was like to have a life full of color. Life in Happyland became boring, even drab.\nBut then, one small cube decided to take action...\nto find the bottle and restore color to Happyland!\n\nDISCLAIMER: The resemblance of Mr.Trim to any other political figure is entirely coincidental. \n\n-------------------------------------------------------------------------\n\n↪ Platformer engine (modified by me): @griffpatch_tutor\n↪ Intro: @-Potaton-\n↪ Music: @-Xaf-\n\n-------------------------------------------------------------------------\n\n33rd on trending platformers!\n\n#Games #All #Platformer #Games #All #Platformer #Games #All #Platformer #Games #All #Platformer #Games #All #Platformer #Games #All #Platformer #Games #All #Platformer #Games #All #Platformer #Games #All #Platformer #Games #All #Platformer #Games #All #Platformer #Games #All #Platformer #Story #Backstory #Outline #Bring #Back #Color #To #Happyland

@Stage\n\nwhen stage clicked\nif <(backdrop [number v]) < [7]> then\n    next backdrop\nend\n\nwhen flag clicked\n\nwhen flag clicked\nswitch backdrop to (backdrop15 v)\n\nwhen I receive [start v]\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nswitch backdrop to (costume1 v)\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nforever\n    play sound [Goodbye v] until done\nend\n\n@Player\n\nwhen flag clicked\nhide\n\ndefine move out (dx) (dy)\nrepeat until <not <<touching color (#ffffff)?> or <touching color (#efff00)?>>>\n    change x by (dx)\n    change y by (dy)\nend\n\ndefine Check Player Gravity\nchange [player speed y v] by (FORCE GRAVITY)\nchange y by (Player Speed Y)\nif <<touching color (#ffffff)?> or <touching color (#efff00)?>> then\n    if <(Player Speed Y) > [0]> then\n        move out [0] [-1]\n        set [player speed y v] to [0]\n    else\n        move out [0] [1]\n        if <<<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>>> and <not <touching color (#efff00)?>>> then\n            set [player speed y v] to (FORCE JUMP)\n        else\n            set [player speed y v] to [0]\n        end\n    end\nend\n\ndefine Check Player Walk\nif <<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<mouse down?> and <(x position) > (mouse x)>>>> then\n    switch costume to (join [left] (COlor))\n    change [player speed x v] by ((-1) * (FORCE WALK))\nend\nif <<key (right arrow v) pressed?> or <<key (d v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>>> then\n    switch costume to (join [right] (COlor))\n    change [player speed x v] by ((1) * (FORCE WALK))\nend\nset [player speed x v] to ((Player Speed X) * (0.7))\nchange x by (Player Speed X)\nif <(Player Speed X) > [0]> then\n    move out [-1] [0]\nelse\n    move out [1] [0]\nend\n\ndefine Check Player Touching\nif <[224] < (x position)> then\n    broadcast (Complete level v) and wait\n    Reset Player Position\n    next backdrop\nend\nif <touching color (#78f90a)?> then\n    set [player speed y v] to [15]\nend\nif <touching color (#ff0000)?> then\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\n    Reset Player Position\nend\nif <(y position) < [-175]> then\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\n    Reset Player Position\nend\n\ndefine Reset Player Position\nswitch costume to (right1 v)\nclear graphic effects\ngo to x: (-155) y: (-110)\n\nwhen flag clicked\nset [level # v] to [1]\n\nwhen I start as a clone\nswitch costume to (left2 v)\n\nwhen I receive [color v]\nnext costume\nset [color v] to [2]\n\nwhen flag clicked\nset [color v] to [1]\n\nbroadcast (Start v)\n\nwhen I receive [start v]\nswitch costume to (join [right] (COlor))\nhide\nwait until <(backdrop [number v]) = [7]>\nshow\nReset Player Position\nset [force walk v] to [2]\nset [force gravity v] to [-.6]\nset [force jump v] to [10]\nset [player speed x v] to [0]\nforever\n    Check Player Gravity\n    Check Player Walk\n    Check Player Touching\nend\n\nwhen [r v] key pressed\nReset Player Position\n\n@Sprite1\n\nwhen flag clicked\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\nset size to (100) %\nhide\nwait until <(backdrop [number v]) = [20]>\nshow\nwait until <touching (player v)?>\nbroadcast (COlor v)\nhide\n\n@thumb\n\nwhen flag clicked\nset [ghost v] effect to (100)\nforever\n    go to [front v] layer\nend\n\n@Intro\n\nwhen flag clicked\nset size to (100) %\nset volume to (100) %\nstart sound [yt1s v]\npoint in direction (90)\nset [my variable v] to [0]\nswitch costume to (p2 v)\nshow\ngo to [front v] layer\ngo to x: (0) y: (0)\nrepeat (6)\n    change [my variable v] by (1)\n    create clone of (_myself_ v)\nend\nwait (2) seconds\nhide\nwait (6) seconds\nrepeat (100)\n    change volume by (-1)\nend\nbroadcast (Start v)\n\nwhen I start as a clone\nhide\nset size to (50) %\nif <(my variable) = [6]> then\n    show\n    set size to (100) %\n    go to x: (0) y: (0)\n    go to [back v] layer\n    switch costume to (costume4 v)\n    wait (6.36) seconds\n    go to [front v] layer\n    go [backward v] (2) layers\n    switch costume to (costume4 v)\n    repeat (26)\n        change x by ((() - ([abs v] of ((x position) - (5)) )) / (5))\n    end\n    hide\nend\nif <(my variable) = [5]> then\n    go to x: (0) y: (-80)\n    hide\n    switch costume to (costume3 v)\n    wait (1.5) seconds\n    show\n    go to [back v] layer\n    go [forward v] (1) layers\n    wait ((1) + (.5)) seconds\n    repeat until <(y position) > [-1]>\n        change y by (((0) - (y position)) * (.1))\n    end\n    wait (.5) seconds\n    repeat until <(y position) > [24]>\n        change y by (((35) - (y position)) * (.1))\n    end\nend\nif <(my variable) = [4]> then\n    hide\n    switch costume to (costume2 v)\n    wait (1.5) seconds\n    show\n    go to [front v] layer\n    wait (4) seconds\nend\nif <(my variable) = [3]> then\n    show\n    go to [back v] layer\n    switch costume to (costume1 v)\n    go to x: (-140) y: (0)\n    wait (1.5) seconds\n    repeat until <(x position) > [-1]>\n        go to x: ((x position) * (.85)) y: (0)\n    end\n    wait (.5) seconds\n    repeat until <(y position) > [27]>\n        change y by (((30) - (y position)) * (.1))\n    end\nend\nif <(my variable) = [2]> then\n    show\n    go to [front v] layer\n    switch costume to (p v)\n    wait (1) seconds\n    repeat until <(x position) < [-79]>\n        go to x: ((x position) + (((-80) - (x position)) * (.2))) y: (0)\n    end\n    go to [front v] layer\n    wait (4) seconds\n    repeat until <(x position) > [195]>\n        go to x: ((x position) + (((197) - (x position)) * (.2))) y: (0)\n    end\n    repeat (26)\n        change x by ((() - ([abs v] of ((x position) - (200)) )) / (5))\n    end\nend\nif <(my variable) = [1]> then\n    show\n    go to [front v] layer\n    switch costume to (costume4 v)\n    set size to (100) %\n    wait (1) seconds\nend\ndelete this clone\n\n