100% Pen | 3D Platformer
@Stage\n\n@pen\n\ndefine Add Platform (x) (y) (z) (w) (l)\nadd (x) to [platforms v]\nadd (y) to [platforms v]\nadd (z) to [platforms v]\nadd (w) to [platforms v]\nadd (l) to [platforms v]\n\nwhen flag clicked\nset [level v] to [1]\nReset\nSet Camera\nchange [camera y v] by (3)\nMenu\nReset\nforever\n    Control\n    Draw\n    End\nend\n\ndefine Gravity + Collision\nchange [y velocity v] by (-0.1)\nset [previous y v] to (Y Position)\nchange [y position v] by (Y Velocity)\nset [count v] to [-4]\nrepeat ((length of [platforms v]) / (5))\n    change [count v] by (5)\n    if <<not <(Previous Y) < ((item ((Count) + (1)) of [platforms v]) + (1))>> and <(Y Position) < ((item ((Count) + (1)) of [platforms v]) + (1))>> then\n        if <<([abs v] of ((item ((Count) + (0)) of [platforms v]) - (X Position)) ) < (((item ((Count) + (3)) of [platforms v]) / (2)) + (1))> and <([abs v] of ((item ((Count) + (2)) of [platforms v]) - (Z Position)) ) < (((item ((Count) + (4)) of [platforms v]) / (2)) + (1))>> then\n            set [y position v] to ((item ((Count) + (1)) of [platforms v]) + (1))\n            if <key (space v) pressed?> then\n                set [y velocity v] to [1.5]\n            else\n                set [y velocity v] to [0]\n            end\n        end\n    end\nend\n\ndefine Draw Platform (x) (y) (z) (w) (l)\nset pen color to (#21e600)\nPen 1\nGo To ((x) + ((w) / (2))) (y) ((z) + ((l) / (2))) (2)\nPen 2\nGo To ((x) + ((w) / (4))) (y) ((z) + ((l) / (2))) (2)\nPen 2\nGo To ((x) + (0)) (y) ((z) + ((l) / (2))) (2)\nPen 2\nGo To ((x) + ((w) / (-4))) (y) ((z) + ((l) / (2))) (2)\nPen 2\nGo To ((x) + ((w) / (-2))) (y) ((z) + ((l) / (2))) (2)\nPen 2\nGo To ((x) + ((w) / (-2))) (y) ((z) + ((l) / (4))) (2)\nPen 2\nGo To ((x) + ((w) / (-2))) (y) ((z) + (0)) (2)\nPen 2\nGo To ((x) + ((w) / (-2))) (y) ((z) + ((l) / (-4))) (2)\nPen 2\nGo To ((x) + ((w) / (-2))) (y) ((z) + ((l) / (-2))) (2)\nPen 2\nGo To ((x) + ((w) / (-4))) (y) ((z) + ((l) / (-2))) (2)\nPen 2\nGo To ((x) + (0)) (y) ((z) + ((l) / (-2))) (2)\nGo To ((x) + ((w) / (4))) (y) ((z) + ((l) / (-2))) (2)\nPen 2\nGo To ((x) + ((w) / (2))) (y) ((z) + ((l) / (-2))) (2)\nPen 2\nGo To ((x) + ((w) / (2))) (y) ((z) + ((l) / (-4))) (2)\nPen 2\nGo To ((x) + ((w) / (2))) (y) ((z) + (0)) (2)\nPen 2\nGo To ((x) + ((w) / (2))) (y) ((z) + ((l) / (4))) (2)\nPen 2\nGo To ((x) + ((w) / (2))) (y) ((z) + ((l) / (2))) (2)\npen up\n\nset pen color to (#ff0e0e)\nset pen color to (#ffe900)\nset pen color to (#22f100)\nset pen color to (#0065ff)\n\ndefine Pen 2\nif <<not <(Memory X) = (x position)>> and <not <(Memory Y) = (y position)>>> then\n    pen down\nend\n\ndefine Pen 1\nset [memory x v] to (x position)\nset [memory y v] to (y position)\n\ndefine Set Flag (x) (y) (z)\nset [flag x v] to (x)\nset [flag y v] to (y)\nset [flag z v] to (z)\n\ndefine Draw Platforms\nset [count v] to [-4]\nrepeat ((length of [platforms v]) / (5))\n    change [count v] by (5)\n    Draw Platform (item ((Count) + (0)) of [platforms v]) (item ((Count) + (1)) of [platforms v]) (item ((Count) + (2)) of [platforms v]) (item ((Count) + (3)) of [platforms v]) (item ((Count) + (4)) of [platforms v])\nend\n\ndefine End\nif <(Y Position) < [-100]> then\n    Reset\nend\nif <<([abs v] of ((Flag X) - (X Position)) ) < [5]> and <<([abs v] of ((Flag Y) - (Y Position)) ) < [5]> and <([abs v] of ((Flag Z) - (Z Position)) ) < [5]>>> then\n    change [level v] by (1)\n    Reset\nend\n\ndefine Draw Backdrop\nerase all\nset pen color to (#000000)\nset pen size to (255)\ngo to x: (-240) y: (90)\npen down\ngo to x: (240) y: (90)\npen up\ngo to x: (-240) y: (-90)\npen down\ngo to x: (240) y: (-90)\npen up\n\ndefine Draw Flag (x) (y) (z)\nset pen color to (#0083ff)\nPen 1\nGo To (x) (y) (z) (2)\nPen 2\nGo To (x) ((y) + (4)) (z) (2)\nPen 2\nGo To ((x) + (3)) ((y) + (4)) (z) (2)\nPen 2\nGo To ((x) + (3)) ((y) + (2)) (z) (2)\nPen 2\nGo To (x) ((y) + (2)) (z) (2)\npen up\n\ndefine Go To (x) (y) (z) (s)\nGo To (x) (y) (z) (X Direction) (Y Direction) (Camera X) (Camera Y) (Camera Z) (s)\n\ndefine Type (character) at (x) (y) with a font size of (font size) . Capital=1, Lower Case=0: (c/l)\nset pen color to (#1be600)\ngo to x: (x) y: (y)\nif <(c/l) = [1]> then\n    if <(character) = [A]> then\n        pen down\n        change y by ((font size) * (2))\n        change x by (font size)\n        change y by ((font size) * (-2))\n        change y by (font size)\n        change x by ((font size) * (-1))\n        pen up\n        change y by ((font size) * (-1))\n        change x by (font size)\n    end\n    if <(character) = [B]> then\n        pen down\n        change y by ((font size) * (2))\n        change x by (font size)\n        change y by ((font size) * (-0.8))\n        pen up\n        change y by ((font size) * (-0.4))\n        pen down\n        change y by ((font size) * (-0.8))\n        change x by ((font size) * (-1))\n        pen up\n        change y by (font size)\n        pen down\n        change x by ((font size) * (0.8))\n        pen up\n        change x by ((font size) * (0.2))\n        change y by ((font size) * (-1))\n    end\n    if <(character) = [C]> then\n        change x by (font size)\n        pen down\n        change x by ((font size) * (-1))\n        change y by ((font size) * (2))\n        change x by (font size)\n        pen up\n        change y by ((font size) * (-2))\n    end\n    if <(character) = [D]> then\n        pen down\n        change x by ((font size) * (0.8))\n        pen up\n        change x by ((font size) * (-0.8))\n        pen down\n        change y by ((font size) * (2))\n        change x by ((font size) * (0.8))\n        pen up\n        change y by ((font size) * (-0.2))\n        change x by ((font size) * (0.2))\n        pen down\n        change y by ((font size) * (-1.6))\n        pen up\n        change y by ((font size) * (-0.2))\n    end\n    if <(character) = [E]> then\n        change x by (font size)\n        pen down\n        change x by ((font size) * (-1))\n        change y by ((font size) * (2))\n        change x by (font size)\n        pen up\n        change y by ((font size) * (-1))\n        pen down\n        change x by ((font size) * (-1))\n        pen up\n        change y by ((font size) * (-1))\n        change x by (font size)\n    end\n    if <(character) = [F]> then\n        pen down\n        change y by ((font size) * (2))\n        change x by (font size)\n        pen up\n        change x by ((font size) * (-1))\n        change y by ((font size) * (-1))\n        pen down\n        change x by (font size)\n        pen up\n        change y by ((font size) * (-1))\n    end\n    if <(character) = [G]> then\n        change y by ((font size) * (2))\n        change x by (font size)\n        pen down\n        change x by ((font size) * (-1))\n        change y by ((font size) * (-2))\n        change x by (font size)\n        change y by (font size)\n        change x by ((font size) * (-0.5))\n        pen up\n        change y by ((font size) * (-1))\n        change x by ((font size) * (0.5))\n    end\n    if <(character) = [H]> then\n        pen down\n        change y by ((font size) * (2))\n        change y by ((font size) * (-1))\n        change x by (font size)\n        pen up\n        change y by ((font size) * (-1))\n        pen down\n        change y by ((font size) * (2))\n        pen up\n        change y by ((font size) * (-2))\n    end\n    if <(character) = [I]> then\n        pen down\n        change x by (font size)\n        pen up\n        change x by ((font size) * (-0.5))\n        pen down\n        change y by ((font size) * (2))\n        pen up\n        change x by ((font size) * (-0.5))\n        pen down\n        change x by (font size)\n        pen up\n        change y by ((font size) * (-2))\n    end\n    if <(character) = [J]> then\n        pen down\n        change x by (font size)\n        change y by ((font size) * (2))\n        change x by ((font size) * (-0.5))\n        pen up\n        change x by ((font size) * (0.5))\n        change y by ((font size) * (-2))\n    end\n    if <(character) = [K]> then\n        pen down\n        change y by ((font size) * (2))\n        pen up\n        change y by ((font size) * (-1))\n        pen down\n        go to x: ((x position) + (font size)) y: ((y position) + (font size))\n        pen up\n        change y by ((font size) * (-1))\n        change x by ((font size) * (-1))\n        pen down\n        go to x: ((x position) + (font size)) y: ((y position) + ((font size) * (-1)))\n        pen up\n    end\n    if <(character) = [L]> then\n        change x by (font size)\n        pen down\n        change x by ((font size) * (-1))\n        change y by ((font size) * (2))\n        pen up\n        change y by ((font size) * (-2))\n        change x by (font size)\n    end\n    if <(character) = [M]> then\n        pen down\n        change y by ((font size) * (2))\n        change x by (font size)\n        change y by ((font size) * (-2))\n        pen up\n        change y by ((font size) * (2))\n        change x by ((font size) * (-0.5))\n        pen down\n        change y by ((font size) * (-1))\n        pen up\n        change y by ((font size) * (-1))\n        change x by ((font size) * (0.5))\n    end\n    if <(character) = [N]> then\n        pen down\n        change y by ((font size) * (2))\n        go to x: ((x position) + (font size)) y: ((y position) + ((font size) * (-2)))\n        change y by ((font size) * (2))\n        pen up\n        change y by ((font size) * (-2))\n    end\n    if <(character) = [O]> then\n        pen down\n        change x by (font size)\n        change y by ((font size) * (2))\n        change x by ((font size) * (-1))\n        change y by ((font size) * (-2))\n        pen up\n        change x by (font size)\n    end\n    if <(character) = [P]> then\n        pen down\n        change y by ((font size) * (2))\n        change x by (font size)\n        change y by ((font size) * (-1))\n        change x by ((font size) * (-1))\n        pen up\n        change x by (font size)\n        change y by ((font size) * (-1))\n    end\n    if <(character) = [Q]> then\n        pen down\n        change y by ((font size) * (2))\n        change x by (font size)\n        change y by ((font size) * (-2))\n        change x by ((font size) * (-1))\n        pen up\n        change x by (font size)\n        pen down\n        go to x: ((x position) + ((font size) * (-0.6))) y: ((y position) + ((font size) * (0.6)))\n        pen up\n        go to x: ((x position) + ((font size) * (0.6))) y: ((y position) + ((font size) * (-0.6)))\n    end\n    if <(character) = [R]> then\n        pen down\n        change y by ((font size) * (2))\n        change x by (font size)\n        change y by ((font size) * (-1))\n        change x by ((font size) * (-1))\n        go to x: ((x position) + (font size)) y: ((y position) + ((font size) * (-1)))\n        pen up\n    end\n    if <(character) = [S]> then\n        pen down\n        change x by (font size)\n        change y by (font size)\n        change x by ((font size) * (-1))\n        change y by (font size)\n        change x by (font size)\n        pen up\n        change y by ((font size) * (-2))\n    end\n    if <(character) = [T]> then\n        change x by ((font size) * (0.5))\n        pen down\n        change y by ((font size) * (2))\n        pen up\n        change x by ((font size) * (0.5))\n        pen down\n        change x by ((font size) * (-1))\n        pen up\n        change x by (font size)\n        change y by ((font size) * (-2))\n    end\n    if <(character) = [U]> then\n        change y by ((font size) * (2))\n        pen down\n        change y by ((font size) * (-2))\n        change x by (font size)\n        change y by ((font size) * (2))\n        pen up\n        change y by ((font size) * (-2))\n    end\n    if <(character) = [V]> then\n        change y by ((font size) * (2))\n        pen down\n        go to x: ((x position) + ((font size) * (0.5))) y: ((y position) + ((font size) * (-2)))\n        go to x: ((x position) + ((font size) * (0.5))) y: ((y position) + ((font size) * (2)))\n        pen up\n        change y by ((font size) * (-2))\n    end\n    if <(character) = [W]> then\n        change y by ((font size) * (2))\n        pen down\n        change y by ((font size) * (-2))\n        change x by (font size)\n        change y by ((font size) * (2))\n        pen up\n        change x by ((font size) * (-0.5))\n        change y by ((font size) * (-1))\n        pen down\n        change y by ((font size) * (-1))\n        pen up\n        change x by ((font size) * (0.5))\n    end\n    if <(character) = [X]> then\n        pen down\n        go to x: ((x position) + (font size)) y: ((y position) + ((font size) * (2)))\n        pen up\n        change x by ((font size) * (-1))\n        pen down\n        go to x: ((x position) + (font size)) y: ((y position) + ((font size) * (-2)))\n        pen up\n    end\n    if <(character) = [Y]> then\n        change y by ((font size) * (2))\n        pen down\n        go to x: ((x position) + ((font size) * (0.5))) y: ((y position) + ((font size) * (-1)))\n        change y by ((font size) * (-1))\n        pen up\n        change y by (font size)\n        pen down\n        go to x: ((x position) + ((font size) * (0.5))) y: ((y position) + (font size))\n        pen up\n        change y by ((font size) * (-2))\n    end\n    if <(character) = [Z]> then\n        change x by (font size)\n        pen down\n        change x by ((font size) * (-1))\n        go to x: ((x position) + (font size)) y: ((y position) + ((font size) * (2)))\n        change x by ((font size) * (-1))\n        pen up\n        go to x: ((x position) + (font size)) y: ((y position) + ((font size) * (-2)))\n    end\nelse\n    if <(character) = [a]> then\n        change y by (font size)\n        pen down\n        change x by (font size)\n        change y by ((font size) * (-1))\n        change x by ((font size) * (-1))\n        change y by ((font size) * (0.5))\n        change x by (font size)\n        pen up\n        change y by ((font size) * (-0.5))\n    end\n    if <(character) = [b]> then\n        change y by ((font size) * (2))\n        pen down\n        change y by ((font size) * (-2))\n        change x by (font size)\n        change y by (font size)\n        change x by ((font size) * (-1))\n        pen up\n        change y by ((font size) * (-1))\n        change x by (font size)\n    end\n    if <(character) = [c]> then\n        change x by (font size)\n        pen down\n        change x by ((font size) * (-1))\n        change y by (font size)\n        change x by (font size)\n        pen up\n        change y by ((font size) * (-1))\n    end\n    if <(character) = [d]> then\n        change y by ((font size) * (2))\n        change x by (font size)\n        pen down\n        change y by ((font size) * (-2))\n        change x by ((font size) * (-1))\n        change y by (font size)\n        change x by (font size)\n        pen up\n        change y by ((font size) * (-1))\n    end\n    if <(character) = [e]> then\n        change x by (font size)\n        pen down\n        change x by ((font size) * (-1))\n        change y by (font size)\n        change x by (font size)\n        change y by ((font size) * (-0.5))\n        change x by ((font size) * (-1))\n        pen up\n        change x by (font size)\n        change y by ((font size) * (-0.5))\n    end\n    if <(character) = [f]> then\n        change x by (font size)\n        change y by (font size)\n        pen down\n        change x by ((font size) * (-1))\n        change y by ((font size) * (-1.5))\n        change y by (font size)\n        change x by (font size)\n        pen up\n        change y by ((font size) * (-0.5))\n    end\n    if <(character) = [g]> then\n        change x by (font size)\n        pen down\n        change x by ((font size) * (-1))\n        change y by (font size)\n        change x by (font size)\n        change y by ((font size) * (-1.5))\n        change x by ((font size) * (-1))\n        pen up\n        change y by ((font size) * (0.5))\n        change x by (font size)\n    end\n    if <(character) = [h]> then\n        pen down\n        change y by ((font size) * (2))\n        change y by ((font size) * (-1))\n        change x by (font size)\n        change y by ((font size) * (-1))\n        pen up\n    end\n    if <(character) = [i]> then\n        change x by ((font size) * (0.5))\n        pen down\n        change y by (font size)\n        pen up\n        change y by ((font size) * (0.5))\n        pen down\n        pen up\n        change x by ((font size) * (0.5))\n        change y by ((font size) * (-1.5))\n    end\n    if <(character) = [j]> then\n        change x by ((font size) * (0.5))\n        pen down\n        change y by (font size)\n        pen up\n        change y by ((font size) * (0.5))\n        pen down\n        pen up\n        change y by ((font size) * (-1.5))\n        pen down\n        change y by ((font size) * (-0.5))\n        change x by ((font size) * (-0.5))\n        pen up\n        change x by (font size)\n        change y by ((font size) * (0.5))\n    end\n    if <(character) = [k]> then\n        pen down\n        change y by ((font size) * (1.5))\n        pen up\n        change y by ((font size) * (-1))\n        pen down\n        go to x: ((x position) + (font size)) y: ((y position) + ((font size) * (0.5)))\n        pen up\n        change y by ((font size) * (-1))\n        pen down\n        go to x: ((x position) + ((font size) * (-1))) y: ((y position) + ((font size) * (0.5)))\n        pen up\n        change x by (font size)\n        change y by ((font size) * (-0.5))\n    end\n    if <(character) = [l]> then\n        change x by (font size)\n        pen down\n        change x by ((font size) * (-1))\n        change y by (font size)\n        pen up\n        change x by (font size)\n        change y by ((font size) * (-1))\n    end\n    if <(character) = [m]> then\n        pen down\n        change y by (font size)\n        change x by (font size)\n        change y by ((font size) * (-1))\n        pen up\n        change x by ((font size) * (-0.5))\n        pen down\n        change y by (font size)\n        pen up\n        change x by ((font size) * (0.5))\n        change y by ((font size) * (-1))\n    end\n    if <(character) = [n]> then\n        pen down\n        change y by (font size)\n        change x by (font size)\n        change y by ((font size) * (-1))\n        pen up\n    end\n    if <(character) = [o]> then\n        pen down\n        change y by (font size)\n        change x by (font size)\n        change y by ((font size) * (-1))\n        change x by ((font size) * (-1))\n        pen up\n        change x by (font size)\n    end\n    if <(character) = [p]> then\n        change y by ((font size) * (-0.5))\n        pen down\n        change y by ((font size) * (1.5))\n        change x by (font size)\n        change y by ((font size) * (-1))\n        change x by ((font size) * (-1))\n        pen up\n        change x by (font size)\n    end\n    if <(character) = [q]> then\n        change x by (font size)\n        pen down\n        change x by ((font size) * (-1))\n        change y by (font size)\n        change x by (font size)\n        change y by ((font size) * (-1.5))\n        pen up\n        change y by ((font size) * (0.5))\n    end\n    if <(character) = [r]> then\n        pen down\n        change y by (font size)\n        change x by (font size)\n        pen up\n        change y by ((font size) * (-1))\n    end\n    if <(character) = [s]> then\n        pen down\n        change x by (font size)\n        change y by ((font size) * (0.5))\n        change x by ((font size) * (-1))\n        change y by ((font size) * (0.5))\n        change x by (font size)\n        pen up\n        change y by ((font size) * (-1))\n    end\n    if <(character) = [t]> then\n        change y by ((font size) * (2))\n        pen down\n        change y by ((font size) * (-2))\n        change x by (font size)\n        pen up\n        change x by ((font size) * (-1))\n        change y by (font size)\n        pen down\n        change x by (font size)\n        pen up\n        change y by ((font size) * (-1))\n    end\n    if <(character) = [u]> then\n        change y by (font size)\n        pen down\n        change y by ((font size) * (-1))\n        change x by (font size)\n        change y by (font size)\n        pen up\n        change y by ((font size) * (-1))\n    end\n    if <(character) = [v]> then\n        change y by (font size)\n        pen down\n        go to x: ((x position) + ((font size) * (0.5))) y: ((y position) + ((font size) * (-1)))\n        go to x: ((x position) + ((font size) * (0.5))) y: ((y position) + (font size))\n        pen up\n        change y by ((font size) * (-1))\n    end\n    if <(character) = [w]> then\n        change y by (font size)\n        pen down\n        change y by ((font size) * (-1))\n        change x by (font size)\n        change y by (font size)\n        pen up\n        change x by ((font size) * (-0.5))\n        pen down\n        change y by ((font size) * (-1))\n        pen up\n        change x by ((font size) * (0.5))\n    end\n    if <(character) = [x]> then\n        pen down\n        go to x: ((x position) + (font size)) y: ((y position) + (font size))\n        pen up\n        change x by ((font size) * (-1))\n        pen down\n        go to x: ((x position) + (font size)) y: ((y position) + ((font size) * (-1)))\n        pen up\n    end\n    if <(character) = [y]> then\n        pen down\n        change y by (font size)\n        pen up\n        change y by ((font size) * (-1))\n        pen down\n        change x by (font size)\n        change y by (font size)\n        pen up\n        change y by ((font size) * (-1))\n        pen down\n        change y by ((font size) * (-0.5))\n        change x by ((font size) * (-1))\n        pen up\n        change x by (font size)\n        change y by ((font size) * (0.5))\n    end\n    if <(character) = [z]> then\n        change y by (font size)\n        pen down\n        change x by (font size)\n        go to x: ((x position) + ((font size) * (-1))) y: ((y position) + ((font size) * (-1)))\n        change x by (font size)\n        pen up\n    end\nend\nif <(character) = [0]> then\n    change x by (font size)\n    pen down\n    change x by ((font size) * (-1))\n    change y by ((font size) * (2))\n    change x by (font size)\n    change y by ((font size) * (-2))\n    go to x: ((x position) + ((font size) * (-1))) y: ((y position) + ((font size) * (2)))\n    pen up\n    go to x: ((x position) + (font size)) y: ((y position) + ((font size) * (-2)))\nend\nif <(character) = [1]> then\n    pen down\n    change x by (font size)\n    change x by ((font size) * (-0.5))\n    change y by ((font size) * (2))\n    change x by ((font size) * (-0.5))\n    pen up\n    change x by (font size)\n    change y by ((font size) * (-2))\nend\nif <(character) = [2]> then\n    change x by (font size)\n    pen down\n    change x by ((font size) * (-1))\n    change y by (font size)\n    change x by (font size)\n    change y by (font size)\n    change x by ((font size) * (-1))\n    pen up\n    change x by (font size)\n    change y by ((font size) * (-2))\nend\nif <(character) = [3]> then\n    pen down\n    change x by (font size)\n    change y by ((font size) * (2))\n    change x by ((font size) * (-1))\n    pen up\n    change y by ((font size) * (-1))\n    pen down\n    change x by (font size)\n    pen up\n    change y by ((font size) * (-1))\nend\nif <(character) = [4]> then\n    change x by (font size)\n    pen down\n    change y by ((font size) * (2))\n    change y by ((font size) * (-1))\n    change x by ((font size) * (-1))\n    change y by (font size)\n    pen up\nend\nif <(character) = [5]> then\n    pen down\n    change x by (font size)\n    change y by (font size)\n    change x by ((font size) * (-1))\n    change y by (font size)\n    change x by (font size)\n    pen up\nend\nif <(character) = [6]> then\n    change y by (font size)\n    pen down\n    change x by (font size)\n    change y by ((font size) * (-1))\n    change x by ((font size) * (-1))\n    change y by ((font size) * (2))\n    change x by (font size)\n    pen up\nend\nif <(character) = [7]> then\n    change x by (font size)\n    pen down\n    change y by ((font size) * (2))\n    change x by ((font size) * (-1))\n    pen up\nend\nif <(character) = [8]> then\n    pen down\n    change x by (font size)\n    change y by ((font size) * (2))\n    change x by ((font size) * (-1))\n    change y by ((font size) * (-2))\n    change y by (font size)\n    change x by (font size)\n    pen up\nend\nif <(character) = [9]> then\n    pen down\n    change x by (font size)\n    change y by ((font size) * (2))\n    change x by ((font size) * (-1))\n    change y by ((font size) * (-1))\n    change x by (font size)\n    pen up\nend\nif <(character) = [.]> then\n    pen down\n    pen up\nend\nif <(character) = [']> then\n    change y by ((font size) * (2))\n    pen down\n    change y by ((font size) * (-0.4))\n    pen up\nend\nif <(character) = [,]> then\n    pen down\n    change y by ((font size) * (-0.4))\n    pen up\nend\nif <(character) = [!]> then\n    change x by ((font size) * (0.5))\n    pen down\n    pen up\n    change y by ((font size) * (0.5))\n    pen down\n    change y by (font size)\n    pen up\nend\nif <(character) = [?]> then\n    change x by ((font size) * (0.5))\n    pen down\n    pen up\n    change y by ((font size) * (0.5))\n    pen down\n    change y by ((font size) * (0.5))\n    change x by ((font size) * (0.5))\n    change y by ((font size) * (0.5))\n    change x by ((font size) * (-1))\n    pen up\nend\n\ndefine Set Camera\nset [camera x v] to ((X Position) + ((([sin v] of ((X Direction) + (180)) ) * (25)) * ([cos v] of (Y Direction) )))\nset [camera y v] to ((Y Position) + (([sin v] of ((Y Direction) + (180)) ) * (25)))\nset [camera z v] to ((Z Position) + ((([cos v] of ((X Direction) + (180)) ) * (25)) * ([cos v] of (Y Direction) )))\n\ndefine Draw Stuff\nDraw Backdrop\nDraw Platform (0) (0) (0) (20) (20)\nset pen color to (#ffe8e8)\nset pen size to (4)\nType [=w=o=r=l=d] (-170) (100) (30)\nType [=o=f] (50) (25) (24)\nset pen color to (#003fff)\nType [=p=l=a=t=f=o=r=m=s] (-195) (-80) (30)\nset pen color to (#ffffff)\nType [3=d] (160) (110) (24)\nWorld\nset pen color to (#ffffff)\ngo to x: (140) y: (180)\npen down\nchange y by (-90)\nchange x by (100)\npen up\nset pen size to (2)\n\ndefine World\nset [angle v] to [90]\nset pen color to (#009933)\ngo to x: ((([sin v] of (Angle) ) * (200)) - (80)) y: ((([cos v] of (Angle) ) * (200)) + (250))\npen down\nrepeat (150)\n    change [angle v] by (1)\n    go to x: ((([sin v] of (Angle) ) * (200)) - (80)) y: ((([cos v] of (Angle) ) * (200)) + (250))\nend\npen up\n\ndefine Reset\nhide\nset [x position v] to [0]\nset [y position v] to [1]\nset [z position v] to [0]\nset [x velocity v] to [0]\nset [y velocity v] to [0]\nset [z velocity v] to [0]\nset [x direction v] to [25]\nset [y direction v] to [-25]\nset [x dirvel v] to [0]\nset [y dirvel v] to [0]\nForm Map (Level)\n\ndefine Draw\nDraw Backdrop\nDraw Platforms\nDraw Flag (Flag X) (Flag Y) (Flag Z)\nset pen color to (#ffffff)\nGo To (X Position) (Y Position) (Z Position) (5)\npen down\npen up\nset pen size to (2)\nType (join (join [LEVEL: ] (Level)) (Words)) (-230) (155) (10)\nType [100% PEN BY SUPERCUBE!] (-230) (-170) (10)\n\ndefine Control\nif <[-20] < (Y Position)> then\n    if <key (right arrow v) pressed?> then\n        change [x dirvel v] by (1)\n    end\n    if <key (left arrow v) pressed?> then\n        change [x dirvel v] by (-1)\n    end\n    if <key (up arrow v) pressed?> then\n        change [y dirvel v] by (1)\n    end\n    if <key (down arrow v) pressed?> then\n        change [y dirvel v] by (-1)\n    end\n    set [x dirvel v] to ((X Dirvel) * (0.85))\n    set [y dirvel v] to ((Y Dirvel) * (0.85))\n    change [x direction v] by (X Dirvel)\n    change [y direction v] by (Y Dirvel)\n    if <(Y Direction) < [-80]> then\n        set [y dirvel v] to [0]\n        set [y direction v] to [-80]\n    end\n    if <[-10] < (Y Direction)> then\n        set [y dirvel v] to [0]\n        set [y direction v] to [-10]\n    end\n    if <key (w v) pressed?> then\n        change [x velocity v] by (([sin v] of (X Direction) ) * (0.2))\n        change [z velocity v] by (([cos v] of (X Direction) ) * (0.2))\n    end\n    if <key (s v) pressed?> then\n        change [x velocity v] by (([sin v] of (X Direction) ) * (-0.2))\n        change [z velocity v] by (([cos v] of (X Direction) ) * (-0.2))\n    end\n    if <key (d v) pressed?> then\n        change [x velocity v] by (([sin v] of ((X Direction) + (90)) ) * (0.2))\n        change [z velocity v] by (([cos v] of ((X Direction) + (90)) ) * (0.2))\n    end\n    if <key (a v) pressed?> then\n        change [x velocity v] by (([sin v] of ((X Direction) + (90)) ) * (-0.2))\n        change [z velocity v] by (([cos v] of ((X Direction) + (90)) ) * (-0.2))\n    end\n    set [x velocity v] to ((X Velocity) * (0.9))\n    set [z velocity v] to ((Z Velocity) * (0.9))\n    change [x position v] by (X Velocity)\n    change [z position v] by (Z Velocity)\n    Gravity + Collision\n    Set Camera\nelse\n    set [x velocity v] to ((X Velocity) * (0.9))\n    set [z velocity v] to ((Z Velocity) * (0.9))\n    change [x position v] by (X Velocity)\n    change [z position v] by (Z Velocity)\n    Gravity + Collision\nend\n\ndefine Form Map (n)\nset [level v] to (n)\ndelete (all) of [platforms v]\nAdd Platform (0) (0) (0) (20) (20)\nSet Flag (0) (-150) (0)\nif <(n) = [1]> then\n    Add Platform (0) (0) (40) (20) (20)\n    Set Flag (0) (0) (40)\n    set [words v] to [ TUTORIAL 1  WASD space]\nend\nif <(n) = [2]> then\n    Add Platform (0) (0) (40) (10) (10)\n    Add Platform (-20) (10) (50) (20) (20)\n    Set Flag (-20) (20) (50)\n    set [words v] to [  TUTORIAL 2  arrow keys]\nend\nif <(n) = [3]> then\n    Add Platform (0) (10) (0) (17) (17)\n    Add Platform (0) (20) (0) (14) (14)\n    Add Platform (0) (30) (0) (11) (11)\n    Add Platform (0) (40) (0) (8) (8)\n    Add Platform (0) (50) (0) (5) (5)\n    Add Platform (0) (60) (0) (2) (2)\n    Set Flag (0) (75) (0)\n    set [words v] to [  TUTORIAL 3  just jump!]\nend\nif <(n) = [4]> then\n    Add Platform (0) (10) (10) (5) (5)\n    Add Platform (-10) (20) (0) (10) (10)\n    Add Platform (-70) (-20) (0) (10) (10)\n    Set Flag (-70) (-20) (0)\n    set [words v] to [  First mission]\nend\nif <(n) = [5]> then\n    Add Platform (0) (-20) (10) (8) (8)\n    Add Platform (-40) (-30) (0) (10) (10)\n    Set Flag (-40) (-30) (0)\n    set [words v] to [  Sounds simple]\nend\nif <(n) = [6]> then\n    Add Platform (0) (10) (20) (10) (10)\n    Add Platform (-20) (20) (40) (8) (8)\n    Add Platform (-40) (30) (60) (20) (10)\n    Add Platform (-40) (40) (60) (8) (8)\n    Add Platform (-40) (50) (60) (10) (10)\n    Set Flag (-40) (60) (60)\n    set [words v] to [  Sounds simple too]\nend\nif <(n) = [7]> then\n    Add Platform (0) (0) (50) (20) (40)\n    Add Platform (0) (-10) (140) (40) (20)\n    Add Platform (40) (0) (150) (20) (20)\n    Add Platform (120) (-10) (150) (20) (20)\n    Add Platform (120) (0) (210) (20) (60)\n    Set Flag (120) (0) (230)\nend\nif <(n) = [8]> then\n    Add Platform (10) (-15) (80) (40) (20)\n    Add Platform (10) (-5) (120) (20) (20)\n    Add Platform (10) (0) (180) (30) (20)\n    Add Platform (50) (10) (180) (20) (20)\n    Add Platform (130) (0) (180) (20) (20)\n    Add Platform (130) (0) (250) (20) (60)\n    Set Flag (130) (0) (270)\n    set [words v] to [  Really possible]\nend\nif <(n) = [9]> then\n    broadcast (message1 v) and wait\n    stop [all v]\nend\n\ndefine Go To (x) (y) (z) (xa) (ya) (xp) (yp) (zp) (s)\nset pen size to (((s) * (50)) / ([sqrt v] of (((((x) - (xp)) * ((x) - (xp))) + (((y) - (yp)) * ((y) - (yp)))) + (((z) - (zp)) * ((z) - (zp)))) ))\nif <[0] < ((([cos v] of ((ya) * (-1)) ) * ((([cos v] of (xa) ) * ((z) - (zp))) + (([sin v] of (xa) ) * ((x) - (xp))))) - (([sin v] of ((ya) * (-1)) ) * ((y) - (yp))))> then\n    go to x: (((([cos v] of (xa) ) * ((x) - (xp))) - (([sin v] of (xa) ) * ((z) - (zp)))) * ((240) / ((([cos v] of ((ya) * (-1)) ) * ((([cos v] of (xa) ) * ((z) - (zp))) + (([sin v] of (xa) ) * ((x) - (xp))))) - (([sin v] of ((ya) * (-1)) ) * ((y) - (yp)))))) y: (((([sin v] of ((ya) * (-1)) ) * ((([cos v] of (xa) ) * ((z) - (zp))) + (([sin v] of (xa) ) * ((x) - (xp))))) + (([cos v] of ((ya) * (-1)) ) * ((y) - (yp)))) * ((240) / ((([cos v] of ((ya) * (-1)) ) * ((([cos v] of (xa) ) * ((z) - (zp))) + (([sin v] of (xa) ) * ((x) - (xp))))) - (([sin v] of ((ya) * (-1)) ) * ((y) - (yp))))))\nend\n\nset pen color to (#ff0e0e)\nset pen color to (#ffe900)\nset pen color to (#22f100)\nset pen color to (#0065ff)\n\nset pen color to (#ff0e0e)\nset pen color to (#ffe900)\nset pen color to (#22f100)\nset pen color to (#0065ff)\n\ndefine Type (string) (x) (y) (font size)\nif <not <(letter (length of (string)) of (string)) = [=]>> then\n    set [count v] to [0]\n    set [xposition v] to ((x) - ((font size) * (1.5)))\n    set [yposition v] to (y)\n    repeat until <(Count) = (length of (string))>\n        change [count v] by (1)\n        if <(letter (Count) of (string)) = [ ]> then\n            set [extracount v] to [1]\n            repeat until <<(letter ((Count) + (ExtraCount)) of (string)) = [ ]> or <<(letter ((Count) + (ExtraCount)) of (string)) = (letter (length of (string)) of (string))> or <(length of (string)) < ((Count) + (ExtraCount))>>>\n                change [extracount v] by (1)\n            end\n            if <((240) - (font size)) < ((xPosition) + (((1.5) * (font size)) * (ExtraCount)))> then\n                change [yposition v] by ((font size) * (-3))\n                set [xposition v] to ((x) - ((font size) * (1.5)))\n                change [count v] by (1)\n            end\n        end\n        change [xposition v] by ((font size) * (1.5))\n        if <(letter (Count) of (string)) = [=]> then\n            change [count v] by (1)\n            Type (letter (Count) of (string)) at (xPosition) (yPosition) with a font size of (font size) . Capital=1, Lower Case=0: (1)\n        else\n            Type (letter (Count) of (string)) at (xPosition) (yPosition) with a font size of (font size) . Capital=1, Lower Case=0: (0)\n        end\n    end\nend\n\ndefine background generate (count)\nrepeat (10)\n    Add Platform (1) (1) (1) (1) (1)\nend\n\nAdd Platform (0) (-10) (80) (40) (20)\nAdd Platform (-40) (-5) (130) (20) (20)\nAdd Platform (0) (0) (170) (20) (20)\nAdd Platform (0) (8) (220) (40) (20)\nAdd Platform (80) (8) (240) (40) (10)\nAdd Platform (120) (8) (200) (40) (5)\nAdd Platform (200) (0) (240) (60) (5)\nAdd Platform (260) (0) (240) (20) (40)\nSet Flag (260) (0) (250)\n\nAdd Platform (0) (0) (40) (5) (5)\nAdd Platform (-10) (10) (70) (5) (5)\nAdd Platform (0) (0) (135) (5) (5)\nAdd Platform (0) (0) (190) (5) (5)\nAdd Platform (0) (0) (260) (20) (60)\nSet Flag (0) (0) (280)\nset [words v] to [  It is possible!]\n\ndefine Menu\n\nAdd Platform (0) (0) (40) (19) (19)\nAdd Platform (0) (0) (40) (18) (18)\nAdd Platform (0) (0) (40) (17) (17)\nAdd Platform (0) (0) (40) (16) (16)\nAdd Platform (0) (0) (40) (15) (15)\nAdd Platform (0) (0) (40) (14) (14)\nAdd Platform (0) (0) (40) (13) (13)\nAdd Platform (0) (0) (40) (12) (12)\nAdd Platform (0) (0) (40) (11) (11)\nAdd Platform (0) (0) (40) (10) (10)\nAdd Platform (0) (0) (40) (9) (9)\nAdd Platform (0) (0) (40) (8) (8)\nAdd Platform (0) (0) (40) (7) (7)\nAdd Platform (0) (0) (40) (6) (6)\nAdd Platform (0) (0) (40) (5) (5)\nAdd Platform (0) (0) (40) (4) (4)\nAdd Platform (0) (0) (40) (3) (3)\nAdd Platform (0) (0) (40) (2) (2)\nAdd Platform (0) (0) (40) (1) (1)\n\n@Thumbnail\n\nwhen flag clicked\ngo to x: (0) y: (0)\nforever\n    set [ghost v] effect to (100)\n    go to [front v] layer\n    show\nend\n\n@end\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [message1 v]\ngo to [front v] layer\nshow\nstop [all v]\n\n
   -3D PLATFORMER WITH 100% PEN-\nPlease love, fav and follow! \nInstructions:\n-WASD keys to move\n-Arrow keys to rotate\n-Space key to jump\n