Lines - A Platformer
@Stage\n\nwhen flag clicked\nset [winnable v] to [1]\nset [**showing time** v] to [0]\nhide variable [**frames** v]\nhide variable [time v]\nhide variable [☁ world  record v]\nset [time v] to [0]\n\nwhen I receive [green flag clicked v]\nforever\n    play sound (World) until done\nend\n\nwhen [t v] key pressed\nif <(**SHOWING TIME**) = [0]> then\n    set [**showing time** v] to [1]\n    show variable [time v]\n    show variable [☁ world  record v]\nelse\n    set [**showing time** v] to [0]\n    hide variable [time v]\n    hide variable [☁ world  record v]\nend\n\nwhen I receive [time v]\nTime\nif <<(winnable) = [2]> and <(Level) = [6]>> then\n    broadcast (DONE v) and wait\n    if <(TIME) < (☁ WORLD  RECORD)> then\n        set [☁ world  record v] to (TIME)\n    end\n    set [!done v] to [0.2]\n    switch backdrop to ((winnable) + (2))\n    erase all\n    reset timer\n    stop [all v]\nend\n\ndefine Time\nset [time v] to ((round (((**FRAMES**) / (30)) * (100))) / (100))\nrepeat until <(length of (TIME)) > ((length of ([floor v] of (TIME) )) + (2))>\n    if < (TIME) contains [.]?> then\n        set [time v] to (join (TIME) [0])\n    else\n        set [time v] to (join (TIME) [.])\n    end\nend\nif <(winnable) = [0]> then\n    set [time v] to [N/A]\nend\n\nwhen [p v] key pressed\nset [winnable v] to [0]\n\nwhen flag clicked\nswitch backdrop to (backdrop1 v)\nwait until <(World) = [3]>\nwait until <(World) = [5]>\nif <(winnable) > [0]> then\n    set [winnable v] to [2]\nend\n\nset [☁ world  record v] to [361]\n\nbroadcast (Green Flag Clicked v)\n\nwhen flag clicked\nset [!done v] to [0]\nset [world v] to [1]\nforever\n    if <<(World) = [5]> and <(Level) = [6]>> then\n        set [!done v] to [0.2]\n        switch backdrop to ((winnable) + (2))\n        erase all\n        reset timer\n        stop [all v]\n    end\nend\n\nwhen [timer v] > (!done)\nif <(!done) = [0.2]> then\n    set [!done v] to [100]\n    erase all\nend\n\n@blank\n\n@pen\n\nGo To ((x) - (([cos v] of ((x) + (y)) ) * ((size) / (2)))) ((y) - (([sin v] of ((x) + (y)) ) * ((size) / (2))))\npen down\nGo To ((x) + (([cos v] of ((x) + (y)) ) * ((size) / (2)))) ((y) + (([sin v] of ((x) + (y)) ) * ((size) / (2))))\npen up\n\nGo To ((x) - (([cos v] of ((x) + (y)) ) * ((size) / (2)))) ((y) - (([sin v] of ((x) + (y)) ) * ((size) / (2))))\npen down\nGo To ((x) + (([cos v] of ((x) + (y)) ) * ((size) / (2)))) ((y) + (([sin v] of ((x) + (y)) ) * ((size) / (2))))\npen up\n\nset [a1 v] to ((((item (3) of [x v]) - (item (1) of [x v])) * ((item (4) of [y v]) - (item (1) of [y v]))) - (((item (4) of [x v]) - (item (1) of [x v])) * ((item (3) of [y v]) - (item (1) of [y v]))))\nset [a2 v] to ((((item (3) of [x v]) - (item (2) of [x v])) * ((item (4) of [y v]) - (item (2) of [y v]))) - (((item (4) of [x v]) - (item (2) of [x v])) * ((item (3) of [y v]) - (item (2) of [y v]))))\nset [a3 v] to ((((item (1) of [x v]) - (item (3) of [x v])) * ((item (2) of [y v]) - (item (3) of [y v]))) - (((item (2) of [x v]) - (item (3) of [x v])) * ((item (1) of [y v]) - (item (3) of [y v]))))\nset [a4 v] to ((((item (1) of [x v]) - (item (4) of [x v])) * ((item (2) of [y v]) - (item (4) of [y v]))) - (((item (2) of [x v]) - (item (4) of [x v])) * ((item (1) of [y v]) - (item (4) of [y v]))))\nset [collision? v] to (() + <<((a1) * (a2)) < [0]> and <((a3) * (a4)) < [0]>>)\n\nset [a1 v] to ((((item (3) of [x v]) - (item (1) of [x v])) * ((item (4) of [y v]) - (item (1) of [y v]))) - (((item (4) of [x v]) - (item (1) of [x v])) * ((item (3) of [y v]) - (item (1) of [y v]))))\nset [a2 v] to ((((item (3) of [x v]) - (item (2) of [x v])) * ((item (4) of [y v]) - (item (2) of [y v]))) - (((item (4) of [x v]) - (item (2) of [x v])) * ((item (3) of [y v]) - (item (2) of [y v]))))\nset [a3 v] to ((((item (1) of [x v]) - (item (3) of [x v])) * ((item (2) of [y v]) - (item (3) of [y v]))) - (((item (2) of [x v]) - (item (3) of [x v])) * ((item (1) of [y v]) - (item (3) of [y v]))))\nset [a4 v] to ((((item (1) of [x v]) - (item (4) of [x v])) * ((item (2) of [y v]) - (item (4) of [y v]))) - (((item (2) of [x v]) - (item (4) of [x v])) * ((item (1) of [y v]) - (item (4) of [y v]))))\nset [collision? v] to (() + <<((a1) * (a2)) < [0]> and <((a3) * (a4)) < [0]>>)\n\nset [a1 v] to ((((item (3) of [x v]) - (item (1) of [x v])) * ((item (4) of [y v]) - (item (1) of [y v]))) - (((item (4) of [x v]) - (item (1) of [x v])) * ((item (3) of [y v]) - (item (1) of [y v]))))\nset [a2 v] to ((((item (3) of [x v]) - (item (2) of [x v])) * ((item (4) of [y v]) - (item (2) of [y v]))) - (((item (4) of [x v]) - (item (2) of [x v])) * ((item (3) of [y v]) - (item (2) of [y v]))))\nset [a3 v] to ((((item (1) of [x v]) - (item (3) of [x v])) * ((item (2) of [y v]) - (item (3) of [y v]))) - (((item (2) of [x v]) - (item (3) of [x v])) * ((item (1) of [y v]) - (item (3) of [y v]))))\nset [a4 v] to ((((item (1) of [x v]) - (item (4) of [x v])) * ((item (2) of [y v]) - (item (4) of [y v]))) - (((item (2) of [x v]) - (item (4) of [x v])) * ((item (1) of [y v]) - (item (4) of [y v]))))\nset [collision? v] to (() + <<((a1) * (a2)) < [0]> and <((a3) * (a4)) < [0]>>)\n\nset [a1 v] to ((((item (3) of [x v]) - (item (1) of [x v])) * ((item (4) of [y v]) - (item (1) of [y v]))) - (((item (4) of [x v]) - (item (1) of [x v])) * ((item (3) of [y v]) - (item (1) of [y v]))))\nset [a2 v] to ((((item (3) of [x v]) - (item (2) of [x v])) * ((item (4) of [y v]) - (item (2) of [y v]))) - (((item (4) of [x v]) - (item (2) of [x v])) * ((item (3) of [y v]) - (item (2) of [y v]))))\nset [a3 v] to ((((item (1) of [x v]) - (item (3) of [x v])) * ((item (2) of [y v]) - (item (3) of [y v]))) - (((item (2) of [x v]) - (item (3) of [x v])) * ((item (1) of [y v]) - (item (3) of [y v]))))\nset [a4 v] to ((((item (1) of [x v]) - (item (4) of [x v])) * ((item (2) of [y v]) - (item (4) of [y v]))) - (((item (2) of [x v]) - (item (4) of [x v])) * ((item (1) of [y v]) - (item (4) of [y v]))))\nset [collision? v] to (() + <<((a1) * (a2)) < [0]> and <((a3) * (a4)) < [0]>>)\n\nwhen flag clicked\nerase all\n\ndefine Generate Level\ndelete all of [moving level v]\ndelete all of [level v]\nbroadcast (Generate Level v)\nif <(World) = [0]> then\n    if <(Level) = [10]> then\n        Add Circle [1] at [0] [-100] size [100]\n        Add Circle [2] at [75] [-100] size [25]\n        Add Circle [2] at [100] [-100] size [25]\n        Add Circle [2] at [125] [-100] size [25]\n        Add Circle [4] at [225] [-100] size [150]\n        Add Circle [3] at [-100] [-25] size [14]\n        Add Circle [6] at [0] [75] size [100]\n        Add Circle [7] at [-400] [-400] size [800]\n        Add Circle [8] at [100] [-150] size [50]\n        Add Circle [9] at [225] [25] size [50]\n    end\nend\n\ndefine Add Circle (type) at (x) (y) size (size)\nadd (type) to [level v]\nadd (x) to [level v]\nadd (y) to [level v]\nadd (size) to [level v]\n\ndefine Draw Circle at (x) (y) size (size) rotation (r)\npen up\nif <(size) > [0]> then\n    set pen size to (5)\n    Go To ((x) - (([cos v] of (((x) + (y)) + (r)) ) * ((size) / (2)))) ((y) - (([sin v] of (((x) + (y)) + (r)) ) * ((size) / (2))))\n    pen down\n    Go To ((x) + (([cos v] of (((x) + (y)) + (r)) ) * ((size) / (2)))) ((y) + (([sin v] of (((x) + (y)) + (r)) ) * ((size) / (2))))\n    pen up\nend\n\nset pen size to (size)\nGo To (x) (y)\npen down\npen up\nset pen color to (#b2fd87)\n\ndefine Render\nerase all\nDraw Grid\nDraw Level\nDraw Player\n\ndefine Get Color (color) (size)\nif <(color) = [1]> then\n    set pen color to (#ffffff)\nend\nif <(color) = [2]> then\n    set pen color to (#ff0000)\nend\nif <(color) = [3]> then\n    set pen color to (#ff1edc)\nend\nif <(color) = [4]> then\n    set pen color to (#8bf1ff)\nend\nif <(color) = [5]> then\n    set pen color to (#16d400)\nend\nif <(color) = [6]> then\n    set pen color to (#985b11)\nend\nif <(color) = [7]> then\n    set pen color to (#0400ff)\nend\nif <(color) = [8]> then\n    set pen color to (#babaef)\n    set pen (transparency v) to ((100) - (size))\nend\nif <<(color) > [8]> and <(color) < [13]>> then\n    set pen color to (#a805ef)\nend\nif <<(color) = [13]> or <(color) = [14]>> then\n    set pen color to (#ae00ff)\n    change pen (color v) by ((timer) * (20))\nend\n\ndefine Go To (x) (y)\ngo to x: ((x) - (Camera X)) y: ((y) - (Camera Y))\n\ndefine Physics\nKeys Pressed\nif <[keys pressed v] contains [L]?> then\n    change [xv v] by (-1)\nend\nif <[keys pressed v] contains [R]?> then\n    change [xv v] by (1)\nend\nchange [y v] by (-1)\nUpdate Collisions\nif <[collisions v] contains [4]?> then\n    set [xv v] to ((xv) * (0.95))\nelse\n    if <[collisions v] contains [6]?> then\n        set [xv v] to ((xv) * (0.7))\n    else\n        set [xv v] to ((xv) * (0.9))\n    end\nend\nchange [y v] by (1)\nChange X by (round (xv))\nchange [yv v] by (-1)\nif <<[keys pressed v] contains [U]?> and <(Can Jump?) = [1]>> then\n    set [yv v] to [12]\nend\nchange [y v] by (-1)\nUpdate Collisions\nif <[collisions v] contains [3]?> then\n    set [yv v] to [15]\n    if <[keys pressed v] contains [U]?> then\n        set [yv v] to [18]\n    end\nend\nchange [y v] by (1)\nset [yv v] to (round (yv))\nChange Y by (round (yv))\nSwap Gravity\nDeath & Camera\n\ndefine Change X by (xv)\nchange [x v] by (xv)\nUpdate Collisions\nif <[collisions v] contains [1]?> then\n    repeat (SLOPE SIZE)\n        change [y v] by (1)\n        Update Collisions\n        if <not <[collisions v] contains [1]?>> then\n            stop [this script v]\n        end\n    end\n    change [y v] by (() - (SLOPE SIZE))\n    repeat until <not <[collisions v] contains [1]?>>\n        set [xv v] to [0]\n        change [x v] by (() - (([abs v] of (xv) ) / (xv)))\n        Update Collisions\n    end\nend\n\ndefine Update Collisions\nUpdate Gravity\ndelete all of [collisions v]\nset [i2 v] to [1]\nrepeat until <(i2) > (length of [level v])>\n    !Circle to Line Collisions (X) (Y) (Size) & (item ((i2) + (1)) of [level v]) (item ((i2) + (2)) of [level v]) (item ((i2) + (3)) of [level v])\n    if <(!!colliding) = [1]> then\n        add (item (i2) of [level v]) to [collisions v]\n        if <[solids v] contains (item (i2) of [level v])?> then\n            add [1] to [collisions v]\n            if <(item (i2) of [level v]) = [8]> then\n                replace item ((i2) + (3)) of [level v] with ((item ((i2) + (3)) of [level v]) - (1))\n                if <(item ((i2) + (3)) of [level v]) < [10]> then\n                    replace item ((i2) + (3)) of [level v] with [-100]\n                end\n            end\n        end\n        if <<(item (i2) of [level v]) = [5]> and <(Clones) > [0]>> then\n            replace item ((i2) + (3)) of [level v] with [-100]\n            if <(clone #) = [0]> then\n                set [x v] to (item (1) of [clones v])\n                set [y v] to (item (2) of [clones v])\n                set [xv v] to (item (3) of [clones v])\n                set [yv v] to (item (4) of [clones v])\n                set [can jump? v] to (item (5) of [clones v])\n                set [portal fall? v] to (item (6) of [clones v])\n                repeat (clone list length)\n                    delete (1) of [clones v]\n                end\n                change [clones v] by (-1)\n            else\n                repeat (clone list length)\n                    delete (clone #) of [clones v]\n                end\n                change [clones v] by (-1)\n            end\n        end\n        if <(item (i2) of [level v]) = [13]> then\n            set [portal1 id v] to (i2)\n            set [i3 v] to ((i2) + (1))\n            repeat until <<(item (i3) of [level v]) = [13]> or <(item (i3) of [level v]) = [14]>>\n                change [i3 v] by (1)\n                if <(i3) > (length of [level v])> then\n                    set [i3 v] to [1]\n                end\n            end\n            set [portal2 id v] to (i3)\n        end\n        if <(item (i2) of [level v]) = [14]> then\n            set [portal1 id v] to (i2)\n            set [i3 v] to ((i2) + (-1))\n            repeat until <<(item (i3) of [level v]) = [13]> or <(item (i3) of [level v]) = [14]>>\n                change [i3 v] by (-1)\n                if <[1] > (i3)> then\n                    set [i3 v] to (length of [level v])\n                end\n            end\n            set [portal2 id v] to (i3)\n        end\n    end\n    change [i2 v] by (4)\nend\nif <<key (e v) pressed?> and <(username) = [04tmoody]>> then\n    delete all of [collisions v]\nend\n\ndefine Change Y by (yv)\nset [can jump? v] to [0]\nrepeat ([abs v] of (yv) )\n    change [y v] by (([abs v] of (yv) ) / (yv))\n    Update Collisions\n    if <[collisions v] contains [1]?> then\n        change [y v] by (() - (([abs v] of (yv) ) / (yv)))\n        set [yv v] to [0]\n        if <(yv) < [0]> then\n            set [can jump? v] to [1]\n        end\n    end\nend\nif <<key (q v) pressed?> and <(username) = [04tmoody]>> then\n    set [can jump? v] to [1]\nend\n\nchange [y v] by (yv)\nUpdate Collisions\nrepeat until <not <[collisions v] contains [1]?>>\n    if <(yv) < [0]> then\n        set [can jump? v] to [1]\n    end\n    set [yv v] to [0]\n    change [y v] by (() - (([abs v] of (yv) ) / (yv)))\n    Update Collisions\nend\n\ndefine Draw Player\nset pen color to (#ffae00)\nDraw Circle at (X) (Y) size (Size) rotation [90]\nset pen (transparency v) to (50)\nif <(Gravity) = [1]> then\n    Draw Circle at ((X) - ((Size) / (5))) ((Y) + ((Size) / (-5))) size ((Size) / (5)) rotation []\n    Draw Circle at ((X) + ((Size) / (5))) ((Y) + ((Size) / (-5))) size ((Size) / (5)) rotation []\nend\nif <(Gravity) = [2]> then\n    Draw Circle at ((X) - ((Size) / (5))) ((Y) + ((Size) / (5))) size ((Size) / (5)) rotation []\n    Draw Circle at ((X) + ((Size) / (-5))) ((Y) + ((Size) / (-5))) size ((Size) / (5)) rotation []\nend\nif <(Gravity) = [3]> then\n    Draw Circle at ((X) - ((Size) / (5))) ((Y) + ((Size) / (5))) size ((Size) / (5)) rotation []\n    Draw Circle at ((X) + ((Size) / (5))) ((Y) + ((Size) / (5))) size ((Size) / (5)) rotation []\nend\nif <(Gravity) = [4]> then\n    Draw Circle at ((X) - ((Size) / (-5))) ((Y) + ((Size) / (5))) size ((Size) / (5)) rotation []\n    Draw Circle at ((X) + ((Size) / (5))) ((Y) + ((Size) / (-5))) size ((Size) / (5)) rotation []\nend\nset [i v] to [1]\nset [old x2 v] to (X)\nset [old y2 v] to (Y)\nrepeat (Clones)\n    set [x v] to (item ((i) + (0)) of [clones v])\n    set [y v] to (item ((i) + (1)) of [clones v])\n    set pen color to (#ffae00)\n    Draw Circle at (X) (Y) size (Size) rotation [90]\n    set pen (transparency v) to (50)\n    if <(Gravity) = [1]> then\n        Draw Circle at ((X) - ((Size) / (5))) ((Y) + ((Size) / (-5))) size ((Size) / (5)) rotation []\n        Draw Circle at ((X) + ((Size) / (5))) ((Y) + ((Size) / (-5))) size ((Size) / (5)) rotation []\n    end\n    if <(Gravity) = [2]> then\n        Draw Circle at ((X) - ((Size) / (5))) ((Y) + ((Size) / (5))) size ((Size) / (5)) rotation []\n        Draw Circle at ((X) + ((Size) / (-5))) ((Y) + ((Size) / (-5))) size ((Size) / (5)) rotation []\n    end\n    if <(Gravity) = [3]> then\n        Draw Circle at ((X) - ((Size) / (5))) ((Y) + ((Size) / (5))) size ((Size) / (5)) rotation []\n        Draw Circle at ((X) + ((Size) / (5))) ((Y) + ((Size) / (5))) size ((Size) / (5)) rotation []\n    end\n    if <(Gravity) = [4]> then\n        Draw Circle at ((X) - ((Size) / (-5))) ((Y) + ((Size) / (5))) size ((Size) / (5)) rotation []\n        Draw Circle at ((X) + ((Size) / (5))) ((Y) + ((Size) / (-5))) size ((Size) / (5)) rotation []\n    end\n    change [i v] by (clone list length)\nend\nset [x v] to (old x2)\nset [y v] to (old y2)\n\ndefine Draw Level\nset [i v] to [1]\nrepeat until <(i) > (length of [level v])>\n    Get Color (item (i) of [level v]) (item ((i) + (3)) of [level v])\n    Draw Circle at (item ((i) + (1)) of [level v]) (item ((i) + (2)) of [level v]) size (item ((i) + (3)) of [level v]) rotation []\n    if <(Lag) = [0]> then\n        set pen (transparency v) to ((100) - ([abs v] of (([sin v] of ((timer) * (75)) ) * (25)) ))\n        Draw Circle at (item ((i) + (1)) of [level v]) (item ((i) + (2)) of [level v]) size ((item ((i) + (3)) of [level v]) + ([abs v] of (([sin v] of ((timer) * (75)) ) * (15)) )) rotation []\n    end\n    if <<(item (i) of [level v]) > [8]> and <[13] > (item (i) of [level v])>> then\n        set pen color to (#000000)\n        if <(Gravity) = ((item (i) of [level v]) - (8))> then\n            set pen color to (#404040)\n        end\n        Draw Circle at (item ((i) + (1)) of [level v]) (item ((i) + (2)) of [level v]) size ((item ((i) + (3)) of [level v]) - (10)) rotation []\n        Draw arrow at (item ((i) + (1)) of [level v]) (item ((i) + (2)) of [level v]) size (item ((i) + (3)) of [level v]) direction ((item (i) of [level v]) - (8))\n    end\n    change [i v] by (4)\nend\n\ndefine Draw Grid\nif <(Lag) = [0]> then\n    pen up\n    set pen color to (#2b2b2b)\n    if <(World) = [3]> then\n        set pen color to (#4a4a4a)\n        set pen size to (600)\n        go to x: (0) y: (0)\n        pen down\n        pen up\n        set pen color to (#6b6b6b)\n    end\n    set pen size to (5)\n    go to x: ((-240) - (((Camera X) * (0.5)) mod (30))) y: ((-180) - (((Camera Y) * (0.5)) mod (30)))\n    repeat (13)\n        set x to ((-240) - (((Camera X) * (0.5)) mod (30)))\n        repeat (17)\n            point in direction ((x position) + (y position))\n            pen down\n            move (15) steps\n            move (-15) steps\n            pen up\n            change x by (30)\n        end\n        change y by (30)\n    end\n    pen up\n    if <(World) = [2]> then\n        set pen color to (#7fe8ff)\n        set pen (transparency v) to (80)\n        set pen size to (50)\n        go to x: (-240) y: (-180)\n        pen down\n        go to x: (240) y: (-180)\n        go to x: (240) y: (180)\n        go to x: (-240) y: (180)\n        go to x: (-240) y: (-180)\n        pen up\n    end\nend\n\ndefine Reset\ndelete all of [clones v]\nGenerate Level\nset [thickness v] to [5]\nset [gravity v] to [3]\nset [slope size v] to [4]\nset [x v] to [0]\nset [y v] to [0]\nset [xv v] to [0]\nset [yv v] to [0]\nset [size v] to [30]\nset [old x v] to [0]\nset [old y v] to [0]\nset [clone list length v] to [6]\nset [portal fall? v] to [0]\nset [old x2 v] to [0]\nset [old y2 v] to [0]\nset [old xv2 v] to [0]\nset [old yv2 v] to [0]\nset [old can jump?2 v] to [0]\nset [old portal fall? v] to [0]\n\ndefine Add Moving Circle (type) size (size) at (x) (y) speed (xv) (yv)\nadd ((length of [level v]) + (1)) to [moving level v]\nadd (xv) to [moving level v]\nadd (yv) to [moving level v]\nadd (type) to [level v]\nadd (x) to [level v]\nadd (y) to [level v]\nadd (size) to [level v]\n\ndefine Move Level\nset [j v] to [1]\nrepeat until <(j) > (length of [moving level v])>\n    set [i v] to (item (j) of [moving level v])\n    replace item ((i) + (1)) of [level v] with ((item ((i) + (1)) of [level v]) + (item ((j) + (1)) of [moving level v]))\n    if <[solids v] contains (item (i) of [level v])?> then\n        if <([sqrt v] of ((((item ((i) + (1)) of [level v]) - (X)) * ((item ((i) + (1)) of [level v]) - (X))) + (((item ((i) + (2)) of [level v]) - (Y)) * ((item ((i) + (2)) of [level v]) - (Y)))) ) < (((item ((i) + (3)) of [level v]) + (Size)) / (2))> then\n            change [x v] by (item ((j) + (1)) of [moving level v])\n            Update Collisions\n            if <[collisions v] contains [1]?> then\n                set [die? v] to [1]\n                repeat (SLOPE SIZE)\n                    if <(die?) = [1]> then\n                        change [y v] by (1)\n                        change [x v] by (1)\n                        Update Collisions\n                        if <not <[collisions v] contains [1]?>> then\n                            set [die? v] to [0]\n                        end\n                    end\n                end\n                if <(die?) = [1]> then\n                    repeat until <not <[collisions v] contains [1]?>>\n                        change [y v] by (1)\n                        Update Collisions\n                    end\n                    stop [this script v]\n                end\n            end\n        end\n    end\n    replace item ((i) + (2)) of [level v] with ((item ((i) + (2)) of [level v]) + (item ((j) + (2)) of [moving level v]))\n    if <[solids v] contains (item (i) of [level v])?> then\n        if <([sqrt v] of ((((item ((i) + (1)) of [level v]) - (X)) * ((item ((i) + (1)) of [level v]) - (X))) + (((item ((i) + (2)) of [level v]) - (Y)) * ((item ((i) + (2)) of [level v]) - (Y)))) ) < (((item ((i) + (3)) of [level v]) + (Size)) / (2))> then\n            change [y v] by (item ((j) + (2)) of [moving level v])\n            Update Collisions\n            if <[collisions v] contains [1]?> then\n                repeat until <not <[collisions v] contains [1]?>>\n                    change [y v] by (1)\n                    Update Collisions\n                end\n                stop [this script v]\n            end\n        end\n    end\n    set [k v] to [1]\n    repeat until <(k) > (length of [level v])>\n        if <not <(i) = (k)>> then\n            if <([sqrt v] of ((((item ((i) + (1)) of [level v]) - (item ((k) + (1)) of [level v])) * ((item ((i) + (1)) of [level v]) - (item ((k) + (1)) of [level v]))) + (((item ((i) + (2)) of [level v]) - (item ((k) + (2)) of [level v])) * ((item ((i) + (2)) of [level v]) - (item ((k) + (2)) of [level v])))) ) < (((item ((i) + (3)) of [level v]) + (item ((k) + (3)) of [level v])) / (2))> then\n                replace item ((j) + (1)) of [moving level v] with ((item ((j) + (1)) of [moving level v]) * (-1))\n                replace item ((j) + (2)) of [moving level v] with ((item ((j) + (2)) of [moving level v]) * (-1))\n            end\n        end\n        change [k v] by (4)\n    end\n    change [j v] by (3)\nend\n\nReset\n\nReset\n\ndefine Water Physics\nKeys Pressed\nif <[keys pressed v] contains [L]?> then\n    change [xv v] by (-0.9)\nend\nif <[keys pressed v] contains [R]?> then\n    change [xv v] by (0.9)\nend\nset [xv v] to ((xv) * (0.91))\nChange X by (round (xv))\nif <[keys pressed v] contains [D]?> then\n    change [yv v] by (-0.9)\nend\nif <[keys pressed v] contains [U]?> then\n    change [yv v] by (0.9)\nend\nset [yv v] to ((((yv) + (1)) * (0.91)) - (1))\nChange Y by (round (yv))\nSwap Gravity\nDeath & Camera\n\ndefine Death & Camera\nUpdate Collisions\nif <<key (r v) pressed?> or <<[collisions v] contains [2]?> or <<<(Y) < [-360]> or <[3240] < (Y)>> or <<(X) < [-4320]> or <[4320] < (X)>>>>> then\n    if <(reset?) = [0]> then\n        Reset\n        set [reset? v] to [1]\n    end\nelse\n    set [reset? v] to [0]\nend\nif <<<key (o v) pressed?> or <key (p v) pressed?>> or <[collisions v] contains [5]?>> then\n    if <<[collisions v] contains [5]?> and <(Clones) > [0]>> then\nelse\n    set [skip? v] to [0]\nend\nchange [camera x v] by (((X) - (Camera X)) / (6))\nchange [camera y v] by (((Y) - (Camera Y)) / (6))\nif <(Camera Y) < [-180]> then\n    set [camera y v] to [-180]\nend\n\ndefine Draw arrow at (x) (y) size (size) direction (dir)\nset pen size to (round ((size) / (10)))\npen up\nset pen color to (#a805ef)\nif <(dir) = [1]> then\n    Go To (x) ((y) + ((size) / (-4)))\n    pen down\n    Go To (x) ((y) + ((size) / (4)))\n    Go To ((x) + ((size) / (4))) (y)\n    Go To (x) ((y) + ((size) / (4)))\n    Go To ((x) + ((size) / (-4))) (y)\n    pen up\nend\nif <(dir) = [2]> then\n    Go To ((x) + ((size) / (-4))) (y)\n    pen down\n    Go To ((x) + ((size) / (4))) (y)\n    Go To (x) ((y) + ((size) / (4)))\n    Go To ((x) + ((size) / (4))) (y)\n    Go To (x) ((y) + ((size) / (-4)))\n    pen up\nend\nif <(dir) = [3]> then\n    Go To (x) ((y) + ((size) / (4)))\n    pen down\n    Go To (x) ((y) + ((size) / (-4)))\n    Go To ((x) + ((size) / (4))) (y)\n    Go To (x) ((y) + ((size) / (-4)))\n    Go To ((x) + ((size) / (-4))) (y)\n    pen up\nend\nif <(dir) = [4]> then\n    Go To ((x) + ((size) / (4))) (y)\n    pen down\n    Go To ((x) + ((size) / (-4))) (y)\n    Go To (x) ((y) + ((size) / (4)))\n    Go To ((x) + ((size) / (-4))) (y)\n    Go To (x) ((y) + ((size) / (-4)))\n    pen up\nend\n\ndefine Update Gravity\nset [change in x v] to ((X) - (old x))\nset [change in y v] to ((Y) - (old y))\nif <(Gravity) = [2]> then\n    set [x v] to ((old x) - (change in y))\n    set [y v] to ((old y) + (change in x))\nend\nif <(Gravity) = [1]> then\n    set [x v] to ((old x) - (change in x))\n    set [y v] to ((old y) - (change in y))\nend\nif <(Gravity) = [4]> then\n    set [x v] to ((old x) + (change in y))\n    set [y v] to ((old y) - (change in x))\nend\nset [old x v] to (X)\nset [old y v] to (Y)\n\ndefine Swap Gravity\nUpdate Collisions\nset [old xv v] to (xv)\nif <[collisions v] contains [9]?> then\n    if <(Gravity) = [2]> then\n        set [xv v] to ((yv) * (1))\n        set [yv v] to ((old xv) * (1))\n    end\n    if <(Gravity) = [3]> then\n        set [xv v] to ((old xv) * (-1))\n        set [yv v] to ((yv) * (-1))\n    end\n    if <(Gravity) = [4]> then\n        set [xv v] to ((yv) * (-1))\n        set [yv v] to ((old xv) * (-1))\n    end\n    set [gravity v] to [1]\nend\nif <[collisions v] contains [10]?> then\n    if <(Gravity) = [1]> then\n        set [xv v] to ((yv) * (-1))\n        set [yv v] to ((old xv) * (-1))\n    end\n    if <(Gravity) = [3]> then\n        set [xv v] to ((yv) * (1))\n        set [yv v] to ((old xv) * (-1))\n    end\n    if <(Gravity) = [4]> then\n        set [xv v] to ((old xv) * (-1))\n        set [yv v] to ((yv) * (-1))\n    end\n    set [gravity v] to [2]\nend\nif <[collisions v] contains [11]?> then\n    if <(Gravity) = [1]> then\n        set [xv v] to ((old xv) * (-1))\n        set [yv v] to ((yv) * (-1))\n    end\n    if <(Gravity) = [2]> then\n        set [xv v] to ((yv) * (-1))\n        set [yv v] to ((old xv) * (-1))\n    end\n    if <(Gravity) = [4]> then\n        set [xv v] to ((yv) * (1))\n        set [yv v] to ((old xv) * (1))\n    end\n    set [gravity v] to [3]\nend\nif <[collisions v] contains [12]?> then\n    if <(Gravity) = [1]> then\n        set [xv v] to ((yv) * (1))\n        set [yv v] to ((old xv) * (1))\n    end\n    if <(Gravity) = [2]> then\n        set [xv v] to ((old xv) * (-1))\n        set [yv v] to ((yv) * (-1))\n    end\n    if <(Gravity) = [3]> then\n        set [xv v] to ((yv) * (-1))\n        set [yv v] to ((old xv) * (-1))\n    end\n    set [gravity v] to [4]\nend\n\ndefine Keys Pressed\ndelete all of [keys pressed v]\nif <<<mouse down?> and <<<(mouse x) < ((X) - (Camera X))> and <(length of [clones v]) = [0]>> or <<(mouse x) < [0]> and <(length of [clones v]) > [0]>>>> or <<key (left arrow v) pressed?> or <key (a v) pressed?>>> then\n    if <(Gravity) = [1]> then\n        add [R] to [keys pressed v]\n    end\n    if <(Gravity) = [2]> then\n        add [U] to [keys pressed v]\n    end\n    if <(Gravity) = [3]> then\n        add [L] to [keys pressed v]\n    end\n    if <(Gravity) = [4]> then\n        add [D] to [keys pressed v]\n    end\nend\nif <<<mouse down?> and <<<((X) - (Camera X)) < (mouse x)> and <(length of [clones v]) = [0]>> or <<[0] < (mouse x)> and <(length of [clones v]) > [0]>>>> or <<key (right arrow v) pressed?> or <key (d v) pressed?>>> then\n    if <(Gravity) = [1]> then\n        add [L] to [keys pressed v]\n    end\n    if <(Gravity) = [2]> then\n        add [D] to [keys pressed v]\n    end\n    if <(Gravity) = [3]> then\n        add [R] to [keys pressed v]\n    end\n    if <(Gravity) = [4]> then\n        add [U] to [keys pressed v]\n    end\nend\nif <<<mouse down?> and <<<(mouse y) < ((Y) - (Camera Y))> and <(length of [clones v]) = [0]>> or <<(mouse y) < [0]> and <(length of [clones v]) > [0]>>>> or <<key (down arrow v) pressed?> or <key (s v) pressed?>>> then\n    if <(Gravity) = [1]> then\n        add [U] to [keys pressed v]\n    end\n    if <(Gravity) = [2]> then\n        add [L] to [keys pressed v]\n    end\n    if <(Gravity) = [3]> then\n        add [D] to [keys pressed v]\n    end\n    if <(Gravity) = [4]> then\n        add [R] to [keys pressed v]\n    end\nend\nif <<<mouse down?> and <<<((Y) - (Camera Y)) < (mouse y)> and <(length of [clones v]) = [0]>> or <<[0] < (mouse y)> and <(length of [clones v]) > [0]>>>> or <<key (up arrow v) pressed?> or <key (w v) pressed?>>> then\n    if <(Gravity) = [1]> then\n        add [D] to [keys pressed v]\n    end\n    if <(Gravity) = [2]> then\n        add [R] to [keys pressed v]\n    end\n    if <(Gravity) = [3]> then\n        add [U] to [keys pressed v]\n    end\n    if <(Gravity) = [4]> then\n        add [L] to [keys pressed v]\n    end\nend\nif <key (space v) pressed?> then\n    add [U] to [keys pressed v]\nend\n\ndefine Portal Physics\nif <(portal fall?) = [0]> then\n    Update Collisions\n    change [x v] by (((item ((Portal1 ID) + (1)) of [level v]) - (X)) / (5))\n    change [y v] by (((item ((Portal1 ID) + (2)) of [level v]) - (Y)) / (5))\n    if <<([abs v] of ((item ((Portal1 ID) + (1)) of [level v]) - (X)) ) < [0.1]> and <((item ((Portal1 ID) + (2)) of [level v]) - (Y)) < [0.1]>> then\n        set [x v] to (item ((Portal2 ID) + (1)) of [level v])\n        set [y v] to (item ((Portal2 ID) + (2)) of [level v])\n        set [portal fall? v] to [1]\n    end\n    Death & Camera\nelse\n    Physics\nend\n\ndefine Clone Animation\nchange [x v] by (3)\nreplace item (1) of [clones v] with ((item (1) of [clones v]) - (3))\nchange [clone animation v] by (-1)\n\nwhen I receive [clone setup v]\nClone Setup\n\ndefine Clone Setup\ndelete all of [clones v]\nset [clone animation v] to [0]\nrepeat (Clones)\n    set [camera x v] to [0]\n    set [camera y v] to [0]\n    set [clone animation v] to [20]\n    repeat (clone list length)\n        add [0] to [clones v]\n    end\nend\n\ndefine Pre Clone Code\nset [old x2 v] to (X)\nset [old y2 v] to (Y)\nset [old xv2 v] to (xv)\nset [old yv2 v] to (yv)\nset [old can jump?2 v] to (Can Jump?)\nset [old portal fall? v] to (portal fall?)\n\ndefine Post Clone Code\nset [x v] to (old x2)\nset [y v] to (old y2)\nset [xv v] to (old xv2)\nset [yv v] to (old yv2)\nset [can jump? v] to (old can jump?2)\nset [portal fall? v] to (old portal fall?)\n\ndefine Clone Physics Loop\nset [clone # v] to [1]\nrepeat (Clones)\n    set [x v] to (item ((clone #) + (0)) of [clones v])\n    set [y v] to (item ((clone #) + (1)) of [clones v])\n    set [xv v] to (item ((clone #) + (2)) of [clones v])\n    set [yv v] to (item ((clone #) + (3)) of [clones v])\n    set [can jump? v] to (item ((clone #) + (4)) of [clones v])\n    set [portal fall? v] to (item ((clone #) + (5)) of [clones v])\n    Update Collisions\n    if <<[collisions v] contains [13]?> or <[collisions v] contains [14]?>> then\n        Portal Physics\n    else\n        set [portal fall? v] to [0]\n        if <[collisions v] contains [7]?> then\n            Water Physics\n        else\n            Physics\n        end\n    end\n    replace item ((clone #) + (0)) of [clones v] with (X)\n    replace item ((clone #) + (1)) of [clones v] with (Y)\n    replace item ((clone #) + (2)) of [clones v] with (xv)\n    replace item ((clone #) + (3)) of [clones v] with (yv)\n    replace item ((clone #) + (4)) of [clones v] with (Can Jump?)\n    replace item ((clone #) + (5)) of [clones v] with (portal fall?)\n    change [clone # v] by (clone list length)\nend\n\nwhen [l v] key pressed\nif <(Lag) = [0]> then\n    set [lag v] to [1]\nelse\n    set [lag v] to [0]\nend\n\nwhen I receive [green flag clicked v]\nset [lag v] to [0]\nswitch costume to (costume2 v)\nset size to (1000) %\nswitch costume to (costume1 v)\nhide\nset [world v] to [1]\nset [level v] to [1]\nGenerate Level\nReset\nset [**frames** v] to [0]\nforever\n    change [**frames** v] by (1)\n    if <(clone animation) > [0]> then\n        Clone Animation\n    else\n        Move Level\n        Update Collisions\n        if <<[collisions v] contains [13]?> or <[collisions v] contains [14]?>> then\n            Portal Physics\n        else\n            set [portal fall? v] to [0]\n            if <[collisions v] contains [7]?> then\n                Water Physics\n            else\n                Physics\n            end\n        end\n        Pre Clone Code\n        Clone Physics Loop\n        Post Clone Code\n        set [clone # v] to [0]\n    end\n    Render\n    broadcast (time v)\nend\n\ndefine !!Line Collisions (x1) (y1) (x2) (y2) (x3) (y3) (x4) (y4)\nset [!!colliding v] to [1]\n!direction (x3) (y3) (x4) (y4) (x1) (y1)\nif <<(return) = [0]> and <(colin) = [1]>> then\n    stop [this script v]\nend\nset [a1 v] to (return)\n!direction (x3) (y3) (x4) (y4) (x2) (y2)\nif <<(return) = [0]> and <(colin) = [1]>> then\n    stop [this script v]\nend\nset [a2 v] to (return)\n!direction (x1) (y1) (x2) (y2) (x3) (y3)\nif <<(return) = [0]> and <(colin) = [1]>> then\n    stop [this script v]\nend\nset [a3 v] to (return)\n!direction (x1) (y1) (x2) (y2) (x4) (y4)\nif <<(return) = [0]> and <(colin) = [1]>> then\n    stop [this script v]\nend\nset [a4 v] to (return)\nif <<not <(a1) = (a2)>> and <not <(a3) = (a4)>>> then\n    stop [this script v]\nend\nset [!!colliding v] to [0]\n\nset [a1 v] to ((((x3) - (x1)) * ((y4) - (y1))) - (((x4) - (x1)) * ((y3) - (y1))))\nset [a2 v] to ((((x3) - (x2)) * ((y4) - (y2))) - (((x4) - (x2)) * ((y3) - (y2))))\nset [a3 v] to ((((x1) - (x3)) * ((y2) - (y3))) - (((x2) - (x3)) * ((y1) - (y3))))\nset [a4 v] to ((((x1) - (x4)) * ((y2) - (y4))) - (((x2) - (x4)) * ((y1) - (y4))))\nset [!!colliding v] to (() + <<((a1) * (a2)) < [0]> and <((a3) * (a4)) < [0]>>)\n\ndefine !Circle to Line Collisions (x1) (y1) (r1) & (x2) (y2) (r2)\nif <(r2) < [1]> then\n    set [!!colliding v] to [0]\n    stop [this script v]\nend\nset [*x1 v] to ((x1) - (([cos v] of (((x1) + (y1)) + (90)) ) * ((r1) / (2))))\nset [*y1 v] to ((y1) - (([sin v] of (((x1) + (y1)) + (90)) ) * ((r1) / (2))))\nset [*x2 v] to ((x1) + (([cos v] of (((x1) + (y1)) + (90)) ) * ((r1) / (2))))\nset [*y2 v] to ((y1) + (([sin v] of (((x1) + (y1)) + (90)) ) * ((r1) / (2))))\nset [*x3 v] to ((x2) - (([cos v] of ((x2) + (y2)) ) * ((r2) / (2))))\nset [*y3 v] to ((y2) - (([sin v] of ((x2) + (y2)) ) * ((r2) / (2))))\nset [*x4 v] to ((x2) + (([cos v] of ((x2) + (y2)) ) * ((r2) / (2))))\nset [*y4 v] to ((y2) + (([sin v] of ((x2) + (y2)) ) * ((r2) / (2))))\n!!Line Collisions (round (*x1)) (round (*y1)) (round (*x2)) (round (*y2)) (round (*x3)) (round (*y3)) (round (*x4)) (round (*y4))\n\nset [i2 v] to [1]\n!Circle to Line Collisions (X) (Y) (Size) & (item ((i2) + (1)) of [level v]) (item ((i2) + (2)) of [level v]) (item ((i2) + (3)) of [level v])\n\nchange [y v] by (-2)\n\nRender\n\ndefine !direction (x1) (y1) (x2) (y2) (x3) (y3)\nset [return v] to ((((y3) - (y1)) * ((x2) - (x1))) - (((x3) - (x1)) * ((y2) - (y1))))\nif <not <(return) = [0]>> then\n    set [return v] to (([abs v] of (return) ) / (return))\nend\nset [colin v] to [0]\nif <not <([abs v] of ((((y3) - (y1)) * ((x2) - (x1))) - (((x3) - (x1)) * ((y2) - (y1)))) ) > ((Thickness) * ([sqrt v] of ((((x2) - (x1)) * ((x2) - (x1))) + (((y2) - (y1)) * ((y2) - (y1)))) ))>> then\n    if <(x1) < (x2)> then\n        set [*xmin v] to (x1)\n        set [*xmax v] to (x2)\n    else\n        set [*xmin v] to (x2)\n        set [*xmax v] to (x1)\n    end\n    if <(y1) < (y2)> then\n        set [*ymin v] to (y1)\n        set [*ymax v] to (y2)\n    else\n        set [*ymin v] to (y2)\n        set [*ymax v] to (y1)\n    end\n    if <<<not <(x3) < ((*xmin) - (Thickness))>> and <not <((*xmax) + (Thickness)) < (x3)>>> and <<not <(y3) < ((*ymin) - (Thickness))>> and <not <((*ymax) + (Thickness)) < (y3)>>>> then\n        set [colin v] to [1]\n    end\nend\n\nReset\n\n@Word 1\n\ndefine Add Circle (type) at (x) (y) size (size)\nadd (type) to [level v]\nadd (x) to [level v]\nadd (y) to [level v]\nadd (size) to [level v]\n\ndefine Add Moving Circle (type) size (size) at (x) (y) speed (xv) (yv)\nadd ((length of [level v]) + (1)) to [moving level v]\nadd (xv) to [moving level v]\nadd (yv) to [moving level v]\nadd (type) to [level v]\nadd (x) to [level v]\nadd (y) to [level v]\nadd (size) to [level v]\n\nwhen I receive [generate level v]\nif <(World) = [1]> then\n    if <(Level) = [1]> then\n        Level 1\n    end\n    if <(Level) = [2]> then\n        Level 2\n    end\n    if <(Level) = [3]> then\n        Level 3\n    end\n    if <(Level) = [4]> then\n        Level 4\n    end\n    if <(Level) = [5]> then\n        Level 5\n    end\n    if <(Level) = [6]> then\n        Level 6\n    end\n    if <(Level) = [7]> then\n        Level 7\n    end\n    if <(Level) = [8]> then\n        Level 8\n    end\n    if <(Level) = [9]> then\n        Level 9\n    end\n    if <(Level) = [10]> then\n        Level 10\n    end\nend\n\ndefine Level 1\nAdd Circle [1] at [0] [-100] size [80]\nAdd Circle [1] at [125] [-75] size [100]\nAdd Circle [1] at [250] [-75] size [75]\nAdd Circle [1] at [500] [-150] size [400]\nAdd Circle [1] at [650] [-75] size [50]\nAdd Circle [1] at [750] [0] size [90]\nAdd Circle [1] at [900] [0] size [90]\nAdd Circle [1] at [1050] [0] size [90]\nAdd Circle [5] at [1050] [125] size [40]\n\ndefine Level 2\nAdd Circle [1] at [0] [-100] size [100]\nAdd Circle [2] at [87] [-75] size [25]\nAdd Circle [2] at [87] [-50] size [25]\nAdd Circle [2] at [87] [-25] size [25]\nAdd Circle [1] at [150] [-75] size [50]\nAdd Circle [2] at [200] [-75] size [25]\nAdd Circle [2] at [200] [-50] size [25]\nAdd Circle [2] at [200] [-25] size [25]\nAdd Circle [1] at [250] [-25] size [50]\nAdd Circle [2] at [300] [-25] size [25]\nAdd Circle [2] at [325] [-25] size [25]\nAdd Circle [2] at [350] [-25] size [25]\nAdd Circle [1] at [400] [-25] size [50]\nAdd Circle [2] at [450] [-50] size [25]\nAdd Circle [2] at [468] [-68] size [25]\nAdd Circle [2] at [486] [-86] size [25]\nAdd Circle [1] at [550] [-150] size [100]\nAdd Circle [5] at [650] [-50] size [50]\n\ndefine Level 3\nAdd Circle [1] at [0] [-100] size [100]\nAdd Circle [3] at [100] [-50] size [50]\nAdd Circle [2] at [175] [-75] size [25]\nAdd Circle [2] at [175] [-50] size [25]\nAdd Circle [2] at [175] [-25] size [25]\nAdd Circle [2] at [175] [0] size [25]\nAdd Circle [2] at [175] [25] size [25]\nAdd Circle [1] at [350] [-135] size [300]\nAdd Circle [3] at [400] [-50] size [50]\nAdd Circle [1] at [550] [50] size [100]\nAdd Circle [3] at [650] [50] size [50]\nAdd Circle [2] at [700] [50] size [25]\nAdd Circle [2] at [725] [50] size [25]\nAdd Circle [2] at [750] [50] size [25]\nAdd Circle [2] at [775] [50] size [25]\nAdd Circle [2] at [800] [50] size [25]\nAdd Circle [2] at [825] [50] size [25]\nAdd Circle [1] at [900] [50] size [200]\nAdd Circle [5] at [950] [200] size [50]\n\ndefine Level 4\nAdd Circle [1] at [0] [-100] size [100]\nAdd Circle [2] at [50] [-50] size [25]\nAdd Circle [2] at [75] [-25] size [25]\nAdd Circle [2] at [100] [-50] size [25]\nAdd Circle [1] at [150] [-100] size [100]\nAdd Circle [2] at [200] [-150] size [25]\nAdd Circle [2] at [225] [-175] size [25]\nAdd Circle [2] at [250] [-150] size [25]\nAdd Circle [1] at [300] [-100] size [100]\nAdd Circle [1] at [400] [-200] size [75]\nAdd Circle [1] at [300] [400] size [75]\nAdd Circle [1] at [500] [400] size [75]\nAdd Moving Circle [1] size [75] at [400] [200] speed [0] [-2]\nAdd Circle [2] at [350] [650] size [25]\nAdd Circle [2] at [375] [650] size [25]\nAdd Circle [2] at [400] [650] size [25]\nAdd Circle [2] at [425] [650] size [25]\nAdd Circle [2] at [450] [650] size [25]\nAdd Moving Circle [1] size [100] at [600] [400] speed [3] [0]\nAdd Circle [1] at [800] [400] size [75]\nAdd Circle [5] at [800] [500] size [50]\n\ndefine Level 5\nAdd Circle [1] at [0] [-100] size [100]\nAdd Circle [1] at [100] [175] size [100]\nAdd Circle [1] at [100] [-250] size [100]\nAdd Circle [1] at [200] [-100] size [100]\nAdd Moving Circle [2] size [25] at [100] [-25] speed [0] [-2]\nAdd Moving Circle [2] size [25] at [100] [25] speed [0] [2]\nAdd Circle [1] at [400] [-100] size [100]\nAdd Circle [2] at [400] [-25] size [25]\nAdd Circle [2] at [400] [0] size [25]\nAdd Circle [2] at [400] [25] size [25]\nAdd Circle [2] at [400] [50] size [25]\nAdd Circle [2] at [400] [75] size [25]\nAdd Moving Circle [2] size [25] at [275] [-100] speed [1] [0]\nAdd Circle [1] at [300] [-250] size [100]\nAdd Circle [5] at [400] [-250] size [50]\n\ndefine Level 6\nAdd Circle [1] at [0] [-100] size [100]\nAdd Moving Circle [1] size [200] at [300] [-100] speed [-2] [0]\nAdd Circle [2] at [400] [25] size [25]\nAdd Circle [2] at [700] [25] size [25]\nAdd Circle [5] at [900] [75] size [50]\n\ndefine Level 7\nAdd Circle [1] at [0] [-200] size [200]\nAdd Circle [1] at [100] [-150] size [50]\nAdd Circle [1] at [200] [-100] size [100]\nAdd Circle [1] at [350] [-100] size [100]\nAdd Circle [2] at [275] [-100] size [25]\nAdd Circle [2] at [275] [-75] size [25]\nAdd Circle [2] at [275] [-50] size [25]\nAdd Circle [2] at [275] [-25] size [25]\nAdd Circle [1] at [400] [10] size [50]\nAdd Circle [3] at [350] [100] size [50]\nAdd Circle [1] at [400] [200] size [50]\nAdd Circle [3] at [500] [200] size [50]\nAdd Circle [2] at [575] [200] size [25]\nAdd Circle [2] at [600] [200] size [25]\nAdd Circle [2] at [625] [200] size [25]\nAdd Circle [1] at [700] [200] size [50]\nAdd Circle [1] at [775] [275] size [75]\nAdd Circle [1] at [900] [275] size [100]\nAdd Circle [5] at [1000] [375] size [50]\n\ndefine Level 8\nAdd Circle [1] at [0] [-100] size [50]\nAdd Circle [1] at [-100] [-50] size [50]\nAdd Circle [1] at [-50] [50] size [50]\nAdd Circle [1] at [50] [70] size [50]\nAdd Circle [1] at [645] [95] size [1000]\nAdd Circle [2] at [400] [125] size [25]\nAdd Circle [2] at [500] [255] size [25]\nAdd Circle [2] at [518] [275] size [25]\nAdd Circle [2] at [800] [225] size [25]\nAdd Circle [2] at [700] [255] size [25]\nAdd Circle [2] at [682] [275] size [25]\nAdd Circle [5] at [1150] [100] size [50]\n\ndefine Level 9\nAdd Circle [1] at [-100] [-100] size [200]\nAdd Circle [2] at [25] [-250] size [25]\nAdd Circle [2] at [50] [-250] size [25]\nAdd Circle [2] at [75] [-250] size [25]\nAdd Moving Circle [1] size [75] at [50] [-200] speed [0] [3]\nAdd Circle [1] at [25] [250] size [25]\nAdd Circle [1] at [50] [250] size [25]\nAdd Circle [1] at [75] [250] size [25]\nAdd Circle [1] at [150] [150] size [75]\nAdd Moving Circle [3] size [75] at [150] [450] speed [0] [4]\nAdd Circle [1] at [25] [425] size [25]\nAdd Circle [1] at [50] [425] size [25]\nAdd Circle [1] at [75] [425] size [25]\nAdd Circle [3] at [-75] [325] size [25]\nAdd Circle [3] at [-50] [325] size [25]\nAdd Circle [3] at [-25] [325] size [25]\nAdd Circle [2] at [125] [350] size [25]\nAdd Circle [2] at [150] [350] size [25]\nAdd Circle [2] at [175] [350] size [25]\nAdd Circle [3] at [125] [900] size [25]\nAdd Circle [3] at [150] [900] size [25]\nAdd Circle [3] at [175] [900] size [25]\nAdd Circle [1] at [50] [825] size [25]\nAdd Circle [1] at [75] [825] size [25]\nAdd Circle [1] at [100] [825] size [25]\nAdd Circle [1] at [200] [775] size [25]\nAdd Circle [1] at [225] [775] size [25]\nAdd Circle [1] at [250] [775] size [25]\nAdd Circle [5] at [150] [1100] size [50]\n\ndefine Level 10\nAdd Circle [1] at [0] [-100] size [150]\nAdd Moving Circle [1] size [50] at [-100] [0] speed [3] [1]\nAdd Circle [2] at [-150] [-25] size [25]\nAdd Circle [2] at [-150] [0] size [25]\nAdd Circle [2] at [-150] [25] size [25]\nAdd Circle [2] at [150] [50] size [25]\nAdd Circle [2] at [150] [75] size [25]\nAdd Circle [2] at [150] [100] size [25]\nAdd Circle [1] at [250] [75] size [125]\nAdd Circle [1] at [250] [175] size [50]\nAdd Circle [1] at [450] [75] size [150]\nAdd Moving Circle [1] size [50] at [350] [175] speed [3] [0]\nAdd Moving Circle [1] size [50] at [550] [250] speed [-3] [-1]\nAdd Circle [2] at [300] [150] size [25]\nAdd Circle [2] at [300] [175] size [25]\nAdd Circle [2] at [300] [200] size [25]\nAdd Circle [2] at [600] [150] size [25]\nAdd Circle [2] at [600] [175] size [25]\nAdd Circle [2] at [600] [200] size [25]\nAdd Circle [2] at [600] [225] size [25]\nAdd Circle [2] at [600] [250] size [25]\nAdd Circle [2] at [600] [275] size [25]\nAdd Circle [5] at [500] [350] size [50]\n\n@Word 2\n\ndefine Add Circle (type) at (x) (y) size (size)\nadd (type) to [level v]\nadd (x) to [level v]\nadd (y) to [level v]\nadd (size) to [level v]\n\ndefine Add Moving Circle (type) size (size) at (x) (y) speed (xv) (yv)\nadd ((length of [level v]) + (1)) to [moving level v]\nadd (xv) to [moving level v]\nadd (yv) to [moving level v]\nadd (type) to [level v]\nadd (x) to [level v]\nadd (y) to [level v]\nadd (size) to [level v]\n\nwhen I receive [generate level v]\nif <(World) = [2]> then\n    if <(Level) = [1]> then\n        Level 1\n    end\n    if <(Level) = [2]> then\n        Level 2\n    end\n    if <(Level) = [3]> then\n        Level 3\n    end\n    if <(Level) = [4]> then\n        Level 4\n    end\n    if <(Level) = [5]> then\n        Level 5\n    end\n    if <(Level) = [6]> then\n        Level 6\n    end\n    if <(Level) = [7]> then\n        Level 7\n    end\n    if <(Level) = [8]> then\n        Level 8\n    end\n    if <(Level) = [9]> then\n        Level 9\n    end\n    if <(Level) = [10]> then\n        Level 10\n    end\nend\n\ndefine Level 1\nAdd Circle [1] at [0] [-100] size [100]\nAdd Circle [7] at [200] [-50] size [200]\nAdd Circle [7] at [335] [-75] size [200]\nAdd Circle [7] at [300] [-25] size [200]\nAdd Circle [7] at [400] [0] size [200]\nAdd Circle [7] at [425] [-50] size [200]\nAdd Circle [7] at [500] [-75] size [200]\nAdd Circle [7] at [525] [0] size [200]\nAdd Circle [7] at [600] [0] size [200]\nAdd Circle [1] at [775] [-150] size [100]\nAdd Circle [1] at [830] [-100] size [50]\nAdd Circle [1] at [900] [-50] size [100]\nAdd Circle [7] at [900] [150] size [200]\nAdd Circle [7] at [900] [75] size [100]\nAdd Circle [7] at [900] [200] size [200]\nAdd Circle [7] at [875] [350] size [200]\nAdd Circle [7] at [925] [300] size [200]\nAdd Circle [7] at [950] [400] size [200]\nAdd Circle [7] at [900] [425] size [200]\nAdd Circle [7] at [875] [500] size [200]\nAdd Circle [7] at [950] [525] size [200]\nAdd Circle [7] at [950] [600] size [200]\nAdd Circle [5] at [1000] [615] size [50]\n\ndefine Level 2\nAdd Circle [1] at [0] [-100] size [100]\nAdd Circle [7] at [175] [0] size [200]\nAdd Circle [7] at [175] [-100] size [200]\nAdd Circle [7] at [275] [0] size [200]\nAdd Circle [7] at [275] [-100] size [200]\nAdd Circle [2] at [225] [-75] size [25]\nAdd Circle [2] at [225] [-50] size [25]\nAdd Circle [2] at [250] [-75] size [25]\nAdd Circle [2] at [250] [-50] size [25]\nAdd Circle [1] at [450] [-75] size [100]\nAdd Circle [7] at [625] [-50] size [200]\nAdd Circle [7] at [625] [-150] size [200]\nAdd Circle [7] at [625] [-250] size [200]\nAdd Circle [7] at [725] [-50] size [200]\nAdd Circle [7] at [725] [-150] size [200]\nAdd Circle [7] at [725] [-250] size [200]\nAdd Circle [2] at [675] [-200] size [25]\nAdd Circle [2] at [675] [-175] size [25]\nAdd Circle [2] at [675] [-150] size [25]\nAdd Circle [2] at [675] [-125] size [25]\nAdd Circle [2] at [675] [-100] size [25]\nAdd Circle [2] at [675] [-75] size [25]\nAdd Circle [2] at [675] [-50] size [25]\nAdd Circle [2] at [675] [-25] size [25]\nAdd Circle [2] at [675] [0] size [25]\nAdd Circle [2] at [675] [25] size [25]\nAdd Circle [2] at [675] [50] size [25]\nAdd Circle [2] at [675] [75] size [25]\nAdd Circle [2] at [675] [100] size [25]\nAdd Circle [1] at [950] [-150] size [100]\nAdd Circle [5] at [950] [-15] size [50]\n\ndefine Level 3\nAdd Circle [1] at [100] [-250] size [500]\nAdd Circle [2] at [100] [15] size [25]\nAdd Circle [2] at [100] [35] size [25]\nAdd Circle [7] at [300] [-100] size [200]\nAdd Circle [4] at [600] [-170] size [500]\nAdd Circle [7] at [800] [100] size [200]\nAdd Circle [2] at [700] [15] size [25]\nAdd Circle [2] at [700] [40] size [25]\nAdd Circle [4] at [900] [0] size [25]\nAdd Circle [4] at [925] [0] size [25]\nAdd Circle [4] at [950] [0] size [25]\nAdd Circle [4] at [975] [0] size [25]\nAdd Circle [4] at [1000] [0] size [25]\nAdd Circle [4] at [1025] [0] size [25]\nAdd Circle [4] at [1050] [0] size [25]\nAdd Circle [4] at [1075] [0] size [25]\nAdd Circle [4] at [1100] [0] size [25]\nAdd Circle [4] at [1100] [150] size [25]\nAdd Moving Circle [2] size [25] at [1100] [100] speed [0] [4]\nAdd Circle [4] at [1125] [0] size [25]\nAdd Circle [4] at [1150] [0] size [25]\nAdd Circle [1] at [1150] [0] size [25]\nAdd Circle [1] at [1175] [0] size [25]\nAdd Circle [1] at [1200] [0] size [25]\nAdd Circle [5] at [1275] [-50] size [50]\n\ndefine Level 4\nAdd Circle [4] at [0] [-100] size [100]\nAdd Circle [4] at [90] [-10] size [75]\nAdd Circle [4] at [0] [100] size [50]\nAdd Circle [4] at [100] [170] size [25]\nAdd Circle [4] at [150] [225] size [25]\nAdd Circle [7] at [200] [360] size [300]\nAdd Circle [4] at [250] [350] size [25]\nAdd Circle [4] at [275] [350] size [25]\nAdd Circle [4] at [300] [350] size [25]\nAdd Circle [7] at [350] [350] size [100]\nAdd Circle [7] at [400] [350] size [100]\nAdd Circle [4] at [450] [350] size [25]\nAdd Circle [4] at [475] [350] size [25]\nAdd Circle [4] at [500] [350] size [25]\nAdd Circle [4] at [350] [600] size [25]\nAdd Circle [4] at [375] [600] size [25]\nAdd Circle [4] at [400] [600] size [25]\nAdd Moving Circle [2] size [25] at [350] [500] speed [0] [3]\nAdd Moving Circle [2] size [25] at [400] [500] speed [0] [-3]\nAdd Circle [2] at [375] [500] size [25]\nAdd Circle [2] at [550] [350] size [25]\nAdd Circle [2] at [575] [350] size [25]\nAdd Circle [2] at [575] [375] size [25]\nAdd Circle [2] at [600] [350] size [25]\nAdd Circle [4] at [650] [350] size [25]\nAdd Circle [4] at [675] [375] size [25]\nAdd Circle [4] at [700] [400] size [25]\nAdd Moving Circle [1] size [50] at [725] [500] speed [0] [4]\nAdd Circle [4] at [650] [600] size [25]\nAdd Circle [4] at [675] [600] size [25]\nAdd Circle [4] at [700] [600] size [25]\nAdd Circle [3] at [600] [575] size [75]\nAdd Circle [5] at [375] [700] size [50]\n\ndefine Level 5\nAdd Circle [1] at [0] [-100] size [100]\nAdd Circle [4] at [100] [-100] size [100]\nAdd Circle [4] at [200] [-100] size [100]\nAdd Circle [2] at [300] [-100] size [75]\nAdd Circle [2] at [400] [-100] size [75]\nAdd Circle [2] at [500] [-100] size [75]\nAdd Circle [7] at [350] [0] size [200]\nAdd Circle [7] at [450] [0] size [200]\nAdd Circle [4] at [600] [-100] size [100]\nAdd Circle [1] at [700] [-300] size [100]\nAdd Circle [4] at [800] [-300] size [100]\nAdd Circle [4] at [900] [-300] size [100]\nAdd Circle [2] at [1000] [-100] size [75]\nAdd Circle [2] at [1100] [-100] size [75]\nAdd Circle [2] at [1200] [-100] size [75]\nAdd Circle [7] at [1050] [-200] size [200]\nAdd Circle [7] at [1150] [-200] size [200]\nAdd Circle [4] at [1300] [-300] size [100]\nAdd Circle [3] at [1400] [-300] size [100]\nAdd Circle [7] at [1550] [-150] size [200]\nAdd Circle [7] at [1600] [-100] size [200]\nAdd Circle [7] at [1650] [-50] size [200]\nAdd Circle [7] at [1700] [0] size [200]\nAdd Circle [7] at [1750] [50] size [200]\nAdd Circle [7] at [1850] [50] size [200]\nAdd Circle [5] at [1900] [50] size [50]\n\ndefine Level 6\nAdd Circle [1] at [0] [-100] size [100]\nAdd Circle [4] at [75] [-100] size [25]\nAdd Circle [4] at [100] [-100] size [25]\nAdd Circle [4] at [125] [-100] size [25]\nAdd Circle [4] at [150] [-100] size [25]\nAdd Circle [4] at [175] [-100] size [25]\nAdd Circle [2] at [200] [-100] size [25]\nAdd Circle [2] at [200] [-75] size [25]\nAdd Circle [2] at [200] [-50] size [25]\nAdd Circle [4] at [225] [-100] size [25]\nAdd Circle [4] at [250] [-100] size [25]\nAdd Circle [4] at [275] [-100] size [25]\nAdd Circle [2] at [300] [-100] size [25]\nAdd Circle [2] at [300] [-75] size [25]\nAdd Circle [2] at [300] [-50] size [25]\nAdd Circle [4] at [325] [-100] size [25]\nAdd Circle [4] at [350] [-100] size [25]\nAdd Circle [4] at [375] [-100] size [25]\nAdd Circle [4] at [400] [-100] size [25]\nAdd Circle [4] at [425] [-100] size [25]\nAdd Circle [4] at [450] [-100] size [25]\nAdd Circle [4] at [475] [-100] size [25]\nAdd Circle [4] at [500] [-100] size [25]\nAdd Circle [2] at [525] [-100] size [25]\nAdd Circle [2] at [550] [-100] size [25]\nAdd Circle [2] at [575] [-100] size [25]\nAdd Circle [2] at [600] [-100] size [25]\nAdd Circle [2] at [625] [-100] size [25]\nAdd Circle [2] at [650] [-100] size [25]\nAdd Circle [1] at [675] [-100] size [25]\nAdd Circle [1] at [700] [-100] size [25]\nAdd Circle [1] at [725] [-100] size [25]\nAdd Circle [7] at [700] [-170] size [300]\nAdd Circle [7] at [800] [-150] size [50]\nAdd Circle [7] at [750] [-150] size [50]\nAdd Circle [7] at [700] [-150] size [50]\nAdd Circle [7] at [650] [-150] size [50]\nAdd Circle [7] at [600] [-150] size [50]\nAdd Circle [5] at [500] [-150] size [50]\n\ndefine Level 7\nAdd Circle [1] at [0] [-100] size [150]\nAdd Circle [1] at [0] [400] size [100]\nAdd Circle [1] at [100] [200] size [100]\nAdd Circle [1] at [600] [200] size [100]\nAdd Moving Circle [7] size [100] at [0] [100] speed [0] [-3]\nAdd Moving Circle [7] size [100] at [-100] [100] speed [0] [-3]\nAdd Moving Circle [7] size [100] at [100] [100] speed [0] [-3]\nAdd Moving Circle [1] size [100] at [200] [200] speed [3] [0]\nAdd Circle [4] at [1200] [200] size [100]\nAdd Moving Circle [4] size [100] at [800] [200] speed [5] [0]\nAdd Circle [4] at [800] [125] size [25]\nAdd Circle [4] at [825] [125] size [25]\nAdd Circle [4] at [850] [125] size [25]\nAdd Circle [4] at [900] [275] size [25]\nAdd Circle [4] at [925] [275] size [25]\nAdd Circle [4] at [950] [275] size [25]\nAdd Circle [1] at [1300] [125] size [25]\nAdd Circle [1] at [1325] [125] size [25]\nAdd Circle [1] at [1350] [125] size [25]\nAdd Circle [2] at [1375] [125] size [25]\nAdd Circle [2] at [1400] [125] size [25]\nAdd Circle [2] at [1425] [125] size [25]\nAdd Circle [1] at [1450] [125] size [25]\nAdd Circle [1] at [1475] [125] size [25]\nAdd Circle [1] at [1500] [125] size [25]\nAdd Circle [4] at [1600] [300] size [100]\nAdd Moving Circle [4] size [50] at [1400] [250] speed [4] [0]\nAdd Circle [5] at [1600] [450] size [50]\n\ndefine Level 8\nAdd Circle [5] at [0] [-200] size [50]\nAdd Circle [7] at [0] [0] size [400]\nAdd Circle [7] at [300] [300] size [400]\nAdd Circle [7] at [600] [0] size [400]\nAdd Circle [7] at [900] [300] size [400]\nAdd Circle [7] at [1200] [600] size [400]\nAdd Circle [7] at [900] [900] size [400]\nAdd Circle [7] at [600] [1200] size [400]\nAdd Circle [7] at [300] [1500] size [400]\nAdd Circle [7] at [600] [1800] size [400]\nAdd Circle [5] at [750] [2000] size [50]\nAdd Circle [2] at [50] [0] size [25]\nAdd Circle [2] at [0] [50] size [25]\nAdd Circle [2] at [-50] [100] size [25]\nAdd Circle [2] at [-100] [150] size [25]\nAdd Circle [2] at [-50] [-100] size [25]\nAdd Circle [2] at [-100] [-150] size [25]\nAdd Circle [2] at [50] [100] size [25]\nAdd Circle [2] at [100] [150] size [25]\nAdd Circle [2] at [150] [200] size [25]\nAdd Circle [2] at [200] [250] size [25]\nAdd Circle [2] at [250] [300] size [25]\nAdd Circle [2] at [300] [350] size [25]\nAdd Circle [2] at [350] [300] size [25]\nAdd Circle [2] at [250] [125] size [25]\nAdd Circle [2] at [300] [175] size [25]\nAdd Circle [2] at [350] [125] size [25]\nAdd Circle [2] at [400] [250] size [25]\nAdd Circle [2] at [450] [200] size [25]\nAdd Circle [2] at [500] [200] size [25]\nAdd Circle [2] at [550] [150] size [25]\nAdd Circle [2] at [550] [100] size [25]\nAdd Circle [2] at [550] [50] size [25]\nAdd Circle [2] at [550] [0] size [25]\nAdd Circle [2] at [550] [-50] size [25]\nAdd Circle [2] at [550] [-100] size [25]\nAdd Circle [2] at [650] [-175] size [25]\nAdd Circle [2] at [650] [-125] size [25]\nAdd Circle [2] at [650] [-75] size [25]\nAdd Circle [2] at [650] [-25] size [25]\nAdd Circle [2] at [650] [25] size [25]\nAdd Circle [2] at [650] [75] size [25]\nAdd Circle [2] at [700] [100] size [25]\nAdd Circle [2] at [800] [150] size [25]\nAdd Circle [2] at [850] [200] size [25]\nAdd Circle [2] at [900] [250] size [25]\nAdd Circle [2] at [950] [300] size [25]\nAdd Circle [2] at [1000] [350] size [25]\nAdd Circle [2] at [1050] [400] size [25]\nAdd Circle [2] at [775] [350] size [25]\nAdd Circle [2] at [825] [400] size [25]\nAdd Circle [2] at [875] [450] size [25]\nAdd Circle [2] at [925] [500] size [25]\nAdd Circle [2] at [725] [300] size [25]\nAdd Circle [2] at [1030] [600] size [50]\nAdd Circle [2] at [1200] [600] size [250]\nAdd Circle [2] at [1085] [785] size [25]\nAdd Circle [5] at [900] [900] size [50]\nAdd Circle [2] at [600] [1200] size [275]\nAdd Circle [2] at [300] [1500] size [300]\nAdd Circle [2] at [600] [1800] size [350]\nAdd Circle [2] at [785] [1085] size [25]\n\ndefine Level 9\nAdd Circle [1] at [0] [-100] size [100]\nAdd Circle [4] at [200] [-100] size [75]\nAdd Circle [4] at [250] [0] size [70]\nAdd Circle [4] at [300] [100] size [65]\nAdd Circle [4] at [450] [150] size [60]\nAdd Circle [4] at [575] [200] size [55]\nAdd Circle [4] at [450] [275] size [50]\nAdd Circle [4] at [300] [275] size [45]\nAdd Circle [4] at [160] [325] size [40]\nAdd Circle [4] at [100] [425] size [35]\nAdd Circle [4] at [250] [450] size [30]\nAdd Circle [4] at [400] [475] size [25]\nAdd Circle [4] at [500] [550] size [20]\nAdd Circle [4] at [400] [625] size [15]\nAdd Circle [4] at [350] [625] size [10]\nAdd Circle [4] at [300] [650] size [5]\nAdd Circle [5] at [200] [700] size [50]\n\ndefine Level 10\nAdd Circle [4] at [0] [-100] size [100]\nAdd Moving Circle [2] size [25] at [100] [-100] speed [5] [0]\nAdd Circle [4] at [200] [-100] size [25]\nAdd Circle [4] at [200] [-75] size [25]\nAdd Circle [4] at [200] [-50] size [25]\nAdd Circle [4] at [200] [-25] size [25]\nAdd Circle [4] at [200] [0] size [25]\nAdd Circle [4] at [200] [25] size [25]\nAdd Circle [7] at [100] [-200] size [100]\nAdd Circle [7] at [150] [-175] size [100]\nAdd Circle [7] at [200] [-225] size [100]\nAdd Circle [7] at [250] [-200] size [100]\nAdd Circle [7] at [225] [-175] size [100]\nAdd Circle [7] at [300] [-150] size [100]\nAdd Circle [2] at [200] [-125] size [25]\nAdd Circle [2] at [200] [-150] size [25]\nAdd Circle [2] at [200] [-175] size [25]\nAdd Moving Circle [2] size [25] at [250] [-75] speed [4] [0]\nAdd Circle [4] at [400] [-100] size [75]\nAdd Circle [4] at [500] [-100] size [25]\nAdd Circle [4] at [525] [-100] size [25]\nAdd Circle [4] at [550] [-100] size [25]\nAdd Circle [4] at [575] [-100] size [25]\nAdd Circle [4] at [600] [-100] size [25]\nAdd Circle [4] at [625] [-100] size [25]\nAdd Circle [4] at [650] [-100] size [25]\nAdd Circle [4] at [675] [-100] size [25]\nAdd Circle [4] at [700] [-100] size [25]\nAdd Circle [2] at [725] [-100] size [25]\nAdd Circle [2] at [750] [-100] size [25]\nAdd Circle [2] at [775] [-100] size [25]\nAdd Circle [2] at [800] [-100] size [25]\nAdd Circle [2] at [825] [-100] size [25]\nAdd Circle [2] at [850] [-100] size [25]\nAdd Circle [4] at [875] [-100] size [25]\nAdd Circle [4] at [900] [-100] size [25]\nAdd Circle [4] at [950] [-100] size [25]\nAdd Circle [4] at [1000] [-100] size [25]\nAdd Circle [4] at [1050] [-100] size [25]\nAdd Circle [4] at [1100] [-100] size [25]\nAdd Moving Circle [5] size [75] at [1200] [0] speed [-5] [-5]\nAdd Moving Circle [5] size [75] at [1500] [300] speed [5] [5]\nAdd Circle [4] at [2000] [800] size [25]\nAdd Circle [4] at [2025] [800] size [25]\nAdd Circle [4] at [2050] [800] size [25]\nAdd Circle [5] at [2025] [925] size [50]\n\n@Word 3\n\ndefine Add Circle (type) at (x) (y) size (size)\nadd (type) to [level v]\nadd (x) to [level v]\nadd (y) to [level v]\nadd (size) to [level v]\n\ndefine Add Moving Circle (type) size (size) at (x) (y) speed (xv) (yv)\nadd ((length of [level v]) + (1)) to [moving level v]\nadd (xv) to [moving level v]\nadd (yv) to [moving level v]\nadd (type) to [level v]\nadd (x) to [level v]\nadd (y) to [level v]\nadd (size) to [level v]\n\nwhen I receive [generate level v]\nif <(World) = [3]> then\n    if <(Level) = [1]> then\n        Level 1\n    end\n    if <(Level) = [2]> then\n        Level 2\n    end\n    if <(Level) = [3]> then\n        Level 3\n    end\n    if <(Level) = [4]> then\n        Level 4\n    end\n    if <(Level) = [5]> then\n        Level 5\n    end\n    if <(Level) = [6]> then\n        Level 6\n    end\n    if <(Level) = [7]> then\n        Level 7\n    end\n    if <(Level) = [8]> then\n        Level 8\n    end\n    if <(Level) = [9]> then\n        Level 9\n    end\n    if <(Level) = [10]> then\n        Level 10\n    end\nend\n\ndefine Level 1\nAdd Circle [1] at [0] [-100] size [100]\nAdd Circle [1] at [80] [0] size [75]\nAdd Circle [1] at [150] [100] size [50]\nAdd Circle [8] at [300] [100] size [100]\nAdd Circle [1] at [450] [100] size [100]\nAdd Circle [2] at [500] [145] size [25]\nAdd Circle [2] at [520] [160] size [25]\nAdd Circle [2] at [540] [175] size [25]\nAdd Circle [1] at [590] [190] size [75]\nAdd Circle [8] at [750] [190] size [100]\nAdd Circle [8] at [900] [200] size [100]\nAdd Circle [1] at [1100] [150] size [150]\nAdd Circle [5] at [1300] [125] size [50]\n\ndefine Level 2\nAdd Circle [1] at [0] [-100] size [100]\nAdd Circle [8] at [150] [-100] size [100]\nAdd Circle [8] at [325] [-100] size [100]\nAdd Circle [8] at [450] [-100] size [100]\nAdd Circle [2] at [512] [-100] size [25]\nAdd Circle [2] at [512] [-75] size [25]\nAdd Circle [2] at [512] [-50] size [25]\nAdd Circle [8] at [575] [-100] size [100]\nAdd Circle [2] at [650] [-100] size [25]\nAdd Circle [2] at [675] [-100] size [25]\nAdd Circle [2] at [700] [-100] size [25]\nAdd Circle [8] at [775] [-100] size [100]\nAdd Circle [8] at [900] [-100] size [50]\nAdd Circle [1] at [1000] [-100] size [50]\nAdd Circle [8] at [1100] [-100] size [50]\nAdd Circle [2] at [1150] [-100] size [25]\nAdd Circle [2] at [1175] [-100] size [25]\nAdd Circle [2] at [1200] [-100] size [25]\nAdd Circle [8] at [1250] [-100] size [50]\nAdd Circle [1] at [1375] [-100] size [100]\nAdd Circle [8] at [1500] [-50] size [100]\nAdd Circle [5] at [1600] [0] size [50]\n\ndefine Level 3\nAdd Circle [1] at [0] [-100] size [100]\nAdd Circle [1] at [100] [-100] size [100]\nAdd Circle [8] at [100] [0] size [100]\nAdd Circle [8] at [100] [100] size [100]\nAdd Circle [3] at [200] [-50] size [100]\nAdd Circle [1] at [-50] [100] size [100]\nAdd Circle [1] at [0] [150] size [50]\nAdd Circle [1] at [-150] [200] size [100]\nAdd Circle [8] at [-75] [300] size [50]\nAdd Circle [8] at [-25] [300] size [50]\nAdd Circle [8] at [25] [300] size [50]\nAdd Circle [8] at [75] [300] size [50]\nAdd Circle [8] at [125] [300] size [50]\nAdd Circle [8] at [175] [300] size [50]\nAdd Circle [8] at [225] [300] size [50]\nAdd Circle [8] at [275] [300] size [50]\nAdd Circle [2] at [50] [325] size [25]\nAdd Circle [2] at [50] [350] size [25]\nAdd Circle [2] at [150] [325] size [25]\nAdd Circle [2] at [150] [350] size [25]\nAdd Circle [8] at [375] [350] size [100]\nAdd Moving Circle [1] size [100] at [375] [250] speed [0] [-3]\nAdd Circle [2] at [350] [150] size [25]\nAdd Circle [2] at [375] [150] size [25]\nAdd Circle [2] at [400] [150] size [25]\nAdd Circle [5] at [375] [650] size [50]\n\ndefine Level 4\nAdd Circle [1] at [0] [-100] size [100]\nAdd Circle [6] at [400] [-350] size [700]\nAdd Circle [6] at [750] [-350] size [700]\nAdd Circle [6] at [1300] [-250] size [500]\nAdd Circle [8] at [150] [-75] size [75]\nAdd Circle [8] at [225] [0] size [50]\nAdd Circle [8] at [400] [0] size [25]\nAdd Circle [1] at [700] [-50] size [100]\nAdd Circle [1] at [900] [-50] size [75]\nAdd Moving Circle [1] size [100] at [1000] [50] speed [5] [0]\nAdd Circle [8] at [1100] [-25] size [75]\nAdd Circle [8] at [1500] [-100] size [100]\nAdd Circle [6] at [1700] [-100] size [200]\nAdd Circle [2] at [1775] [-12] size [25]\nAdd Circle [2] at [1800] [-12] size [25]\nAdd Circle [2] at [1825] [-12] size [25]\nAdd Circle [2] at [1850] [-12] size [25]\nAdd Circle [2] at [1875] [-12] size [25]\nAdd Circle [2] at [1900] [-12] size [25]\nAdd Circle [2] at [1925] [-12] size [25]\nAdd Circle [2] at [1950] [-12] size [25]\nAdd Circle [2] at [1975] [-12] size [25]\nAdd Circle [2] at [2000] [-12] size [25]\nAdd Circle [6] at [2075] [-100] size [200]\nAdd Circle [8] at [1825] [25] size [25]\nAdd Circle [8] at [1862] [25] size [50]\nAdd Circle [8] at [1900] [25] size [25]\nAdd Circle [5] at [2250] [-100] size [50]\n\ndefine Level 5\nAdd Circle [1] at [0] [-150] size [100]\nAdd Moving Circle [8] size [100] at [300] [-225] speed [-5] [0]\nAdd Circle [6] at [500] [-150] size [100]\nAdd Circle [8] at [600] [-50] size [100]\nAdd Circle [6] at [800] [-50] size [50]\nAdd Circle [8] at [850] [-50] size [50]\nAdd Circle [8] at [850] [-300] size [50]\nAdd Moving Circle [8] size [100] at [900] [-200] speed [0] [10]\nAdd Circle [5] at [900] [500] size [50]\n\ndefine Level 6\nAdd Circle [8] at [100] [-100] size [200]\nAdd Moving Circle [6] size [100] at [400] [-100] speed [-3] [0]\nAdd Circle [8] at [600] [-100] size [200]\nAdd Circle [6] at [800] [-100] size [125]\nAdd Moving Circle [1] size [200] at [1000] [-50] speed [5] [0]\nAdd Circle [8] at [1330] [-75] size [100]\nAdd Circle [5] at [1330] [-240] size [35]\nAdd Circle [8] at [1750] [-100] size [50]\nAdd Circle [6] at [1800] [-50] size [50]\nAdd Circle [5] at [2100] [-50] size [50]\n\ndefine Level 7\nAdd Circle [1] at [0] [-100] size [100]\nAdd Circle [6] at [170] [-100] size [100]\nAdd Moving Circle [1] size [75] at [300] [-200] speed [0] [2]\nAdd Moving Circle [1] size [75] at [450] [-400] speed [0] [3]\nAdd Moving Circle [6] size [75] at [600] [-700] speed [0] [4]\nAdd Moving Circle [1] size [75] at [550] [-900] speed [1] [5]\nAdd Moving Circle [2] size [75] at [900] [-1200] speed [0] [6]\nAdd Moving Circle [6] size [75] at [900] [-1100] speed [0] [6]\nAdd Moving Circle [5] size [50] at [900] [3000] speed [0] [-6]\n\ndefine Level 8\nAdd Circle [1] at [0] [-75] size [100]\nAdd Circle [8] at [-75] [0] size [100]\nAdd Circle [8] at [75] [0] size [100]\nAdd Circle [8] at [225] [0] size [100]\nAdd Circle [8] at [375] [0] size [100]\nAdd Circle [8] at [525] [0] size [100]\nAdd Circle [8] at [0] [75] size [100]\nAdd Circle [8] at [150] [75] size [100]\nAdd Circle [8] at [300] [75] size [100]\nAdd Circle [8] at [450] [75] size [100]\nAdd Circle [5] at [600] [75] size [50]\nAdd Circle [8] at [150] [-75] size [100]\nAdd Circle [8] at [300] [-75] size [100]\nAdd Circle [8] at [450] [-75] size [100]\nAdd Circle [6] at [-75] [150] size [100]\nAdd Circle [6] at [75] [150] size [100]\nAdd Circle [6] at [225] [150] size [100]\nAdd Circle [6] at [375] [150] size [100]\nAdd Circle [6] at [525] [150] size [100]\nAdd Circle [2] at [150] [225] size [100]\nAdd Circle [2] at [300] [225] size [100]\nAdd Circle [2] at [450] [225] size [100]\n\ndefine Level 9\nAdd Circle [1] at [0] [-100] size [100]\nAdd Circle [8] at [75] [-75] size [25]\nAdd Circle [8] at [100] [-75] size [25]\nAdd Circle [8] at [125] [-75] size [25]\nAdd Circle [8] at [150] [-75] size [25]\nAdd Circle [8] at [175] [-75] size [25]\nAdd Circle [8] at [200] [-75] size [25]\nAdd Circle [2] at [225] [-75] size [25]\nAdd Circle [2] at [250] [-75] size [25]\nAdd Circle [2] at [275] [-75] size [25]\nAdd Circle [2] at [300] [-75] size [25]\nAdd Circle [8] at [325] [-75] size [25]\nAdd Circle [8] at [350] [-75] size [25]\nAdd Circle [8] at [375] [-75] size [25]\nAdd Circle [8] at [400] [-75] size [25]\nAdd Circle [8] at [450] [-75] size [25]\nAdd Circle [8] at [500] [-75] size [25]\nAdd Circle [8] at [550] [-75] size [25]\nAdd Circle [8] at [600] [-75] size [25]\nAdd Circle [6] at [650] [-75] size [25]\nAdd Circle [6] at [675] [-75] size [25]\nAdd Circle [6] at [700] [-75] size [25]\nAdd Circle [6] at [725] [-75] size [25]\nAdd Circle [6] at [750] [-150] size [25]\nAdd Circle [6] at [775] [-150] size [25]\nAdd Circle [6] at [800] [-150] size [25]\nAdd Circle [6] at [825] [-150] size [25]\nAdd Circle [6] at [850] [-150] size [25]\nAdd Circle [6] at [875] [-150] size [25]\nAdd Circle [6] at [900] [-150] size [25]\nAdd Circle [6] at [925] [-150] size [25]\nAdd Circle [6] at [950] [-150] size [25]\nAdd Circle [6] at [975] [-75] size [25]\nAdd Circle [6] at [1000] [-75] size [25]\nAdd Circle [6] at [1025] [-75] size [25]\nAdd Circle [6] at [1050] [-75] size [25]\nAdd Circle [8] at [850] [0] size [200]\nAdd Moving Circle [1] size [50] at [775] [-112] speed [0] [6]\nAdd Moving Circle [1] size [25] at [825] [-115] speed [0] [6]\nAdd Moving Circle [1] size [25] at [850] [-115] speed [0] [6]\nAdd Moving Circle [1] size [25] at [875] [-115] speed [0] [6]\nAdd Moving Circle [1] size [50] at [925] [-112] speed [0] [6]\nAdd Circle [8] at [725] [400] size [100]\nAdd Circle [8] at [975] [400] size [100]\nAdd Circle [8] at [850] [600] size [100]\nAdd Circle [3] at [725] [800] size [100]\nAdd Circle [3] at [975] [800] size [100]\nAdd Circle [5] at [850] [1200] size [50]\n\ndefine Level 10\nAdd Circle [6] at [300] [-250] size [700]\nAdd Circle [6] at [400] [-200] size [700]\nAdd Circle [6] at [500] [-150] size [250]\nAdd Circle [6] at [600] [-100] size [300]\nAdd Circle [6] at [700] [-150] size [700]\nAdd Circle [6] at [800] [-200] size [700]\nAdd Circle [6] at [900] [-250] size [500]\nAdd Circle [6] at [1000] [-300] size [700]\nAdd Circle [2] at [200] [40] size [100]\nAdd Circle [2] at [210] [0] size [100]\nAdd Circle [2] at [240] [-50] size [100]\nAdd Circle [2] at [400] [150] size [100]\nAdd Circle [2] at [375] [100] size [100]\nAdd Circle [2] at [400] [50] size [100]\nAdd Circle [2] at [600] [225] size [100]\nAdd Circle [2] at [550] [160] size [100]\nAdd Circle [2] at [575] [100] size [100]\nAdd Circle [8] at [1060] [250] size [100]\nAdd Circle [8] at [1000] [160] size [100]\nAdd Circle [8] at [1200] [300] size [100]\nAdd Circle [8] at [1300] [375] size [100]\nAdd Circle [8] at [1400] [375] size [100]\nAdd Circle [8] at [1550] [375] size [100]\nAdd Circle [8] at [1650] [400] size [75]\nAdd Circle [8] at [1800] [450] size [75]\nAdd Circle [8] at [1850] [525] size [75]\nAdd Circle [8] at [1700] [600] size [75]\nAdd Circle [5] at [1700] [700] size [50]\n\nAdd Moving Circle [1] size [50] at [900] [-] speed [-2] [3]\n\n@World 4\n\ndefine Add Circle (type) at (x) (y) size (size)\nadd (type) to [level v]\nadd (x) to [level v]\nadd (y) to [level v]\nadd (size) to [level v]\n\ndefine Add Moving Circle (type) size (size) at (x) (y) speed (xv) (yv)\nadd ((length of [level v]) + (1)) to [moving level v]\nadd (xv) to [moving level v]\nadd (yv) to [moving level v]\nadd (type) to [level v]\nadd (x) to [level v]\nadd (y) to [level v]\nadd (size) to [level v]\n\nwhen I receive [generate level v]\nif <(World) = [4]> then\n    if <(Level) = [1]> then\n        Level 1\n    end\n    if <(Level) = [2]> then\n        Level 2\n    end\n    if <(Level) = [3]> then\n        Level 3\n    end\n    if <(Level) = [4]> then\n        Level 4\n    end\n    if <(Level) = [5]> then\n        Level 5\n    end\n    if <(Level) = [6]> then\n        Level 6\n    end\n    if <(Level) = [7]> then\n        Level 7\n    end\n    if <(Level) = [8]> then\n        Level 8\n    end\n    if <(Level) = [9]> then\n        Level 9\n    end\n    if <(Level) = [10]> then\n        Level 10\n    end\nend\n\ndefine Level 1\nAdd Circle [1] at [-40] [-100] size [200]\nAdd Circle [1] at [275] [-150] size [300]\nAdd Circle [9] at [275] [50] size [50]\nAdd Circle [1] at [275] [350] size [300]\nAdd Circle [1] at [500] [350] size [250]\nAdd Circle [1] at [650] [300] size [75]\nAdd Circle [1] at [800] [350] size [250]\nAdd Circle [11] at [800] [150] size [50]\nAdd Circle [1] at [800] [-100] size [200]\nAdd Circle [1] at [950] [-100] size [25]\nAdd Circle [1] at [975] [-100] size [25]\nAdd Circle [1] at [1000] [-100] size [25]\nAdd Circle [9] at [1050] [-125] size [75]\nAdd Circle [1] at [1100] [-100] size [25]\nAdd Circle [1] at [1125] [-100] size [25]\nAdd Circle [1] at [1150] [-100] size [25]\nAdd Circle [1] at [1175] [-100] size [25]\nAdd Circle [1] at [1200] [-100] size [25]\nAdd Circle [1] at [1225] [-100] size [25]\nAdd Circle [1] at [1025] [75] size [25]\nAdd Circle [1] at [1050] [75] size [25]\nAdd Circle [1] at [1075] [75] size [25]\nAdd Circle [1] at [1100] [75] size [25]\nAdd Circle [1] at [1125] [75] size [25]\nAdd Circle [1] at [1150] [75] size [25]\nAdd Circle [11] at [1200] [100] size [75]\nAdd Circle [1] at [1250] [75] size [25]\nAdd Circle [1] at [1275] [75] size [25]\nAdd Circle [1] at [1300] [75] size [25]\nAdd Circle [5] at [1125] [200] size [50]\n\ndefine Level 2\nAdd Circle [1] at [50] [-100] size [100]\nAdd Circle [1] at [-225] [-75] size [25]\nAdd Circle [1] at [-225] [-50] size [25]\nAdd Circle [1] at [-225] [-25] size [25]\nAdd Circle [1] at [-225] [0] size [25]\nAdd Circle [1] at [-225] [25] size [25]\nAdd Circle [1] at [-175] [75] size [25]\nAdd Circle [1] at [-175] [100] size [25]\nAdd Circle [1] at [-175] [125] size [25]\nAdd Circle [1] at [-225] [175] size [25]\nAdd Circle [1] at [-225] [200] size [25]\nAdd Circle [1] at [-225] [225] size [25]\nAdd Circle [1] at [-225] [250] size [25]\nAdd Circle [1] at [-225] [275] size [25]\nAdd Circle [5] at [-75] [100] size [50]\nAdd Circle [10] at [150] [-100] size [50]\nAdd Circle [1] at [600] [-200] size [50]\nAdd Circle [1] at [600] [-150] size [50]\nAdd Circle [1] at [600] [-100] size [50]\nAdd Circle [1] at [600] [-50] size [50]\nAdd Circle [2] at [675] [-25] size [25]\nAdd Circle [2] at [675] [0] size [25]\nAdd Circle [2] at [675] [25] size [25]\nAdd Circle [1] at [600] [50] size [50]\nAdd Circle [3] at [600] [100] size [50]\nAdd Circle [1] at [500] [151] size [50]\nAdd Circle [3] at [500] [325] size [100]\nAdd Circle [11] at [325] [300] size [50]\nAdd Circle [12] at [325] [100] size [50]\n\ndefine Level 3\nAdd Circle [1] at [-25] [-100] size [25]\nAdd Circle [1] at [0] [-100] size [25]\nAdd Circle [1] at [25] [-100] size [25]\nAdd Circle [1] at [50] [-100] size [25]\nAdd Circle [1] at [75] [-100] size [25]\nAdd Circle [1] at [100] [-100] size [25]\nAdd Circle [1] at [125] [-100] size [25]\nAdd Circle [1] at [150] [-100] size [25]\nAdd Circle [1] at [175] [-100] size [25]\nAdd Circle [1] at [200] [-100] size [25]\nAdd Circle [1] at [225] [-100] size [25]\nAdd Circle [1] at [225] [-75] size [25]\nAdd Circle [1] at [225] [-50] size [25]\nAdd Circle [1] at [225] [-25] size [25]\nAdd Circle [1] at [225] [0] size [25]\nAdd Circle [1] at [225] [25] size [25]\nAdd Circle [1] at [225] [50] size [25]\nAdd Circle [1] at [225] [75] size [25]\nAdd Circle [1] at [225] [100] size [25]\nAdd Circle [1] at [250] [100] size [25]\nAdd Circle [1] at [275] [100] size [25]\nAdd Circle [1] at [300] [100] size [25]\nAdd Circle [1] at [500] [100] size [100]\nAdd Circle [10] at [175] [-50] size [30]\nAdd Circle [2] at [50] [-75] size [25]\nAdd Circle [2] at [50] [-50] size [25]\nAdd Circle [2] at [75] [-75] size [25]\nAdd Circle [2] at [75] [-50] size [25]\nAdd Circle [2] at [200] [50] size [25]\nAdd Circle [2] at [175] [50] size [25]\nAdd Circle [11] at [262] [150] size [50]\nAdd Circle [1] at [500] [400] size [100]\nAdd Circle [9] at [600] [100] size [50]\nAdd Circle [9] at [700] [100] size [50]\nAdd Circle [9] at [800] [100] size [50]\nAdd Circle [11] at [650] [400] size [50]\nAdd Circle [11] at [750] [400] size [50]\nAdd Circle [11] at [850] [400] size [50]\nAdd Circle [2] at [600] [0] size [50]\nAdd Circle [2] at [700] [0] size [50]\nAdd Circle [2] at [800] [0] size [50]\nAdd Circle [2] at [650] [500] size [50]\nAdd Circle [2] at [750] [500] size [50]\nAdd Circle [2] at [850] [500] size [50]\nAdd Circle [1] at [600] [50] size [50]\nAdd Circle [1] at [700] [50] size [50]\nAdd Circle [1] at [800] [50] size [50]\nAdd Circle [1] at [650] [450] size [50]\nAdd Circle [1] at [750] [450] size [50]\nAdd Circle [1] at [850] [450] size [50]\nAdd Circle [5] at [900] [100] size [50]\n\ndefine Level 4\nAdd Circle [1] at [0] [-100] size [100]\nAdd Circle [9] at [100] [-100] size [50]\nAdd Circle [1] at [100] [-200] size [100]\nAdd Circle [1] at [100] [100] size [100]\nAdd Circle [1] at [200] [75] size [25]\nAdd Circle [1] at [225] [75] size [25]\nAdd Circle [1] at [250] [75] size [25]\nAdd Circle [1] at [275] [75] size [25]\nAdd Circle [2] at [275] [100] size [25]\nAdd Circle [2] at [300] [100] size [25]\nAdd Circle [2] at [325] [100] size [25]\nAdd Circle [2] at [350] [100] size [25]\nAdd Circle [2] at [375] [100] size [25]\nAdd Circle [2] at [400] [100] size [25]\nAdd Circle [3] at [400] [75] size [25]\nAdd Circle [3] at [425] [75] size [25]\nAdd Circle [3] at [450] [75] size [25]\nAdd Circle [3] at [475] [75] size [25]\nAdd Circle [1] at [500] [-25] size [75]\nAdd Circle [1] at [550] [50] size [50]\nAdd Circle [1] at [575] [125] size [40]\nAdd Circle [1] at [600] [200] size [50]\nAdd Circle [1] at [650] [275] size [75]\nAdd Circle [1] at [650] [-25] size [75]\nAdd Circle [1] at [700] [50] size [50]\nAdd Circle [1] at [725] [125] size [40]\nAdd Circle [1] at [750] [200] size [50]\nAdd Circle [1] at [800] [275] size [75]\nAdd Circle [11] at [725] [275] size [50]\nAdd Circle [5] at [100] [250] size [50]\n\ndefine Level 5\nAdd Circle [1] at [0] [-100] size [125]\nAdd Circle [1] at [125] [-50] size [75]\nAdd Circle [1] at [100] [100] size [75]\nAdd Circle [1] at [-75] [0] size [75]\nAdd Circle [1] at [200] [25] size [75]\nAdd Circle [1] at [25] [200] size [75]\nAdd Circle [1] at [150] [300] size [75]\nAdd Circle [1] at [225] [200] size [75]\nAdd Circle [5] at [150] [450] size [50]\nAdd Circle [10] at [0] [100] size [50]\nAdd Circle [11] at [100] [25] size [50]\nAdd Circle [12] at [175] [125] size [50]\nAdd Circle [9] at [100] [175] size [50]\n\ndefine Level 6\nAdd Circle [1] at [0] [-100] size [100]\nAdd Circle [10] at [100] [-100] size [50]\nAdd Circle [2] at [200] [100] size [25]\nAdd Circle [2] at [200] [-300] size [25]\nAdd Moving Circle [2] size [25] at [200] [-100] speed [0] [2]\nAdd Circle [1] at [400] [-150] size [100]\nAdd Circle [9] at [400] [-50] size [50]\nAdd Circle [2] at [250] [0] size [25]\nAdd Circle [2] at [550] [0] size [25]\nAdd Moving Circle [2] size [25] at [400] [0] speed [6] [0]\nAdd Circle [1] at [400] [300] size [200]\nAdd Circle [2] at [200] [400] size [25]\nAdd Circle [12] at [275] [250] size [50]\nAdd Moving Circle [2] size [25] at [200] [300] speed [0] [12]\nAdd Circle [1] at [50] [250] size [100]\nAdd Circle [5] at [50] [400] size [50]\nAdd Circle [11] at [50] [330] size [50]\n\ndefine Level 7\nAdd Circle [9] at [0] [0] size [50]\nAdd Circle [1] at [0] [400] size [50]\nAdd Circle [1] at [-100] [350] size [50]\nAdd Circle [1] at [-50] [250] size [50]\nAdd Circle [1] at [50] [230] size [50]\nAdd Circle [1] at [290] [240] size [1000]\nAdd Circle [2] at [400] [-225] size [25]\nAdd Circle [2] at [500] [-255] size [25]\nAdd Circle [2] at [518] [-275] size [25]\nAdd Circle [2] at [800] [-225] size [25]\nAdd Circle [2] at [700] [-255] size [25]\nAdd Circle [2] at [682] [-275] size [25]\nAdd Circle [5] at [850] [200] size [50]\n\ndefine Level 8\nAdd Circle [1] at [0] [-100] size [100]\nAdd Circle [2] at [75] [-75] size [25]\nAdd Circle [2] at [100] [-75] size [25]\nAdd Circle [2] at [125] [-75] size [25]\nAdd Circle [1] at [200] [-50] size [100]\nAdd Circle [10] at [200] [50] size [50]\nAdd Circle [1] at [300] [75] size [100]\nAdd Circle [2] at [225] [125] size [25]\nAdd Circle [2] at [250] [125] size [25]\nAdd Circle [1] at [240] [200] size [100]\nAdd Circle [11] at [300] [275] size [50]\nAdd Circle [2] at [375] [75] size [25]\nAdd Circle [2] at [400] [75] size [25]\nAdd Circle [2] at [425] [75] size [25]\nAdd Circle [1] at [500] [75] size [100]\nAdd Circle [9] at [525] [188] size [50]\nAdd Circle [1] at [550] [300] size [100]\nAdd Circle [1] at [650] [200] size [100]\nAdd Circle [1] at [600] [100] size [50]\nAdd Circle [5] at [0] [-225] size [50]\nAdd Circle [2] at [-50] [-250] size [25]\nAdd Circle [2] at [-50] [-225] size [25]\nAdd Circle [2] at [-50] [-200] size [25]\n\ndefine Level 9\nAdd Circle [1] at [50] [-100] size [100]\nAdd Circle [1] at [100] [0] size [100]\nAdd Circle [1] at [250] [0] size [100]\nAdd Circle [1] at [400] [0] size [100]\nAdd Circle [1] at [400] [150] size [100]\nAdd Circle [1] at [400] [300] size [100]\nAdd Circle [1] at [250] [300] size [100]\nAdd Circle [1] at [100] [300] size [100]\nAdd Circle [1] at [100] [150] size [100]\nAdd Circle [2] at [250] [150] size [150]\nAdd Circle [10] at [0] [0] size [50]\nAdd Circle [2] at [50] [225] size [25]\nAdd Circle [2] at [75] [225] size [25]\nAdd Circle [2] at [100] [225] size [25]\nAdd Circle [11] at [100] [400] size [50]\nAdd Circle [1] at [175] [300] size [25]\nAdd Circle [2] at [325] [300] size [25]\nAdd Circle [2] at [325] [325] size [25]\nAdd Circle [2] at [325] [350] size [25]\nAdd Circle [2] at [325] [375] size [25]\nAdd Circle [12] at [500] [300] size [50]\nAdd Circle [2] at [400] [85] size [20]\nAdd Circle [2] at [420] [85] size [20]\nAdd Circle [2] at [440] [85] size [20]\nAdd Circle [2] at [460] [85] size [20]\nAdd Circle [2] at [400] [65] size [20]\nAdd Circle [2] at [420] [65] size [20]\nAdd Circle [2] at [440] [65] size [20]\nAdd Circle [2] at [460] [65] size [20]\nAdd Circle [2] at [175] [0] size [25]\nAdd Circle [5] at [250] [-100] size [50]\n\ndefine Level 10\nAdd Circle [1] at [0] [-100] size [100]\nAdd Circle [2] at [-75] [-50] size [50]\nAdd Circle [1] at [25] [100] size [100]\nAdd Circle [1] at [150] [-90] size [30]\nAdd Circle [1] at [150] [-120] size [30]\nAdd Circle [1] at [150] [-150] size [30]\nAdd Circle [1] at [150] [-180] size [30]\nAdd Circle [1] at [150] [-210] size [30]\nAdd Circle [10] at [-150] [-100] size [50]\nAdd Circle [3] at [150] [25] size [150]\nAdd Circle [1] at [-50] [175] size [100]\nAdd Circle [11] at [-50] [275] size [50]\nAdd Circle [2] at [225] [100] size [25]\nAdd Circle [2] at [225] [125] size [25]\nAdd Circle [2] at [225] [150] size [25]\nAdd Circle [2] at [225] [175] size [25]\nAdd Circle [1] at [300] [140] size [75]\nAdd Circle [12] at [375] [40] size [50]\nAdd Circle [1] at [325] [-150] size [100]\nAdd Circle [5] at [475] [-150] size [50]\n\nAdd Circle [9] at [0] [-100] size [50]\n\n@World 5\n\ndefine Add Circle (type) at (x) (y) size (size)\nadd (type) to [level v]\nadd (x) to [level v]\nadd (y) to [level v]\nadd (size) to [level v]\n\ndefine Add Moving Circle (type) size (size) at (x) (y) speed (xv) (yv)\nadd ((length of [level v]) + (1)) to [moving level v]\nadd (xv) to [moving level v]\nadd (yv) to [moving level v]\nadd (type) to [level v]\nadd (x) to [level v]\nadd (y) to [level v]\nadd (size) to [level v]\n\nwhen I receive [generate level v]\nGenerate Level\n\ndefine Level 1\nAdd Circle [1] at [0] [-85] size [100]\nAdd Circle [13] at [0] [50] size [40]\nAdd Circle [2] at [100] [-25] size [25]\nAdd Circle [2] at [100] [0] size [25]\nAdd Circle [2] at [100] [25] size [25]\nAdd Circle [2] at [100] [50] size [25]\nAdd Circle [1] at [200] [-100] size [100]\nAdd Circle [14] at [200] [50] size [40]\nAdd Circle [1] at [400] [-230] size [300]\nAdd Circle [13] at [500] [-100] size [40]\nAdd Circle [1] at [750] [-150] size [300]\nAdd Circle [14] at [650] [-100] size [40]\nAdd Circle [2] at [575] [-125] size [25]\nAdd Circle [2] at [575] [-100] size [25]\nAdd Circle [2] at [575] [-75] size [25]\nAdd Circle [2] at [575] [-50] size [25]\nAdd Circle [2] at [575] [-25] size [25]\nAdd Circle [13] at [750] [-25] size [40]\nAdd Circle [2] at [710] [-25] size [40]\nAdd Circle [2] at [790] [-25] size [40]\nAdd Circle [1] at [710] [15] size [40]\nAdd Circle [1] at [790] [15] size [40]\nAdd Circle [14] at [1000] [25] size [40]\nAdd Circle [1] at [1040] [25] size [40]\nAdd Circle [1] at [960] [25] size [40]\nAdd Circle [1] at [875] [20] size [40]\nAdd Circle [2] at [1040] [-15] size [40]\nAdd Circle [2] at [960] [-15] size [40]\nAdd Circle [2] at [940] [-80] size [40]\nAdd Circle [5] at [1000] [-80] size [50]\n\ndefine Level 2\nAdd Circle [1] at [0] [-100] size [100]\nAdd Circle [1] at [150] [-100] size [100]\nAdd Circle [1] at [300] [-100] size [100]\nAdd Circle [1] at [0] [150] size [100]\nAdd Circle [1] at [150] [150] size [100]\nAdd Circle [1] at [300] [105] size [100]\nAdd Circle [13] at [-300] [50] size [50]\nAdd Circle [14] at [0] [50] size [50]\nAdd Circle [14] at [150] [50] size [50]\nAdd Circle [13] at [300] [0] size [50]\nAdd Circle [14] at [0] [300] size [50]\nAdd Circle [14] at [150] [300] size [50]\nAdd Circle [14] at [300] [300] size [50]\nAdd Moving Circle [1] size [75] at [400] [150] speed [3] [0]\nAdd Circle [1] at [750] [150] size [100]\nAdd Circle [3] at [900] [190] size [200]\nAdd Circle [13] at [900] [300] size [50]\nAdd Circle [14] at [1100] [300] size [50]\nAdd Circle [1] at [1150] [360] size [50]\nAdd Circle [5] at [1150] [460] size [50]\n\ndefine Level 3\nset [clones v] to [1]\nAdd Circle [1] at [-60] [-100] size [100]\nAdd Circle [1] at [60] [-100] size [100]\nAdd Circle [1] at [180] [-160] size [100]\nAdd Circle [1] at [300] [-100] size [100]\nAdd Circle [1] at [450] [-75] size [150]\nAdd Circle [1] at [700] [-150] size [200]\nAdd Circle [5] at [650] [0] size [50]\nAdd Circle [1] at [900] [-150] size [150]\nAdd Circle [2] at [800] [-75] size [25]\nAdd Circle [2] at [800] [-50] size [25]\nAdd Circle [2] at [800] [-25] size [25]\nAdd Circle [5] at [1025] [-150] size [50]\n\ndefine Level 4\nset [clones v] to [1]\nAdd Circle [1] at [-60] [-100] size [100]\nAdd Circle [1] at [60] [-100] size [100]\nAdd Circle [13] at [-60] [50] size [50]\nAdd Circle [14] at [180] [50] size [50]\nAdd Circle [1] at [180] [-100] size [100]\nAdd Circle [1] at [300] [-100] size [100]\nAdd Circle [1] at [400] [-25] size [75]\nAdd Circle [1] at [475] [-25] size [50]\nAdd Circle [1] at [525] [-25] size [50]\nAdd Circle [2] at [575] [-25] size [50]\nAdd Circle [2] at [625] [-25] size [50]\nAdd Circle [2] at [675] [-25] size [50]\nAdd Circle [2] at [675] [25] size [50]\nAdd Circle [2] at [675] [75] size [50]\nAdd Circle [13] at [500] [100] size [50]\nAdd Circle [14] at [500] [-100] size [50]\nAdd Circle [1] at [525] [-190] size [100]\nAdd Circle [1] at [600] [-200] size [75]\nAdd Circle [1] at [650] [-200] size [50]\nAdd Circle [2] at [700] [-200] size [25]\nAdd Circle [2] at [700] [-175] size [25]\nAdd Circle [2] at [700] [-150] size [25]\nAdd Circle [1] at [750] [-200] size [50]\nAdd Circle [1] at [800] [-200] size [75]\nAdd Circle [1] at [875] [-200] size [100]\nAdd Circle [1] at [1000] [-175] size [100]\nAdd Circle [1] at [1150] [-150] size [100]\nAdd Circle [5] at [1000] [-25] size [50]\nAdd Circle [5] at [1150] [0] size [50]\n\ndefine Level 5\nAdd Circle [1] at [0] [-100] size [125]\nAdd Circle [2] at [75] [-50] size [25]\nAdd Circle [2] at [75] [-25] size [25]\nAdd Circle [2] at [75] [0] size [25]\nAdd Circle [1] at [150] [-25] size [100]\nAdd Circle [13] at [250] [115] size [50]\nAdd Circle [14] at [400] [115] size [50]\nAdd Circle [1] at [500] [-25] size [100]\nAdd Circle [13] at [600] [-25] size [50]\nAdd Circle [14] at [800] [150] size [50]\nAdd Circle [1] at [900] [-35] size [100]\nAdd Circle [5] at [100] [-100] size [50]\nAdd Circle [1] at [150] [-200] size [100]\nAdd Circle [2] at [250] [-100] size [100]\nAdd Circle [1] at [250] [-100] size [90]\nAdd Circle [13] at [1100] [-35] size [50]\nAdd Circle [14] at [170] [-110] size [50]\n\ndefine Level 6\nAdd Circle [1] at [0] [-100] size [100]\n\ndefine Level 7\nAdd Circle [1] at [-100] [0] size [100]\n\ndefine Level 8\nAdd Circle [1] at [-100] [0] size [100]\n\ndefine Level 9\nAdd Circle [1] at [-100] [0] size [100]\n\ndefine Level 10\nAdd Circle [1] at [-100] [0] size [100]\n\ndefine Generate Level\nset [clones v] to [0]\nif <(World) = [5]> then\n    if <(Level) = [1]> then\n        Level 1\n    end\n    if <(Level) = [2]> then\n        Level 2\n    end\n    if <(Level) = [3]> then\n        Level 3\n    end\n    if <(Level) = [4]> then\n        Level 4\n    end\n    if <(Level) = [5]> then\n        Level 5\n    end\n    if <(Level) = [6]> then\n        Level 6\n    end\n    if <(Level) = [7]> then\n        Level 7\n    end\n    if <(Level) = [8]> then\n        Level 8\n    end\n    if <(Level) = [9]> then\n        Level 9\n    end\n    if <(Level) = [10]> then\n        Level 10\n    end\n    if <(Clones) > [0]> then\n        broadcast (Clone Setup v)\n    end\nend\n\nAdd Moving Circle [1] size [100] at [300] [0] speed [0] [-5]\n\n@World 6\n\ndefine Add Circle (type) at (x) (y) size (size)\nadd (type) to [level v]\nadd (x) to [level v]\nadd (y) to [level v]\nadd (size) to [level v]\n\ndefine Add Moving Circle (type) size (size) at (x) (y) speed (xv) (yv)\nadd ((length of [level v]) + (1)) to [moving level v]\nadd (xv) to [moving level v]\nadd (yv) to [moving level v]\nadd (type) to [level v]\nadd (x) to [level v]\nadd (y) to [level v]\nadd (size) to [level v]\n\nwhen I receive [generate level v]\nif <(World) = [6]> then\n    if <(Level) = [1]> then\n        Level 1\n    end\n    if <(Level) = [2]> then\n        Level 2\n    end\n    if <(Level) = [3]> then\n        Level 3\n    end\n    if <(Level) = [4]> then\n        Level 4\n    end\n    if <(Level) = [5]> then\n        Level 5\n    end\n    if <(Level) = [6]> then\n        Level 6\n    end\n    if <(Level) = [7]> then\n        Level 7\n    end\n    if <(Level) = [8]> then\n        Level 8\n    end\n    if <(Level) = [9]> then\n        Level 9\n    end\n    if <(Level) = [10]> then\n        Level 10\n    end\nend\n\ndefine Level 1\nAdd Circle [1] at [0] [-100] size [100]\n\ndefine Level 2\nAdd Circle [1] at [0] [-100] size [100]\n\ndefine Level 3\nAdd Circle [1] at [0] [-100] size [100]\n\ndefine Level 4\nAdd Circle [1] at [-100] [0] size [100]\n\ndefine Level 5\nAdd Circle [1] at [-100] [0] size [100]\n\ndefine Level 6\nAdd Circle [1] at [-100] [0] size [100]\n\ndefine Level 7\nAdd Circle [1] at [-100] [0] size [100]\n\ndefine Level 8\nAdd Circle [1] at [-100] [0] size [100]\n\ndefine Level 9\nAdd Circle [1] at [-100] [0] size [100]\n\ndefine Level 10\nAdd Circle [1] at [-100] [0] size [100]\n\n@Sprite1\n\nwhen flag clicked\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\nshow\nset [show v] to [1]\ngo to [front v] layer\nrepeat (5)\n    wait (0.5) seconds\n    repeat (10)\n        change [brightness v] effect by (-10)\n    end\n    next costume\n    repeat (10)\n        change [brightness v] effect by (10)\n    end\nend\nnext costume\nhide\nset [show v] to [0]\nnext costume\nbroadcast (Green Flag Clicked v)\n\nwhen [s v] key pressed\nif <(show) = [1]> then\n    stop [all v]\nend\n\nstop [other scripts in sprite v]\nhide\nset [show v] to [0]\nnext costume\nbroadcast (Green Flag Clicked v)\n\n@Sprite2\n\nwhen flag clicked\nhide\n\nwhen I receive [green flag clicked v]\nwait (5) seconds\ngo to x: (0) y: (90)\nset [ghost v] effect to (100)\nshow\nrepeat (10)\n    change [ghost v] effect by (-10)\n    change y by (2)\nend\nwait (1) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\n    change y by (-2)\nend\nhide\n\n@Sprite3\n\nwhen flag clicked\nhide\n\nshow\n\n
From the studio that brought you circles and squares, we are proud to release a completely new and original concept with original levels, physics, and mechanics.\n\nArrow Keys to Move, P to skip levels, O to go back, R to reset. Press T for timer and L to reduce lag. Have a wonderful April First!