Survival platformer! #games #all

Instructions: Move with WASD, or arrow keys. Use space to attack. Defeat the enderdragon to beat the game! Avoid the enderdragon's fireballs.\n\nPlay the new version: https://scratch.mit.edu/projects/942962737/\n\n❤️ + ⭐ if you enjoyed!\nGoal: 12,000 loves, 11,000 favorites\nFollow if you like Minecraft!\n\nPart 1: https://scratch.mit.edu/projects/832816324/\n\nClick the green flag twice so it won't lag!\n\nThere is a world record system. Beat the game the fastest!\n\nCredits:\nInspired by @kuri-pa-2\nSteve by @kuri-pa-2\nScrolling Engine by @Animator180\nEnderdragon by @-SuperFunnyAnimator-\n@TimMcCool for the love and favorite detector\n\nMusic by C418\n\n✨ Thanks for 4 on trending all, 3 on trending games, top loved, top remixed, 1 on popular games, and 2 on popular all! ✨\n\nThanks for playing! Don't advertise.

@Stage\n\nwhen flag clicked\n\nwhen I receive [start v]\nstart sound [Music v]\n\n@player\n\ndefine engine\nif <(x position) > [220]> then\n    change [level v] by (1)\n    broadcast (go in v)\n    go to x: (-200) y: (-139)\nend\nif <<<(y position) < [-170]> or <touching color (#ffffff)?>> or <touching (sprite2 v)?>> then\n    broadcast (2 v)\n    go to x: (-200) y: (-139)\n    set [vx v] to [0]\n    set [vy v] to [0]\nend\nif <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n    if <touching (sprite1 v)?> then\n        change [vx v] by (0.5)\n    else\n        change [vx v] by (1)\n    end\nend\nif <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n    if <touching (sprite1 v)?> then\n        change [vx v] by (-0.5)\n    else\n        change [vx v] by (-1)\n    end\nend\nset [vx v] to ((vx) * (0.84))\nchange x by (vx)\nif <touching color (#000000)?> then\n    change y by (-2)\n    if <touching color (#000000)?> then\n        change y by (1)\n        if <touching color (#000000)?> then\n            change y by (1)\n            if <touching color (#000000)?> then\n                change y by (1)\n                if <touching color (#000000)?> then\n                    change y by (1)\n                    if <touching color (#000000)?> then\n                        change y by (1)\n                        if <touching color (#000000)?> then\n                            change y by (-5)\n                            change x by ((-1) * (vx))\n                            if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> and <not <(vx) = [0]>>> then\n                                set [m v] to [walljump]\n                                set [vy v] to [8]\n                                set [vx v] to (((vx) / ([abs v] of (vx) )) * (-10))\n                            else\n                                set [m v] to [wallslide]\n                                set [vx v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change y by (2)\nend\nchange y by (-3)\nif <touching color (#000000)?> then\n    if <(vy) = [-3]> then\n        if <<<key (a v) pressed?> or <key (left arrow v) pressed?>> or <<key (d v) pressed?> or <key (right arrow v) pressed?>>> then\n            set [m v] to [run]\n        else\n            if <([abs v] of (vx) ) > [.1]> then\n                set [m v] to [slide]\n            else\n                set [m v] to [stand]\n            end\n        end\n    end\n    if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n        set [m v] to [jump]\n        set [vy v] to [9]\n    end\nend\nif <<<<(m) = [jump]> or <(m) = [walljump]>> and <(vy) < [0]>> or <<<(m) = [run]> or <(m) = [slide]>> and <(vy) < [-3]>>> then\n    set [m v] to [fall]\nend\nchange y by (3)\nif <(vy) > [-15]> then\n    change [vy v] by (-0.5)\nend\nchange y by (-2)\nif <not <touching color (#000000)?>> then\n    change y by (-1)\n    if <not <touching color (#000000)?>> then\n        change y by (-1)\n        if <not <touching color (#000000)?>> then\n            change y by (-1)\n            if <not <touching color (#000000)?>> then\n                change y by (-1)\n                if <not <touching color (#000000)?>> then\n                    change y by (-1)\n                    if <not <touching color (#000000)?>> then\n                        change y by (5)\n                    end\n                end\n            end\n        end\n    end\nend\nchange y by (2)\nchange y by (vy)\nif <touching color (#000000)?> then\n    change y by (-2)\n    if <touching color (#000000)?> then\n        change y by ((-1) * (vy))\n        set [vy v] to [-3]\n    end\n    change y by (2)\nend\nif <touching (sprite4 v)?> then\n    change [vy v] by (-0.5)\n    if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n        change [vy v] by (2)\n    end\nend\n\nwhen I receive [redinchoose v]\nset [color v] effect to (0)\n\nwhen I receive [blue v]\nset [color v] effect to (100)\n\nwhen I receive [darkblue v]\nset [color v] effect to (120)\n\nwhen I receive [darkgreen v]\nset [color v] effect to (70)\n\nwhen I receive [green v]\nset [color v] effect to (40)\n\nwhen I receive [orange v]\nset [color v] effect to (30)\n\nwhen I receive [red v]\nset [color v] effect to (0)\n\nwhen I receive [yellow v]\nset [color v] effect to (30)\n\nwhen I receive [blueinchoose v]\nset [color v] effect to (100)\n\nwhen I receive [orange v]\nset [color v] effect to (20)\n\nwhen I receive [darkblueinchoose v]\nset [color v] effect to (120)\n\nwhen I receive [darkgreeninchoose v]\nset [color v] effect to (70)\n\nwhen I receive [orangeinchoose v]\nset [color v] effect to (20)\n\nwhen I receive [yellowinchoose v]\nset [color v] effect to (30)\n\nwhen I receive [greeninchoose v]\nset [color v] effect to (40)\n\nwhen I receive [start v]\nset [done? v] to [0]\nshow\nset [vx v] to [0]\nset [vy v] to [0]\nif <not <(sellected?) = [1]>> then\n    repeat until <(done?) = [1]>\n        go to x: (0) y: (75)\n        set size to (400) %\n    end\nend\nset size to (150) %\ngo to x: (-200) y: (-139)\nshow\nforever\n    engine\n    if <(level) = [10]> then\n        hide\n    end\nend\n\nwhen I receive [start v]\nstop all sounds\n\nwhen flag clicked\nhide\n\nwhen I receive [to start v]\ngo to x: (-200) y: (-139)\n\ndefine clones\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nset size to (150) %\nset [ghost v] effect to (50)\nwait (0.1) seconds\nrepeat (10)\n    turn right (15) degrees\n    change size by (-10)\n    change [ghost v] effect by (6)\nend\ndelete this clone\n\nwhen I receive [restart v]\ngo to x: (-200) y: (-139)\n\nset [triefgh v] to [0]\n\n@color choose\n\nwhen I start as a clone\nshow\nset size to (100) %\ngo to x: (-75) y: (-200)\nif <(whichcolor?) = [1]> then\n    set [color v] effect to (0)\n    repeat (25)\n        change y by ((y position) / (-7))\n    end\n    repeat until <(done?) = [1]>\n        if <touching (mouse-pointer v)?> then\n            set size to (110) %\n            broadcast (redinchoose v)\n        end\n        if <not <touching (mouse-pointer v)?>> then\n            set size to (100) %\n        end\n        if <<touching (mouse-pointer v)?> and <mouse down?>> then\n            broadcast (red v)\n            set [done? v] to [1]\n        end\n    end\n    hide\n    go to x: (1000) y: (1000)\n    delete this clone\nend\n\nwhen I start as a clone\nshow\nset size to (100) %\nif <(whichcolor?) = [2]> then\n    set [color v] effect to (20)\n    go to x: (-50) y: (-200)\n    repeat (25)\n        change y by ((y position) / (-7))\n    end\n    repeat until <(done?) = [1]>\n        if <touching (mouse-pointer v)?> then\n            set size to (110) %\n            broadcast (orangeinchoose v)\n        end\n        if <not <touching (mouse-pointer v)?>> then\n            set size to (100) %\n        end\n        if <<touching (mouse-pointer v)?> and <mouse down?>> then\n            broadcast (orange v)\n            set [done? v] to [1]\n        end\n    end\n    hide\n    go to x: (1000) y: (1000)\n    delete this clone\nend\n\nwhen I start as a clone\nshow\nset size to (100) %\nif <(whichcolor?) = [3]> then\n    set [color v] effect to (30)\n    go to x: (-25) y: (-200)\n    repeat (25)\n        change y by ((y position) / (-7))\n    end\n    repeat until <(done?) = [1]>\n        if <touching (mouse-pointer v)?> then\n            set size to (110) %\n            broadcast (yellowinchoose v)\n        end\n        if <not <touching (mouse-pointer v)?>> then\n            set size to (100) %\n        end\n        if <<touching (mouse-pointer v)?> and <mouse down?>> then\n            broadcast (yellow v)\n            set [done? v] to [1]\n        end\n    end\n    hide\n    go to x: (1000) y: (1000)\n    delete this clone\nend\n\nwhen I start as a clone\nshow\nset size to (100) %\nif <(whichcolor?) = [4]> then\n    set [color v] effect to (40)\n    go to x: (0) y: (-200)\n    repeat (25)\n        change y by ((y position) / (-7))\n    end\n    repeat until <(done?) = [1]>\n        if <touching (mouse-pointer v)?> then\n            set size to (110) %\n            broadcast (greeninchoose v)\n        end\n        if <not <touching (mouse-pointer v)?>> then\n            set size to (100) %\n        end\n        if <<touching (mouse-pointer v)?> and <mouse down?>> then\n            broadcast (green v)\n            set [done? v] to [1]\n        end\n    end\n    hide\n    go to x: (1000) y: (1000)\n    delete this clone\nend\n\nwhen I start as a clone\nshow\nset size to (100) %\nif <(whichcolor?) = [5]> then\n    set [color v] effect to (70)\n    go to x: (25) y: (-200)\n    repeat (25)\n        change y by ((y position) / (-7))\n    end\n    repeat until <(done?) = [1]>\n        if <touching (mouse-pointer v)?> then\n            set size to (110) %\n            broadcast (darkgreeninchoose v)\n        end\n        if <not <touching (mouse-pointer v)?>> then\n            set size to (100) %\n        end\n        if <<touching (mouse-pointer v)?> and <mouse down?>> then\n            broadcast (darkgreen v)\n            set [done? v] to [1]\n        end\n    end\n    hide\n    go to x: (1000) y: (1000)\n    delete this clone\nend\n\nwhen I start as a clone\nshow\nset size to (100) %\nif <(whichcolor?) = [6]> then\n    set [color v] effect to (100)\n    go to x: (50) y: (-200)\n    repeat (25)\n        change y by ((y position) / (-7))\n    end\n    repeat until <(done?) = [1]>\n        if <touching (mouse-pointer v)?> then\n            set size to (110) %\n            broadcast (blueinchoose v)\n        end\n        if <not <touching (mouse-pointer v)?>> then\n            set size to (100) %\n        end\n        if <<touching (mouse-pointer v)?> and <mouse down?>> then\n            broadcast (blue v)\n            set [done? v] to [1]\n        end\n    end\n    hide\n    go to x: (1000) y: (1000)\n    delete this clone\nend\n\nwhen I start as a clone\nshow\nset size to (100) %\nif <(whichcolor?) = [7]> then\n    set [color v] effect to (120)\n    go to x: (75) y: (-200)\n    repeat (25)\n        change y by ((y position) / (-7))\n    end\n    repeat until <(done?) = [1]>\n        if <touching (mouse-pointer v)?> then\n            set size to (110) %\n            broadcast (darkblueinchoose v)\n        end\n        if <not <touching (mouse-pointer v)?>> then\n            set size to (100) %\n        end\n        if <<touching (mouse-pointer v)?> and <mouse down?>> then\n            broadcast (darkblue v)\n            set [done? v] to [1]\n        end\n    end\n    hide\n    go to x: (1000) y: (1000)\n    delete this clone\nend\n\nwhen I receive [start v]\nset [whichcolor? v] to [0]\nhide\ngo to x: (1000) y: (1000)\nif <not <(sellected?) = [1]>> then\n    repeat (7)\n        create clone of (_myself_ v)\n        change [whichcolor? v] by (1)\n        wait (0.1) seconds\n    end\n    change [sellected? v] by (1)\nend\n\nwhen I receive [start v]\nforever\n    if <(done?) = [1]> then\n        hide\n    end\nend\n\nwhen flag clicked\nset [sellected? v] to [0]\n\n@level\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset [done? v] to [0]\nset [level v] to [1]\nset size to (100) %\nrepeat until <(done?) = [1]>\n    switch costume to (8 v)\nend\nshow\nforever\n    switch costume to ((level) + (1))\n    if <key (r v) pressed?> then\n        broadcast (restart v)\n    end\nend\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\nset [done? v] to [0]\nset [level v] to [1]\nset size to (100) %\n\nwhen I receive [menu v]\nswitch costume to (8 v)\n\n@thumbnail\n\nwhen flag clicked\nswitch costume to (kostüm2 v)\nset size to (100) %\nswitch costume to (thumbnail v)\nforever\n    show\n    go to x: (0) y: (0)\n    set [ghost v] effect to (100)\n    switch costume to (thumbnail v)\n    go to [front v] layer\n    if <<(username) = [dn_scrtch]> and <<key (x v) pressed?> and <not <(level) > [12]>>>> then\n        set [level v] to ((level) + (1))\n        wait until <not <key (x v) pressed?>>\n        set [vx v] to [0]\n        set [vy v] to [0]\n        broadcast (restart v)\n        broadcast (go in v)\n    end\nend\n\n@outro\n\nwhen flag clicked\nset [level v] to [1]\nhide\nwait until <(level) = [10]>\nstop all sounds\nshow\nstart sound [Zaza - Be Together v]\nset volume to (50) %\nset size to (100) %\npoint in direction (90)\nswitch costume to (n v)\ncreate clone of (_myself_ v)\nswitch costume to (d v)\nshow\nset [ghost v] effect to (100)\ngo to x: (-180) y: (0)\nrepeat (9)\n    change x by ((5) - ((x position) * (0.2)))\n    change [ghost v] effect by (-10)\n    wait (0.03) seconds\nend\ngo to x: (0) y: (0)\nswitch costume to (logo v)\nwait (2) seconds\nrepeat (10)\n    change y by ((5) - ((y position) * (0.2)))\n    change [ghost v] effect by (-10)\n    wait (0.03) seconds\nend\nwait (1) seconds\nswitch costume to (luv fav fuloe v)\ncreate clone of (_myself_ v)\nswitch costume to (logo v)\nwait (1) seconds\nforever\n    set size to ((100) + ((10) * ([cos v] of (((timer) - (1)) * (200)) ))) %\n    point in direction ((90) + ((15) * ([cos v] of (((timer) - (2)) * (275)) )))\nend\n\nwhen I start as a clone\nif <(costume [name v]) = [n]> then\n    switch costume to (n v)\n    show\n    set [ghost v] effect to (100)\n    go to x: (180) y: (0)\n    repeat (9)\n        change x by ((-5) - ((x position) * (0.2)))\n        change [ghost v] effect by (-10)\n        wait (0.03) seconds\n    end\n    go to x: (0) y: (0)\n    delete this clone\nend\nif <(costume [number v]) = [4]> then\n    go to x: (0) y: (-50)\n    repeat (10)\n        change y by ((5) - ((y position) * (0.2)))\n        change [ghost v] effect by (-10)\n        wait (0.03) seconds\n    end\n    wait (1) seconds\n    forever\n        set size to ((75) + ((10) * ([cos v] of (((timer) - (1)) * (200)) ))) %\n        point in direction ((90) + ((15) * ([cos v] of (((timer) - (2)) * (275)) )))\n    end\nend\n\n@Sprite1\n\ndefine engine\nif <<touching (player v)?> and <(x position) > ([x position v] of [player v])>> then\n    change [xv1 v] by (1)\nend\nif <<touching (player v)?> and <([x position v] of [player v]) > (x position)>> then\n    change [xv1 v] by (-1)\nend\nset [xv1 v] to ((xv1) * (0.9))\nchange x by (xv1)\nif <touching color (#000000)?> then\n    change y by (-2)\n    if <touching color (#000000)?> then\n        change y by (1)\n        if <touching color (#000000)?> then\n            change y by (1)\n            if <touching color (#000000)?> then\n                change y by (1)\n                if <touching color (#000000)?> then\n                    change y by (1)\n                    if <touching color (#000000)?> then\n                        change y by (1)\n                        if <touching color (#000000)?> then\n                            change y by (-5)\n                            change x by ((-1) * (xv1))\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change y by (2)\nend\nchange y by (-3)\nchange y by (3)\nif <(yv1) > [-15]> then\n    change [yv1 v] by (-0.5)\nend\nchange y by (-2)\nif <not <touching color (#000000)?>> then\n    change y by (-1)\n    if <not <touching color (#000000)?>> then\n        change y by (-1)\n        if <not <touching color (#000000)?>> then\n            change y by (-1)\n            if <not <touching color (#000000)?>> then\n                change y by (-1)\n                if <not <touching color (#000000)?>> then\n                    change y by (-1)\n                    if <not <touching color (#000000)?>> then\n                        change y by (5)\n                    end\n                end\n            end\n        end\n    end\nend\nchange y by (2)\nchange y by (yv1)\nif <touching color (#000000)?> then\n    change y by (-2)\n    if <touching color (#000000)?> then\n        change y by ((-1) * (yv1))\n        set [yv1 v] to [-3]\n    end\n    change y by (2)\nend\nif <touching color (#ffb236)?> then\n    set [yv1 v] to [15]\n    start sound [Jump v]\nend\nif <touching color (#36b3ff)?> then\n    set [xv1 v] to [35]\nend\nif <touching color (#e236ff)?> then\n    set [xv1 v] to [-35]\nend\nif <touching color (#c3ff36)?> then\n    set [yv1 v] to [-15]\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nset [done? v] to [0]\nset [xv1 v] to [0]\nset [yv1 v] to [0]\nif <not <(sellected?) = [1]>> then\n    repeat until <(done?) = [1]>\n        go to x: (0) y: (75)\n        set size to (400) %\n    end\nend\nbroadcast (go in v)\nset size to (150) %\nshow\nforever\n    engine\n    if <(level) = [12]> then\n        hide\n    end\nend\n\nwhen I receive [go in v]\nshow\nif <(level) = [1]> then\n    switch costume to (costume1 v)\n    go to x: (100) y: (-140)\nend\nif <(level) = [2]> then\n    go to x: (-100) y: (100)\nend\nif <(level) = [3]> then\n    switch costume to (costume2 v)\n    go to x: (-100) y: (-140)\nend\nif <(level) = [4]> then\n    go to x: (-100) y: (-140)\nend\nif <(level) = [5]> then\n    go to x: (0) y: (-100)\nend\nif <(level) = [6]> then\n    switch costume to (costume1 v)\n    go to x: (0) y: (100)\nend\nif <(level) = [7]> then\n    hide\nend\nif <(level) = [8]> then\n    set size to (200) %\n    show\n    go to x: (-175) y: (150)\n    point in direction (90)\n    repeat until <(level) = [9]>\n        move (2) steps\n        if on edge, bounce\n    end\nend\nif <(level) = [9]> then\n    set size to (150) %\n    go to x: (20) y: (0)\nend\nif <(level) = [10]> then\n    hide\n    stop [other scripts in sprite v]\n    stop [this script v]\nend\nif <(level) = [11]> then\n    hide\n    stop [other scripts in sprite v]\n    stop [this script v]\nend\nif <(level) = [12]> then\n    hide\n    stop [other scripts in sprite v]\n    stop [this script v]\nend\n\nwhen I receive [restart v]\nset size to (150) %\nshow\nif <(level) = [1]> then\n    switch costume to (costume1 v)\n    go to x: (100) y: (-140)\nend\nif <(level) = [2]> then\n    go to x: (-100) y: (100)\nend\nif <(level) = [3]> then\n    switch costume to (costume2 v)\n    go to x: (-100) y: (-140)\nend\nif <(level) = [4]> then\n    go to x: (-100) y: (-140)\nend\nif <(level) = [5]> then\n    go to x: (0) y: (-100)\nend\nif <(level) = [6]> then\n    switch costume to (costume1 v)\n    go to x: (0) y: (100)\nend\nif <(level) = [7]> then\n    hide\nend\nif <(level) = [8]> then\n    set size to (200) %\n    show\n    go to x: (-175) y: (150)\n    point in direction (90)\n    repeat until <(level) = [9]>\n        move (2) steps\n        if on edge, bounce\n    end\nend\nif <(level) = [9]> then\n    set size to (150) %\n    go to x: (20) y: (0)\nend\nif <(level) = [10]> then\n    hide\n    stop [other scripts in sprite v]\n    stop [this script v]\nend\nif <(level) = [11]> then\n    hide\n    stop [other scripts in sprite v]\n    stop [this script v]\nend\nif <(level) = [12]> then\n    hide\n    stop [other scripts in sprite v]\n    stop [this script v]\nend\n\nswitch costume to (costume1 v)\n\n@Sprite2\n\ndefine laser (x) (y) (dir)\nset pen size to (20)\npen up\nset pen color to (#ff0000)\ngo to x: (x) y: (y)\npoint in direction (dir)\nset pen (transparency v) to (80)\nrepeat (5)\n    make Laser (x) (y) (dir)\nend\nset pen size to (5)\nset pen color to (#ffffff)\npen down\nrepeat until <<touching (_edge_ v)?> or <<touching (sprite1 v)?> and <not <([costume # v] of [sprite1 v]) = [2]>>>>\n    if <<touching (sprite1 v)?> and <([costume # v] of [sprite1 v]) = [2]>> then\n        set pen color to (#f1f1f1)\n        point in direction (0)\n    end\n    move (7) steps\nend\n\nwhen I receive [start v]\nif <not <(sellected?) = [1]>> then\n    repeat until <(done?) = [1]>\nend\nforever\n    if <(level) = [1]> then\n        erase all\n        go to x: (10000) y: (1000)\n    else\n        if <(level) = [2]> then\n            erase all\n            laser [13] [-160] [0]\n        else\n            if <(level) = [3]> then\n                erase all\n                laser [175] [-140] [-90]\n            else\n                if <(level) = [4]> then\n                    erase all\n                    laser [230] [-141] [-90]\n                else\n                    if <(level) = [5]> then\n                        erase all\n                        set [do v] to ((-75) + ((15) * ([cos v] of (((timer) - (2)) * (25)) )))\n                        laser [230] [-141] (do)\n                    else\n                        if <(level) = [6]> then\n                            erase all\n                            laser [200] [-160] [0]\n                        else\n                            if <(level) = [7]> then\n                                erase all\n                                set [do v] to ((85) + ((5) * ([cos v] of (((timer) - (2)) * (50)) )))\n                                laser [195] ((do) + (50)) ((do) + (90))\n                            else\n                                if <(level) = [8]> then\n                                    erase all\n                                    laser [175] [175] [-180]\n                                    laser [50] [175] [-180]\n                                    laser [-75] [175] [-180]\n                                else\n                                    if <(level) = [9]> then\n                                        erase all\n                                        set [do v] to ((180) + ((15) * ([cos v] of (((timer) - (2)) * (25)) )))\n                                        laser [0] [175] (do)\n                                        laser [175] [-160] [0]\n                                    else\n                                        erase all\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nerase all\ngo to x: (10000) y: (1000)\n\nwhen flag clicked\nset [ghost v] effect to (99)\nerase all\n\nerase all\n\ndefine make Laser (x) (y) (dir)\nset pen color to (#ff0000)\nset pen (transparency v) to (80)\npen down\nrepeat until <<touching (_edge_ v)?> or <<touching (sprite1 v)?> and <not <([costume # v] of [sprite1 v]) = [2]>>>>\n    move (7) steps\n    if <<touching (sprite1 v)?> and <([costume # v] of [sprite1 v]) = [2]>> then\n        set pen color to (#002eff)\n        set pen (transparency v) to (90)\n        point in direction (0)\n    end\nend\npen up\ngo to x: (x) y: (y)\npoint in direction (dir)\nchange pen size by (([abs v] of ([sin v] of ((timer) * (50)) ) ) * (-5))\n\n@Intro2\n\nwhen flag clicked\nset [mouse v] to [0]\nset volume to (50) %\nshow\nset [brightness v] to [0]\nswitch costume to (logo v)\npoint in direction (90)\nset size to (100) %\nstart sound [Don'tLetMeDown v]\ngo to x: (0) y: (180)\nset [y v] to [0.1]\nrepeat (16)\n    set [y v] to ((Y) * (1.5))\n    change y by (join [-] (Y))\nend\nrepeat (10)\n    change x by (((-25) - (x position)) / (3))\nend\nrepeat (10)\n    change x by (((25) - (x position)) / (3))\nend\nrepeat (10)\n    change x by (((0) - (x position)) / (3))\nend\nwait (0.7) seconds\nset size to (100000) %\nrepeat (20)\n    set [bounce v] to (((Bounce) * (0.7)) + (((100) - (size)) / (1.5)))\n    change size by (Bounce)\nend\nwait (.5) seconds\npoint in direction (90)\nrepeat (10)\n    turn right (((-90) - (direction)) / (3)) degrees\nend\nrepeat (15)\n    turn right (((90) - (direction)) / (3)) degrees\nend\nwait (.9) seconds\nrepeat (10)\n    change x by (((-100) - (x position)) / (4))\nend\nrepeat (10)\n    change x by (((100) - (x position)) / (4))\nend\nrepeat (10)\n    change x by (((0) - (x position)) / (4))\nend\nwait (.2) seconds\nrepeat (10)\n    change y by (((65) - (y position)) / (4))\nend\nrepeat (10)\n    change y by (((0) - (y position)) / (4))\nend\nwait (1.2) seconds\nset size to (100000) %\nrepeat (20)\n    set [bounce v] to (((Bounce) * (0.7)) + (((100) - (size)) / (1.5)))\n    change size by (Bounce)\nend\nrepeat (15)\n    hide\n    switch costume to (trans. v)\n    go to x: (450) y: (0)\n    create clone of (_myself_ v)\n    wait (0.0001) seconds\nend\nbroadcast (start v)\n\nwhen I start as a clone\nif <(costume [number v]) = [2]> then\n    show\n    change [brightness v] by (6.66666667)\n    change [brightness v] effect by (Brightness)\n    repeat (50)\n        change x by (((0) - (x position)) / (8))\n    end\n    delete this clone\nend\n\nwhen flag clicked\nrepeat until <(Mouse) = [1]>\n    if <mouse down?> then\n        stop [other scripts in sprite v]\n        repeat (15)\n            hide\n            switch costume to (trans. v)\n            go to x: (450) y: (0)\n            create clone of (_myself_ v)\n            change volume by (-10)\n            wait (0.0001) seconds\n        end\n        stop all sounds\n        set volume to (50) %\n        broadcast (start v)\n        set [mouse v] to [1]\n    end\nend\n\nwhen I receive [start v]\nswitch costume to (small v)\ngo to x: (450) y: (100000)\nset [mouse v] to [1]\n\n@Sprite3\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset [done? v] to [0]\nset [level v] to [1]\nset size to (100) %\nswitch costume to (costume1 v)\nshow\nforever\n    switch costume to ((level) + (1))\n    if <touching color (#f0f0f0)?> then\n        set [1221212 v] to [0]\n    else\n        set [1221212 v] to [1]\n    end\nend\n\n@Sprite5\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset [done? v] to [0]\nset [level v] to [1]\nset size to (100) %\nswitch costume to (costume1 v)\nshow\nset [1221212 v] to [1]\nforever\n    switch costume to ((level) + (1))\n    if <(1221212) = [0]> then\n        go to x: (0) y: (-270)\n    else\n        go to x: (0) y: (0)\n    end\nend\n\n