Puzzle Platformer (Mobile)

Instructions: -SPAM THE GREEN FLAG BEFORE PLAYING-\n-SPAM THE GREEN FLAG BEFORE PLAYING-\n-SPAM THE GREEN FLAG BEFORE PLAYING-\n\nPC:\nUse arrow keys or WASD to move.\nSolve the puzzles each level.\nDon't touch spikes.\nThere is a timer in the menu.\nR and E to restart the level.\nPress H and I at the same time for a hint.\nPress T and R to switch trail. Press RN for no trail.\nMobile:\nTap to move.\nSolve the puzzles each level.\nDon't touch spikes.\nGo on menu to switch trail, get a hint, see your time, or restart the level.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nThe password for level 35 is: 674573

@Stage\n\n@Player\n\nwhen flag clicked\nset drag mode [not draggable v]\nforever\n    if <<<<<touching color (#ff0000)?> and <not <touching (spikes v)?>>> or <touching (hiddenleveldeath v)?>> or <<touching (spikes v)?> and <(Visible) = [0]>>> and <not <(Level) = [Level27]>>> then\n        if <<not <(Level) = [Level33]>> or <not <touching (hiddenleveldeath v)?>>> then\n            broadcast (Oof v)\n            go to x: (-204) y: (-147)\n            set [xvalue v] to [0]\n            set [yvelocity v] to [0]\n        else\n            broadcast (Oof v)\n            go to x: (-204) y: (-10)\n            set [xvalue v] to [0]\n            set [yvelocity v] to [0]\n        end\n    end\n    if <<touching color (#ff0000)?> and <(Level) = [Level27]>> then\n        broadcast (Oof v)\n        go to x: (-204) y: (-100)\n        set [xvalue v] to [0]\n        set [yvelocity v] to [0]\n    end\n    if <touching (lavarain v)?> then\n        broadcast (Oof v)\n        go to x: (-204) y: (-147)\n        set [xvalue v] to [0]\n        set [yvelocity v] to [0]\n    end\nend\n\nwhen flag clicked\nforever\n    if <<<key (r v) pressed?> and <key (e v) pressed?>> and <not <(Level) = [Level27]>>> then\n        go to x: (-204) y: (-147)\n        set [xvalue v] to [0]\n        set [yvelocity v] to [0]\n    end\n    if <<<key (r v) pressed?> and <key (e v) pressed?>> and <(Level) = [Level27]>> then\n        go to x: (-204) y: (-100)\n        set [xvalue v] to [0]\n        set [yvelocity v] to [0]\n    end\nend\n\nwhen I receive [mobile v]\nset [touching v] to [ ]\nshow\npoint in direction (90)\ngo to x: (-204) y: (-147)\nforever\n    if <<mouse down?> and <(x position) < (mouse x)>> then\n        broadcast (Move v)\n        point in direction (90)\n        change [xvalue v] by (0.5)\n    end\n    if <<mouse down?> and <(x position) > (mouse x)>> then\n        broadcast (MoveLeft v)\n        point in direction (-90)\n        change [xvalue v] by (-0.5)\n    end\n    change x by (XValue)\n    if <<touching (snow v)?> or <<<<touching (levels v)?> or <touching (hidden level2 v)?>> or <touching (text v)?>> or <<touching (red thingy v)?> and <(Level) = [Level14]>>>> then\n        change y by (1)\n        if <<touching (snow v)?> or <<<<touching (levels v)?> or <touching (hidden level2 v)?>> or <touching (text v)?>> or <<touching (red thingy v)?> and <(Level) = [Level14]>>>> then\n            change y by (1)\n            if <<touching (snow v)?> or <<<<touching (levels v)?> or <touching (hidden level2 v)?>> or <touching (text v)?>> or <<touching (red thingy v)?> and <(Level) = [Level14]>>>> then\n                change y by (1)\n                if <<touching (snow v)?> or <<<<touching (levels v)?> or <touching (hidden level2 v)?>> or <touching (text v)?>> or <<touching (red thingy v)?> and <(Level) = [Level14]>>>> then\n                    change y by (1)\n                    if <<touching (snow v)?> or <<<<touching (levels v)?> or <touching (hidden level2 v)?>> or <touching (text v)?>> or <<touching (red thingy v)?> and <(Level) = [Level14]>>>> then\n                        change y by (1)\n                        if <<touching (snow v)?> or <<<<touching (levels v)?> or <touching (hidden level2 v)?>> or <touching (text v)?>> or <<touching (red thingy v)?> and <(Level) = [Level14]>>>> then\n                            change x by ((XValue) * (-1))\n                            change y by (-5)\n                            if <<mouse down?> and <[-50] < (mouse y)>> then\n                                broadcast (MoveUp v)\n                                if <(XValue) > [0]> then\n                                    set [xvalue v] to [-5]\n                                else\n                                    set [xvalue v] to [5]\n                                end\n                                set [yvelocity v] to [12]\n                            else\n                                set [xvalue v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    switch costume to (player2 v)\n    change [yvelocity v] by (-1)\n    change y by (YVelocity)\n    if <<touching (snow v)?> or <<<<touching (levels v)?> or <touching (hidden level2 v)?>> or <touching (text v)?>> or <<touching (red thingy v)?> and <(Level) = [Level14]>>>> then\n        change y by ((YVelocity) * (-1))\n        set [yvelocity v] to [0]\n        switch costume to (player v)\n    end\n    change y by (-1)\n    if <<<touching (snow v)?> or <<<<touching (levels v)?> or <touching (hidden level2 v)?>> or <touching (text v)?>> or <<touching (red thingy v)?> and <(Level) = [Level14]>>>> and <<mouse down?> and <[-50] < (mouse y)>>> then\n        broadcast (MoveUp v)\n        set [yvelocity v] to [15]\n    end\n    change y by (1)\n    set [xvalue v] to ((XValue) * (0.95))\nend\n\nwhen I receive [pc v]\nset [touching v] to [ ]\nshow\npoint in direction (90)\ngo to x: (-204) y: (-147)\nforever\n    if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n        point in direction (90)\n        change [xvalue v] by (0.5)\n    end\n    if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n        point in direction (-90)\n        change [xvalue v] by (-0.5)\n    end\n    change x by (XValue)\n    if <<touching (snow v)?> or <<<<touching (levels v)?> or <touching (hidden level2 v)?>> or <touching (text v)?>> or <<touching (red thingy v)?> and <(Level) = [Level14]>>>> then\n        change y by (1)\n        if <<touching (snow v)?> or <<<<touching (levels v)?> or <touching (hidden level2 v)?>> or <touching (text v)?>> or <<touching (red thingy v)?> and <(Level) = [Level14]>>>> then\n            change y by (1)\n            if <<touching (snow v)?> or <<<<touching (levels v)?> or <touching (hidden level2 v)?>> or <touching (text v)?>> or <<touching (red thingy v)?> and <(Level) = [Level14]>>>> then\n                change y by (1)\n                if <<touching (snow v)?> or <<<<touching (levels v)?> or <touching (hidden level2 v)?>> or <touching (text v)?>> or <<touching (red thingy v)?> and <(Level) = [Level14]>>>> then\n                    change y by (1)\n                    if <<touching (snow v)?> or <<<<touching (levels v)?> or <touching (hidden level2 v)?>> or <touching (text v)?>> or <<touching (red thingy v)?> and <(Level) = [Level14]>>>> then\n                        change y by (1)\n                        if <<touching (snow v)?> or <<<<touching (levels v)?> or <touching (hidden level2 v)?>> or <touching (text v)?>> or <<touching (red thingy v)?> and <(Level) = [Level14]>>>> then\n                            change x by ((XValue) * (-1))\n                            change y by (-5)\n                            if <<key (up arrow v) pressed?> or <<key (space v) pressed?> or <key (w v) pressed?>>> then\n                                if <(XValue) > [0]> then\n                                    set [xvalue v] to [-5]\n                                else\n                                    set [xvalue v] to [5]\n                                end\n                                set [yvelocity v] to [12]\n                            else\n                                set [xvalue v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    broadcast (Player2 v)\n    switch costume to (player2 v)\n    change [yvelocity v] by (-1)\n    change y by (YVelocity)\n    if <<touching (snow v)?> or <<<<touching (levels v)?> or <touching (hidden level2 v)?>> or <touching (text v)?>> or <<touching (red thingy v)?> and <(Level) = [Level14]>>>> then\n        change y by ((YVelocity) * (-1))\n        set [yvelocity v] to [0]\n        broadcast (Player v)\n        switch costume to (player v)\n    end\n    change y by (-3)\n    if <<<touching (snow v)?> or <<<<touching (levels v)?> or <touching (hidden level2 v)?>> or <touching (text v)?>> or <<touching (red thingy v)?> and <(Level) = [Level14]>>>> and <<key (up arrow v) pressed?> or <<key (space v) pressed?> or <key (w v) pressed?>>>> then\n        set [yvelocity v] to [15]\n    end\n    change y by (3)\n    set [xvalue v] to ((XValue) * (0.95))\nend\n\nwhen I receive [dead v]\nif <(Level) = [Level34]> then\n    go to x: (-204) y: (-50)\n    set [xvalue v] to [0]\n    set [yvelocity v] to [0]\nelse\n    go to x: (-204) y: (-147)\n    set [xvalue v] to [0]\n    set [yvelocity v] to [0]\nend\n\nwhen flag clicked\nset [secretdone v] to [0]\ngo to [front v] layer\nhide\nswitch backdrop to (backdrop1 v)\nforever\n    if <<(x position) > [239]> and <(Level) = [Level33]>> then\n        broadcast (Next v)\n        repeat (10)\n            go to x: (-204) y: (-147)\n            set [xvalue v] to [0]\n            set [yvelocity v] to [0]\n        end\n        wait (1.5) seconds\n    end\n    if <<<(x position) > [239]> and <not <(Level) = [SecretThing]>>> and <not <(Level) = [Level26]>>> then\n        wait (0.01) seconds\n        broadcast (Next v)\n        go to x: (-204) y: (-147)\n        set [xvalue v] to [0]\n        set [yvelocity v] to [0]\n        wait (1.5) seconds\n    end\n    if <<[-238] > (x position)> and <(Level) = [Level9]>> then\n        broadcast (Next v)\n        go to x: (-204) y: (-147)\n        set [xvalue v] to [0]\n        set [yvelocity v] to [0]\n        wait (1.5) seconds\n    end\n    if <<[-230] > (x position)> and <<(y position) > [173]> and <(Level) = [Level11]>>> then\n        broadcast (SecretThing v)\n        go to x: (-204) y: (100)\n        set [xvalue v] to [0]\n        set [yvelocity v] to [0]\n        if <(SecretDone) = [0]> then\n            change [time v] by (-20)\n            set [secretdone v] to [1]\n        end\n        wait (1.5) seconds\n    end\n    if <<[-174] > (y position)> and <(Level) = [SecretThing]>> then\n        broadcast (ByeSecret v)\n        go to x: (-204) y: (-147)\n        set [xvalue v] to [0]\n        set [yvelocity v] to [0]\n        wait (1.5) seconds\n    end\n    if <<(x position) > [239]> and <(Level) = [Level26]>> then\n        broadcast (Next v)\n        go to x: (-204) y: (-100)\n        set [xvalue v] to [0]\n        set [yvelocity v] to [0]\n        wait (1.5) seconds\n    end\nend\n\nwhen flag clicked\nset [sun v] to [0]\nforever\n    if <<touching (the right button v)?> and <(Level) = [Level14]>> then\n        broadcast (Touched v)\n    end\n    if <<touching (the right button v)?> and <(Level) = [Level22]>> then\n        broadcast (Touched2 v)\n        set size to (50) %\n        wait until <not <(Level) = [Level22]>>\n        set size to (100) %\n    end\n    if <(Level) = [Level37]> then\n        repeat until <(Sun) = [1]>\n            wait (1) seconds\n            go to x: (-204) y: (-147)\n        end\n    end\n    if <(Level) = [Level38]> then\n        hide\n        wait until <not <(Level) = [Level38]>>\n        show\n    end\nend\n\nwhen I receive [2 v]\ngo to x: (-45) y: (-70)\n\nwhen I receive [teleport v]\ngo to x: (0) y: (-131)\n\nwhen I receive [3 v]\ngo to x: (83) y: (-74)\n\nwhen this sprite clicked\nif <(Level) = [Level26]> then\n    broadcast (Clone v)\nend\nif <(Level) = [Level3]> then\n    repeat until <<<not <mouse down?>> or <not <(Level) = [Level3]>>> or <[200] < (x position)>>\n        go to (mouse-pointer v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [Level34]> then\n        if <<key (e v) pressed?> and <key (r v) pressed?>> then\n            go to x: (-204) y: (-50)\n            set [xvalue v] to [0]\n            set [yvelocity v] to [0]\n        end\n    end\nend\n\nwhen I receive [sun v]\nset [sun v] to [1]\ngo to x: (-204) y: (-147)\nshow\n\n@Time\n\nwhen flag clicked\ngo to x: (20) y: (161)\nset drag mode [not draggable v]\nhide\nforever\n    if <(Level) = [Level2]> then\n        show\n        set drag mode [draggable v]\n        wait until <not <(Level) = [Level2]>>\n        hide\n        set drag mode [not draggable v]\n        hide variable [timer v]\n    end\nend\n\nwhen flag clicked\nforever\n    if <<(x position) > [127]> and <<(x position) < [226]> and <<(y position) > [131]> and <(y position) < [156]>>>> then\n        hide\n        set drag mode [not draggable v]\n        repeat (25)\n            change [timer v] by (1)\n        end\n        set [timer v] to [1000]\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nset drag mode [not draggable v]\nhide variable [timer v]\nforever\n    if <(Level) = [Level2]> then\n        repeat until <not <(Level) = [Level2]>>\n            set [timer v] to [3]\n            show variable [timer v]\n            repeat until <<(Timer) < [0]> or <(Timer) = [0]>>\n                wait (1) seconds\n                change [timer v] by (-1)\n            end\n            broadcast (Dead v)\n        end\n    end\nend\n\n@Red Thingy\n\nwhen flag clicked\nswitch costume to (costume1 v)\ngo to x: (8) y: (21)\nhide\nforever\n    if <(Level) = [Level4]> then\n        switch costume to (costume1 v)\n        show\n        repeat until <<not <(Level) = [Level4]>> or << (answer) contains [echo]?> or << (answer) contains [ECHO]?> or < (answer) contains [Echo]?>>>>\n            ask [What can’t talk but will reply when spoken to?] and wait\n            if <not << (answer) contains [echo]?> or << (answer) contains [ECHO]?> or < (answer) contains [Echo]?>>>> then\n                say [Try again] for (2) seconds\n            end\n        end\n        say [Correct] for (2) seconds\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        hide\n        set [ghost v] effect to (0)\n        wait until <not <(Level) = [Level4]>>\n    end\n    if <(Level) = [Level5]> then\n        switch costume to (costume1 v)\n        show\n        repeat until <<not <(Level) = [Level5]>> or <<< (answer) contains [The password]?> or < (answer) contains [the password]?>> or < (answer) contains [The Password]?>>>\n            ask [What is the password?] and wait\n            if <not <<< (answer) contains [The password]?> or < (answer) contains [the password]?>> or < (answer) contains [The Password]?>>> then\n                say [Try again] for (2) seconds\n            end\n        end\n        say [Correct] for (2) seconds\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        hide\n        set [ghost v] effect to (0)\n        go to x: (8) y: (22)\n        switch costume to (costume2 v)\n        wait until <not <(Level) = [Level5]>>\n    end\n    if <(Level) = [Level14]> then\n        switch costume to (costume2 v)\n        show\n        wait until <not <(Level) = [Level14]>>\n        hide\n    end\n    if <(Level) = [Level16]> then\n        switch costume to (costume3 v)\n        show\n        set drag mode [draggable v]\n        wait until <not <(Level) = [Level16]>>\n        set drag mode [not draggable v]\n        hide\n    end\n    if <(Level) = [Level17]> then\n        switch costume to (costume1 v)\n        go to x: (8) y: (21)\n        show\n        repeat until <(answer) = [999]>\n            ask [How fun?] and wait\n            if <not <(answer) = [999]>> then\n                say [Try again] for (2) seconds\n            end\n        end\n        say [Correct] for (2) seconds\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        hide\n        set [ghost v] effect to (0)\n        wait until <not <(Level) = [Level17]>>\n    end\n    if <(Level) = [Level18]> then\n        switch costume to (costume1 v)\n        go to x: (0) y: (21)\n        show\n        repeat until <(answer) = [2]>\n            ask [How many apples do I have now?] and wait\n            if <not <(answer) = [2]>> then\n                say [Try again] for (2) seconds\n            end\n        end\n        say [Correct] for (2) seconds\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        hide\n        set [ghost v] effect to (0)\n        wait until <not <(Level) = [Level18]>>\n    end\n    if <(Level) = [Level32]> then\n        switch costume to (costume1 v)\n        show\n        repeat until <<(answer) = [54]> or <<(answer) = (join (current [hour v]) (join [:] (current [minute v])))> or <(answer) = (join (current [hour v]) (join [:0] (current [minute v])))>>>\n            ask [What is the time?] and wait\n            wait (0.1) seconds\n            if <<not <(answer) = [54]>> or <<not <(answer) = (join (current [hour v]) (join [:0] (current [minute v])))>> or <not <(answer) = (join (current [hour v]) (join [:] (current [minute v])))>>>> then\n                say [Try again] for (2) seconds\n            end\n        end\n        say [Correct] for (2) seconds\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        hide\n        set [ghost v] effect to (0)\n        wait until <not <(Level) = [Level32]>>\n    end\n    if <(Level) = [Level35]> then\n        switch costume to (costume1 v)\n        go to x: (0) y: (21)\n        show\n        repeat until <(answer) = [674573]>\n            ask [What's the password?] and wait\n            if <not <(answer) = [674573]>> then\n                say [Try again] for (2) seconds\n            end\n        end\n        say [Correct] for (2) seconds\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        hide\n        set [ghost v] effect to (0)\n        wait until <not <(Level) = [Level35]>>\n    end\nend\n\nwhen I receive [touched v]\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\nset [ghost v] effect to (0)\nswitch costume to (costume3 v)\ngo to x: (0) y: (0)\ngo to x: (0) y: (-16)\n\n@Hints\n\nwhen flag clicked\nset size to (100) %\ngo to [front v] layer\nswitch backdrop to (blank v)\nhide\ngo to x: (0) y: (0)\nforever\n    if <<key (h v) pressed?> and <key (i v) pressed?>> then\n        go to x: (0) y: (0)\n        switch costume to (Level)\n        show\n        go to [front v] layer\n        if <<(Level) = [Level24]> or <(Level) = [Level]>> then\n            go to x: (100) y: (0)\n        end\n    end\nend\n\nwhen flag clicked\nset [debounce v] to [0]\nforever\n    if <<mouse down?> and <(Debounce) = [0]>> then\n        hide\n    end\nend\n\nwhen I receive [hint v]\nset [debounce v] to [1]\nswitch costume to (Level)\ngo to [front v] layer\nshow\nwait (1) seconds\nset [debounce v] to [0]\n\n@Text\n\nwhen flag clicked\nhide\nset drag mode [not draggable v]\ngo to x: (2) y: (158)\nwait until <(Level) = [Level12]>\nswitch costume to (costume1 v)\nset drag mode [draggable v]\nshow\nwait until <not <(Level) = [Level12]>>\nhide\nset drag mode [not draggable v]\n\nwhen flag clicked\nforever\n    if <<key (r v) pressed?> and <key (e v) pressed?>> then\nend\n\nwhen flag clicked\nforever\n    if <<key (r v) pressed?> and <key (e v) pressed?>> then\nend\n\nwhen flag clicked\nforever\n    if <<key (r v) pressed?> and <key (e v) pressed?>> then\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [Level24]> then\n        switch costume to (costume2 v)\n        go to x: (0) y: (-16)\n        show\n        repeat until <not <(Level) = [Level24]>>\n            if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <key (space v) pressed?>>> then\n                change y by (3)\n            end\n            if <<key (a v) pressed?> or <key (left arrow v) pressed?>> then\n                change x by (-3)\n            end\n            if <<key (d v) pressed?> or <key (right arrow v) pressed?>> then\n                change x by (3)\n            end\n        end\n        hide\n    end\nend\n\nwhen flag clicked\nforever\n    if <<key (r v) pressed?> and <<key (e v) pressed?> and <(Level) = [Level24]>>> then\n        go to x: (0) y: (-16)\n    end\nend\n\nwhen I receive [move v]\nif <(Level) = [Level24]> then\n    change x by (3)\nend\n\nwhen I receive [moveleft v]\nif <(Level) = [Level24]> then\n    change x by (-3)\nend\n\nwhen I receive [moveup v]\nif <(Level) = [Level24]> then\n    change y by (3)\nend\n\nwhen I receive [dead v]\nif <(Level) = [Level24]> then\n    go to x: (0) y: (-16)\nend\n\n@Patience\n\nwhen flag clicked\nset [ghost v] effect to (0)\nset [timer v] to [0]\nhide\ngo to x: (23) y: (23)\nwait until <(Level) = [Level13]>\nshow\nset [timer v] to [20]\nrepeat until <<(Timer) < [0]> or <(Timer) = [0]>>\n    wait (1) seconds\n    change [timer v] by (-1)\nend\nset [timer v] to [0]\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\nset [ghost v] effect to (0)\n\nwhen I receive [oof v]\nif <(Level) = [Level13]> then\n    set [timer v] to [20]\nend\n\n@Thing\n\nwhen flag clicked\nset [ghost v] effect to (0)\nset [whirl v] effect to (0)\nshow\ngo to [front v] layer\nwait (2) seconds\nrepeat (100)\n    change [whirl v] effect by (10)\n    change [ghost v] effect by (1)\nend\nhide\nset [whirl v] effect to (0)\nset [ghost v] effect to (0)\n\nshow\ngo to [front v] layer\n\nhide\n\n@the right button\n\nwhen flag clicked\nhide\nforever\n    if <(Level) = [Level14]> then\n        switch costume to (costume1 v)\n        go to x: (-23) y: (160)\n        show\n        repeat until <<touching (player v)?> or <not <(Level) = [Level14]>>>\n            if <touching (player v)?> then\n                broadcast (Touched v)\n                hide\n            end\n        end\n        hide\n        wait until <not <(Level) = [Level14]>>\n    end\n    if <(Level) = [Level22]> then\n        switch costume to (costume2 v)\n        set drag mode [draggable v]\n        go to x: (107) y: (159)\n        show\n    end\n    repeat until <<touching (player v)?> or <not <(Level) = [Level22]>>>\n        if <touching (player v)?> then\n            broadcast (Touched2 v)\n            hide\n        end\n    end\n    wait until <not <(Level) = [Level22]>>\n    hide\n    set drag mode [not draggable v]\nend\n\nwhen I receive [touched v]\nhide\n\nwhen I receive [touched2 v]\nset drag mode [not draggable v]\nhide\n\n@F\n\nwhen flag clicked\nforever\n    go to x: (241) y: (-62)\n    switch costume to (costume1 v)\n    hide\n    wait until <(Level) = [Level17]>\n    set drag mode [draggable v]\n    show\n    wait until <not <(Level) = [Level17]>>\n    hide\nend\n\nwhen flag clicked\nforever\n    if <<not <[241] = (x position)>> or <not <[-62] = (y position)>>> then\n        switch costume to (costume2 v)\n    end\nend\n\nwhen this sprite clicked\nswitch costume to (costume2 v)\n\n@Hidden level\n\nwhen flag clicked\ngo to x: (-17) y: (-30)\nhide\ngo to [back v] layer\nwait until <(Level) = [Secret]>\nshow\nrepeat until <not <(Level) = [Secret]>>\n    if <touching (player v)?> then\n        broadcast (Next v)\n        wait (0.1) seconds\n    end\nend\nhide\n\nwhen this sprite clicked\nbroadcast (Next v)\n\n@Trail\n\nwhen flag clicked\nswitch costume to (player v)\nset [color v] effect to (0)\nset [ghost v] effect to (20)\nhide\ngo to (player v)\nwait until <(Level) = [Intro]>\nforever\n    create clone of (_myself_ v)\nend\n\nwait (0.005) seconds\n\nwhen I start as a clone\ngo [backward v] (5) layers\nshow\ngo to (player v)\nset [ghost v] effect to (10)\nrepeat (18)\n    change [ghost v] effect by (5)\n    change size by (-3)\nend\ndelete this clone\n\nwhen flag clicked\nhide\nforever\n    if <<key (t v) pressed?> and <key (r v) pressed?>> then\n        if <(costume [name v]) = [Player]> then\n            switch costume to (question marks v)\n            wait (0.2) seconds\n        else\n            next costume\n            wait (0.2) seconds\n        end\n    end\n    if <<key (n v) pressed?> and <key (r v) pressed?>> then\n        switch costume to (none v)\n    end\nend\n\nwhen I receive [switchtrail v]\nnext costume\n\nwhen I receive [player v]\nif <(costume [name v]) = [Player2]> then\n    switch costume to (player v)\nend\n\nwhen I receive [player2 v]\nif <(costume [name v]) = [Player]> then\n    switch costume to (player2 v)\nend\n\n@Star\n\nwhen flag clicked\nset drag mode [not draggable v]\ngo to x: (0) y: (0)\nhide\nforever\n    if <(Level) = [Secret]> then\n        switch costume to (costume1 v)\n        show\n        set drag mode [draggable v]\n        wait until <not <(Level) = [Secret]>>\n        hide\n        set drag mode [not draggable v]\n    end\n    if <(Level) = [Level37]> then\n        wait (0.1) seconds\n        go to [front v] layer\n        show\n        switch costume to (costume2 v)\n        wait until <not <(Level) = [Level37]>>\n        hide\n    end\nend\n\nwhen I receive [sun v]\nhide\n\nbroadcast (Next v)\n\n@Hidden level2\n\nhide\n\nwhen I start as a clone\nif <(Level) = [Level20]> then\n    show\n    go to x: (-283) y: (pick random (-79) to (166))\n    repeat until <(x position) > [278]>\n        change x by (2)\n    end\n    delete this clone\nend\n\nwhen I receive [clone v]\nif <(Level) = [Level26]> then\n    hide\n    switch costume to (costume4 v)\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nif <(Level) = [Level26]> then\n    go to x: (156) y: (-138)\n    set drag mode [draggable v]\n    show\n    wait until <not <(Level) = [Level26]>>\n    delete this clone\nend\n\nwhen I start as a clone\nif <(Level) = [Level26]> then\n    forever\n        if <<key (e v) pressed?> and <key (r v) pressed?>> then\n            delete this clone\n        end\n    end\nend\n\nwhen I receive [pos v]\nswitch costume to (costume6 v)\n\nwhen I receive [sun v]\nhide\n\nwhen I receive [hidden v]\nset [ghost v] effect to (0)\nwait (1) seconds\nset [ghost v] effect to (100)\nwait (3) seconds\n\nwhen flag clicked\nhide\nswitch costume to (costume2 v)\nforever\n    if <(Level) = [Level20]> then\n        switch costume to (costume2 v)\n        go to [back v] layer\n        hide\n        repeat until <not <(Level) = [Level20]>>\n            create clone of (_myself_ v)\n            wait (pick random (3) to (5)) seconds\n        end\n        switch costume to (costume1 v)\n        go to x: (34) y: (7)\n        hide\n        go to [back v] layer\n    end\n    if <(Level) = [Hidden]> then\n        switch costume to (costume1 v)\n        go to x: (34) y: (7)\n        hide\n        go to [back v] layer\n        set [ghost v] effect to (100)\n        show\n        repeat until <not <(Level) = [Hidden]>>\n            if <key (s v) pressed?> then\n                set [ghost v] effect to (0)\n                wait (1) seconds\n                set [ghost v] effect to (100)\n                wait (3) seconds\n            end\n        end\n        set [ghost v] effect to (0)\n        hide\n    end\n    if <(Level) = [Level21]> then\n        switch costume to (costume3 v)\n        go to x: (0) y: (0)\n        go to [back v] layer\n        set drag mode [draggable v]\n        show\n        wait until <not <(Level) = [Level21]>>\n        set drag mode [not draggable v]\n        hide\n    end\n    if <(Level) = [Level33]> then\n        switch costume to (costume5 v)\n        go to x: (0) y: (-16)\n        go to [front v] layer\n        show\n        wait until <not <(Level) = [Level33]>>\n        hide\n    end\n    if <(Level) = [Level37]> then\n        go to [front v] layer\n        switch costume to (costume3 v)\n        go to x: (0) y: (-16)\n        show\n        wait until <not <(Level) = [Level37]>>\n        hide\n    end\n    if <(Level) = [Level40]> then\n        set drag mode [draggable v]\n        switch costume to (costume3 v)\n        go to x: (0) y: (0)\n        go to [front v] layer\n        show\n        wait until <not <(Level) = [Level40]>>\n        set drag mode [not draggable v]\n        hide\n    end\nend\n\n@HiddenLevelDeath\n\nwhen I receive [pos v]\nswitch costume to (costume2 v)\n\nwhen flag clicked\nhide\nforever\n    if <(Level) = [Hidden]> then\n        switch costume to (hiddenleveldeath v)\n        go to x: (34) y: (7)\n        hide\n        go to [back v] layer\n        set [ghost v] effect to (100)\n        show\n        repeat until <not <(Level) = [Hidden]>>\n            if <key (s v) pressed?> then\n                set [ghost v] effect to (0)\n                wait (1) seconds\n                set [ghost v] effect to (100)\n                wait (3) seconds\n            end\n        end\n        set [ghost v] effect to (0)\n        hide\n    end\n    if <(Level) = [Level33]> then\n        go to x: (0) y: (-16)\n        switch costume to (costume1 v)\n        go to [front v] layer\n        show\n        set [ghost v] effect to (0)\n        wait until <not <(Level) = [Level33]>>\n        hide\n    end\nend\n\nwhen I receive [hidden v]\nset [ghost v] effect to (0)\nwait (1) seconds\nset [ghost v] effect to (100)\nwait (3) seconds\n\n@Mobile\n\nwhen this sprite clicked\nbroadcast (Mobile v)\nbroadcast (Start v)\nhide\n\nwhen flag clicked\nswitch costume to (costume1 v)\nshow\ngo to x: (36) y: (28)\nforever\n    if <touching (mouse-pointer v)?> then\n        set size to (110) %\n    else\n        set size to (100) %\n    end\nend\n\nwhen I receive [pc v]\nhide\nstop [other scripts in sprite v]\nstop [this script v]\n\n@Menu\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\ngo to [front v] layer\nshow\n\nwhen this sprite clicked\nif <(Open) = [0]> then\n    broadcast (Open Menu v)\nelse\n    broadcast (Close Menu v)\nend\n\n@Menu2\n\nwhen flag clicked\nhide variable [☁ high score v]\nhide variable [time v]\nhide\nset [open v] to [0]\n\nwhen I receive [open menu v]\nshow variable [☁ high score v]\nshow variable [time v]\nset [open v] to [1]\ngo to [front v] layer\nshow\n\nwhen I receive [close menu v]\nhide variable [☁ high score v]\nhide variable [time v]\nset [open v] to [0]\nhide\n\n@PC\n\nwhen this sprite clicked\nbroadcast (PC v)\nbroadcast (Start v)\nhide\n\nwhen I receive [mobile v]\nhide\nstop [other scripts in sprite v]\nstop [this script v]\n\nwhen flag clicked\nwait (1) seconds\nswitch costume to (costume1 v)\nshow\ngo to x: (36) y: (28)\nwait (0.1) seconds\nforever\n    if <touching (mouse-pointer v)?> then\n        set size to (110) %\n    else\n        set size to (100) %\n    end\nend\n\n@SwitchTrail\n\nwhen I receive [close menu v]\nhide\n\nwhen flag clicked\nhide\n\nwhen I receive [open menu v]\nwait (0.1) seconds\ngo to [front v] layer\nshow\n\nwhen this sprite clicked\nbroadcast (SwitchTrail v)\nbroadcast (Close Menu v)\n\n@Restart Level\n\nwhen I receive [open menu v]\nwait (0.1) seconds\ngo to [front v] layer\nshow\n\nwhen I receive [close menu v]\nhide\n\nwhen flag clicked\nhide\n\nwhen this sprite clicked\nbroadcast (Dead v)\nbroadcast (Close Menu v)\n\n@Hiddenlevelbutton\n\nwhen flag clicked\nhide\ngo to x: (228) y: (180)\nwait until <(Level) = [Hidden]>\nshow\nwait until <not <(Level) = [Hidden]>>\nhide\n\nwhen this sprite clicked\nbroadcast (Hidden v)\n\n@Hint\n\nwhen flag clicked\nhide\n\nwhen I receive [open menu v]\nwait (0.1) seconds\ngo to [front v] layer\nshow\n\nwhen I receive [close menu v]\nhide\n\nwhen this sprite clicked\nbroadcast (Hint v)\nbroadcast (Close Menu v)\n\n@Clouds\n\nwhen flag clicked\nhide\nwait (0.1) seconds\ngo to [back v] layer\nforever\n    if <not <(Level) = [Level20]>> then\n        create clone of (_myself_ v)\n        wait (pick random (3) to (5)) seconds\n    end\nend\n\nwhen I start as a clone\nshow\ngo to x: (-283) y: (pick random (-79) to (166))\nrepeat until <(x position) > [278]>\n    change x by (2)\nend\ndelete this clone\n\n@Levels2\n\nwhen I receive [next v]\nnext costume\n\nwhen I receive [start v]\nshow\n\nwhen I receive [byesecret v]\nswitch costume to (level11 v)\n\nwhen I receive [secretthing v]\nswitch costume to (secretthing v)\n\nwhen flag clicked\nhide\nwait (0.01) seconds\ngo to [back v] layer\nswitch costume to (intro v)\ngo to x: (0) y: (-16)\n\n@Levels\n\nwhen flag clicked\nset [level v] to [?]\nhide\nswitch costume to (blank v)\ngo to [back v] layer\ngo to x: (0) y: (-15)\n\nwhen I receive [next v]\nnext costume\n\nwhen I receive [start v]\nnext costume\nshow\nforever\n    set [level v] to (costume [name v])\nend\n\nwhen I receive [secretthing v]\nswitch costume to (secretthing v)\n\nwhen I receive [byesecret v]\nswitch costume to (level11 v)\n\n@Portal\n\nwhen flag clicked\npoint in direction (90)\nset [clone v] to [0]\nhide\nforever\n    if <(Level) = [Level25]> then\n        go to x: (-122) y: (-63)\n        repeat (7)\n            create clone of (_myself_ v)\n            change [clone v] by (1)\n        end\n        wait until <not <(Level) = [Level25]>>\n    end\nend\n\nwhen I start as a clone\nif <(Clone) = [0]> then\n    turn left (90) degrees\n    go to x: (0) y: (-129)\n    show\n    wait until <not <(Level) = [Level25]>>\nend\nif <(Clone) = [1]> then\n    go to x: (-99) y: (-58)\n    show\n    repeat until <not <(Level) = [Level25]>>\n        if <touching (player v)?> then\n            broadcast (Teleport v)\n        end\n    end\nend\nif <(Clone) = [2]> then\n    go to x: (-99) y: (7)\n    show\n    repeat until <not <(Level) = [Level25]>>\n        if <touching (player v)?> then\n            broadcast (2 v)\n        end\n    end\nend\nif <(Clone) = [3]> then\n    go to x: (-99) y: (67)\n    show\n    repeat until <not <(Level) = [Level25]>>\n        if <touching (player v)?> then\n            broadcast (Teleport v)\n        end\n    end\nend\nif <(Clone) = [4]> then\n    go to x: (33) y: (-58)\n    show\n    repeat until <not <(Level) = [Level25]>>\n        if <touching (player v)?> then\n            broadcast (Teleport v)\n        end\n    end\nend\nif <(Clone) = [5]> then\n    go to x: (33) y: (7)\n    show\n    repeat until <not <(Level) = [Level25]>>\n        if <touching (player v)?> then\n            broadcast (Teleport v)\n        end\n    end\nend\nif <(Clone) = [6]> then\n    go to x: (33) y: (67)\n    show\n    repeat until <not <(Level) = [Level25]>>\n        if <touching (player v)?> then\n            broadcast (Teleport v)\n        end\n    end\nend\nif <(Clone) = [7]> then\n    point in direction (180)\n    go to x: (80) y: (-131)\n    show\n    repeat until <not <(Level) = [Level25]>>\n        if <touching (player v)?> then\n            broadcast (3 v)\n        end\n    end\nend\ndelete this clone\n\nshow\nwait until <not <(Level) = [Level25]>>\n\nshow\n\n@Spikes\n\nwhen flag clicked\nset [ghost v] effect to (0)\ngo to x: (0) y: (-16)\nset [visible v] to [1]\nhide\nforever\n    if <(Level) = [Level10]> then\n        switch costume to (costume1 v)\n        go to x: (0) y: (-16)\n        show\n        wait until <not <(Level) = [Level10]>>\n        hide\n    end\n    if <(Level) = [Level29]> then\n        set [visible v] to [0]\n        go to x: (0) y: (-16)\n        go to [back v] layer\n        switch costume to (costume2 v)\n        show\n        repeat until <not <(Level) = [Level29]>>\n            if <touching (invisible v)?> then\n                repeat (10)\n                    change [ghost v] effect by (10)\n                    set [visible v] to [1]\n                end\n            end\n        end\n    end\n    set [visible v] to [1]\n    hide\n    set [ghost v] effect to (0)\nend\n\nshow\n\n@Invisible\n\nwhen flag clicked\nset drag mode [not draggable v]\nhide\nforever\n    if <(Level) = [Level29]> then\n        switch costume to (costume1 v)\n        go to x: (26) y: (58)\n        set drag mode [draggable v]\n        show\n        wait until <not <(Level) = [Level29]>>\n        set drag mode [not draggable v]\n        hide\n    end\n    if <(Level) = [Level37]> then\n        switch costume to (costume2 v)\n        go to x: (194) y: (153)\n        set drag mode [draggable v]\n        show\n        go to [front v] layer\n        wait (1) seconds\n        go to [front v] layer\n        wait until <<not <(Level) = [Level37]>> or <not <touching (hidden level2 v)?>>>\n        broadcast (Sun v)\n        wait until <not <(Level) = [Level37]>>\n        set drag mode [not draggable v]\n        hide\n    end\nend\n\nwhen I receive [start v]\nset [time v] to [0]\nrepeat until <(Level) = [Final]>\n    wait (1) seconds\n    change [time v] by (1)\nend\nif <<(☁ High Score) > (Time)> or <(☁ High Score) = [0]>> then\n    set [☁ high score v] to (Time)\nend\n\n@LavaRain\n\nwhen I start as a clone\nif <[Level30] = (Level)> then\n    go to x: (pick random (240) to (-200)) y: (240)\n    show\n    repeat until <<touching (levels v)?> or <touching (drag v)?>>\n        change y by (-3)\n    end\n    delete this clone\nend\nif <[Level31] = (Level)> then\n    turn right (90) degrees\n    go to x: (154) y: (-93)\n    show\n    point towards (player v)\n    repeat until <not <[Level31] = (Level)>>\n        move (10) steps\n        if <<<touching (player v)?> or <touching (text2 v)?>> or <[-230] > (x position)>> then\n            wait (0.1) seconds\n            delete this clone\n        end\n    end\n    delete this clone\nend\n\nwhen flag clicked\nhide\nforever\n    if <[Level30] = (Level)> then\n        repeat until <not <[Level30] = (Level)>>\n            create clone of (_myself_ v)\n        end\n    end\n    if <[Level31] = (Level)> then\n        repeat until <not <[Level31] = (Level)>>\n            create clone of (_myself_ v)\n            wait (0.1) seconds\n        end\n    end\nend\n\n@Drag\n\nwhen flag clicked\ngo to x: (0) y: (-16)\nhide\nset drag mode [not draggable v]\nforever\n    if <[Level30] = (Level)> then\n        set drag mode [draggable v]\n        show\n        wait until <not <[Level30] = (Level)>>\n        hide\n        set drag mode [not draggable v]\n    end\nend\n\n@Cannon\n\nwhen flag clicked\npoint in direction (90)\nhide\ngo to x: (125) y: (-108)\nforever\n    if <(Level) = [Level31]> then\n        show\n        repeat until <not <(Level) = [Level31]>>\n            point towards (player v)\n        end\n        hide\n    end\nend\n\n@Text2\n\nwhen flag clicked\nhide\ngo to x: (0) y: (-16)\nforever\n    if <(Level) = [Level31]> then\n        go to x: (0) y: (-16)\n        switch costume to (costume1 v)\n        show\n        set drag mode [draggable v]\n        wait until <not <(Level) = [Level31]>>\n        set drag mode [not draggable v]\n        hide\n    end\n    if <(Level) = [Level33]> then\n        go to x: (0) y: (-16)\n        switch costume to (costume2 v)\n        show\n        set drag mode [draggable v]\n        repeat until <not <(Level) = [Level33]>>\n            if <<<[-28] < (y position)> and <[0] > (y position)>> and <<[164] < (x position)> and <[283] > (x position)>>> then\n                broadcast (Pos v)\n            end\n        end\n        wait until <not <(Level) = [Level33]>>\n        set drag mode [not draggable v]\n        hide\n    end\nend\n\nwhen I receive [pos v]\ngo to x: (230) y: (-16)\nset drag mode [not draggable v]\n\n@Text3\n\nwhen flag clicked\nhide\ngo to x: (0) y: (-16)\nforever\n    if <(Level) = [Level33]> then\n        go to x: (0) y: (-16)\n        show\n        set drag mode [draggable v]\n        repeat until <not <(Level) = [Level33]>>\n            if <<<[-28] < (y position)> and <[0] > (y position)>> and <<[-273] < (x position)> and <[-164] > (x position)>>> then\n                broadcast (Pos v)\n            end\n        end\n        wait until <not <(Level) = [Level33]>>\n        set drag mode [not draggable v]\n        hide\n    end\nend\n\nwhen I receive [pos v]\ngo to x: (-227) y: (-16)\nset drag mode [not draggable v]\n\n@Snow\n\nwhen flag clicked\nset [ghost v] effect to (0)\nhide\nforever\n    if <(Level) = [Level40]> then\n        go to [front v] layer\n        show\n        repeat until <not <(Level) = [Level40]>>\n            if <touching (hidden level2 v)?> then\n                repeat (10)\n                    change [ghost v] effect by (10)\n                end\n                hide\n                set [ghost v] effect to (0)\n            end\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [Level40]> then\n        if <touching (player v)?> then\n            set [touching v] to [T]\n            wait until <not <touching (player v)?>>\n            set [touching v] to [ ]\n        end\n    end\nend\n\n