Jump.io2 || Rotateable Platformer || 100% Pen #Games #Pen #Platformer #All

Instructions: Greetings Scratchers! (Instructions below)\nMy second version of Jump.io, this one is more efficient hand has got many minor improvements.\nIdeas for my next Jump.io version, or just want to stay updated for Jump.io 3? Then come here:\nhttps://scratch.mit.edu/studios/28585953/projects/\n\nTipp: \nPlay here: \nhttps://turbowarp.org/471986309\n\nInstructions: \n- WSDA to move\n- Arrowkeys to look around\n- Greenflag to start the game\n- Like and Star for more games like this, and a Follow to stay updated

@Stage\n\n@Pen Engine\n\ndefine Sun (x) (y)\nset pen size to (7)\nset pen color to (#e4d131)\nset [sunsize v] to [3]\nCircle (x) (y) (SunSize)\nrepeat ((Size) + (40))\n    change [sunsize v] by ((5) + (Movement))\n    change pen (color v) by ((Warmth) / (1000))\n    change pen (transparency v) by ((Size) / (10))\n    change pen (brightness v) by ((Brightness) / (-100))\n    Circle (x) (y) (SunSize)\nend\n\ndefine LobbyGrid (size)\nset [gridx v] to (((round ((ScrollX) / (size))) * (size)) - (ScrollX))\nset [gridy v] to (((round ((ScrollY) / (size))) * (size)) - (ScrollY))\nchange [gridx v] by (-240)\nchange [gridy v] by (-180)\nset pen color to (#d8d8d8)\nset pen size to (5)\nrepeat (((480) / (size)) + (1))\n    pen up\n    go to x: (GridX) y: (180)\n    pen down\n    go to x: (GridX) y: (-180)\n    change [gridx v] by (size)\nend\nrepeat (((360) / (size)) + (1))\n    pen up\n    go to x: (-240) y: (GridY)\n    pen down\n    go to x: (240) y: (GridY)\n    change [gridy v] by (size)\nend\npen up\ngo to x: (0) y: (0)\n\nwhen flag clicked\nLETTER_NAME-SETUP\nLETTER_AIRGAP_SETUP\nset [mode v] to [Game]\nset [checkpoint v] to [1]\nhide\nLVL1\nforever\n    if <(Mode) = [Thumbnail]> then\n        erase all\n        set pen color to (#e6e6e6)\n        Background\n        LobbyGrid [100]\n        Colour SBCT [80] [70] [] [0] PenSize [10]\n        Saw [60] [-80] ((Colour) * (8)) [5]\n        Colour SBCT [90] [100] [] [0] PenSize [5]\n        Saw [60] [-80] ((Colour) * (8)) [5]\n        Colour SBCT [80] [100] [] [0] PenSize [6]\n        Saw [60] [-80] ((Colour) * (8)) [1]\n        Text [0] [50] [-----io] [400] [50] [] [3] [2]\n        Platform [80] [-100] [-45] [100] <[0] = [1]> <[0] = [0]>\n        Platform [-150] [-140] [30] [100] <[0] = [0]> <[0] = [0]>\n        Platform [-150] [160] [180] [200] <[0] = [1]> <[0] = [0]>\n        Sun [180] [-120]\n        Colour SBCT [100] [0] [100] [] PenSize [20]\n        Text [0] [50] [Jump--] [400] [50] [] [3] [2]\n        Colour SBCT [100] [75] [65] [] PenSize [15]\n        set pen color to (#2300b2)\n        set pen size to (15)\n        Text [0] [50] [Jump--] [400] [50] [] [3] [2]\n        set pen color to (#3300ff)\n        set pen size to (10)\n        Text [0] [50] [Jump--] [400] [50] [] [3] [2]\n        Colour SBCT [100] [0] [100] [] PenSize [20]\n        Text [0] [50] [-----io] [400] [50] [] [3] [2]\n        set pen color to (#b22323)\n        set pen size to (15)\n        Text [0] [50] [-----io] [400] [50] [] [3] [2]\n        set pen color to (#ff3232)\n        set pen size to (10)\n        Text [0] [50] [-----io] [400] [50] [] [3] [2]\n        Colour SBCT [100] [0] [100] [] PenSize [20]\n        Text [180] [-120] [2] [50] [70] [] [3] [2]\n        set pen color to (#b8a91c)\n        set pen size to (15)\n        Text [180] [-120] [2] [50] [70] [] [3] [2]\n        set pen color to (#ffe500)\n        set pen size to (10)\n        Text [180] [-120] [2] [50] [70] [] [3] [2]\n        set pen size to (20)\n        set pen color to (#000000)\n        pen up\n        go to x: (90) y: (30)\n        pen down\n        set pen size to (15)\n        set pen color to (#b22222)\n        pen up\n        go to x: (90) y: (30)\n        pen down\n        set pen size to (10)\n        set pen color to (#ff3131)\n        pen up\n        go to x: (90) y: (30)\n        pen down\n    end\n    if <(Mode) = [Game]> then\n        hide\n        set [colour v] to [0]\n        set [activeplatform v] to [1]\n        set [platformplayerx v] to [-50]\n        set [platformplayery v] to [100]\n        set [scrollx v] to (item (((Checkpoint) * (4)) + (-3)) of [platforms v])\n        set [scrolly v] to ((50) + (item (((Checkpoint) * (4)) + (-2)) of [platforms v]))\n        set [lastplatform v] to (ActivePlatform)\n        set [controlmode v] to [1]\n        set [xvol v] to [0]\n        set [yvol v] to [0]\n        set [angle v] to [0]\n        repeat until <not <(Mode) = [Game]>>\n            ActivePlatform\n            GravityConverter\n            Checkpoints\n            erase all\n            set pen color to (#e6e6e6)\n            Background\n            LobbyGrid [100]\n            Controls [10]\n            Movement\n            RenderSaw [] [] []\n            RenderPlatform\n            Player ((item ((ActivePlatform) + (2)) of [platforms v]) + (Angle)) [25] [2] []\n            set [angle v] to ((Angle) + (((() - (item ((ActivePlatform) + (2)) of [platforms v])) - (Angle)) / (10)))\n            change [colour v] by (1)\n            if <(PlatformPlayerY) < [-200]> then\n                set [mode v] to [Restart]\n            end\n            if <(Checkpoint) = [28]> then\n                set [mode v] to [TheEnd]\n            end\n        end\n    end\n    if <(Mode) = [Restart]> then\n        set [data v] to [0]\n        start sound [Whiz v]\n        wait (0.5) seconds\n        set [mode v] to [Game]\n    end\n    if <(Mode) = [TheEnd]> then\n        Colour SBCT [100] [0] [100] [] PenSize [20]\n        Text [0] [-100] [The-End] [400] [50] [] [3] [2]\n        Colour SBCT [0] [100] [100] [] PenSize [15]\n        Text [0] [-100] [The-End] [400] [50] [] [3] [2]\n        Colour SBCT [100] [0] [100] [] PenSize [5]\n        Text [0] [-150] [Like-Fave-and-follow-for-more] [400] [20] [] [3] [2]\n        Colour SBCT [100] [100] [0] [] PenSize [2]\n        Text [0] [-150] [Like-------------------------] [400] [20] [] [3] [2]\n        Colour SBCT [100] [100] [15] [] PenSize [2]\n        Text [0] [-150] [-----Fave--------------------] [400] [20] [] [3] [2]\n        Colour SBCT [50] [100] [50] [] PenSize [2]\n        Text [0] [-150] [--------------Follow---------] [400] [20] [] [3] [2]\n        wait (5) seconds\n        stop [all v]\n    end\nend\n\nadd [400] to [platforms v]\n\ndefine Rectangle (x) (y) (sx) (sy)\npen up\ngo to x: ((x) - ((sx) / (2))) y: ((y) - ((sy) / (2)))\npen down\ngo to x: ((x) - ((sx) / (2))) y: ((y) + ((sy) / (2)))\ngo to x: ((x) + ((sx) / (2))) y: ((y) + ((sy) / (2)))\ngo to x: ((x) + ((sx) / (2))) y: ((y) - ((sy) / (2)))\ngo to x: ((x) - ((sx) / (2))) y: ((y) - ((sy) / (2)))\n\ndefine Filled Rectangle (x) (y) (sx) (sy)\nset [fillx v] to [0]\nset [filly v] to [0]\nrepeat ((round ((sx) / (7))) + (1))\n    Rectangle (x) (y) ((sx) - (FillX)) ((sy) - (FillY))\n    change [fillx v] by (7)\n    change [filly v] by ((sy) / ((round ((sx) / (7))) + (1)))\nend\n\ndefine Buttonbase (x) (y) (xs) (ys) (framesize) (send) (changeable)\nif <<<(mouse x) > ((x) - ((xs) / (2)))> and <((x) + ((xs) / (2))) > (mouse x)>> and <<(mouse y) > ((y) - ((ys) / (2)))> and <((y) + ((ys) / (2))) > (mouse y)>>> then\n    set pen size to (framesize)\n    Filled Rectangle (x) (y) ((xs) - ((xs) / (7))) ((ys) - ((ys) / (7)))\n    if <mouse down?> then\n        if <(changeable) = [1]> then\n            start sound [Low Boing v]\n            wait until <not <mouse down?>>\n        else\n            set [mode v] to (send)\n            start sound [Low Boing v]\n        end\n    end\nelse\n    set pen size to (framesize)\n    Filled Rectangle (x) (y) (xs) (ys)\nend\n\ndefine Buttonframe (x) (y) (xs) (ys) (framesize)\nif <<<(mouse x) > ((x) - ((xs) / (2)))> and <((x) + ((xs) / (2))) > (mouse x)>> and <<(mouse y) > ((y) - ((ys) / (2)))> and <((y) + ((ys) / (2))) > (mouse y)>>> then\n    set pen size to (framesize)\n    Rectangle (x) (y) ((xs) - ((xs) / (7))) ((ys) - ((ys) / (7)))\nelse\n    set pen size to (framesize)\n    Rectangle (x) (y) (xs) (ys)\nend\n\ndefine Text (x) (y) (word) (xs) (ys) (xframe) (yframe) (gapinbetween)\nset [letterdata v] to [0]\nset [total_word_size v] to [1]\nrepeat (length of (word))\n    change [letterdata v] by (1)\n    change [total_word_size v] by (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])\nend\nchange [total_word_size v] by ((xframe) * (2))\nchange [total_word_size v] by (((length of (word)) - (1)) * (gapinbetween))\nset [letterdata v] to [0]\nrepeat (length of (word))\n    change [letterdata v] by (1)\n    set [word_size v] to [0]\n    change [word_size v] by (xframe)\n    change [word_size v] by (((LetterData) * (gapinbetween)) - ((gapinbetween) + (1)))\n    repeat (LetterData)\n        change [word_size v] by (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])\n    end\n    A (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [A]>\n    B (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [B]>\n    C (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [C]>\n    D (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [D]>\n    E (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [E]>\n    F (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [F]>\n    G (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [G]>\n    H (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [H]>\n    I (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [I]>\n    J (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [J]>\n    K (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [K]>\n    L (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [L]>\n    M (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [M]>\n    N (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [N]>\n    O (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [O]>\n    P (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [P]>\n    Q (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [Q]>\n    R (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [R]>\n    S (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [S]>\n    T (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [T]>\n    U (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [U]>\n    V (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [V]>\n    W (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [W]>\n    X (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [X]>\n    Y (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [Y]>\n    Z (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [Z]>\n    0 (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [0]>\n    1 (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [1]>\n    2 (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [2]>\n    3 (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [3]>\n    4 (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [4]>\n    5 (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [5]>\n    6 (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [6]>\n    7 (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [7]>\n    8 (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [8]>\n    9 (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [9]>\n    Percent (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [%]>\n    : (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [:]>\n    < (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [>]>\n    > (((x) - ((xs) / (2))) + (((xs) / (Total_Word_Size)) * (Word_Size))) (y) (((xs) / (Total_Word_Size)) * (item (item # of (letter (LetterData) of (word)) in [letter_name v]) of [letter_airgap v])) ((ys) - ((yframe) * (2))) <(letter (LetterData) of (word)) = [<]>\nend\n\ndefine LETTER_NAME-SETUP\ndelete all of [letter_name v]\nadd [0] to [letter_name v]\nadd [1] to [letter_name v]\nadd [2] to [letter_name v]\nadd [3] to [letter_name v]\nadd [4] to [letter_name v]\nadd [5] to [letter_name v]\nadd [6] to [letter_name v]\nadd [7] to [letter_name v]\nadd [8] to [letter_name v]\nadd [9] to [letter_name v]\nadd [A] to [letter_name v]\nadd [B] to [letter_name v]\nadd [C] to [letter_name v]\nadd [D] to [letter_name v]\nadd [E] to [letter_name v]\nadd [F] to [letter_name v]\nadd [G] to [letter_name v]\nadd [H] to [letter_name v]\nadd [I] to [letter_name v]\nadd [J] to [letter_name v]\nadd [K] to [letter_name v]\nadd [L] to [letter_name v]\nadd [M] to [letter_name v]\nadd [N] to [letter_name v]\nadd [O] to [letter_name v]\nadd [P] to [letter_name v]\nadd [Q] to [letter_name v]\nadd [R] to [letter_name v]\nadd [S] to [letter_name v]\nadd [T] to [letter_name v]\nadd [U] to [letter_name v]\nadd [V] to [letter_name v]\nadd [W] to [letter_name v]\nadd [X] to [letter_name v]\nadd [Y] to [letter_name v]\nadd [Z] to [letter_name v]\nadd [-] to [letter_name v]\nadd [%] to [letter_name v]\nadd [:] to [letter_name v]\nadd [>] to [letter_name v]\nadd [<] to [letter_name v]\n\ndefine LETTER_AIRGAP_SETUP\ndelete all of [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\nadd [3] to [letter_airgap v]\n\ndefine A (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    pen down\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    pen up\n    go to x: ((x) - ((xs) / (2))) y: (y)\n    pen down\n    go to x: ((x) + ((xs) / (2))) y: (y)\nend\n\ndefine B (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    pen down\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    go to x: (((x) - ((xs) / (2))) + (((xs) / (3)) * (2))) y: ((y) + ((ys) / (2)))\n    go to x: (((x) - ((xs) / (2))) + (((xs) / (3)) * (2))) y: (y)\n    pen up\n    go to x: ((x) - ((xs) / (2))) y: (y)\n    pen down\n    go to x: ((x) + ((xs) / (2))) y: (y)\n    go to x: ((x) + ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (2)))\nend\n\ndefine C (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) + ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    pen down\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: ((y) + ((ys) / (2)))\nend\n\ndefine D (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    pen down\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    go to x: (((x) - ((xs) / (2))) + (((xs) / (3)) * (2))) y: ((y) + ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: (((y) - ((ys) / (2))) + (((ys) / (5)) * (4)))\n    go to x: ((x) + ((xs) / (2))) y: (((y) - ((ys) / (2))) + (((ys) / (5)) * (1)))\n    go to x: (((x) - ((xs) / (2))) + (((xs) / (3)) * (2))) y: ((y) - ((ys) / (2)))\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (2)))\nend\n\ndefine E (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) + ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    pen down\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    pen up\n    go to x: ((x) + ((xs) / (2))) y: (y)\n    pen down\n    go to x: ((x) - ((xs) / (2))) y: (y)\nend\n\ndefine F (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    pen down\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    pen up\n    go to x: ((x) + ((xs) / (2))) y: (y)\n    pen down\n    go to x: ((x) - ((xs) / (2))) y: (y)\nend\n\ndefine G (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) + ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    pen down\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: (y)\n    go to x: (x) y: (y)\nend\n\ndefine H (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    pen down\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    pen up\n    go to x: ((x) + ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    pen down\n    go to x: ((x) + ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    pen up\n    go to x: ((x) + ((xs) / (2))) y: (y)\n    pen down\n    go to x: ((x) - ((xs) / (2))) y: (y)\nend\n\ndefine I (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: (x) y: ((y) - ((ys) / (2)))\n    pen down\n    go to x: (x) y: ((y) + ((ys) / (2)))\nend\n\ndefine J (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) + ((xs) / (6))) y: ((y) + ((ys) / (2)))\n    pen down\n    go to x: ((x) + ((xs) / (6))) y: ((y) - ((ys) / (2)))\n    go to x: ((x) - ((xs) / (6))) y: ((y) - ((ys) / (2)))\n    go to x: ((x) - ((xs) / (6))) y: ((y) - ((ys) / (4)))\nend\n\ndefine K (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    pen down\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    pen up\n    go to x: ((x) + ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    pen down\n    go to x: ((x) - ((xs) / (2))) y: (y)\n    go to x: ((x) + ((xs) / (2))) y: ((y) - ((ys) / (2)))\nend\n\ndefine L (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    pen down\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: ((y) - ((ys) / (2)))\nend\n\ndefine M (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    pen down\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    go to x: (x) y: ((y) - ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: ((y) - ((ys) / (2)))\nend\n\ndefine N (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    pen down\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: ((y) + ((ys) / (2)))\nend\n\ndefine O (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    pen down\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (2)))\nend\n\ndefine P (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    pen down\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: (y)\n    go to x: ((x) - ((xs) / (2))) y: (y)\nend\n\ndefine Q (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    pen down\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: (((y) - ((ys) / (2))) + (((ys) / (5)) * (2)))\n    go to x: (((x) - ((xs) / (2))) + (((xs) / (6)) * (4))) y: ((y) - ((ys) / (2)))\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    pen up\n    go to x: (((x) - ((xs) / (2))) + (((xs) / (6)) * (4))) y: (((y) - ((ys) / (2))) + (((ys) / (5)) * (2)))\n    pen down\n    go to x: ((x) + ((xs) / (2))) y: ((y) - ((ys) / (2)))\nend\n\ndefine R (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    pen down\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: (y)\n    go to x: ((x) - ((xs) / (2))) y: (y)\n    pen up\n    go to x: ((x) - ((xs) / (2))) y: (y)\n    pen down\n    go to x: ((x) + ((xs) / (2))) y: ((y) - ((ys) / (2)))\nend\n\ndefine S (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    pen down\n    go to x: ((x) + ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: (y)\n    go to x: ((x) - ((xs) / (2))) y: (y)\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: ((y) + ((ys) / (2)))\nend\n\ndefine T (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    pen down\n    go to x: ((x) + ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    pen up\n    go to x: (x) y: ((y) + ((ys) / (2)))\n    pen down\n    go to x: (x) y: ((y) - ((ys) / (2)))\nend\n\ndefine U (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    pen down\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: ((y) + ((ys) / (2)))\nend\n\ndefine V (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    pen down\n    go to x: (x) y: ((y) - ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: ((y) + ((ys) / (2)))\nend\n\ndefine W (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    pen down\n    go to x: (((x) - ((xs) / (2))) + (((xs) / (4)) * (1))) y: ((y) - ((ys) / (2)))\n    go to x: (x) y: ((y) + ((ys) / (2)))\n    go to x: (((x) - ((xs) / (2))) + (((xs) / (4)) * (3))) y: ((y) - ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: ((y) + ((ys) / (2)))\nend\n\ndefine X (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    pen down\n    go to x: ((x) + ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    pen up\n    go to x: ((x) + ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    pen down\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (2)))\nend\n\ndefine Y (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    pen down\n    go to x: (x) y: (y)\n    go to x: ((x) + ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    pen up\n    go to x: (x) y: ((y) - ((ys) / (2)))\n    pen down\n    go to x: (x) y: (y)\nend\n\ndefine Z (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    pen down\n    go to x: ((x) + ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: ((y) - ((ys) / (2)))\nend\n\ndefine ButtonText (x) (y) (xs) (ys) (text) (buttongap) (framegap) (framesize)\nif <<<(mouse x) > ((x) - ((xs) / (2)))> and <((x) + ((xs) / (2))) > (mouse x)>> and <<(mouse y) > ((y) - ((ys) / (2)))> and <((y) + ((ys) / (2))) > (mouse y)>>> then\n    set pen size to (framesize)\n    Text (x) (y) (text) ((xs) - ((xs) / (7))) ((ys) - ((ys) / (7))) (framegap) ((framegap) * (2)) (buttongap)\nelse\n    set pen size to (framesize)\n    Text (x) (y) (text) (xs) (ys) (framegap) ((framegap) * (2)) (buttongap)\nend\n\ndefine Button (x) (y) (xs) (ys) (text) (frame) (send) (framegap) (lettergap) (changeable?) (colour)\nif <(colour) = [1]> then\n    set pen color to (#30a200)\nelse\n    set pen color to (#ff0000)\nend\nif <(frame) > [5]> then\n    Buttonbase (x) (y) (xs) (ys) (frame) (send) (changeable?)\nelse\n    Buttonbase (x) (y) (xs) (ys) [5] (send) (changeable?)\nend\nif <(colour) = [1]> then\n    set pen color to (#000000)\nelse\n    set pen color to (#ffffff)\nend\nButtonframe (x) (y) (xs) (ys) (frame)\nset pen color to (#ffffff)\nButtonText (x) (y) (xs) (ys) (text) (lettergap) (framegap) [5]\nset pen color to (#000000)\nButtonText (x) (y) (xs) (ys) (text) (lettergap) (framegap) [2]\n\ndefine Background\nset pen size to (480)\npen up\ngo to x: (0) y: (-180)\npen down\ngo to x: (0) y: (180)\n\ndefine 1 (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) - ((xs) / (4))) y: ((y) + ((ys) / (4)))\n    pen down\n    go to x: ((x) + ((xs) / (4))) y: ((y) + ((ys) / (2)))\n    go to x: ((x) + ((xs) / (4))) y: ((y) - ((ys) / (2)))\nend\n\ndefine 2 (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) + ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    pen down\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    go to x: ((x) - ((xs) / (2))) y: (y)\n    go to x: ((x) + ((xs) / (2))) y: (y)\n    go to x: ((x) + ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (2)))\nend\n\ndefine 3 (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    pen down\n    go to x: ((x) + ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    pen up\n    go to x: ((x) - ((xs) / (2))) y: (y)\n    pen down\n    go to x: ((x) + ((xs) / (2))) y: (y)\nend\n\ndefine 4 (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) + ((xs) / (3))) y: ((y) - ((ys) / (2)))\n    pen down\n    go to x: ((x) + ((xs) / (3))) y: ((y) + ((ys) / (2)))\n    go to x: ((x) - ((xs) / (2))) y: (y)\n    go to x: ((x) + ((xs) / (2))) y: (y)\nend\n\ndefine 5 (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    pen down\n    go to x: ((x) + ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: (y)\n    go to x: ((x) - ((xs) / (2))) y: (y)\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: ((y) + ((ys) / (2)))\nend\n\ndefine 6 (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) + ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    pen down\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: (y)\n    go to x: ((x) - ((xs) / (2))) y: (y)\nend\n\ndefine 7 (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    pen down\n    go to x: ((x) + ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (2)))\nend\n\ndefine 8 (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    pen down\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    pen up\n    go to x: ((x) - ((xs) / (2))) y: (y)\n    pen down\n    go to x: ((x) + ((xs) / (2))) y: (y)\nend\n\ndefine 9 (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) + ((xs) / (2))) y: (y)\n    pen down\n    go to x: ((x) - ((xs) / (2))) y: (y)\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (2)))\nend\n\ndefine 0 (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    pen down\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    go to x: ((x) + ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (2)))\nend\n\ndefine Percent (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) + ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    pen down\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    pen up\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    pen down\n    go to x: ((x) - ((xs) / (3))) y: ((y) + ((ys) / (2)))\n    go to x: ((x) - ((xs) / (3))) y: ((y) + ((ys) / (3)))\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (3)))\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (2)))\n    pen up\n    go to x: ((x) + ((xs) / (2))) y: ((y) - ((ys) / (2)))\n    pen down\n    go to x: ((x) + ((xs) / (3))) y: ((y) - ((ys) / (2)))\n    go to x: ((x) + ((xs) / (3))) y: ((y) - ((ys) / (3)))\n    go to x: ((x) + ((xs) / (2))) y: ((y) - ((ys) / (3)))\n    go to x: ((x) + ((xs) / (2))) y: ((y) - ((ys) / (2)))\nend\n\ndefine : (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: (x) y: ((y) - ((ys) / (3)))\n    pen down\n    pen up\n    go to x: (x) y: ((y) + ((ys) / (3)))\n    pen down\nend\n\ndefine > (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) + ((xs) / (2))) y: ((y) + ((ys) / (3)))\n    pen down\n    go to x: ((x) - ((xs) / (2))) y: (y)\n    go to x: ((x) + ((xs) / (2))) y: ((y) - ((ys) / (3)))\nend\n\ndefine < (x) (y) (xs) (ys) <true?>\nif <true?> then\n    pen up\n    go to x: ((x) - ((xs) / (2))) y: ((y) + ((ys) / (3)))\n    pen down\n    go to x: ((x) + ((xs) / (2))) y: (y)\n    go to x: ((x) - ((xs) / (2))) y: ((y) - ((ys) / (3)))\nend\n\ndefine Line (x) (y) (angle) (size)\npen up\ngo to x: ((x) + (([sin v] of ((90) + (angle)) ) * (size))) y: ((y) + (([cos v] of ((90) + (angle)) ) * (size)))\npen down\ngo to x: ((x) + (([sin v] of ((270) + (angle)) ) * (size))) y: ((y) + (([cos v] of ((270) + (angle)) ) * (size)))\ngo to x: ((x) + (([sin v] of ((270) + (angle)) ) * (size))) y: ((y) + (([cos v] of ((270) + (angle)) ) * (size)))\n\ndefine Platform (x) (y) (angle) (size) <checkpoint> <active>\nif <<<[-500] < (x)> and <(x) < [500]>> and <<[-400] < (y)> and <(y) < [400]>>> then\n    if <checkpoint> then\n        if <active> then\n            Colour SBCT [100] [70] [15] [0] PenSize [15]\n        else\n            Colour SBCT [100] [70] [50] [0] PenSize [15]\n        end\n        Line ((x) + ((([sin v] of ((90) + (angle)) ) * (20)) + (([sin v] of ((0) + (angle)) ) * (100)))) ((y) + ((([cos v] of ((90) + (angle)) ) * (20)) + (([cos v] of ((0) + (angle)) ) * (100)))) ((angle) + (30)) [30]\n        Line ((x) + ((([sin v] of ((90) + (angle)) ) * (20)) + (([sin v] of ((0) + (angle)) ) * (70)))) ((y) + ((([cos v] of ((90) + (angle)) ) * (20)) + (([cos v] of ((0) + (angle)) ) * (70)))) ((angle) + (-30)) [30]\n        if <active> then\n            Colour SBCT [100] [100] [15] [0] PenSize [7]\n        else\n            Colour SBCT [100] [100] [50] [0] PenSize [7]\n        end\n        Line ((x) + ((([sin v] of ((90) + (angle)) ) * (20)) + (([sin v] of ((0) + (angle)) ) * (100)))) ((y) + ((([cos v] of ((90) + (angle)) ) * (20)) + (([cos v] of ((0) + (angle)) ) * (100)))) ((angle) + (30)) [30]\n        Line ((x) + ((([sin v] of ((90) + (angle)) ) * (20)) + (([sin v] of ((0) + (angle)) ) * (70)))) ((y) + ((([cos v] of ((90) + (angle)) ) * (20)) + (([cos v] of ((0) + (angle)) ) * (70)))) ((angle) + (-30)) [30]\n        Colour SBCT [100] [70] [60] [0] PenSize [15]\n        Line ((x) + (([sin v] of ((0) + (angle)) ) * (60))) ((y) + (([cos v] of ((0) + (angle)) ) * (60))) ((angle) + (90)) [60]\n    end\n    if <checkpoint> then\n        Colour SBCT [100] [100] [60] [0] PenSize [7]\n        Line ((x) + (([sin v] of ((0) + (angle)) ) * (60))) ((y) + (([cos v] of ((0) + (angle)) ) * (60))) ((angle) + (90)) [60]\n    end\n    PlatformRectangle (x) (y) (size) [30] (angle)\nend\n\nLine (x) (y) (angle) (size)\nColour SBCT [100] [100] [70] [0] PenSize [40]\nLine (x) (y) (angle) (size)\n\ndefine Colour SBCT (sarutation) (brightness) (colour) (transparency) PenSize (size)\nset pen size to (size)\nset pen (color v) to (colour)\nset pen (saturation v) to (sarutation)\nset pen (brightness v) to (brightness)\nset pen (transparency v) to (transparency)\n\ndefine Player (angle) (size) (y) (colour)\nColour SBCT [50] ((95) - ((colour) / (2))) [10] [0] PenSize [32]\npen up\ngo to x: (([sin v] of ((45) + (angle)) ) * ((size) - (30))) y: ((([cos v] of ((45) + (angle)) ) * ((size) - (30))) + (y))\npen down\ngo to x: (([sin v] of ((135) + (angle)) ) * ((size) - (30))) y: ((([cos v] of ((135) + (angle)) ) * ((size) - (30))) + (y))\ngo to x: (([sin v] of ((225) + (angle)) ) * ((size) - (30))) y: ((([cos v] of ((225) + (angle)) ) * ((size) - (30))) + (y))\ngo to x: (([sin v] of ((315) + (angle)) ) * ((size) - (30))) y: ((([cos v] of ((315) + (angle)) ) * ((size) - (30))) + (y))\ngo to x: (([sin v] of ((45) + (angle)) ) * ((size) - (30))) y: ((([cos v] of ((45) + (angle)) ) * ((size) - (30))) + (y))\nColour SBCT [100] ((100) - ((colour) / (2))) [10] [0] PenSize [5]\npen up\ngo to x: (([sin v] of ((45) + (angle)) ) * (size)) y: ((([cos v] of ((45) + (angle)) ) * (size)) + (y))\npen down\ngo to x: (([sin v] of ((135) + (angle)) ) * (size)) y: ((([cos v] of ((135) + (angle)) ) * (size)) + (y))\ngo to x: (([sin v] of ((225) + (angle)) ) * (size)) y: ((([cos v] of ((225) + (angle)) ) * (size)) + (y))\ngo to x: (([sin v] of ((315) + (angle)) ) * (size)) y: ((([cos v] of ((315) + (angle)) ) * (size)) + (y))\ngo to x: (([sin v] of ((45) + (angle)) ) * (size)) y: ((([cos v] of ((45) + (angle)) ) * (size)) + (y))\nColour SBCT [50] [100] [10] [100] PenSize [30]\npen up\ngo to x: (([sin v] of ((60) + (angle)) ) * ()) y: ((([cos v] of ((60) + (angle)) ) * ()) + (y))\npen down\n\ndefine GravityConverter\nset [player/platformdistance v] to ([sqrt v] of ((((item ((ActivePlatform) + ()) of [platforms v]) - (ScrollX)) * ((item ((ActivePlatform) + ()) of [platforms v]) - (ScrollX))) + (((item ((ActivePlatform) + (1)) of [platforms v]) - (ScrollY)) * ((item ((ActivePlatform) + (1)) of [platforms v]) - (ScrollY)))) )\nset [platformangledistancex v] to ((item ((ActivePlatform) + ()) of [platforms v]) + (([sin v] of (item ((ActivePlatform) + (2)) of [platforms v]) ) * (Player/PlatformDistance)))\nset [platformangledistancey v] to ((item ((ActivePlatform) + (1)) of [platforms v]) + (([cos v] of (item ((ActivePlatform) + (2)) of [platforms v]) ) * (Player/PlatformDistance)))\nset [player/padistance v] to (([sqrt v] of ((((PlatformAngleDistanceX) - (ScrollX)) * ((PlatformAngleDistanceX) - (ScrollX))) + (((PlatformAngleDistanceY) - (ScrollY)) * ((PlatformAngleDistanceY) - (ScrollY)))) ) / (2))\nset [player-pa/platformdistance v] to ([sqrt v] of (((Player/PlatformDistance) * (Player/PlatformDistance)) - ((Player/PADistance) * (Player/PADistance))) )\nset [angledifference v] to ((2) * ([atan v] of ((Player/PADistance) / (Player-PA/PlatformDistance)) ))\nset [0degreeplayerx v] to ((item ((ActivePlatform) + ()) of [platforms v]) + (([sin v] of (AngleDifference) ) * (Player/PlatformDistance)))\nset [0degreeplayery v] to ((item ((ActivePlatform) + (1)) of [platforms v]) + (([cos v] of (AngleDifference) ) * (Player/PlatformDistance)))\nset [platform-x v] to ([abs v] of ((ScrollX) - ((item ((ActivePlatform) + ()) of [platforms v]) + ((([sin v] of ((270) + (item ((ActivePlatform) + (2)) of [platforms v])) ) * ((0DegreePlayerX) - (item ((ActivePlatform) + ()) of [platforms v]))) + (([sin v] of ((0) + (item ((ActivePlatform) + (2)) of [platforms v])) ) * ((0DegreePlayerY) - (item ((ActivePlatform) + (1)) of [platforms v])))))) )\nset [platform+x v] to ([abs v] of ((ScrollX) - ((item ((ActivePlatform) + ()) of [platforms v]) + ((([sin v] of ((90) + (item ((ActivePlatform) + (2)) of [platforms v])) ) * ((0DegreePlayerX) - (item ((ActivePlatform) + ()) of [platforms v]))) + (([sin v] of ((0) + (item ((ActivePlatform) + (2)) of [platforms v])) ) * ((0DegreePlayerY) - (item ((ActivePlatform) + (1)) of [platforms v])))))) )\nif <(Platform-X) > (Platform+X)> then\n    set [platformplayerx v] to ((0DegreePlayerX) - (item ((ActivePlatform) + ()) of [platforms v]))\nend\nif <(Platform+X) > (Platform-X)> then\n    set [platformplayerx v] to ((0) - ((0DegreePlayerX) - (item ((ActivePlatform) + ()) of [platforms v])))\nend\nif <(item ((ActivePlatform) + (2)) of [platforms v]) = [90]> then\n    if <(ScrollY) > (item ((ActivePlatform) + (1)) of [platforms v])> then\n        set [platformplayerx v] to ((0) - ((0DegreePlayerX) - (item ((ActivePlatform) + ()) of [platforms v])))\n    else\n        set [platformplayerx v] to ((0DegreePlayerX) - (item ((ActivePlatform) + ()) of [platforms v]))\n    end\nend\nif <(item ((ActivePlatform) + (2)) of [platforms v]) = [-90]> then\n    if <(ScrollY) > (item ((ActivePlatform) + (1)) of [platforms v])> then\n        set [platformplayerx v] to ((0DegreePlayerX) - (item ((ActivePlatform) + ()) of [platforms v]))\n    else\n        set [platformplayerx v] to ((0) - ((0DegreePlayerX) - (item ((ActivePlatform) + ()) of [platforms v])))\n    end\nend\nset [platformplayery v] to ((0DegreePlayerY) - (item ((ActivePlatform) + (1)) of [platforms v]))\n\ndefine RenderPlatform\nset [data v] to [1]\nrepeat ((length of [platforms v]) / (4))\n    Platform (((([sin v] of ((Angle) + (90)) ) * (item ((Data) + (0)) of [platforms v])) + (([sin v] of (Angle) ) * (item ((Data) + (1)) of [platforms v]))) - (ScrollX2)) (((([cos v] of ((Angle) + (90)) ) * (item ((Data) + (0)) of [platforms v])) + (([cos v] of (Angle) ) * (item ((Data) + (1)) of [platforms v]))) - (ScrollY2)) ((item ((Data) + (2)) of [platforms v]) + (Angle)) (item ((Data) + (3)) of [platforms v]) <[checkpoints v] contains (((Data) + (-1)) / (4))?> <(Checkpoint) = (((Data) + (3)) / (4))>\n    change [data v] by (4)\nend\n\ndefine Movement\nset [scrollx v] to ((item ((ActivePlatform) + ()) of [platforms v]) + ((([sin v] of ((90) + (item ((ActivePlatform) + (2)) of [platforms v])) ) * (PlatformPlayerX)) + (([sin v] of ((0) + (item ((ActivePlatform) + (2)) of [platforms v])) ) * (PlatformPlayerY))))\nset [scrolly v] to ((item ((ActivePlatform) + (1)) of [platforms v]) + ((([cos v] of ((90) + (item ((ActivePlatform) + (2)) of [platforms v])) ) * (PlatformPlayerX)) + (([cos v] of ((0) + (item ((ActivePlatform) + (2)) of [platforms v])) ) * (PlatformPlayerY))))\nset [scrollx2 v] to ((([sin v] of ((Angle) + (90)) ) * (ScrollX)) + (([sin v] of ((Angle) + ()) ) * (ScrollY)))\nset [scrolly2 v] to ((([cos v] of ((Angle) + (90)) ) * (ScrollX)) + (([cos v] of ((Angle) + ()) ) * (ScrollY)))\n\ndefine Controls (xvol)\nif <key (right arrow v) pressed?> then\n    change [angle v] by (3)\nend\nif <key (left arrow v) pressed?> then\n    change [angle v] by (-3)\nend\nif <key (d v) pressed?> then\n    set [xvol v] to (xvol)\nend\nif <key (a v) pressed?> then\n    set [xvol v] to ((xvol) - ((xvol) * (2)))\nend\nif <key (w v) pressed?> then\n    if <(Jumps) < [2]> then\n        set [yvol v] to [12]\n        change [jumps v] by (1)\n        start sound [Low Boing v]\n    end\nend\nif <[-0.1] < (Yvol)> then\n    change [platformplayery v] by (Yvol)\nelse\n    change [platformplayery v] by (Yvol)\nend\nif <<<[0] < ((PlatformPlayerY) - (50))> or <(PlatformPlayerY) < [0]>> or <((([sin v] of (45) ) * (item ((ActivePlatform) + (3)) of [platforms v])) + (20)) < ([abs v] of (PlatformPlayerX) )>> then\n    change [yvol v] by (-1)\n    set [jumps v] to [5]\nelse\n    set [yvol v] to [0]\n    set [platformplayery v] to [45]\n    set [jumps v] to [0]\nend\nset [xvol v] to ((Xvol) * (0.9))\nchange [platformplayerx v] by (Xvol)\n\ndefine ActivePlatform\nif <(Yvol) < [0]> then\n    set [activeplatform v] to [1]\n    set [platformdata v] to [1]\n    set [closestplatform v] to (([abs v] of ((ScrollX) - (item ((PlatformData) + (0)) of [platforms v])) ) + ([abs v] of ((ScrollY) - (item ((PlatformData) + (1)) of [platforms v])) ))\n    repeat (((length of [platforms v]) / (4)) - (1))\n        change [platformdata v] by (4)\n        if <(([abs v] of ((ScrollX) - (item ((PlatformData) + (0)) of [platforms v])) ) + ([abs v] of ((ScrollY) - (item ((PlatformData) + (1)) of [platforms v])) )) < (ClosestPlatform)> then\n            set [activeplatform v] to (PlatformData)\n            set [closestplatform v] to (([abs v] of ((ScrollX) - (item ((PlatformData) + (0)) of [platforms v])) ) + ([abs v] of ((ScrollY) - (item ((PlatformData) + (1)) of [platforms v])) ))\n        end\n    end\nend\n\ndefine PlatformerText (x) (y) (value) (width)\nif <<[240] > ([abs v] of ((x) - (ScrollX)) )> and <[180] > ([abs v] of ((y) - (ScrollY)) )>> then\n    Colour SBCT [50] [100] ((Colour) + (50)) [0] PenSize [3]\n    Text ((x) - (ScrollX)) ((y) - (ScrollY)) (value) (width) [20] [] [] [3]\n    Colour SBCT [100] [100] ((Colour) + (50)) [0] PenSize [1]\n    Text ((x) - (ScrollX)) ((y) - (ScrollY)) (value) (width) [20] [] [] [3]\nend\n\ndefine Checkpoints\ndelete all of [checkpoints v]\nadd [0] to [checkpoints v]\nadd [9] to [checkpoints v]\nadd [19] to [checkpoints v]\nadd [27] to [checkpoints v]\nif <<[checkpoints v] contains ((((ActivePlatform) - (1)) / (4)) - (0))?> and <(Checkpoint) < (ActivePlatform)>> then\n    if <<[10] > ([abs v] of (PlatformPlayerX) )> and <(PlatformPlayerY) > [0]>> then\n        set [checkpoint v] to ((((ActivePlatform) - (1)) / (4)) - (-1))\n    end\nend\n\ndefine LVL1\ndelete all of [platforms v]\nadd [0] to [platforms v]\nadd [0] to [platforms v]\nadd [0] to [platforms v]\nadd [100] to [platforms v]\nadd [200] to [platforms v]\nadd [0] to [platforms v]\nadd [0] to [platforms v]\nadd [100] to [platforms v]\nadd [400] to [platforms v]\nadd [100] to [platforms v]\nadd [-45] to [platforms v]\nadd [100] to [platforms v]\nadd [500] to [platforms v]\nadd [300] to [platforms v]\nadd [-90] to [platforms v]\nadd [100] to [platforms v]\nadd [500] to [platforms v]\nadd [650] to [platforms v]\nadd [-90] to [platforms v]\nadd [150] to [platforms v]\nadd [500] to [platforms v]\nadd [1000] to [platforms v]\nadd [-90] to [platforms v]\nadd [150] to [platforms v]\nadd [500] to [platforms v]\nadd [1300] to [platforms v]\nadd [-90] to [platforms v]\nadd [75] to [platforms v]\nadd [600] to [platforms v]\nadd [1400] to [platforms v]\nadd [-45] to [platforms v]\nadd [100] to [platforms v]\nadd [700] to [platforms v]\nadd [1500] to [platforms v]\nadd [0] to [platforms v]\nadd [75] to [platforms v]\nadd [900] to [platforms v]\nadd [1500] to [platforms v]\nadd [0] to [platforms v]\nadd [100] to [platforms v]\nadd [1200] to [platforms v]\nadd [1500] to [platforms v]\nadd [0] to [platforms v]\nadd [100] to [platforms v]\nadd [1500] to [platforms v]\nadd [1500] to [platforms v]\nadd [0] to [platforms v]\nadd [150] to [platforms v]\nadd [1700] to [platforms v]\nadd [1700] to [platforms v]\nadd [180] to [platforms v]\nadd [150] to [platforms v]\nadd [1900] to [platforms v]\nadd [1500] to [platforms v]\nadd [0] to [platforms v]\nadd [150] to [platforms v]\nadd [2100] to [platforms v]\nadd [1700] to [platforms v]\nadd [180] to [platforms v]\nadd [150] to [platforms v]\nadd [2300] to [platforms v]\nadd [1500] to [platforms v]\nadd [0] to [platforms v]\nadd [150] to [platforms v]\nadd [2600] to [platforms v]\nadd [1500] to [platforms v]\nadd [0] to [platforms v]\nadd [25] to [platforms v]\nadd [2800] to [platforms v]\nadd [1500] to [platforms v]\nadd [0] to [platforms v]\nadd [25] to [platforms v]\nadd [3000] to [platforms v]\nadd [1500] to [platforms v]\nadd [0] to [platforms v]\nadd [25] to [platforms v]\nadd [3300] to [platforms v]\nadd [1500] to [platforms v]\nadd [0] to [platforms v]\nadd [150] to [platforms v]\nadd [3600] to [platforms v]\nadd [1500] to [platforms v]\nadd [0] to [platforms v]\nadd [150] to [platforms v]\nadd [3700] to [platforms v]\nadd [1700] to [platforms v]\nadd [225] to [platforms v]\nadd [150] to [platforms v]\nadd [3400] to [platforms v]\nadd [2000] to [platforms v]\nadd [225] to [platforms v]\nadd [200] to [platforms v]\nadd [3100] to [platforms v]\nadd [2100] to [platforms v]\nadd [135] to [platforms v]\nadd [75] to [platforms v]\nadd [2900] to [platforms v]\nadd [1900] to [platforms v]\nadd [135] to [platforms v]\nadd [25] to [platforms v]\nadd [2800] to [platforms v]\nadd [1800] to [platforms v]\nadd [135] to [platforms v]\nadd [75] to [platforms v]\nadd [2900] to [platforms v]\nadd [1700] to [platforms v]\nadd [0] to [platforms v]\nadd [75] to [platforms v]\nadd [3100] to [platforms v]\nadd [1700] to [platforms v]\nadd [0] to [platforms v]\nadd [75] to [platforms v]\ndelete all of [spikes v]\nadd [5] to [spikes v]\nadd [0] to [spikes v]\nadd [25] to [spikes v]\nadd [6] to [spikes v]\nadd [0] to [spikes v]\nadd [25] to [spikes v]\nadd [11] to [spikes v]\nadd [0] to [spikes v]\nadd [25] to [spikes v]\nadd [21] to [spikes v]\nadd [-75] to [spikes v]\nadd [25] to [spikes v]\nadd [21] to [spikes v]\nadd [75] to [spikes v]\nadd [25] to [spikes v]\nadd [23] to [spikes v]\nadd [-50] to [spikes v]\nadd [25] to [spikes v]\nadd [23] to [spikes v]\nadd [25] to [spikes v]\nadd [25] to [spikes v]\nadd [26] to [spikes v]\nadd [25] to [spikes v]\nadd [25] to [spikes v]\n\nadd [-350] to [platforms v]\nadd [180] to [platforms v]\nadd [40] to [platforms v]\n\ndefine Saw (x) (y) (angle) (size)\nif <<<[-400] < (x)> and <(x) < [400]>> and <<[-300] < (y)> and <(y) < [300]>>> then\n    set [radius v] to (angle)\n    set [radius2 v] to [5]\n    pen up\n    go to x: ((x) + (([sin v] of (Radius) ) * ((size) + (Radius2)))) y: ((y) + (([cos v] of (Radius) ) * ((size) + (Radius2))))\n    pen down\n    repeat (4)\n        change [radius v] by (10)\n        change [radius2 v] by (5)\n        go to x: ((x) + (([sin v] of (Radius) ) * ((size) + (Radius2)))) y: ((y) + (([cos v] of (Radius) ) * ((size) + (Radius2))))\n    end\n    set [radius2 v] to [0]\n    change [radius v] by (-10)\n    repeat (9)\n        repeat (5)\n            change [radius v] by (10)\n            change [radius2 v] by (5)\n            go to x: ((x) + (([sin v] of (Radius) ) * ((size) + (Radius2)))) y: ((y) + (([cos v] of (Radius) ) * ((size) + (Radius2))))\n        end\n        set [radius2 v] to [0]\n        change [radius v] by (-10)\n    end\n    set [radius2 v] to [5]\n    go to x: ((x) + (([sin v] of (Radius) ) * ((size) + (Radius2)))) y: ((y) + (([cos v] of (Radius) ) * ((size) + (Radius2))))\n    set [radius v] to (angle)\n    set [radius2 v] to (angle)\nend\n\ndefine RenderSaw (x) (y) (size)\nset [radius2 v] to [0]\nset [data v] to [1]\nrepeat ((length of [spikes v]) / (3))\n    set [anglespike v] to (item (((item ((Data) + (0)) of [spikes v]) * (4)) - (1)) of [platforms v])\n    set [spikelocplatform v] to (((item ((Data) + (0)) of [spikes v]) * (4)) - (3))\n    set [sawx v] to ((([sin v] of ((Angle) + (90)) ) * ((item (SpikeLocPlatform) of [platforms v]) + ((([sin v] of ((AngleSpike) + (90)) ) * (item ((Data) + (1)) of [spikes v])) + (([sin v] of (AngleSpike) ) * (item ((Data) + (2)) of [spikes v]))))) + (([sin v] of (Angle) ) * ((item ((SpikeLocPlatform) + (1)) of [platforms v]) + ((([cos v] of ((AngleSpike) + (90)) ) * (item ((Data) + (1)) of [spikes v])) + (([cos v] of (AngleSpike) ) * (item ((Data) + (2)) of [spikes v]))))))\n    set [sawy v] to ((([cos v] of ((Angle) + (90)) ) * ((item (SpikeLocPlatform) of [platforms v]) + ((([sin v] of ((AngleSpike) + (90)) ) * (item ((Data) + (1)) of [spikes v])) + (([sin v] of (AngleSpike) ) * (item ((Data) + (2)) of [spikes v]))))) + (([cos v] of (Angle) ) * ((item ((SpikeLocPlatform) + (1)) of [platforms v]) + ((([cos v] of ((AngleSpike) + (90)) ) * (item ((Data) + (1)) of [spikes v])) + (([cos v] of (AngleSpike) ) * (item ((Data) + (2)) of [spikes v]))))))\n    Colour SBCT [80] [70] [] [0] PenSize [10]\n    Saw ((SawX) - (ScrollX2)) ((SawY) - (ScrollY2)) ((Colour) * (8)) [5]\n    Colour SBCT [90] [100] [] [0] PenSize [5]\n    Saw ((SawX) - (ScrollX2)) ((SawY) - (ScrollY2)) ((Colour) * (8)) [5]\n    Colour SBCT [80] [100] [] [0] PenSize [6]\n    Saw ((SawX) - (ScrollX2)) ((SawY) - (ScrollY2)) ((Colour) * (8)) [1]\n    change [data v] by (3)\n    set [sawplayerdiagonal v] to ([sqrt v] of ((((SawX) - (ScrollX2)) * ((SawX) - (ScrollX2))) + (((SawY) - (ScrollY2)) * ((SawY) - (ScrollY2)))) )\n    if <(Mode) = [Game]> then\n        if <[50] > (SawPlayerDiagonal)> then\n            set [mode v] to [Restart]\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    play sound [Disfigure v] until done\nend\n\nset [checkpoint v] to [22]\n\nset [mode v] to [Thumbnail]\n\ndefine rotateable Rectangle (x) (y) (xs) (ys) (angle)\npen up\ngo to x: ((x) + ((([sin v] of ((angle) + (90)) ) * (([sin v] of (45) ) * (xs))) + (([sin v] of ((angle) + ()) ) * (([cos v] of (45) ) * (ys))))) y: ((y) + ((([cos v] of ((angle) + (90)) ) * (([sin v] of (45) ) * (xs))) + (([cos v] of ((angle) + ()) ) * (([cos v] of (45) ) * (ys)))))\npen down\ngo to x: ((x) + ((([sin v] of ((angle) + (90)) ) * (([sin v] of (135) ) * (xs))) + (([sin v] of ((angle) + ()) ) * (([cos v] of (135) ) * (ys))))) y: ((y) + ((([cos v] of ((angle) + (90)) ) * (([sin v] of (135) ) * (xs))) + (([cos v] of ((angle) + ()) ) * (([cos v] of (135) ) * (ys)))))\ngo to x: ((x) + ((([sin v] of ((angle) + (90)) ) * (([sin v] of (225) ) * (xs))) + (([sin v] of ((angle) + ()) ) * (([cos v] of (225) ) * (ys))))) y: ((y) + ((([cos v] of ((angle) + (90)) ) * (([sin v] of (225) ) * (xs))) + (([cos v] of ((angle) + ()) ) * (([cos v] of (225) ) * (ys)))))\ngo to x: ((x) + ((([sin v] of ((angle) + (90)) ) * (([sin v] of (315) ) * (xs))) + (([sin v] of ((angle) + ()) ) * (([cos v] of (315) ) * (ys))))) y: ((y) + ((([cos v] of ((angle) + (90)) ) * (([sin v] of (315) ) * (xs))) + (([cos v] of ((angle) + ()) ) * (([cos v] of (315) ) * (ys)))))\ngo to x: ((x) + ((([sin v] of ((angle) + (90)) ) * (([sin v] of (45) ) * (xs))) + (([sin v] of ((angle) + ()) ) * (([cos v] of (45) ) * (ys))))) y: ((y) + ((([cos v] of ((angle) + (90)) ) * (([sin v] of (45) ) * (xs))) + (([cos v] of ((angle) + ()) ) * (([cos v] of (45) ) * (ys)))))\n\ndefine PlatformRectangle (x) (y) (xs) (ys) (angle)\nColour SBCT [100] [100] [70] [0] PenSize [10]\nset [data2 v] to [0]\nrepeat (10)\n    rotateable Rectangle (x) (y) ((xs) - (5)) ((ys) - (Data2)) (angle)\n    change [data2 v] by (5)\nend\nColour SBCT [100] [70] [70] [0] PenSize [10]\nrotateable Rectangle (x) (y) (xs) (ys) (angle)\n\ngo to x: ((x) + ((([sin v] of (((angle) + (90)) + (180)) ) * (xs)) + (([cos v] of ((angle) + (180)) ) * (ys)))) y: ((y) + ((([cos v] of (((angle) + (90)) + (180)) ) * (xs)) + (([cos v] of ((angle) + (180)) ) * (ys))))\ngo to x: ((x) + ((([sin v] of (((angle) + (90)) + (270)) ) * (xs)) + (([cos v] of ((angle) + (270)) ) * (ys)))) y: ((y) + ((([cos v] of (((angle) + (90)) + (270)) ) * (xs)) + (([cos v] of ((angle) + (270)) ) * (ys))))\ngo to x: ((x) + ((([sin v] of (((angle) + (90)) + (360)) ) * (xs)) + (([cos v] of ((angle) + (360)) ) * (ys)))) y: ((y) + ((([cos v] of (((angle) + (90)) + (360)) ) * (xs)) + (([cos v] of ((angle) + (360)) ) * (ys))))\n\nColour SBCT [100] [70] [70] [0] PenSize [10]\n\nadd [200] to [platforms v]\nadd [0] to [platforms v]\nadd [0] to [platforms v]\nadd [100] to [platforms v]\n\nset [mode v] to [Thumbnail]\n\nset [mode v] to [Thumbnail]\n\nRenderSaw [] [] []\n\nRenderPlatform\n\nSaw [] [] [] []\n\ndefine Circle (x) (y) (size)\nset [radius v] to [0]\npen up\ngo to x: ((x) + (([sin v] of (Radius) ) * (size))) y: ((y) + (([cos v] of (Radius) ) * (size)))\npen down\nrepeat (71)\n    change [radius v] by (5)\n    go to x: ((x) + (([sin v] of (Radius) ) * (size))) y: ((y) + (([cos v] of (Radius) ) * (size)))\nend\nchange [radius v] by (3)\ngo to x: ((x) + (([sin v] of (Radius) ) * (size))) y: ((y) + (([cos v] of (Radius) ) * (size)))\n\nColour SBCT [100] [75] [65] [] PenSize [15]\n\n