-WINTER- (A Scrolling Platformer) || #Games
@Stage\n\nwhen flag clicked\nset [brightness v] effect to (-100)\nreplace item (12) of [? v] with [0]\ndelete (all) of [costume v]\ndelete (all) of [xpos v]\ndelete (all) of [ypos v]\n\nswitch costume to ([costume # v] of [director block v])\nreplace item (2) of [? v] with (((round ((mouse x) / (24))) * (24)) + ((X) - (Scrollx)))\nreplace item (3) of [? v] with (((round ((mouse y) / (24))) * (24)) + ((Y) - (Scrolly)))\nset [x v] to ((item (2) of [? v]) + (Scrollx))\nset [y v] to ((item (3) of [? v]) + (Scrolly))\nadd (costume [number v]) to [costume v]\nadd (x) to [xpos v]\nadd (y) to [ypos v]\nset [# v] to (length of [xpos v])\n\nwhen I receive [create v]\nset [clone v] to [1]\nrepeat (3)\n    change [clone v] by (1)\n    create clone of (page v)\nend\nforever\n    set [brightness v] effect to (([x position v] of [light v]) * (220))\nend\n\nwhen I receive [home v]\nstop [other scripts in sprite v]\nset [brightness v] effect to (0)\n\n@Lag reducer\n\n​​breakpoint​​\n\n@Blocks\n\nwhen I start as a clone\nif <(costume [number v]) = [12]> then\n    delete this clone\nend\nshow\nif <(item (8) of [? v]) = [0]> then\n    switch costume to ([costume # v] of [director block v])\n    replace item (2) of [? v] with (((round ((mouse x) / (24))) * (24)) + ((X) - (Scrollx)))\n    replace item (3) of [? v] with (((round ((mouse y) / (24))) * (24)) + ((Y) - (Scrolly)))\n    set [x v] to ((item (2) of [? v]) + (Scrollx))\n    set [y v] to ((item (3) of [? v]) + (Scrolly))\n    repeat until <not <mouse down?>>\n        set size to (38) %\n        if <(costume [number v]) = [3]> then\n            go to x: (((x) - (Scrollx)) + (1.4)) y: (((y) - (Scrolly)) - (1.4))\n        else\n            go to x: ((x) - (Scrollx)) y: ((y) - (Scrolly))\n        end\n    end\n    if <(item (1) of [? v]) = [2]> then\n        walls\n    end\nelse\n    if <(letter (? of list) of (answer)) = [0]> then\n        if <(join (letter (? of list) of (answer)) (letter ((? of list) + (1)) of (answer))) = [00]> then\n            set [x v] to ((letter ((? of list) + (2)) of (answer)) * (24))\n        else\n            set [x v] to ((join (letter ((? of list) + (1)) of (answer)) (letter ((? of list) + (2)) of (answer))) * (24))\n        end\n    else\n        set [x v] to ((join (join (letter (? of list) of (answer)) (letter ((? of list) + (1)) of (answer))) ((? of list) + (2))) * (24))\n    end\n    if <(letter ((? of list) + (3)) of (answer)) = [0]> then\n        if <(join (letter ((? of list) + (3)) of (answer)) (letter ((? of list) + (4)) of (answer))) = [00]> then\n            set [y v] to ((letter ((? of list) + (5)) of (answer)) * (24))\n        else\n            set [y v] to ((join (letter ((? of list) + (4)) of (answer)) (letter ((? of list) + (5)) of (answer))) * (24))\n        end\n    else\n        set [y v] to ((join (join (letter ((? of list) + (3)) of (answer)) (letter ((? of list) + (4)) of (answer))) ((? of list) + (5))) * (24))\n    end\n    switch costume to (join (letter ((? of list) + (6)) of (answer)) (letter ((? of list) + (7)) of (answer)))\nend\nadd (costume [number v]) to [costume v]\nadd (x) to [xpos v]\nadd (y) to [ypos v]\nset [# v] to (length of [xpos v])\nforever\n    set size to (38) %\n    if <<<<mouse down?> and <touching (director block v)?>> and <(item (8) of [? v]) = [0]>> and <<<(round ([x position v] of [director block v])) < ((x position) + (5))> and <(round ([x position v] of [director block v])) > ((x position) - (5))>> and <<(round ([y position v] of [director block v])) > ((y position) - (5))> and <(round ([y position v] of [director block v])) < ((y position) + (5))>>>> then\n        delete (#) of [costume v]\n        delete (#) of [ypos v]\n        delete (#) of [xpos v]\n        delete this clone\n    end\n    if <(item (10) of [? v]) = (#)> then\n        if <(length of ((x) / (24))) = [1]> then\n            replace item (? of list) of [levels v] with (join (item (? of list) of [levels v]) (join [0] (join [0] ((x) / (24)))))\n        else\n            if <(length of ((x) / (24))) = [2]> then\n                replace item (? of list) of [levels v] with (join (item (? of list) of [levels v]) (join [0] ((x) / (24))))\n            else\n                if <(length of ((x) / (24))) = [3]> then\n                    replace item (? of list) of [levels v] with (join (item (? of list) of [levels v]) ((x) / (24)))\n                end\n            end\n        end\n        if <(length of ((y) / (24))) = [1]> then\n            replace item (? of list) of [levels v] with (join (item (? of list) of [levels v]) (join [0] (join [0] ((y) / (24)))))\n        else\n            if <(length of ((y) / (24))) = [2]> then\n                replace item (? of list) of [levels v] with (join (item (? of list) of [levels v]) (join [0] ((y) / (24))))\n            else\n                if <(length of ((y) / (24))) = [3]> then\n                    replace item (? of list) of [levels v] with (join (item (? of list) of [levels v]) ((y) / (24)))\n                end\n            end\n        end\n        if <(length of (costume [number v])) = [1]> then\n            replace item (? of list) of [levels v] with (join (item (? of list) of [levels v]) (join [0] (costume [number v])))\n        else\n            if <(length of (costume [number v])) = [2]> then\n                replace item (? of list) of [levels v] with (join (item (? of list) of [levels v]) (costume [number v]))\n            end\n        end\n        wait until <not <(item (10) of [? v]) = (#)>>\n    end\n    if <<((y) - (Scrolly)) < [-180]> or <<((y) - (Scrolly)) > [180]> or <<((x) - (Scrollx)) > [240]> or <((x) - (Scrollx)) < [-240]>>>> then\n        hide\n    else\n        show\n    end\n    if <(costume [number v]) = [3]> then\n        go to x: (((x) - (Scrollx)) + (1.4)) y: (((y) - (Scrolly)) - (1.4))\n    else\n        go to x: ((x) - (Scrollx)) y: ((y) - (Scrolly))\n    end\nend\n\nwhen I start as a clone\nforever\n    if <<(item (1) of [? v]) = [2]> and <<not <<(costume [number v]) = [6]> and <(item (9) of [? v]) = [0]>>> and <not <(costume [number v]) = [16]>>>> then\n        walls\n    end\n    go [backward v] (1) layers\n    if <<(costume [number v]) = [15]> or <(costume [number v]) = [7]>> then\n        set [brightness v] effect to (0)\n    else\n        if <<(costume [number v]) = [6]> and <(item (9) of [? v]) = [1]>> then\n            set [brightness v] effect to (-100)\n        else\n            set [brightness v] effect to (([sqrt v] of ((((x) - (X)) * ((x) - (X))) + (((y) - (Y)) * ((y) - (Y)))) ) * ([x position v] of [light v]))\n        end\n    end\n    set size to (38) %\n    if <(timer) > [5]> then\n        replace item (9) of [? v] with [0]\n    end\n    if <(timer) < [.1]> then\n        replace item (9) of [? v] with [1]\n    end\nend\n\ndefine walls\nif <<<((y) - (Y)) < [25]> and <((y) - (Y)) > [0]>> and <<((x) - (X)) < [22]> and <((x) - (X)) > [-22]>>> then\n    set [y v] to ((y) - (23))\n    if <(costume [number v]) = [7]> then\n        set [x v] to (item (5) of [? v])\n        set [y v] to (item (6) of [? v])\n        set [grav v] to [0]\n        set [move v] to [0]\n        start sound [Pew v]\n    end\n    if <(costume [number v]) = [10]> then\n        replace item (13) of [? v] with [.85]\n        set [grav v] to [1]\n    else\n        set [grav v] to [-2]\n    end\nend\nif <<<<((x) - (X)) > ((-25) + (Move))> and <((x) - (X)) < [10]>> and <<((y) - (Y)) < [20]> and <((y) - (Y)) > [-20]>>> and <(Move) < [0]>> then\n    set [x v] to ((x) + (24))\n    if <(costume [number v]) = [7]> then\n        set [x v] to (item (5) of [? v])\n        set [y v] to (item (6) of [? v])\n        set [grav v] to [0]\n        set [move v] to [0]\n        start sound [Pew v]\n    end\n    if <<(costume [number v]) = [8]> and <(Move) < [-1]>> then\n        set [move v] to ((Move) * (-1))\n    else\n        set [move v] to [0]\n    end\nend\nif <<<((x) - (X)) < ((25) + (Move))> and <((x) - (X)) > [-10]>> and <<((y) - (Y)) < [20]> and <((y) - (Y)) > [-20]>>> then\n    set [x v] to ((x) - (25))\n    if <(costume [number v]) = [7]> then\n        set [x v] to (item (5) of [? v])\n        set [y v] to (item (6) of [? v])\n        set [grav v] to [0]\n        set [move v] to [0]\n        start sound [Pew v]\n    end\n    if <<(costume [number v]) = [8]> and <(Move) > [1]>> then\n        set [move v] to ((Move) * (-1))\n    else\n        set [move v] to [0]\n    end\nend\n\nwhen I receive [home v]\nstop [other scripts in sprite v]\nhide\ndelete this clone\n\nwhen I start as a clone\nif <(costume [number v]) = [13]> then\n    set [ghost v] effect to (20)\nend\nforever\n    if <<(item (1) of [? v]) = [2]> and <<not <(costume [number v]) = [16]>> and <not <<(costume [number v]) = [6]> and <(item (9) of [? v]) = [0]>>>>> then\n        if <<<<((y) - (Y)) > ((-24.5) + (Grav))> and <((y) - (Y)) < [0]>> and <<((x) - (X)) < [20]> and <((x) - (X)) > [-20]>>> and <<(Grav) = [0]> or <(Grav) < [0]>>> then\n            repeat until <<key (up arrow v) pressed?> or <<<((x) - (X)) > [20]> or <((x) - (X)) < [-20]>> or <((y) - (Y)) < [-40]>>>\n                if <<(item (1) of [? v]) = [2]> and <<not <(costume [number v]) = [16]>> and <not <<(costume [number v]) = [6]> and <(item (9) of [? v]) = [0]>>>>> then\n                    if <<<<((y) - (Y)) > ((-24.5) + (Grav))> and <((y) - (Y)) < [0]>> and <<((x) - (X)) < [20]> and <((x) - (X)) > [-20]>>> and <<<(Grav) = [0]> or <(Grav) < [0]>> and <not <key (up arrow v) pressed?>>>> then\n                        set [y v] to ((y) + (24.5))\n                        replace item (4) of [? v] with [1]\n                        if <<(costume [number v]) = [7]> or <<(Grav) < [-17]> and <not <(costume [number v]) = [8]>>>> then\n                            set [x v] to (item (5) of [? v])\n                            set [y v] to (item (6) of [? v])\n                            set [grav v] to [0]\n                            set [move v] to [0]\n                            start sound [Pew v]\n                        end\n                        if <<(costume [number v]) = [8]> and <(Grav) < [-2.5]>> then\n                            set [grav v] to ((Grav) * (-0.7))\n                        else\n                            if <(costume [number v]) = [10]> then\n                                set [grav v] to [15]\n                                start sound [Lo Gliss Tabla v]\n                            else\n                                set [grav v] to [0]\n                            end\n                        end\n                        if <(costume [number v]) = [9]> then\n                            replace item (13) of [? v] with [.95]\n                        else\n                            if <<not <(costume [number v]) = [9]>> and <not <(costume [number v]) = [10]>>> then\n                                replace item (13) of [? v] with [.85]\n                            end\n                        end\n                        if <(costume [number v]) = [5]> then\n                            replace item (9) of [? v] with [1]\n                            reset timer\n                        end\n                        if <(costume [number v]) = [20]> then\n                            create clone of (light v)\n                        end\n                    end\n                end\n            end\n            replace item (4) of [? v] with [0]\n            if <key (up arrow v) pressed?> then\n                if <<not <(costume [number v]) = [7]>> and <not <(costume [number v]) = [11]>>> then\n                    set [grav v] to [7]\n                else\n                    set [grav v] to [0]\n                    if <(costume [number v]) = [7]> then\n                        set [x v] to (item (5) of [? v])\n                        set [y v] to (item (6) of [? v])\n                        set [grav v] to [0]\n                        set [move v] to [0]\n                        start sound [Pew v]\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [load v]\nif <(Save) = [0]> then\n    wait until <<(answer) = [y]> or <(answer) = [n]>>\n    if <(answer) = [y]> then\n        delete this clone\n    end\nend\nif <(Save) = [1]> then\n    delete this clone\nend\n\nwhen flag clicked\nshow list [levels v]\nhide\n\n@Director Block\n\nwhen I receive [create v]\nset rotation style [left-right v]\nset [ghost v] effect to (50)\nwait until <not <mouse down?>>\nforever\n    if <(item (1) of [? v]) = [1]> then\n        show\n        if <<<mouse down?> and <<<<<not <touching (blocks v)?>> and <not <touching (start block v)?>>> and <not <touching (guy v)?>>> and <not <touching (page v)?>>> and <not <(costume [number v]) = [12]>>>> and <not <<(y position) = [180]> or <<(x position) = [-240]> or <(x position) = [240]>>>>> then\n            go to x: (((round ((mouse x) / (24))) * (24)) + ((X) - (Scrollx))) y: (((round ((mouse y) / (24))) * (24)) + ((Y) - (Scrolly)))\n            create clone of (blocks v)\n            set [save v] to [0]\n            wait until <not <mouse down?>>\n        end\n        wait until <not <mouse down?>>\n    else\n        hide\n    end\n    go to x: (((round ((mouse x) / (24))) * (24)) + ((X) - (Scrollx))) y: (((round ((mouse y) / (24))) * (24)) + ((Y) - (Scrolly)))\n    if <key (w v) pressed?> then\n        hide\n        replace item (15) of [? v] with [0]\n        hide list [levels v]\n        ask [Which level would you like to delete? Leave blank to return] and wait\n        if <(length of (answer)) > [0]> then\n            delete (answer) of [levels v]\n        end\n        replace item (15) of [? v] with [1]\n        show list [levels v]\n        show\n    end\nend\n\nset size to (33) %\n\nwhen I receive [create v]\nset [save v] to [1]\nshow list [levels v]\npoint in direction (0)\nforever\n    if <(item (1) of [? v]) = [1]> then\n        if <key (d v) pressed?> then\n            next costume\n            wait (0.2) seconds\n        end\n        if <key (a v) pressed?> then\n            switch costume to ((costume [number v]) - (1))\n            wait (0.2) seconds\n        end\n    end\nend\n\nwhen I receive [home v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [save v]\nset [load v] to [0]\nset [last v] to [0]\nreplace item (10) of [? v] with []\nif <(direction) = [0]> then\n    add [] to [levels v]\n    set [? of list v] to (length of [levels v])\n    point in direction (90)\nelse\n    replace item (last) of [levels v] with []\n    set [? of list v] to (length of [levels v])\nend\nreplace item (1) of [? v] with [1]\nrepeat ((length of [xpos v]) + (1))\n    replace item (10) of [? v] with ((item (10) of [? v]) + (1))\nend\nreplace item (10) of [? v] with [-1]\nset [last v] to [1]\nset [save v] to [1]\npoint in direction (90)\n\nwhen I receive [load v]\nstop [other scripts in sprite v]\nhide\nif <(Save) = [0]> then\n    start sound [Collect v]\n    ask [Are you sure you want to load? Unsaved data will be deleted! Y/N] and wait\n    if <(answer) = [y]> then\n        set [save v] to [1]\n    end\nend\nif <(Save) = [1]> then\n    hide list [levels v]\n    ask [Place code \( For a clean slate, leave answer blank.\)] and wait\n    show list [levels v]\n    if <(length of (answer)) > [0]> then\n        delete (all) of [costume v]\n        delete (all) of [xpos v]\n        delete (all) of [ypos v]\n        set [x v] to ((join (join (letter ((length of (answer)) - (5)) of (answer)) (letter ((length of (answer)) - (4)) of (answer))) (letter ((length of (answer)) - (3)) of (answer))) * (24))\n        set [y v] to ((join (join (letter ((length of (answer)) - (2)) of (answer)) (letter ((length of (answer)) - (1)) of (answer))) (letter (length of (answer)) of (answer))) * (24))\n        set [load v] to [1]\n        replace item (1) of [? v] with [1]\n        replace item (8) of [? v] with [1]\n        set [? of list v] to [-7]\n        repeat (((length of (answer)) - (6)) / (8))\n            change [scrolly v] by (((Y) - (Scrolly)) * (0.1))\n            change [scrollx v] by (((X) - (Scrollx)) * (0.1))\n            change [? of list v] by (8)\n            create clone of (blocks v)\n        end\n        replace item (1) of [? v] with [2]\n        broadcast (create v)\n        set [grav v] to [0]\n        change [? of list v] by (8)\n        wait (0) seconds\n        set [? of list v] to [0]\n    end\nend\nbroadcast (create v)\n\nwhen I receive [create v]\nforever\n    if <key (i v) pressed?> then\n        repeat until <not <key (i v) pressed?>>\n            say (item (costume [number v]) of [info v])\n        end\n        say []\n    end\nend\n\nwhen flag clicked\nhide\n\nset size to (30) %\n\n@Guy\n\nwhen I receive [create v]\ngo to [back v] layer\nset [grav v] to [0]\nreplace item (10) of [? v] with [-1]\nreplace item (8) of [? v] with [0]\nif <(load) = [0]> then\n    delete (all) of [costume v]\n    delete (all) of [xpos v]\n    delete (all) of [ypos v]\nend\nreplace item (9) of [? v] with [0]\nset [? of list v] to [0]\nforever\n    if <<touching (_edge_ v)?> and <(y position) < [-170]>> then\n        start sound [Pew v]\n        set [x v] to (item (5) of [? v])\n        set [y v] to (item (6) of [? v])\n        set [grav v] to [0]\n        set [move v] to [0]\n        repeat until <not <touching (_edge_ v)?>>\n            go to x: ((X) - (Scrollx)) y: ((Y) - (Scrolly))\n        end\n    end\n    go to x: ((X) - (Scrollx)) y: ((Y) - (Scrolly))\nend\n\nwhen I receive [create v]\ngo to [front v] layer\nforever\n    if <<<key (up arrow v) pressed?> and <(item (1) of [? v]) = [2]>> and <(item (4) of [? v]) = [1]>> then\n        replace item (4) of [? v] with [0]\n        wait until <(Grav) = [-2]>\n    end\n    if <(item (1) of [? v]) = [1]> then\n        set [x v] to (item (5) of [? v])\n        set [y v] to (item (6) of [? v])\n        wait until <not <(item (1) of [? v]) = [1]>>\n    end\nend\n\nwhen I receive [create v]\nshow\nforever\n    if <(item (1) of [? v]) = [1]> then\n        hide\n        if <key (up arrow v) pressed?> then\n            change [y v] by (24)\n            wait until <not <key (up arrow v) pressed?>>\n        end\n        if <key (down arrow v) pressed?> then\n            change [y v] by (-24)\n            wait until <not <key (down arrow v) pressed?>>\n        end\n        if <key (right arrow v) pressed?> then\n            change [x v] by (24)\n            wait until <not <key (right arrow v) pressed?>>\n        end\n        if <key (left arrow v) pressed?> then\n            change [x v] by (-24)\n            wait until <not <key (left arrow v) pressed?>>\n        end\n        set [move v] to [0]\n        set [grav v] to [0]\n    else\n        if <touching (_edge_ v)?> then\n            hide\n        else\n            show\n        end\n        set [x v] to (item (5) of [? v])\n        set [y v] to (item (6) of [? v])\n        repeat until <(item (1) of [? v]) = [1]>\n            if <touching (_edge_ v)?> then\n                hide\n            else\n                show\n            end\n            if <key (right arrow v) pressed?> then\n                change [move v] by (1)\n            end\n            if <key (left arrow v) pressed?> then\n                change [move v] by (-1)\n            end\n            set [move v] to ((Move) * (item (13) of [? v]))\n            change [x v] by (Move)\n            change [y v] by (Grav)\n            change [grav v] by (-1)\n        end\n    end\n    if <(last) = [0]> then\n        wait until <(last) = [1]>\n    end\nend\n\nreplace item (1) of [? v] with [1]\nreplace item (8) of [? v] with [0]\ndelete (all) of [costume v]\ndelete (all) of [xpos v]\ndelete (all) of [ypos v]\n\nset size to (38) %\n\nwhen I receive [load v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [create v]\nforever\n    if <key (w v) pressed?> then\n        wait until <(item (15) of [? v]) = [1]>\n    end\n    if <key (s v) pressed?> then\n        replace item (15) of [? v] with [0]\n        broadcast (save v) and wait\n        wait until <not <key (s v) pressed?>>\n        replace item (15) of [? v] with [1]\n    end\n    if <key (l v) pressed?> then\n        replace item (15) of [? v] with [0]\n        broadcast (load v) and wait\n        replace item (15) of [? v] with [1]\n    end\nend\n\nwhen I receive [home v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [create v]\nforever\n    if <not <(item (1) of [? v]) = [1]>> then\n        if <<mouse down?> and <touching (mouse-pointer v)?>> then\n            next costume\n            set [brightness v] effect to (100)\n            repeat (10)\n                change [brightness v] effect by (-10)\n            end\n            wait until <not <<mouse down?> and <touching (mouse-pointer v)?>>>\n        end\n    end\nend\n\nwhen flag clicked\nhide\n\n@Page\n\nwhen I start as a clone\nhide\nforever\n    if <<(costume [number v]) = [2]> or <(costume [number v]) = [5]>> then\n        if <(item (1) of [? v]) = [1]> then\n            switch costume to (costume2 v)\n        else\n            switch costume to (costume4 v)\n        end\n        if <<touching (mouse-pointer v)?> and <mouse down?>> then\n            if <(item (1) of [? v]) = [2]> then\n                replace item (1) of [? v] with [1]\n            else\n                replace item (1) of [? v] with [2]\n            end\n            wait until <not <mouse down?>>\n        end\n    end\n    if <<(costume [number v]) = [4]> and <<touching (mouse-pointer v)?> and <mouse down?>>> then\n        broadcast (home v)\n    end\nend\n\nwhen I receive [create v]\ngo to [front v] layer\ngo to x: (0) y: (-38)\nshow\nswitch costume to (costume3 v)\nset [ghost v] effect to (100)\nrepeat (20)\n    change [ghost v] effect by (-5)\n    delete this clone\nend\nforever\n    if <touching (mouse-pointer v)?> then\n        change y by ((() - (y position)) / (5))\n    else\n        change y by (((-38) - (y position)) / (5))\n    end\n    if <<key (w v) pressed?> or <key (l v) pressed?>> then\n        repeat until <(item (15) of [? v]) = [1]>\n            change y by (((-38) - (y position)) / (5))\n        end\n    end\n    if <(last) = [0]> then\n        repeat until <(last) = [1]>\n            change y by (((-38) - (y position)) / (5))\n        end\n    end\n    delete this clone\nend\n\nwhen I start as a clone\ngo to [front v] layer\nswitch costume to ((Clone) + (1))\nforever\n    go to [front v] layer\n    go to x: (0) y: ([y position v] of [page v])\n    if <(round (y position)) > [-20]> then\n        if <(costume [number v]) = [3]> then\n            if <touching (mouse-pointer v)?> then\n                replace item (11) of [? v] with [1]\n            else\n                replace item (11) of [? v] with [0]\n            end\n        end\n        show\n    else\n        hide\n        replace item (11) of [? v] with [0]\n    end\n    clear graphic effects\nend\n\nwhen I receive [home v]\nstop [other scripts in sprite v]\nhide\n\nwhen flag clicked\nhide\n\n@Start Block\n\nwhen I receive [create v]\nset [grav v] to [0]\nif <(load) = [0]> then\n    set [x v] to [0]\n    set [y v] to [0]\n    replace item (5) of [? v] with (x)\n    replace item (6) of [? v] with (y)\nelse\n    if <(letter ((length of (answer)) - (5)) of (answer)) = [0]> then\n        if <(join (letter ((length of (answer)) - (5)) of (answer)) (letter ((length of (answer)) - (4)) of (answer))) = [00]> then\n            set [x v] to ((letter ((length of (answer)) - (3)) of (answer)) * (24))\n        else\n            set [x v] to ((join (letter ((length of (answer)) - (4)) of (answer)) (letter ((length of (answer)) - (3)) of (answer))) * (24))\n        end\n    else\n        set [x v] to ((join (join (letter ((length of (answer)) - (5)) of (answer)) (letter ((length of (answer)) - (4)) of (answer))) (letter ((length of (answer)) - (3)) of (answer))) * (24))\n    end\n    if <(letter ((length of (answer)) - (2)) of (answer)) = [0]> then\n        if <(join (letter ((length of (answer)) - (2)) of (answer)) (letter ((length of (answer)) - (1)) of (answer))) = [00]> then\n            set [y v] to ((letter (length of (answer)) of (answer)) * (24))\n        else\n            set [y v] to ((join (letter ((length of (answer)) - (1)) of (answer)) (letter (length of (answer)) of (answer))) * (24))\n        end\n    else\n        set [y v] to ((join (join (letter ((length of (answer)) - (2)) of (answer)) (letter ((length of (answer)) - (1)) of (answer))) (letter (length of (answer)) of (answer))) * (24))\n    end\n    replace item (5) of [? v] with (x)\n    replace item (6) of [? v] with (y)\nend\nshow\nforever\n    go to x: ((x) - (Scrollx)) y: ((y) - (Scrolly))\n    if <<mouse down?> and <<<not <(((round ((mouse y) / (24))) * (24)) + ((Y) - (Scrolly))) < [-120]>> and <([costume # v] of [director block v]) = [12]>> and <(item (1) of [? v]) = [1]>>> then\n        set [x v] to ((((round ((mouse x) / (24))) * (24)) + ((X) - (Scrollx))) + (Scrollx))\n        set [y v] to ((((round ((mouse y) / (24))) * (24)) + ((Y) - (Scrolly))) + (Scrolly))\n    end\n    if <(item (1) of [? v]) = [1]> then\n        if <<((y) - (Scrolly)) < [-180]> or <<((y) - (Scrolly)) > [180]> or <<((x) - (Scrollx)) > [240]> or <((x) - (Scrollx)) < [-240]>>>> then\n            hide\n        else\n            show\n        end\n    else\n        hide\n    end\n    replace item (5) of [? v] with (x)\n    replace item (6) of [? v] with (y)\nend\n\nwhen I receive [save v]\nrepeat until <(last) = [1]>\n    set [# v] to ((item (last) of [xpos v]) + (1))\nend\nif <(length of ((x) / (24))) = [1]> then\n    replace item (? of list) of [levels v] with (join (item (? of list) of [levels v]) (join [0] (join [0] ((x) / (24)))))\nelse\n    if <(length of ((x) / (24))) = [2]> then\n        replace item (? of list) of [levels v] with (join (item (? of list) of [levels v]) (join [0] ((x) / (24))))\n    else\n        if <(length of ((x) / (24))) = [3]> then\n            replace item (? of list) of [levels v] with (join (item (? of list) of [levels v]) ((x) / (24)))\n        end\n    end\nend\nif <(length of ((y) / (24))) = [1]> then\n    replace item (? of list) of [levels v] with (join (item (? of list) of [levels v]) (join [0] (join [0] ((y) / (24)))))\nelse\n    if <(length of ((y) / (24))) = [2]> then\n        replace item (? of list) of [levels v] with (join (item (? of list) of [levels v]) (join [0] ((y) / (24))))\n    else\n        if <(length of ((y) / (24))) = [3]> then\n            replace item (? of list) of [levels v] with (join (item (? of list) of [levels v]) ((y) / (24)))\n        end\n    end\nend\nwait until <not <(item (10) of [? v]) = (#)>>\nstop [this script v]\n\nwhen I receive [home v]\nstop [other scripts in sprite v]\nhide\n\nset [x v] to [13176]\nset [y v] to [13176]\n\nshow\n\nwhen flag clicked\nset [load v] to [0]\nhide\n\n@More\n\nwhen I receive [create v]\nreplace item (11) of [? v] with [0]\nswitch costume to (costume2 v)\nset rotation style [don't rotate v]\nstop [other scripts in sprite v]\nset size to (100) %\ngo [backward v] (100) layers\nshow\ngo to x: (0) y: (-300)\nforever\n    if <(y position) < [-294]> then\n        hide\n    else\n        show\n    end\n    if <(item (11) of [? v]) = [1]> then\n        change y by ((() - (y position)) / (10))\n    else\n        change y by (((-300) - (y position)) / (10))\n    end\n    change [scrolly v] by (((Y) - (Scrolly)) * (0.1))\n    change [scrollx v] by (((X) - (Scrollx)) * (0.1))\n    delete this clone\nend\n\nwhen I start as a clone\nswitch costume to ((([direction v] of [more v]) / (90)) + (2))\nset rotation style [don't rotate v]\npoint in direction (90)\nset size to (20) %\nforever\n    if <(costume [number v]) = [3]> then\n        change y by (((-80) - (y position)) / (10))\n    else\n        change y by (((-5) - (y position)) / (10))\n    end\n    if <touching (mouse-pointer v)?> then\n        change size by (((13) - (size)) / (5))\n        if <mouse down?> then\n            if <(costume [number v]) = [4]> then\n                repeat until <(size) = [100]>\n                    change size by (((100) - (size)) / (10))\n                    change [brightness v] effect by (3)\n                    go to [front v] layer\n                end\n                replace item (1) of [? v] with [1]\n                broadcast (create v)\n            else\n                if <<(costume [number v]) = [3]> and <not <([size v] of [info v]) > [10]>>> then\n                    replace item (14) of [? v] with [1]\n                end\n            end\n        end\n    else\n        change size by (((11) - (size)) / (5))\n    end\nend\n\nwhen I receive [create v]\ndelete this clone\n\nwhen I receive [home v]\nshow list [levels v]\nshow\ngo to [front v] layer\nstop [other scripts in sprite v]\nset rotation style [don't rotate v]\ngo to x: (0) y: (0)\nswitch costume to (costume15 v)\nset size to (0) %\nrepeat until <(round (size)) = [100]>\n    change size by (((100) - (size)) / (10))\nend\nwait (1) seconds\nrepeat until <(round (size)) = [40]>\n    change size by (((40) - (size)) / (5))\nend\nrepeat until <(round (y position)) = [80]>\n    change y by (((80) - (y position)) / (5))\nend\npoint in direction (0)\nrepeat (2)\n    turn right (90) degrees\n    create clone of (_myself_ v)\nend\nset [twist v] to [1]\nset rotation style [all around v]\npoint in direction (90)\nforever\n    if <touching (mouse-pointer v)?> then\n        change size by (((52) - (size)) / (5))\n    else\n        change size by (((40) - (size)) / (5))\n    end\n    if <(direction) > [95]> then\n        change [twist v] by (0.1)\n    end\n    if <(direction) < [85]> then\n        change [twist v] by (-0.1)\n    end\n    turn left (twist) degrees\n    if <(costume [number v]) = [1]> then\n        stop [this script v]\n    end\nend\n\nwhen I receive [load v]\nstop [other scripts in sprite v]\nforever\n    change [scrolly v] by (((Y) - (Scrolly)) * (0.01))\n    change [scrollx v] by (((X) - (Scrollx)) * (0.01))\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [load v]\nstop [other scripts in sprite v]\nrepeat until <(round (y position)) = [-295]>\n    change y by (((-300) - (y position)) / (10))\nend\n\n@Info\n\nwhen I receive [create v]\nstop [other scripts in sprite v]\ngo to x: (0) y: (0)\nshow\nset [ghost v] effect to (100)\ngo [backward v] (1000) layers\nset size to (100) %\nforever\n    if <<(length of [xpos v]) > [0]> and <not <touching (blocks v)?>>> then\n        delete (all) of [xpos v]\n        delete (all) of [ypos v]\n        delete (all) of [costume v]\n    end\nend\n\nwhen I receive [home v]\nreplace item (14) of [? v] with [0]\nshow\nset [ghost v] effect to (100)\nforever\n    go to [front v] layer\n    if <(item (14) of [? v]) = [1]> then\n        if <<mouse down?> and <(size) > [50]>> then\n            replace item (14) of [? v] with [0]\n        end\n        change size by (((100) - (size)) / (5))\n        change [lite v] by (((0) - (lite)) / (5))\n        set [brightness v] effect to (lite)\n        change [ghost v] by (((0) - (ghost)) / (5))\n        set [ghost v] effect to (ghost)\n    else\n        change size by (((0) - (size)) / (5))\n        change [lite v] by (((-100) - (lite)) / (5))\n        change [ghost v] by (((100) - (ghost)) / (5))\n        set [brightness v] effect to (lite)\n        set [ghost v] effect to (ghost)\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [home v]\nforever\n    if <(item (14) of [? v]) = [1]> then\n        set [pitch v] effect to (20)\n        start sound [Jump v]\n        wait until <(item (14) of [? v]) = [0]>\n    end\nend\n\n@Save\n\nwhen I receive [save v]\ngo to [front v] layer\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\nshow\nset size to (15) %\nset [shrink v] to [10]\nrepeat (10)\n    change [shrink v] by (-1)\n    change size by (shrink)\n    turn right (15) degrees\n    set [color v] effect to ([abs v] of ((direction) / (3)) )\nend\nrepeat until <(Save) = [1]>\n    turn right (15) degrees\n    set [color v] effect to ([abs v] of ((direction) / (3)) )\nend\nset [shrink v] to [0]\nrepeat (10)\n    change [shrink v] by (-1)\n    change size by (shrink)\n    turn right (15) degrees\n    set [color v] effect to ([abs v] of ((direction) / (3)) )\nend\nhide\n\nwhen I receive [create v]\nhide\n\nwhen I receive [home v]\nstop [other scripts in sprite v]\nhide\n\nwhen flag clicked\nhide\n\n@light\n\nwhen I receive [create v]\ngo to x: (0) y: (0)\nforever\n    if <key (1 v) pressed?> then\n        point in direction (-1)\n    end\n    if <key (2 v) pressed?> then\n        point in direction (-0.8000000000000114)\n    end\n    if <key (3 v) pressed?> then\n        point in direction (-0.6000000000000227)\n    end\n    if <key (4 v) pressed?> then\n        point in direction (-0.5)\n    end\n    if <key (5 v) pressed?> then\n        point in direction (-0.39999999999997726)\n    end\n    if <key (6 v) pressed?> then\n        point in direction (-0.30000000000001137)\n    end\n    if <key (7 v) pressed?> then\n        point in direction (-0.19999999999998863)\n    end\n    if <key (8 v) pressed?> then\n        point in direction (-0.10000000000002274)\n    end\n    if <key (9 v) pressed?> then\n        point in direction (0)\n    end\n    if <key (w v) pressed?> then\n        repeat until <(item (15) of [? v]) = [1]>\n            change x by (((direction) - (x position)) / (5))\n        end\n    end\n    change x by (((direction) - (x position)) / (5))\nend\n\nwhen I receive [home v]\nstop [other scripts in sprite v]\nset x to (0)\n\nwhen flag clicked\nhide\n\nif <key (1 v) pressed?> then\n    set x to (-1)\nend\nif <key (2 v) pressed?> then\n    set x to (-0.8)\nend\nif <key (3 v) pressed?> then\n    set x to (-0.6)\nend\nif <key (4 v) pressed?> then\n    set x to (-0.5)\nend\nif <key (5 v) pressed?> then\n    set x to (-0.4)\nend\nif <key (6 v) pressed?> then\n    set x to (-0.3)\nend\nif <key (7 v) pressed?> then\n    set x to (-0.2)\nend\nif <key (8 v) pressed?> then\n    set x to (-0.1)\nend\nif <key (9 v) pressed?> then\n    set x to (0)\nend\nif <key (w v) pressed?> then\n    wait until <(item (15) of [? v]) = [1]>\nend\n\nwhen I start as a clone\nset rotation style [don't rotate v]\nshow\nset [x v] to (X)\nset [y v] to (Y)\nset [grav v] to (pick random (3) to (10))\nset [ymove v] to (pick random (-10) to (10))\npoint in direction (pick random (-10) to (10))\nset [color v] effect to (pick random (1) to (60))\nforever\n    change [y v] by (grav)\n    change [x v] by (direction)\n    if <touching (_edge_ v)?> then\n        delete this clone\n    end\n    change [grav v] by (-1)\n    set [brightness v] effect to (([sqrt v] of ((((x) - (X)) * ((x) - (X))) + (((y) - (Y)) * ((y) - (Y)))) ) * (([x position v] of [light v]) / (20)))\n    go to x: ((x) - (Scrollx)) y: ((y) - (Scrolly))\n    change [color v] effect by (10)\n    change size by (ymove)\n    go [forward v] (ymove) layers\nend\n\n@Intro\n\nwhen I start as a clone\nshow\nrepeat (10)\n    change [ghost v] effect by (10)\n    change [color v] effect by (10)\nend\ndelete this clone\n\nwhen I receive [home v]\nstop [other scripts in sprite v]\nhide\n\ngo to x: (0) y: (0)\nset size to (220) %\nclear graphic effects\nshow\n\nwhen I receive [intro v]\ngo to x: (0) y: (0)\nforever\n    create clone of (thumbnail v)\n    wait (.05) seconds\nend\n\nwhen I receive [intro v]\nset volume to (100) %\nstart sound [EXPLORING THE DARK2 v]\nwait (8) seconds\nrepeat (30)\n    change volume by (-3)\nend\nset volume to (0) %\n\nwhen I receive [intro v]\ngo to [front v] layer\nset size to (100) %\nhide\nclear graphic effects\npoint in direction (90)\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\nwait (3) seconds\nshow\nset [pixelate v] effect to (100)\nrepeat (25)\n    change [pixelate v] effect by (-5)\nend\nstart sound [Chill v]\nwait (1) seconds\nset [smooth v] to [15]\nrepeat (15)\n    change size by (smooth)\n    change [smooth v] by (-1)\n    create clone of (_myself_ v)\n    change [brightness v] effect by (3.3)\nend\nrepeat (50)\n    change [brightness v] effect by (-1)\n    change [color v] effect by (5)\nend\nrepeat (10)\n    change [color v] effect by (5)\nend\nset [smooth v] to [-10]\nrepeat (30)\n    change [smooth v] by (.4)\n    create clone of (_myself_ v)\n    change y by (((smooth) + (5)) * (-1))\n    change size by (smooth)\nend\nset [smooth v] to [0]\nrepeat (25)\n    change [ghost v] effect by (4)\n    change [smooth v] by (-.8)\n    change size by ((smooth) * (-1.1))\n    create clone of (_myself_ v)\n    change y by (((smooth) + (5)) * (-1))\nend\n\nwhen flag clicked\nshow\nreset timer\nset size to (80) %\nset [x v] to [0]\ngo to x: (0) y: (-25)\nswitch costume to (thumbnail v)\nset [ghost v] effect to (100)\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nwait (5) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nbroadcast (Intro v)\n\n@Thumbnail\n\nwhen I start as a clone\nswitch costume to (costume3 v)\nclear graphic effects\nset size to (1) %\nshow\nset [? v] to (pick random (5) to (30))\nset [size v] to (pick random (-100) to (150))\nset [color v] effect to (pick random (180) to (-180))\npoint in direction (pick random (180) to (-180))\ngo to x: (0) y: (0)\nmove (1) steps\nforever\n    set size to (((distance to [intro v]) * (2)) + (size)) %\n    set [ghost v] effect to ((((y position) - (80)) * <(y position) > [0]>) + (((-80) - (y position)) * <(y position) < [0]>))\n    change x by ((x position) / (?))\n    change y by ((y position) / (?))\n    change x by ((y position) / (20))\n    change y by ((x position) / (-20))\n    if <touching (_edge_ v)?> then\n        delete this clone\n    end\nend\n\nwhen I receive [home v]\ndelete this clone\n\nswitch costume to (costume2 v)\ngo to [front v] layer\npoint in direction (90)\ngo to x: (0) y: (0)\nshow\nset size to (100) %\nclear graphic effects\nstop [all v]\n\nwhen I receive [intro v]\nshow list [sample v]\ngo to x: (0) y: (0)\nhide\nwait (9) seconds\nswitch costume to (costume1 v)\nset [ghost v] effect to (100)\nshow\nrepeat (24)\n    change [ghost v] effect by (-4)\nend\nwait (1) seconds\nbroadcast (home v)\nrepeat (10)\n    change [ghost v] effect by (10)\n    go to [front v] layer\nend\nhide\nforever\n    set volume to (100) %\n    play sound [Mini Mania v] until done\n    play sound [Anthropologie Music? - 4:6:19, 11 v] until done\n    play sound [Island Christmas v] until done\nend\n\nwhen flag clicked\nhide\n\n
********Click the flag twice or there will be bugs******\nCONTROLS:\nArrow keys, WASD, or tap (for mobile) to move.\nGet to the far right of the screen to advance.\nAvoid spikes, lava, saws, and lasers.\nTrampolines force you really high!\nSwim in water, but don't fall down too much.\nCollect the keys to unlock doors.