Snow Day - A Scrolling Platformer

Instructions: Uh-oh!  Flippers the penguin was playing in the snow when he got lost in an unexpected blizzard!  Get Flippers safely back to his igloo.\n\nInstructions:\n-Get to the igloo\n-Hold V to right yourself after you've been hit by a \n snowball\n-Space to toggle sliding \n-N to toggle day or night (Don't forget this tip)\n-Collect the presents - they are checkpoints\n-R to reset to last checkpoint\n\n

@Stage\n\nwhen flag clicked\nforever\n    switch backdrop to (day v)\n    set [ghost v] effect to (0)\n    wait (60) seconds\n    if <(backdrop [name v]) = [Day]> then\n        repeat (20)\n            change [brightness v] effect by (-2.5)\n        end\n    end\n    switch backdrop to (night v)\n    set [brightness v] effect to (0)\n    wait (60) seconds\n    if <(backdrop [name v]) = [Night]> then\n        repeat (35)\n            change [ghost v] effect by (2.5)\n        end\n    end\nend\n\nwhen [n v] key pressed\nif <(backdrop [name v]) = [Day]> then\n    switch backdrop to (night v)\nelse\n    switch backdrop to (day v)\nend\nwait (1) seconds\n\n@Intro\n\nwhen I receive [you win! v]\nstop [other scripts in sprite v]\ngo [backward v] (5) layers\nswitch costume to (you win! v)\nset [ghost v] effect to (0)\n\nwhen flag clicked\nset volume to (50) %\nforever\n    play sound [candyland ncs.mp3 v] until done\nend\n\nwhen flag clicked\npoint in direction (90)\nset size to (10) %\nswitch costume to (logo v)\nrepeat (10)\n    go to [front v] layer\n    change size by (10)\n    turn right (36) degrees\nend\nwait (2) seconds\nrepeat (10)\n    change [ghost v] effect by (5)\n    change size by (-10)\n    turn left (36) degrees\nend\nrepeat (10)\n    change [ghost v] effect by (5)\nend\nswitch costume to (thumbnail v)\nset size to (100) %\nforever\n    switch costume to (thumbnail v)\n    set [ghost v] effect to (100)\n    go to [front v] layer\nend\n\nwhen flag clicked\nset [computer speed v] to [0]\nforever\n    if <not <(Hit by Snowball!) = [1]>> then\n        if <<key (right arrow v) pressed?> or <key (left arrow v) pressed?>> then\n            wait (0.25) seconds\n            if <<key (right arrow v) pressed?> or <key (left arrow v) pressed?>> then\n                if <<(X Speed) = [0]> and <(Wall) = [0]>> then\n                    change [computer speed v] by (-1)\n                    repeat (20)\n                        switch costume to (working... v)\n                        set [ghost v] effect to (0)\n                        if <(Computer Speed) = [-20]> then\n                            go to [front v] layer\n                            switch costume to (too slow :-\( v)\n                            set [ghost v] effect to (0)\n                            stop [all v]\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    wait (20) seconds\n    if <(Computer Speed) < [0]> then\n        change [computer speed v] by (1)\n    end\nend\n\n@Player\n\nwhen flag clicked\nset [hit by snowball! v] to [0]\nset [you win! v] to [0]\nshow\ngo to [front v] layer\ngo [backward v] (2) layers\nset size to (100) %\nswitch costume to (penguin1 v)\ngo to x: (0) y: (0)\nstop [this script v]\n\nwhen I receive [portal v]\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nwait (1) seconds\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nstop [this script v]\n\nwhen flag clicked\nforever\n    wait until <(Hit by Snowball!) = [1]>\n    start sound [Whack v]\n    if <<(Ground) = [1]> and <(Y Speed) < [2]>> then\n        set [ground v] to [0]\n        set [y speed v] to [-15]\n    end\n    if <(costume [number v]) = [1]> then\n        switch costume to (penguin3 v)\n    else\n        switch costume to (penguin4 v)\n    end\n    repeat until <(Hit by Snowball!) = [0]>\n        if <key (v v) pressed?> then\n            wait (0.5) seconds\n            if <key (v v) pressed?> then\n                set [hit by snowball! v] to [0]\n                set [slide! v] to [0]\n                switch costume to (penguin1 v)\n            end\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <not <(Hit by Snowball!) = [1]>> then\n        if <(X Speed) > [0]> then\n            if <(Slide!) = [1]> then\n                switch costume to (penguin6 v)\n            else\n                switch costume to (penguin1 v)\n            end\n        end\n        if <(X Speed) < [0]> then\n            if <(Slide!) = [1]> then\n                switch costume to (penguin5 v)\n            else\n                switch costume to (penguin2 v)\n            end\n        end\n    end\nend\n\nwhen flag clicked\nset rotation style [left-right v]\npoint in direction (90)\nset [slide! v] to [0]\nforever\n    if <not <(Hit by Snowball!) = [1]>> then\n        wait until <(Slide!) = [1]>\n        if <(costume [number v]) = [1]> then\n            switch costume to (penguin6 v)\n        else\n            switch costume to (penguin5 v)\n        end\n        wait until <(Slide!) = [0]>\n        if <(costume [number v]) = [6]> then\n            switch costume to (penguin1 v)\n        else\n            switch costume to (penguin2 v)\n        end\n        wait until <(Slide!) = [0]>\n    end\nend\n\nwhen I start as a clone\nclear graphic effects\nshow\ngo to [front v] layer\nhide\nwait until <(You Win!) = [1]>\nwait (pick random (0) to (1)) seconds\nif <(pick random (1) to (2)) = [1]> then\n    switch costume to (penguin2 v)\nelse\n    switch costume to (penguin1 v)\nend\ngo to x: (pick random (-280) to (280)) y: (pick random (-280) to (280))\nforever\n    show\n    go to [front v] layer\n    repeat (10)\n        change y by (10)\n        clear graphic effects\n    end\n    create clone of (_myself_ v)\n    repeat (10)\n        change y by (-10)\n        clear graphic effects\n    end\nend\n\nwhen flag clicked\nrepeat (75)\n    create clone of (_myself_ v)\nend\nstop [this script v]\n\nwhen I receive [reset v]\nset [ghost v] effect to (100)\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nstop [this script v]\n\nwhen I receive [you win! v]\nset [you win! v] to [1]\nclear graphic effects\nstop [other scripts in sprite v]\n\n@Hitbox\n\nwhen flag clicked\nset rotation style [left-right v]\ngo to x: (0) y: (0)\nset [ghost v] effect to (100)\nforever\n    if <<(Hit by Snowball!) = [1]> or <(Slide!) = [1]>> then\n        switch costume to (hitbox2 v)\n    else\n        switch costume to (hitbox1 v)\n    end\nend\n\nwhen I receive [you win! v]\nstop [other scripts in sprite v]\n\n@Slide?\n\nwhen flag clicked\nset rotation style [left-right v]\ngo to x: (0) y: (0)\nset [ghost v] effect to (100)\ngo to [front v] layer\nforever\n    if <not <(Hit by Snowball!) = [1]>> then\n        if <key (space v) pressed?> then\n            if <(Slide!) = [1]> then\n                switch costume to (low roof v)\n                if <not <touching (ground  v)?>> then\n                    set [slide! v] to [0]\n                    wait (1) seconds\n                end\n            else\n                switch costume to (slide? v)\n                if <not <touching (ground  v)?>> then\n                    set [slide! v] to [1]\n                    wait (1) seconds\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [you win! v]\nstop [other scripts in sprite v]\n\n@Ground \n\ndefine hit the wall\nset [wall v] to ((X Speed) * (-0.2))\nif <touching (hitbox v)?> then\n    change x by (Wall)\n    if <touching (hitbox v)?> then\n        change x by (Wall)\n        if <touching (hitbox v)?> then\n            change x by (Wall)\n            if <touching (hitbox v)?> then\n                change x by (Wall)\n                if <touching (hitbox v)?> then\n                    change x by (Wall)\n                end\n            end\n        end\n    end\nend\n\ndefine wall it...wall it real good\nchange x by (X Speed)\nrepeat until <<not <touching (hitbox v)?>> or <(Slope) = [14]>>\n    change y by (-1)\n    change [slope v] by (1)\nend\nif <(Slope) = [14]> then\n    change y by (14)\n    hit the wall\n    set [x speed v] to [0]\nend\nset [slope v] to [0]\n\nwhen I receive [reset v]\nset [y speed v] to [0]\nset [x speed v] to [0]\nif <(Checkpoint) = [0]> then\n    go to x: (-295) y: (639.5)\nend\nif <(Checkpoint) = [1]> then\n    go to x: (548) y: (221)\nend\nif <(Checkpoint) = [2]> then\n    go to x: (588) y: (-260)\nend\nif <(Checkpoint) = [3]> then\n    go to x: (528) y: (-630)\nend\nstop [this script v]\n\nwhen I receive [portal v]\nwait (1) seconds\ngo to x: (-600) y: (-65)\nstop [this script v]\n\nwhen flag clicked\nforever\n    if <not <(Hit by Snowball!) = [1]>> then\n        if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > [0]>>> then\n            repeat until <<(X Speed) = [-10]> or <not <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > [0]>>>>>\n                change [x speed v] by (-1)\n            end\n            if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > [0]>>> then\n                repeat until <not <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > [0]>>>>\n                    set [x speed v] to [-10]\n                end\n            end\n            repeat until <<(X Speed) = [0]> or <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > [0]>>>>\n                change [x speed v] by (1)\n            end\n        end\n        if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < [0]>>> then\n            repeat until <<(X Speed) = [10]> or <not <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < [0]>>>>>\n                change [x speed v] by (1)\n            end\n            if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < [0]>>> then\n                repeat until <not <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < [0]>>>>\n                    set [x speed v] to [10]\n                end\n            end\n            repeat until <<(X Speed) = [0]> or <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < [0]>>>>\n                change [x speed v] by (-1)\n            end\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <not <(Hit by Snowball!) = [1]>> then\n        if <not <(Slide!) = [1]>> then\n            if <key (up arrow v) pressed?> then\n                if <<(Ground) = [1]> and <(Y Speed) < [2]>> then\n                    set [ground v] to [0]\n                    set [y speed v] to [-15]\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [you win! v]\nstop [other scripts in sprite v]\nhide\n\nwhen flag clicked\nset [throw? v] to [0]\nset [slope v] to [0]\nforever\n    if <not <(Hit by Snowball!) = [1]>> then\n        wall it...wall it real good\n    end\nend\n\nwhen flag clicked\nshow\ngo to [front v] layer\nset [ghost v] effect to (0)\ngo to x: (-295) y: (639.5)\nset [throw? v] to [0]\nset [ground v] to [0]\nset [y speed v] to [0]\nset [floor v] to [0]\nset [x speed v] to [0]\nset [checkpoint v] to [0]\nwait (2.5) seconds\nforever\n    set [floor v] to [0]\n    set [ground v] to [0]\n    change [y speed v] by (1)\n    change y by (Y Speed)\n    if <<(y position) > [1010]> or <key (r v) pressed?>> then\n        broadcast (reset v)\n    end\n    if <touching (hitbox v)?> then\n        if <(Y Speed) > [0]> then\n            set [ground v] to [1]\n        end\n        set [floor v] to ((Y Speed) * (-0.1))\n        set [y speed v] to [0]\n        repeat until <not <touching (hitbox v)?>>\n            change y by (Floor)\n            if <touching (hitbox v)?> then\n                change y by (Floor)\n                if <touching (hitbox v)?> then\n                    change y by (Floor)\n                    if <touching (hitbox v)?> then\n                        change y by (Floor)\n                        if <touching (hitbox v)?> then\n                            change y by (Floor)\n                            if <touching (hitbox v)?> then\n                                change y by (Floor)\n                                if <touching (hitbox v)?> then\n                                    change y by (Floor)\n                                    if <touching (hitbox v)?> then\n                                        change y by (Floor)\n                                        if <touching (hitbox v)?> then\n                                            change y by (Floor)\n                                            if <touching (hitbox v)?> then\n                                                change y by (Floor)\n                                                if <touching (hitbox v)?> then\n                                                    change y by (-1)\n                                                    if <touching (hitbox v)?> then\n                                                        change y by (-1)\n                                                        if <touching (hitbox v)?> then\n                                                            change y by (-1)\n                                                            if <touching (hitbox v)?> then\n                                                                change y by (-1)\n                                                            end\n                                                        end\n                                                    end\n                                                end\n                                            end\n                                        end\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    set [world x v] to (x position)\n    set [world y v] to (y position)\nend\n\n@Other Items\n\nwhen flag clicked\nset [move y v] to [0]\nset [move x v] to [0]\nset [clone v] to [0]\nrepeat (34)\n    change [clone v] by (1)\n    create clone of (_myself_ v)\n    wait (0.1) seconds\nend\nstop [this script v]\n\nwhen I start as a clone\nif <(Clone) = [1]> then\n    switch costume to (tip v)\n    set size to (100) %\n    forever\n        Tile ((World X) + (340)) ((World Y) + (-700))\n    end\nend\nif <(Clone) = [2]> then\n    switch costume to (tip2 v)\n    set size to (100) %\n    forever\n        Tile ((World X) + (-100)) ((World Y) + (-650))\n    end\nend\nif <(Clone) = [3]> then\n    switch costume to (tip3 v)\n    set size to (100) %\n    point in direction (90)\n    forever\n        Tile ((World X) + (-555)) ((World Y) + (-55))\n    end\nend\nif <(Clone) = [4]> then\n    switch costume to (enemy1 v)\n    set size to (32) %\n    point in direction (90)\n    forever\n        Tile ((World X) + (45)) ((World Y) + (-786))\n    end\nend\nif <(Clone) = [5]> then\n    switch costume to (enemy1 v)\n    set size to (32) %\n    point in direction (90)\n    forever\n        Tile ((World X) + (-600)) ((World Y) + (-775))\n    end\nend\nif <(Clone) = [6]> then\n    switch costume to (enemy1 v)\n    set size to (32) %\n    point in direction (90)\n    forever\n        Tile (((World X) + (-505)) + (Move X)) ((World Y) + (-323))\n    end\nend\nif <(Clone) = [7]> then\n    switch costume to (enemy1 v)\n    set size to (32) %\n    point in direction (90)\n    forever\n        Tile (((World X) + (-650)) + (Move X)) ((World Y) + (785))\n    end\nend\nif <(Clone) = [8]> then\n    switch costume to (enemy1 v)\n    set size to (32) %\n    forever\n        Tile (((World X) + (-550)) + ((Move X) * (-1))) ((World Y) + (785))\n    end\nend\nif <(Clone) = [9]> then\n    switch costume to (enemy1 v)\n    set size to (32) %\n    point in direction (90)\n    forever\n        Tile (((World X) + (25)) + (Move X)) ((World Y) + (795))\n    end\nend\nif <(Clone) = [10]> then\n    switch costume to (enemy1 v)\n    set size to (32) %\n    forever\n        Tile (((World X) + (250)) + (Move X)) ((World Y) + (605))\n    end\nend\nif <(Clone) = [11]> then\n    switch costume to (portal v)\n    set size to (500) %\n    forever\n        Tile ((World X) + (800)) ((World Y) + (-510))\n    end\nend\nif <(Clone) = [12]> then\n    switch costume to (portal v)\n    set size to (500) %\n    forever\n        Tile ((World X) + (700)) ((World Y) + (-50))\n    end\nend\nif <(Clone) = [13]> then\n    switch costume to (igloo v)\n    set size to (75) %\n    forever\n        Tile ((World X) + (-750)) ((World Y) + (787))\n    end\nend\nif <<(Clone) > [13]> and <(Clone) < [16]>> then\n    set [ghost v] effect to (100)\n    switch costume to (snowball right v)\n    set size to (50) %\n    if <(Clone) = [14]> then\n        wait (2) seconds\n    end\n    Snowball (0) <(move x) = [0]> <<touching (player v)?> or <touching (ground  v)?>> (-575) (-775) (1) (0) (1)\nend\nif <<(Clone) > [15]> and <(Clone) < [18]>> then\n    set [ghost v] effect to (100)\n    switch costume to (snowball right v)\n    set size to (50) %\n    if <(Clone) = [17]> then\n        wait (2) seconds\n    end\n    Snowball (0) <(move x) = [0]> <<touching (player v)?> or <touching (ground  v)?>> (137) (605) (2) (1) (direction)\nend\nif <<(Clone) > [17]> and <(Clone) < [20]>> then\n    set [ghost v] effect to (100)\n    switch costume to (snowball right v)\n    set size to (50) %\n    if <(Clone) = [19]> then\n        wait (2) seconds\n    end\n    Snowball (0) <(move x) = [0]> <<touching (player v)?> or <touching (ground  v)?>> (-88) (795) (3) (1) (direction)\nend\nif <<(Clone) > [19]> and <(Clone) < [27]>> then\n    switch costume to (icicle1 v)\n    set size to (50) %\n    Go to Random (pick random (-275) to (200)) (pick random (-105) to (-125))\nend\nif <<(Clone) > [26]> and <(Clone) < [31]>> then\n    switch costume to (icicle1 v)\n    set size to (50) %\n    Go to Random (pick random (-400) to (-50)) (pick random (830) to (840))\nend\nif <(Clone) = [31]> then\n    switch costume to (checkpoint v)\n    set size to (50) %\n    set rotation style [all around v]\n    point in direction (65)\n    forever\n        Tile ((World X) + (-550)) ((World Y) + (-340))\n        if <touching (player v)?> then\n            set [checkpoint v] to [1]\n            repeat (10)\n                Tile ((World X) + (-550)) ((World Y) + (-340))\n                change [ghost v] effect by (10)\n            end\n            delete this clone\n        end\n    end\nend\nif <(Clone) = [32]> then\n    switch costume to (checkpoint v)\n    set size to (50) %\n    set rotation style [all around v]\n    point in direction (60)\n    forever\n        Tile ((World X) + (-595)) ((World Y) + (135))\n        if <touching (player v)?> then\n            set [checkpoint v] to [2]\n            repeat (10)\n                Tile ((World X) + (-595)) ((World Y) + (135))\n                change [ghost v] effect by (10)\n            end\n            delete this clone\n        end\n    end\nend\nif <(Clone) = [33]> then\n    switch costume to (tip4 v)\n    set size to (100) %\n    forever\n        Tile ((World X) + (-600)) ((World Y) + (-400))\n    end\nend\nif <(Clone) = [34]> then\n    switch costume to (checkpoint v)\n    set size to (50) %\n    set rotation style [all around v]\n    point in direction (120)\n    forever\n        Tile ((World X) + (-528)) ((World Y) + (525))\n        if <touching (player v)?> then\n            set [checkpoint v] to [3]\n            repeat (10)\n                Tile ((World X) + (-528)) ((World Y) + (525))\n                change [ghost v] effect by (10)\n            end\n            delete this clone\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    repeat (200)\n        change [move y v] by (3)\n    end\n    wait (1) seconds\n    repeat (200)\n        change [move y v] by (-3)\n    end\nend\n\ndefine Tile (x) (y)\nshow\ngo to x: (x) y: (y)\nif <not <(x position) = (x)>> then\n    hide\nend\nif <not <(y position) = (y)>> then\n    hide\nend\n\nwhen flag clicked\nset [throw? v] to [0]\nset [throw?_2 v] to [0]\nset [world x v] to [0]\nset [move x v] to [0]\nset [move y v] to [0]\nset [world x v] to [0]\nset [world y v] to [0]\n\ndefine Go to Random (random x) (random y)\nforever\n    Tile ((World X) + (random x)) ((World Y) + (random y))\n    if <<<(y position) < [52]> and <(y position) > [0]>> and <<(x position) < [10]> and <(x position) > [-10]>>> then\n        start sound [Icicle Falling v]\n        repeat (10)\n            Tile ((World X) + (random x)) ((World Y) + (random y))\n        end\n        Icicle ((move y) - (15)) <touching (player v)?> <(move y) < [-2000]> (random x) (random y)\n    end\nend\n\ndefine Icicle (move y) <hit thing?> <dropped enough?> (go to random x) (go to random y)\nif <hit thing?> then\n    broadcast (reset v) and wait\n    stop [this script v]\nend\nif <dropped enough?> then\n    stop [this script v]\nend\nTile ((World X) + (go to random x)) (((World Y) + (go to random y)) + (move y))\nIcicle ((move y) - (15)) <touching (player v)?> <(move y) < [-2000]> (go to random x) (go to random y)\n\ndefine Snowball (move x) <reset?> <hit thing?> (position x) (position y) (which throw?) (moving penguin?) (direction)\nif <hit thing?> then\n    set [ghost v] effect to (100)\n    if <<touching (player v)?> and <(size) = [50]>> then\n        set [hit by snowball! v] to [1]\n    end\n    set size to (20) %\nend\nif <reset?> then\n    wait (1) seconds\n    set size to (50) %\n    set [ghost v] effect to (0)\n    if <(which throw?) = [1]> then\n        set [throw? v] to [1]\n    end\n    if <(which throw?) = [2]> then\n        set [throw?_2 v] to [1]\n    end\n    if <(which throw?) = [3]> then\n        set [throw?_3 v] to [1]\n    end\n    if <(moving penguin?) = [1]> then\n        if <(Direction) = [1]> then\n            Snowball ((Move X) + (140)) <> <<touching (player v)?> or <touching (ground  v)?>> (position x) (position y) (which throw?) (moving penguin?) (1)\n        else\n            Snowball ((Move X) + (92)) <> <<touching (player v)?> or <touching (ground  v)?>> (position x) (position y) (which throw?) (moving penguin?) (0)\n        end\n    else\n        Snowball (0) <> <<touching (player v)?> or <touching (ground  v)?>> (position x) (position y) (which throw?) (moving penguin?) (direction)\n    end\nend\nTile (((World X) + (position x)) + (move x)) ((World Y) + (position y))\nif <(direction) = [1]> then\n    Snowball ((move x) + (10)) <<(move x) > [1200]> or <(move x) < [-1200]>> <<touching (player v)?> or <touching (ground  v)?>> (position x) (position y) (which throw?) (moving penguin?) (direction)\nelse\n    Snowball ((move x) - (10)) <<(move x) > [1200]> or <(move x) < [-1200]>> <<touching (player v)?> or <touching (ground  v)?>> (position x) (position y) (which throw?) (moving penguin?) (direction)\nend\n\nwhen I start as a clone\nif <(Clone) = [5]> then\n    forever\n        if <(Throw?) = [1]> then\n            switch costume to (enemy7 v)\n            repeat (6)\n                switch costume to ((costume [number v]) - (1))\n            end\n            set [throw? v] to [0]\n        end\n    end\nend\nif <(Clone) = [6]> then\n    set rotation style [left-right v]\n    forever\n        if <(Direction) = [1]> then\n            point in direction (90)\n        else\n            point in direction (-90)\n        end\n    end\nend\nif <(Clone) = [7]> then\n    set rotation style [left-right v]\n    forever\n        if <(Direction) = [1]> then\n            point in direction (90)\n        else\n            point in direction (-90)\n        end\n    end\nend\nif <(Clone) = [8]> then\n    set rotation style [left-right v]\n    forever\n        if <(Direction) = [1]> then\n            point in direction (-90)\n        else\n            point in direction (90)\n        end\n    end\nend\nif <(Clone) = [9]> then\n    forever\n        wait until <(Throw?_3) = [1]>\n        switch costume to (enemy7 v)\n        repeat (6)\n            switch costume to ((costume [number v]) - (1))\n        end\n        set [throw?_3 v] to [0]\n    end\nend\nif <(Clone) = [10]> then\n    forever\n        wait until <(Throw?_2) = [1]>\n        switch costume to (enemy7 v)\n        repeat (6)\n            switch costume to ((costume [number v]) - (1))\n        end\n        set [throw?_2 v] to [0]\n    end\nend\nif <(Clone) = [11]> then\n    set [ghost v] effect to (100)\n    forever\n        if <(backdrop [name v]) = [Night]> then\n            set [ghost v] effect to (0)\n            if <touching (player v)?> then\n                wait (1) seconds\n                if <touching (player v)?> then\n                    broadcast (portal v) and wait\n                end\n            end\n        else\n            set [ghost v] effect to (100)\n        end\n    end\nend\nif <(Clone) = [12]> then\n    set [ghost v] effect to (100)\n    forever\n        if <(backdrop [name v]) = [Night]> then\n            set [ghost v] effect to (0)\n        else\n            set [ghost v] effect to (100)\n        end\n    end\nend\nif <(Clone) = [13]> then\n    forever\n        if <touching (player v)?> then\n            broadcast (you win! v) and wait\n        end\n    end\nend\nstop [this script v]\n\nwhen I start as a clone\nif <(Clone) = [9]> then\n    set rotation style [left-right v]\n    forever\n        if <(Direction) = [1]> then\n            point in direction (90)\n        else\n            point in direction (-90)\n        end\n    end\nend\nif <(Clone) = [10]> then\n    set rotation style [left-right v]\n    forever\n        if <(Direction) = [1]> then\n            point in direction (90)\n        else\n            point in direction (-90)\n        end\n    end\nend\nstop [this script v]\n\nwhen flag clicked\nforever\n    repeat (50)\n        change [move x v] by (3)\n        set [direction v] to [1]\n    end\n    repeat (50)\n        change [move x v] by (-3)\n        set [direction v] to [0]\n    end\nend\n\nwhen I start as a clone\nforever\n    if <(costume [number v]) < [8]> then\n        if <touching (player v)?> then\n            broadcast (reset v)\n        end\n    end\nend\n\n@Snow\n\nwhen flag clicked\nforever\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nshow\nforever\n    go to x: (pick random (-250) to (250)) y: (pick random (100) to (180))\n    repeat until <(y position) < [-178]>\n        change y by (-10)\n        change x by (pick random (1) to (2))\n    end\n    go to x: (pick random (-250) to (250)) y: (180)\nend\n\nwhen I receive [you win! v]\nstop all sounds\nplay sound [Cheering.mp3 v] until done\n\n