Lineland - 100% Pen Platformer #Games #All #Tending
@Stage\n\nwhen I receive [message1 v]\nerase all\nswitch backdrop to (2 v)\n\nswitch backdrop to (lineland v)\nerase all\nstop [all v]\n\nplay sound [  v] until done\n\nwhen I receive [won v]\nstop [other scripts in sprite v]\nrepeat (10)\n    change volume by (-10)\nend\nstop all sounds\nset volume to (100) %\nforever\n    play sound [snowy plains v] until done\nend\n\nwhen I receive [a-play v]\nswitch backdrop to (1 v)\nset volume to (100) %\nforever\n    play sound [Digital Insanity v] until done\nend\n\nwhen flag clicked\nswitch backdrop to (2 v)\n\nchange [level. v] by (1)\n\n@blank\n\nadd [https://scratch.mit.edu/projects/966536662/] to [new game: better than this one: v]\n\n@engine\n\ndefine Collisions\nset [_i v] to [0]\nset [collisions v] to [0]\nrepeat ((length of [points v]) / (5))\n    if <((X) + ((#PlayerSize) + (my variable))) > (item ((_i) + (1)) of [points v])> then\n        if <((Y) + ((#PlayerSize) + (my variable))) > (item ((_i) + (2)) of [points v])> then\n            if <((X) - (my variable)) < ((item ((_i) + (1)) of [points v]) + (item ((_i) + (3)) of [points v]))> then\n                if <((Y) - (my variable)) < ((item ((_i) + (2)) of [points v]) + (item ((_i) + (4)) of [points v]))> then\n                    set [collisions v] to (item ((_i) + (5)) of [points v])\n                    if <(Collisions) = [3]> then\n                        set [sy v] to [19.9]\n                    end\n                end\n            end\n        end\n    end\n    change [_i v] by (5)\nend\nif <<(Collisions) = [2]> or <(Collisions) = [4]>> then\n    Reset\nend\n\ndefine Render\nset [_i v] to [0]\nrepeat ((length of [points v]) / (5))\n    pen up\n    set pen size to (2)\n    Get Colour (Type (item ((_i) + (5)) of [points v]) )\n    Go To ( X (item ((_i) + (1)) of [points v]) Y (item ((_i) + (2)) of [points v]) )\n    pen down\n    Go To ( X ((item ((_i) + (1)) of [points v]) + (item ((_i) + (3)) of [points v])) Y (item ((_i) + (2)) of [points v]) )\n    Go To ( X ((item ((_i) + (1)) of [points v]) + (item ((_i) + (3)) of [points v])) Y ((item ((_i) + (2)) of [points v]) + (item ((_i) + (4)) of [points v])) )\n    Go To ( X (item ((_i) + (1)) of [points v]) Y ((item ((_i) + (2)) of [points v]) + (item ((_i) + (4)) of [points v])) )\n    Go To ( X (item ((_i) + (1)) of [points v]) Y (item ((_i) + (2)) of [points v]) )\n    change [_i v] by (5)\nend\n\ndefine Render Player At (x) (y) Size (size)\nset [#playersize v] to [15]\nset pen color to (#b200ff)\nset pen size to (2)\npen up\ngo to x: (x) y: (y)\npen down\ngo to x: ((x) + (size)) y: (y)\ngo to x: ((x) + (size)) y: ((y) + (size))\ngo to x: (x) y: ((y) + (size))\ngo to x: (x) y: (y)\n\ndefine Add Cube (x) (y) (length) (height) Type (type)\nadd (x) to [points v]\nadd (y) to [points v]\nadd (length) to [points v]\nadd (height) to [points v]\nadd (type) to [points v]\n\ndefine render level\ndelete all of [points v]\nif <(level.) = [1]> then\n    Add Cube [30] [-102] [430] [5] Type [1]\n    Add Cube [30] [-100] [1] [500] Type [1]\n    Add Cube [460] [-100] [1] [500] Type [1]\n    Add Cube [30] [400] [430] [1] Type [1]\n    Add Cube [100] [-50] [50] [10] Type [1]\n    Add Cube [200] [0] [50] [10] Type [1]\n    Add Cube [300] [50] [50] [10] Type [1]\n    Add Cube [410] [100] [50] [10] Type [1]\n    Add Cube [30] [150] [390] [10] Type [1]\n    Add Cube [300] [160] [20] [50] Type [2]\n    Add Cube [200] [160] [20] [50] Type [2]\n    Add Cube [60] [160] [60] [5] Type [3]\n    Add Cube [75] [290] [30] [30] Type [5]\nend\nif <(level.) = [2]> then\n    Add Cube [30] [-100] [430] [1] Type [1]\n    Add Cube [30] [-100] [1] [120] Type [1]\n    Add Cube [460] [-100] [1] [120] Type [1]\n    Add Cube [30] [20] [430] [1] Type [1]\n    Add Cube [100] ((([sin v] of (effect) ) * (50)) + (-48)) [25] [15] Type [2]\n    Add Cube [200] ((([cos v] of (effect) ) * (50)) + (-48)) [25] [15] Type [2]\n    Add Cube [300] ((([sin v] of (effect) ) * (50)) + (-48)) [25] [15] Type [2]\n    Add Cube [400] [-50] [25] [15] Type [5]\n    if <(showing) = [1]> then\n        Add Cube (pick random (365) to (370)) [-98] [1] [116] Type [2]\n    end\n    Add Cube [363] [15] [10] [5] Type [1]\nend\nif <(level.) = [3]> then\n    Add Cube [30] [-100] [430] [4] Type [1]\n    Add Cube [30] [-100] [1] [250] Type [1]\n    Add Cube [460] [-100] [5] [250] Type [1]\n    Add Cube [30] [150] [430] [1] Type [1]\n    Add Cube [100] [-95] [20] [20] Type [2]\n    Add Cube [130] [-95] [20] [20] Type [2]\n    Add Cube [160] [-95] [20] [20] Type [2]\n    Add Cube [250] [-97] [50] [5] Type [3]\n    Add Cube [180] [0] [50] [5] Type [1]\n    Add Cube [260] [50] [50] [5] Type [1]\n    Add Cube [410] [25] [50] [5] Type [3]\n    Add Cube [440] [140] [20] [10] Type [5]\n    Add Cube [290] [57] [20] [10] Type [2]\n    Add Cube [180] [7] [20] [10] Type [2]\n    Add Cube [407] [-97] [1] [200] Type [1]\n    Add Cube [310] [103] [97] [1] Type [1]\n    Add Cube [435] [103] [0] [47] Type [1]\nend\nif <(level.) = [4]> then\n    Add Cube [200] [-100] [380] ((([sin v] of (effect) ) * (4)) + (20)) Type [2]\n    Add Cube [30] [-100] [430] [1] Type [1]\n    Add Cube [30] [-100] [1] [250] Type [1]\n    Add Cube [580] [-100] [1] [250] Type [1]\n    Add Cube [30] [150] [550] [1] Type [1]\n    Add Cube [250] [-45] [50] [5] Type [1]\n    Add Cube [280] [-40] [20] [5] Type [2]\n    Add Cube [350] [-10] [50] [5] Type [1]\n    Add Cube [380] [-5] [20] [5] Type [2]\n    Add Cube [450] [35] [50] [5] Type [1]\n    Add Cube [480] [40] [20] [5] Type [2]\n    Add Cube [275] [-100] [2] [55] Type [1]\n    Add Cube [375] [-100] [2] [90] Type [1]\n    Add Cube [475] [-100] [2] [135] Type [1]\n    Add Cube [200] [-100] [2] [25] Type [1]\n    Add Cube [545] [-63] [20] [20] Type [5]\n    Add Cube [530] [-70] [50] [5] Type [1]\nend\nif <(level.) = [5]> then\n    Add Cube [30] [200] [150] [1] Type [1]\n    Add Cube [30] [-100] [150] [1] Type [1]\n    Add Cube [30] [-100] [1] [300] Type [1]\n    Add Cube [180] [-100] [1] [300] Type [1]\n    Add Cube [30] [-60] [40] [1] Type [1]\n    Add Cube [155] [0] [25] [1] Type [1]\n    Add Cube [30] [40] [40] [1] Type [1]\n    Add Cube [155] [80] [25] [1] Type [1]\n    Add Cube [30] [120] [40] [1] Type [1]\n    Add Cube [33] [183] [15] [15] Type [5]\n    Add Cube [30] ((([sin v] of ((effect) / (10)) ) * (100)) + (0)) [150] [1] Type [2]\nend\nif <(level.) = [6]> then\n    Add Cube [30] [0] [150] [1] Type [1]\n    Add Cube [30] [-100] [300] [1] Type [1]\n    Add Cube [30] [-100] [1] [100] Type [1]\n    Add Cube [180] [100] [150] [1] Type [1]\n    Add Cube [180] [0] [1] [100] Type [1]\n    Add Cube [180] [100] [520] [1] Type [1]\n    Add Cube [250] [-100] [40] [2] Type [2]\n    Add Cube [150] [-100] [40] [2] Type [2]\n    Add Cube [330] [-100] [1] [100] Type [2]\n    Add Cube [290] [-100] [40] [25] Type [3]\n    Add Cube [700] [0] [1] [100] Type [1]\n    Add Cube [330] [0] [370] [1] Type [1]\n    Add Cube [380] [0] [40] [2] Type [3]\n    Add Cube [460] [0] [40] [2] Type [3]\n    Add Cube [540] [0] [40] [2] Type [3]\n    Add Cube [380] [100] [200] [2] Type [2]\n    Add Cube [650] [20] [25] [25] Type [5]\nend\nif <(level.) = [7]> then\n    Add Cube [30] [0] [995] [1] Type [1]\n    Add Cube [30] [-100] [275] [1] Type [1]\n    Add Cube [550] [-100] [475] [1] Type [1]\n    Add Cube [30] [-100] [1] [100] Type [1]\n    Add Cube [1025] [-100] [1] [100] Type [1]\n    Add Cube [305] [-500] [1] [400] Type [1]\n    Add Cube [425] [-450] [7] [450] Type [1]\n    Add Cube [547] [-500] [1] [400] Type [1]\n    Add Cube [398] [-150] [25] [25] Type [2]\n    Add Cube [306] [-150] [25] [25] Type [2]\n    Add Cube [393] [-200] [30] [25] Type [2]\n    Add Cube [306] [-200] [30] [25] Type [2]\n    Add Cube [388] [-250] [35] [25] Type [2]\n    Add Cube [306] [-250] [35] [25] Type [2]\n    Add Cube [383] [-300] [40] [25] Type [2]\n    Add Cube [306] [-300] [40] [25] Type [2]\n    Add Cube [383] [-350] [40] [25] Type [2]\n    Add Cube [306] [-350] [40] [25] Type [2]\n    Add Cube [383] [-400] [40] [25] Type [2]\n    Add Cube [306] [-400] [40] [25] Type [2]\n    Add Cube [306] [-500] [240] [10] Type [1]\n    Add Cube [600] [-20] [15] [20] Type [2]\n    Add Cube [650] [-98] [15] [20] Type [2]\n    Add Cube [700] [-20] [15] [20] Type [2]\n    Add Cube [750] [-98] [15] [20] Type [2]\n    Add Cube [800] [-20] [15] [20] Type [2]\n    Add Cube [850] [-98] [15] [20] Type [2]\n    Add Cube [900] [-20] [15] [20] Type [2]\n    Add Cube [950] [-98] [15] [20] Type [2]\n    Add Cube [433] [-450] [15] [1] Type [1]\n    Add Cube [530] [-400] [15] [1] Type [1]\n    Add Cube [433] [-350] [15] [1] Type [1]\n    Add Cube [530] [-300] [15] [1] Type [1]\n    Add Cube [433] [-250] [15] [1] Type [1]\n    Add Cube [530] [-200] [15] [1] Type [1]\n    Add Cube [480] [-150] [15] [1] Type [1]\n    Add Cube [990] [-50] [15] [15] Type [5]\nend\n\ndefine Go To ( X (x) Y (y) )\ngo to x: ((x) - (Cam X)) y: ((y) - (Cam Y))\n\ndefine Get Colour (Type (type) )\nif <(type) = [1]> then\n    set pen color to (#42adff)\nend\nif <(type) = [2]> then\n    set pen color to (#ff3d3d)\nend\nif <(type) = [3]> then\n    set pen color to (#ffea00)\nend\nif <(type) = [4]> then\n    set pen color to (#000824)\nend\nif <(type) = [5]> then\n    set pen color to (#00da12)\nend\n\ndefine Update\nchange [cam x v] by (((X) - (Cam X)) / (3))\nchange [cam y v] by (((Y) - (Cam Y)) / (3))\nchange [sx v] by (((<<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<mouse down?> and <(mouse x) < [0]>>>> * (-1)) + <<key (right arrow v) pressed?> or <<key (d v) pressed?> or <<mouse down?> and <(mouse x) > [0]>>>>) - ((Sx) * (0.1)))\nchange [x v] by (Sx)\nCollisions\nif <(Collisions) = [1]> then\n    change [x v] by ((0) - (Sx))\n    set [sx v] to [0]\nend\nchange [sy v] by (-1.5)\nchange [y v] by (Sy)\nCollisions\nif <(Collisions) = [1]> then\n    change [y v] by ((0) - (Sy))\n    set [sy v] to (<<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > [50]>>>> * (15))\nend\nif <(Collisions) = [5]> then\n    change [level. v] by (1)\n    Reset\nend\n\ndefine Reset\nrender level\nreset timer\nset [time: v] to [0]\nset [cam x v] to (X)\nset [cam y v] to (Y)\nset [collisions v] to [0]\nset [sx v] to [0]\nset [sy v] to [0]\nset [x v] to [50]\nset [y v] to [-50]\nset [#points v] to [7]\nset [effect v] to [-1000]\n\nwhen flag clicked\nhide\nset [x v] to [50]\nset [y v] to [20]\n\nwhen flag clicked\nforever\n    change [effect v] by (10)\nend\n\nchange [level. v] by (1)\nReset\n\nset [x v] to [600]\nset [y v] to [20]\n\ndefine Text (x) (y) (s) (c) (t) (text)\nset pen (color v) to (c)\nset pen size to (t)\nset [my variable v] to [0]\nrepeat (length of (text))\n    change [my variable v] by (1)\n    set [fn v] to [0]\n    repeat (length of [text v])\n        change [fn v] by (1)\n        if <(letter (1) of (item (Fn) of [text v])) = (letter (my variable) of (text))> then\n            if <(letter (2) of (item (Fn) of [text v])) > [0]> then\n                set [pn v] to [3]\n                repeat (letter (2) of (item (Fn) of [text v]))\n                    go to x: (((x) + (((s) * (3.2)) * ((my variable) - (1)))) + ((letter (Pn) of (item (Fn) of [text v])) * (s))) y: ((y) - ((letter ((Pn) + (1)) of (item (Fn) of [text v])) * (s)))\n                    if <(Pn) = [3]> then\n                        pen down\n                    end\n                    change [pn v] by (2)\n                end\n                pen up\n            end\n        end\n        pen up\n        go to x: (0) y: (0)\n    end\nend\n\nwhen [r v] key pressed\nReset\n\nchange [level. v] by (1)\n\nbroadcast (won v)\n\nwhen flag clicked\nset [level. v] to [1]\nhide\nset [x v] to [5000]\nset [y v] to [300]\nReset\nset [zoom v] to [0.9]\nforever\n    if <(level.) = [8]> then\n        broadcast (won v)\n        stop [other scripts in sprite v]\n        stop [this script v]\n    end\nend\n\nwhen I receive [a-play v]\nforever\n    set [my variable v] to [2]\n    erase all\n    render level\n    Render\n    Update\n    Render Player At ((X) - (Cam X)) ((Y) - (Cam Y)) Size [15]\nend\n\nwhen I receive [a-play v]\nset [level. v] to [1]\nset [changetype v] to [1]\nset [showing v] to [0]\nforever\n    if <(level.) = [2]> then\n        wait (1.87) seconds\n        set [showing v] to [1]\n        start sound [download_54357 v]\n        wait (1.87) seconds\n        set [showing v] to [0]\n    end\nend\n\nwhen I receive [a-play v]\nhide\nforever\n    Text [-230] [170] [3] [40] [1.5] (join [level ] (level.))\nend\n\nforever\n    set [#playersize v] to [20]\n    set [#playersize v] to [15]\nend\n\nchange [level. v] by (1)\n\nwait (0) seconds\n\nchange [level. v] by (-1)\n\n@won screen\n\nwhen flag clicked\nshow\nerase all\nset [ghost v] effect to (100)\n\nwhen I receive [won v]\nset [ghost v] effect to (100)\nrepeat (50)\n    change [ghost v] effect by (-2)\nend\n\n@play screen\n\nwhen flag clicked\nset [color v] effect to (75)\ngo to x: (0) y: (105)\nshow\nforever\n    if <touching (mouse-pointer v)?> then\n        hide list [new game: better than this one: v]\n        switch costume to (clicked v)\n    else\n        switch costume to (not-clicked v)\n    end\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        show list [new game: better than this one: v]\n        hide\n        go to x: (-240000) y: (-180000)\n        broadcast (a-play v)\n    end\nend\n\n
NEW GAME OUT!! https://scratch.mit.edu/projects/966536662/\n\nImportant:\nSpread this game over Scratch!\n\nBETTER GAMEPLAY:\nhttps://turbowarp.org/941380066\n\nINSTRUCTIONS:\n- Arrow keys, WASD or mouse to move\n- Get to the green box\n- Do not touch red color\n- Complete all the 7 levels\n\nGood luck!