Platformer

Instructions:            ◆ Square ◆\n       ◆ Scrolling Platformer Creator! ◆\n\n> SHARE YOUR LEVEL CODES HERE:\nhttps://scratch.mit.edu/discuss/topic/428128/\n\n> Thank you @TimMcCool for inspiration & some help!!\n> @MJM3 and @GoldenEagleStudios and LOVED AND FAVED!!!!!\n\nThis scrolling platformer creator includes: 10 block types, 3 themes, import/export, undo/redo history, walljump, and mobile controls. \n        ✦✦✦ INSTRUCTIONS ✦✦✦\n➜ keys (0-9) to select a block\n➜ click on settings for MOBILE (top left corner)\n➜ use the export button to get a code for your level\n➜ “e” to rename a sign\n➜ to copy a code on MOBILE, hold your cursor at the 2nd line of the “export” list, and drag straight down to the 3rd line. Click copy.\n\nMy level!\nhttps://scratch.mit.edu/discuss/topic/428128/?page=7#post-4288331\n         ✦✦✦ News ✦✦✦\n(8/5/20) Top remixed!!\n(8/4/20) 1st on TRENDING!!\n(8/3/20) TOP LOVED after 12 hours!! ❤️❤️\n(8/3/20) Project shared :)\n         ✦✦✦ Credits ✦✦✦\n@TimMcCool for some top-block scripts, some collision code, and a lot of inspiration\n@QuaXX for the “follow” button\n@StratfordJames for the rest of the art and code\n\n#games #all #square #art #platformer #trending #creator #stratfordjames #stratfordjames #games #games #games\n\n\nbottom:\nhttps://scratch.mit.edu/projects/413322755/#comments-150079630

@Stage\n\nwhen flag clicked\nforever\n    if <(Biome) = [grassland]> then\n        switch backdrop to (backdrop1 v)\n    end\n    if <(Biome) = [cave]> then\n        switch backdrop to (backdrop2 v)\n    end\n    if <(Biome) = [desert]> then\n        switch backdrop to (backdrop1 v)\n    end\n    if <(Biome) = [sunset]> then\n        switch backdrop to (backdrop3 v)\n    end\n    if <(Biome) = [night]> then\n        switch backdrop to (backdrop4 v)\n    end\n    if <(Biome) = [lava]> then\n        switch backdrop to (backdrop5 v)\n    end\nend\n\nwhen flag clicked\nforever\n    play sound [TheFatRat - Time Lapse v] until done\n    play sound [vexento-masked-heroes-1-AHM56EBq6 \(1\) v] until done\n    play sound [Xaf - Nebula v] until done\nend\n\n@Sprite\n\nwhen flag clicked\nhide\n\nwhen I receive [lvl start v]\ngo to x: (-193) y: (-30)\nset [gravity v] to [0]\n\nwhen I receive [next level v]\nset [gravity v] to [0]\ngo to x: (-193) y: (-30)\nchange [level v] by (1)\n\nwhen I receive [go v]\nset [yv v] to [0]\nset [xv v] to [0]\nset [level v] to [1]\nset [next v] to [0]\nswitch costume to (costume1 v)\nset size to (100) %\nshow\ngo to [front v] layer\ngo [backward v] (1) layers\nset rotation style [left-right v]\ngo to x: (-193) y: (-30)\nset [stopppp v] to [0]\nforever\n    if <(size) = [1]> then\n        set size to (50) %\n    else\n        set size to (100) %\n    end\n    if <(skip?) = [1]> then\n        go to x: (-193) y: (-30)\n        broadcast (NEXT LEVEL v)\n        set [next v] to [1]\n        set [xv v] to [0]\n        set [yv v] to [0]\n    end\n    if <(Level) = [1]> then\n        set [biome v] to [grassland]\n    end\n    if <(Level) = [7]> then\n        set [biome v] to [cave]\n    end\n    if <(Level) = [11]> then\n        set [biome v] to [desert]\n    end\n    if <(Level) = [15]> then\n        set [biome v] to [arctic]\n    end\n    if <(Level) = [19]> then\n        set [biome v] to [sunset]\n    end\n    if <(Level) = [22]> then\n        set [biome v] to [night]\n    end\n    if <(Level) = [25]> then\n        set [biome v] to [lava]\n    end\n    if <(Level) = [28]> then\n        set [biome v] to [grassland]\n        set [stopppp v] to [1]\n    end\n    if <touching (sprite15 v)?> then\n        start sound [Connect v]\n    end\n    if <touching (sprite17 v)?> then\n        if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n            if <(stopppp) = [0]> then\n                change [xv v] by (1)\n                point in direction (90)\n            end\n        end\n        if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> then\n            if <(stopppp) = [0]> then\n                change [xv v] by (-1)\n                point in direction (-90)\n            end\n        end\n        set [xv v] to ((Xv) * (0.9))\n        change x by (Xv)\n        if <<<touching (sprite1 v)?> or <touching (sprite14 v)?>> or <touching (sprite22 v)?>> then\n            change y by (1)\n            if <<<touching (sprite1 v)?> or <touching (sprite14 v)?>> or <touching (sprite22 v)?>> then\n                change y by (1)\n                if <<<touching (sprite1 v)?> or <touching (sprite14 v)?>> or <touching (sprite22 v)?>> then\n                    change y by (1)\n                    if <<<touching (sprite1 v)?> or <touching (sprite14 v)?>> or <touching (sprite22 v)?>> then\n                        change y by (1)\n                        if <<<touching (sprite1 v)?> or <touching (sprite14 v)?>> or <touching (sprite22 v)?>> then\n                            change y by (1)\n                            if <<<touching (sprite1 v)?> or <touching (sprite14 v)?>> or <touching (sprite22 v)?>> then\n                                if <touching (sprite22 v)?> then\n                                    tick\n                                else\n                                    change x by ((Xv) * (-1))\n                                end\n                                change y by (-5)\n                                if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>> then\n                                    if <(Xv) > [0]> then\n                                        set [xv v] to [-8]\n                                    else\n                                        set [xv v] to [8]\n                                    end\n                                    set [yv v] to [13]\n                                else\n                                    set [xv v] to [0]\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n        if <<<touching (sprite1 v)?> or <touching (sprite14 v)?>> or <touching (sprite22 v)?>> then\n            change y by ((Yv) * (-1))\n            set [yv v] to [0]\n        end\n        if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>> then\n            if <touching (sprite18 v)?> then\n                set [yv v] to [15]\n                start sound [Coin v]\n            else\n                set [yv v] to [5]\n            end\n        else\n            if <(Gravity) = [0]> then\n                set [yv v] to [-1.5]\n            else\n                set [yv v] to [5]\n            end\n        end\n        change y by (Yv)\n        if <<touching (sprite23 v)?> or <<touching (sprite5 v)?> or <<touching (sprite10 v)?> or <<touching (sprite11 v)?> or <[-170] > (y position)>>>>> then\n            set [gravity v] to [0]\n            start sound [Crunch v]\n            go to x: (-193) y: (-30)\n        end\n        if <touching (sprite8 v)?> then\n            set [yv v] to [18]\n        end\n        if <touching (sprite12 v)?> then\n            set [xv v] to [20]\n        end\n        if <(x position) > [220]> then\n            go to x: (-193) y: (-30)\n            broadcast (NEXT LEVEL v)\n            set [next v] to [1]\n            set [xv v] to [0]\n            set [yv v] to [0]\n        end\n    else\n        if <(Gravity) = [0]> then\n            if <(next) = [0]> then\n                if <<(x position) > [210]> and <<touching (sprite15 v)?> and <(Level) = [9]>>> then\n                    go to x: (-211) y: (133)\n                    set [xv v] to [0]\n                    set [yv v] to [0]\n                end\n                if <<[-220] > (x position)> and <<touching (sprite15 v)?> and <(Level) = [9]>>> then\n                    go to x: (205) y: (-45)\n                    set [xv v] to [0]\n                    set [yv v] to [0]\n                end\n                if <<[-130] > (y position)> and <<touching (sprite15 v)?> and <(Level) = [13]>>> then\n                    go to x: (-202) y: (135)\n                    set [xv v] to [0]\n                    set [yv v] to [0]\n                end\n                if <<(y position) > [140]> and <<touching (sprite15 v)?> and <(Level) = [13]>>> then\n                    go to x: (50) y: (-125)\n                    set [xv v] to [0]\n                    set [yv v] to [0]\n                end\n                if <(x position) > [220]> then\n                    go to x: (-193) y: (-30)\n                    broadcast (NEXT LEVEL v)\n                    set [next v] to [1]\n                    set [xv v] to [0]\n                    set [yv v] to [0]\n                end\n                if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n                    if <(stopppp) = [0]> then\n                        if <touching (sprite20 v)?> then\n                            change [xv v] by (2)\n                        else\n                            change [xv v] by (1)\n                        end\n                        point in direction (90)\n                    end\n                end\n                if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> then\n                    if <(stopppp) = [0]> then\n                        if <touching (sprite20 v)?> then\n                            change [xv v] by (-2)\n                        else\n                            change [xv v] by (-1)\n                        end\n                        point in direction (-90)\n                    end\n                end\n                if <not <touching (sprite19 v)?>> then\n                    set [xv v] to ((Xv) * (0.9))\n                else\n                    set [xv v] to ((Xv) * (0.8))\n                end\n                change x by (Xv)\n                if <<<touching (sprite1 v)?> or <touching (sprite14 v)?>> or <touching (sprite22 v)?>> then\n                    change y by (1)\n                    if <<<touching (sprite1 v)?> or <touching (sprite14 v)?>> or <touching (sprite22 v)?>> then\n                        change y by (1)\n                        if <<<touching (sprite1 v)?> or <touching (sprite14 v)?>> or <touching (sprite22 v)?>> then\n                            change y by (1)\n                            if <<<touching (sprite1 v)?> or <touching (sprite14 v)?>> or <touching (sprite22 v)?>> then\n                                change y by (1)\n                                if <<<touching (sprite1 v)?> or <touching (sprite14 v)?>> or <touching (sprite22 v)?>> then\n                                    change y by (1)\n                                    if <<<touching (sprite1 v)?> or <touching (sprite14 v)?>> or <touching (sprite22 v)?>> then\n                                        if <touching (sprite22 v)?> then\n                                            tick\n                                        else\n                                            change x by ((Xv) * (-1))\n                                        end\n                                        change y by (-5)\n                                        if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>> then\n                                            if <(Xv) > [0]> then\n                                                set [xv v] to [-8]\n                                            else\n                                                set [xv v] to [8]\n                                            end\n                                            set [yv v] to [13]\n                                        else\n                                            set [xv v] to [0]\n                                        end\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n                if <not <touching (sprite21 v)?>> then\n                    change [yv v] by (-1)\n                end\n                change y by (Yv)\n                if <<<touching (sprite1 v)?> or <touching (sprite14 v)?>> or <touching (sprite22 v)?>> then\n                    change y by ((Yv) * (-1))\n                    set [yv v] to [0]\n                end\n                change y by (-1)\n                if <<<touching (sprite1 v)?> or <touching (sprite14 v)?>> or <touching (sprite22 v)?>> then\n                    if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>> then\n                        set [yv v] to [15]\n                    end\n                end\n                change y by (1)\n                if <touching (sprite21 v)?> then\n                    if <<<touching (sprite1 v)?> or <touching (sprite14 v)?>> or <touching (sprite22 v)?>> then\n                        change y by ((Yv) * (-1))\n                    end\n                    if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>> then\n                        set [yv v] to [5]\n                    end\n                    if <<<key (down arrow v) pressed?> or <key (s v) pressed?>> or <<mouse down?> and <((y position) + (20)) > (mouse y)>>> then\n                        set [yv v] to [-5]\n                    end\n                    change y by (Yv)\n                    set [yv v] to [0]\n                end\n                if <<<<touching (sprite5 v)?> or <<touching (sprite10 v)?> or <<touching (sprite11 v)?> or <[-170] > (y position)>>>> or <touching (sprite23 v)?>> or <touching (sprite24 v)?>> then\n                    set [gravity v] to [0]\n                    start sound [Crunch v]\n                    go to x: (-193) y: (-30)\n                end\n                if <touching (sprite8 v)?> then\n                    set [yv v] to [18]\n                end\n                if <touching (sprite12 v)?> then\n                    set [xv v] to [20]\n                    start sound [Whistle Thump v]\n                end\n                if <<touching (sprite18 v)?> and <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>>> then\n                    set [yv v] to [15]\n                    start sound [Coin v]\n                end\n            end\n        end\n        if <(Gravity) = [1]> then\n            if <(next) = [0]> then\n                if <<(x position) > [210]> and <<touching (sprite15 v)?> and <(Level) = [9]>>> then\n                    go to x: (-211) y: (133)\n                    set [xv v] to [0]\n                    set [yv v] to [0]\n                end\n                if <<[-220] > (x position)> and <<touching (sprite15 v)?> and <(Level) = [9]>>> then\n                    go to x: (205) y: (-45)\n                    set [xv v] to [0]\n                    set [yv v] to [0]\n                end\n                if <(x position) > [220]> then\n                    go to x: (-193) y: (-30)\n                    broadcast (NEXT LEVEL v)\n                    set [next v] to [1]\n                    set [xv v] to [0]\n                    set [yv v] to [0]\n                end\n                if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n                    if <touching (sprite20 v)?> then\n                        change [xv v] by (2)\n                    else\n                        change [xv v] by (1)\n                    end\n                    point in direction (90)\n                end\n                if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> then\n                    if <touching (sprite20 v)?> then\n                        change [xv v] by (-2)\n                    else\n                        change [xv v] by (-1)\n                    end\n                    point in direction (-90)\n                end\n                if <not <touching (sprite19 v)?>> then\n                    set [xv v] to ((Xv) * (0.9))\n                else\n                    set [xv v] to ((Xv) * (0.8))\n                end\n                change x by (Xv)\n                if <<touching (sprite1 v)?> or <touching (sprite14 v)?>> then\n                    change y by (-1)\n                    if <<touching (sprite1 v)?> or <touching (sprite14 v)?>> then\n                        change y by (-1)\n                        if <<touching (sprite1 v)?> or <touching (sprite14 v)?>> then\n                            change y by (-1)\n                            if <<touching (sprite1 v)?> or <touching (sprite14 v)?>> then\n                                change y by (-1)\n                                if <<touching (sprite1 v)?> or <touching (sprite14 v)?>> then\n                                    change y by (-1)\n                                    if <<touching (sprite1 v)?> or <touching (sprite14 v)?>> then\n                                        change x by ((Xv) * (-1))\n                                        change y by (5)\n                                        if <<<key (down arrow v) pressed?> or <key (s v) pressed?>> or <<mouse down?> and <((y position) + (20)) > (mouse y)>>> then\n                                            if <(Xv) > [0]> then\n                                                set [xv v] to [-8]\n                                            else\n                                                set [xv v] to [8]\n                                            end\n                                            set [yv v] to [-13]\n                                        else\n                                            set [xv v] to [0]\n                                        end\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n                if <not <touching (sprite21 v)?>> then\n                    change [yv v] by (1)\n                end\n                change y by (Yv)\n                if <<touching (sprite1 v)?> or <touching (sprite14 v)?>> then\n                    change y by ((Yv) * (-1))\n                    set [yv v] to [0]\n                end\n                change y by (1)\n                if <touching (sprite1 v)?> then\n                    if <<<key (down arrow v) pressed?> or <key (s v) pressed?>> or <<mouse down?> and <((y position) + (20)) > (mouse y)>>> then\n                        set [yv v] to [-15]\n                    end\n                end\n                change y by (-1)\n                if <touching (sprite21 v)?> then\n                    if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>> then\n                        set [yv v] to [5]\n                    end\n                    if <<<key (down arrow v) pressed?> or <key (s v) pressed?>> or <<mouse down?> and <((y position) + (20)) > (mouse y)>>> then\n                        set [yv v] to [-5]\n                    end\n                    change y by (Yv)\n                    set [yv v] to [0]\n                end\n                if <<<touching (sprite5 v)?> or <<touching (sprite10 v)?> or <<touching (sprite11 v)?> or <(y position) > [170]>>>> or <touching (sprite23 v)?>> then\n                    set [gravity v] to [0]\n                    start sound [Crunch v]\n                    go to x: (-193) y: (-30)\n                end\n                if <touching (sprite8 v)?> then\n                    set [yv v] to [-18]\n                end\n                if <touching (sprite12 v)?> then\n                    set [xv v] to [20]\n                end\n                if <<touching (sprite18 v)?> and <<<key (down arrow v) pressed?> or <key (s v) pressed?>> or <<mouse down?> and <((y position) + (20)) > (mouse y)>>>> then\n                    set [yv v] to [-15]\n                    start sound [Coin v]\n                end\n            end\n        end\n    end\nend\n\ndefine tick\nchange x by ((Xv) * (-1))\nset [xv v] to [0]\nif <(x position) > ([x position v] of [sprite22 v])> then\n    change x by (2)\n    if <touching (sprite22 v)?> then\n        repeat until <not <touching (sprite22 v)?>>\n            change x by (-2)\n        end\n    end\n    change x by (-2)\nend\nif <([x position v] of [sprite22 v]) > (x position)> then\n    change x by (-2)\n    if <touching (sprite22 v)?> then\n        repeat until <not <touching (sprite22 v)?>>\n            change x by (-2)\n        end\n    end\n    change x by (2)\nend\n\n@Sprite1\n\nwhen flag clicked\nhide\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [go v]\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\nshow\n\n@Clouds\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nswitch costume to (pick random (1) to (5))\ngo to [back v] layer\nset x to (-200)\nset size to (pick random (50) to (100)) %\nshow\nset [ghost v] effect to (pick random (10) to (70))\nset y to (pick random (60) to (120))\nforever\n    if <(Biome) = [grassland]> then\n        if <not <(x position) > [220]>> then\n            change x by (1.5)\n        end\n        if <(x position) > [220]> then\n            delete this clone\n        end\n    else\n        delete this clone\n    end\nend\n\nwhen I receive [go v]\nforever\n    if <(Biome) = [grassland]> then\n        wait (pick random (1.5) to (5)) seconds\n        create clone of (_myself_ v)\n    else\n        delete this clone\n    end\nend\n\n@Sprite2\n\nwhen flag clicked\ngo to x: (-219) y: (166)\nswitch costume to (costume1 v)\nset size to (100) %\ngo to [back v] layer\ngo [forward v] (2) layers\nforever\n    set size to ((([sin v] of ((timer) * (100)) ) * (10)) + (90)) %\n    if <<(Biome) = [grassland]> or <(Biome) = [desert]>> then\n        show\n    else\n        hide\n    end\nend\n\n@Sprite3\n\nwhen flag clicked\ngo to x: (-219) y: (166)\nswitch costume to (costume2 v)\nset size to (100) %\ngo to [back v] layer\ngo [forward v] (1) layers\nforever\n    set size to ((([sin v] of ((timer) * (100)) ) * (10)) + (80)) %\n    if <<(Biome) = [grassland]> or <(Biome) = [desert]>> then\n        show\n    else\n        hide\n    end\nend\n\n@Sprite4\n\nwhen flag clicked\ngo to x: (-219) y: (166)\nswitch costume to (costume3 v)\nset size to (100) %\ngo to [back v] layer\nforever\n    set size to ((([sin v] of ((timer) * (100)) ) * (10)) + (70)) %\n    if <<(Biome) = [grassland]> or <(Biome) = [desert]>> then\n        show\n    else\n        hide\n    end\nend\n\n@Sprite5\n\nwhen flag clicked\nhide\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [go v]\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\nshow\n\n@Sprite6\n\nwhen flag clicked\ngo to x: (0) y: (250)\nset [ghost v] effect to (100)\nshow\n\nwhen I receive [next level v]\ngo to [front v] layer\nset [ghost v] effect to (0)\nglide (.5) secs to x: (0) y: (0)\nwait (.5) seconds\nglide (.5) secs to x: (0) y: (250)\nset [ghost v] effect to (100)\nshow\nset [next v] to [0]\n\n@Sprite7\n\nwhen flag clicked\nhide\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [go v]\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\nshow\ngo to [front v] layer\ngo [backward v] (5) layers\n\n@Sprite8\n\nwhen flag clicked\nhide\ndelete this clone\n\ndefine Insert clone at x: (x) y: (y)\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nshow\nswitch costume to (bouncy v)\nforever\n    show\n    set [ghost v] effect to (0)\n    if <touching (sprite v)?> then\n        start sound [Big Boing v]\n        repeat (3)\n            next costume\n        end\n        wait (0) seconds\n        repeat (3)\n            switch costume to ((costume [number v]) - (1))\n        end\n        wait (0) seconds\n    end\nend\n\nwhen I receive [next level v]\ndelete this clone\n\nwhen I receive [go v]\nhide\nforever\n    if <(Level) = [1]> then\n        delete this clone\n    end\n    if <(Level) = [2]> then\n        delete this clone\n    end\n    if <(Level) = [3]> then\n        Insert clone at x: [0] y: [-43]\n        wait until <(Level) = [4]>\n    end\n    if <(Level) = [4]> then\n        delete this clone\n    end\n    if <(Level) = [5]> then\n        delete this clone\n    end\n    if <(Level) = [6]> then\n        Insert clone at x: [0] y: [-43]\n        Insert clone at x: [-110] y: [-43]\n        Insert clone at x: [110] y: [-43]\n        wait until <(Level) = [7]>\n    end\n    if <(Level) = [7]> then\n        delete this clone\n    end\n    if <(Level) = [8]> then\n        delete this clone\n    end\n    if <(Level) = [9]> then\n        delete this clone\n    end\n    if <(Level) = [10]> then\n        delete this clone\n    end\n    if <(Level) = [11]> then\n        delete this clone\n    end\n    if <(Level) = [12]> then\n        delete this clone\n    end\n    if <(Level) = [13]> then\n        delete this clone\n    end\n    if <(Level) = [14]> then\n        delete this clone\n    end\n    if <(Level) = [15]> then\n        delete this clone\n    end\n    if <(Level) = [16]> then\n        Insert clone at x: [-141] y: [-44]\n        wait until <(Level) = [17]>\n    end\n    if <(Level) = [17]> then\n        delete this clone\n    end\n    if <(Level) = [18]> then\n        Insert clone at x: [-141] y: [-44]\n        wait until <(Level) = [19]>\n    end\n    if <(Level) = [19]> then\n        delete this clone\n    end\n    if <(Level) = [20]> then\n        Insert clone at x: [-92] y: [-41]\n        wait until <(Level) = [21]>\n    end\n    if <(Level) = [21]> then\n        delete this clone\n    end\n    if <(Level) = [22]> then\n        delete this clone\n    end\n    if <(Level) = [23]> then\n        delete this clone\n    end\n    if <(Level) = [24]> then\n        delete this clone\n    end\n    if <(Level) = [25]> then\n        delete this clone\n    end\n    if <(Level) = [26]> then\n        delete this clone\n    end\n    if <(Level) = [27]> then\n        Insert clone at x: [-110] y: [-44]\n        wait until <(Level) = [28]>\n    end\nend\n\n@Sprite9\n\nwhen I receive [lvl start v]\ngo to x: (-193) y: (-30)\n\nwhen I receive [next level v]\ngo to x: (-193) y: (-30)\nchange [level v] by (1)\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\ngo to [front v] layer\ngo [backward v] (4) layers\nswitch costume to (costume2 v)\ngo to (sprite v)\nshow\nset [ghost v] effect to (20)\nrepeat (10)\n    change size by (-3)\nend\ndelete this clone\n\nwhen I receive [next level v]\nchange [level v] by (-1)\n\nwhen I receive [go v]\nforever\n    if <(stopppp) = [1]> then\n        stop [this script v]\n    end\n    if <(size) = [1]> then\n        set size to (50) %\n    else\n        set size to (100) %\n    end\n    create clone of (_myself_ v)\nend\n\n@Sprite10\n\nwhen flag clicked\nhide\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [go v]\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\nshow\ngo to [back v] layer\nforever\n    repeat (10)\n        change y by (8)\n    end\n    wait (.5) seconds\n    repeat (10)\n        change y by (-8)\n    end\n    wait (.5) seconds\nend\n\n@Sprite11\n\nwhen flag clicked\nhide\ndelete this clone\n\nwhen I receive [next level v]\ndelete this clone\n\nwhen I start as a clone\nshow\ngo to [back v] layer\nforever\n    turn right (5) degrees\nend\n\ndefine Insert clone at (x) (y) size (size)\nset size to (size) %\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\n\nwhen I receive [go v]\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\nhide\nforever\n    if <(Level) = [1]> then\n        delete this clone\n    end\n    if <(Level) = [2]> then\n        delete this clone\n    end\n    if <(Level) = [3]> then\n        delete this clone\n    end\n    if <(Level) = [4]> then\n        delete this clone\n    end\n    if <(Level) = [5]> then\n        delete this clone\n    end\n    if <(Level) = [6]> then\n        delete this clone\n    end\n    if <(Level) = [7]> then\n        Insert clone at [128] [-60] size [100]\n        wait until <(Level) = [8]>\n    end\n    if <(Level) = [8]> then\n        delete this clone\n    end\n    if <(Level) = [9]> then\n        delete this clone\n    end\n    if <(Level) = [10]> then\n        delete this clone\n    end\n    if <(Level) = [11]> then\n        delete this clone\n    end\n    if <(Level) = [12]> then\n        delete this clone\n    end\n    if <(Level) = [13]> then\n        Insert clone at [-88] [24] size [50]\n        wait until <(Level) = [14]>\n    end\n    if <(Level) = [14]> then\n        delete this clone\n    end\n    if <(Level) = [15]> then\n        delete this clone\n    end\n    if <(Level) = [16]> then\n        delete this clone\n    end\n    if <(Level) = [17]> then\n        delete this clone\n    end\n    if <(Level) = [18]> then\n        delete this clone\n    end\n    if <(Level) = [19]> then\n        delete this clone\n    end\n    if <(Level) = [20]> then\n        Insert clone at [240] [-103] size [100]\n        wait until <(Level) = [21]>\n    end\n    if <(Level) = [21]> then\n        Insert clone at [111] [145] size [100]\n        wait until <(Level) = [22]>\n    end\n    if <(Level) = [22]> then\n        delete this clone\n    end\n    if <(Level) = [23]> then\n        delete this clone\n    end\n    if <(Level) = [24]> then\n        delete this clone\n    end\n    if <(Level) = [25]> then\n        Insert clone at [107] [68] size [100]\n        wait until <(Level) = [26]>\n    end\n    if <(Level) = [26]> then\n        Insert clone at [243] [134] size [100]\n        wait until <(Level) = [27]>\n    end\n    if <(Level) = [27]> then\n        delete this clone\n    end\nend\n\n@Sprite12\n\nwhen flag clicked\nhide\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [go v]\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\nshow\n\n@Sprite13\n\nwhen flag clicked\nhide\ndelete this clone\n\ndefine Insert clone at x: (x) y: (y)\ngo to x: (x) y: (y)\nset [y pos v] to (y)\ncreate clone of (_myself_ v)\n\nwhen I receive [next level v]\ndelete this clone\n\nwhen I start as a clone\nshow\ngo to [back v] layer\nset [ghost v] effect to (0)\nforever\n    set y to ((y pos) + (([sin v] of ((timer) * (100)) ) * (10)))\n    if <touching (sprite v)?> then\n        start sound [Collect v]\n        broadcast (unlock door v)\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        delete this clone\n    end\nend\n\nwhen I receive [go v]\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\nhide\nforever\n    if <(Level) = [1]> then\n        delete this clone\n    end\n    if <(Level) = [2]> then\n        delete this clone\n    end\n    if <(Level) = [3]> then\n        delete this clone\n    end\n    if <(Level) = [4]> then\n        delete this clone\n    end\n    if <(Level) = [5]> then\n        delete this clone\n    end\n    if <(Level) = [6]> then\n        delete this clone\n    end\n    if <(Level) = [7]> then\n        delete this clone\n    end\n    if <(Level) = [8]> then\n        delete this clone\n    end\n    if <(Level) = [9]> then\n        Insert clone at x: [148] y: [-45]\n        wait until <(Level) = [10]>\n    end\n    if <(Level) = [10]> then\n        delete this clone\n    end\n    if <(Level) = [11]> then\n        delete this clone\n    end\n    if <(Level) = [12]> then\n        delete this clone\n    end\n    if <(Level) = [13]> then\n        delete this clone\n    end\n    if <(Level) = [14]> then\n        delete this clone\n    end\n    if <(Level) = [15]> then\n        Insert clone at x: [-207] y: [142]\n        wait until <(Level) = [16]>\n    end\n    if <(Level) = [16]> then\n        delete this clone\n    end\n    if <(Level) = [17]> then\n        delete this clone\n    end\n    if <(Level) = [18]> then\n        delete this clone\n    end\n    if <(Level) = [19]> then\n        delete this clone\n    end\n    if <(Level) = [20]> then\n        Insert clone at x: [-154] y: [137]\n        wait until <(Level) = [21]>\n    end\n    if <(Level) = [21]> then\n        delete this clone\n    end\n    if <(Level) = [22]> then\n        delete this clone\n    end\n    if <(Level) = [23]> then\n        Insert clone at x: [-117] y: [147]\n        wait until <(Level) = [24]>\n    end\n    if <(Level) = [24]> then\n        delete this clone\n    end\n    if <(Level) = [25]> then\n        delete this clone\n    end\n    if <(Level) = [26]> then\n        Insert clone at x: [-33] y: [34]\n        wait until <(Level) = [27]>\n    end\n    if <(Level) = [27]> then\n        Insert clone at x: [-43] y: [60]\n        wait until <(Level) = [28]>\n    end\nend\n\n@Sprite14\n\ndefine Insert clone at x: (x) y: (y)\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\n\nwhen I receive [next level v]\ndelete this clone\n\nwhen I start as a clone\nshow\ngo to [back v] layer\nset [ghost v] effect to (0)\n\nwhen I receive [unlock door v]\ndelete this clone\n\nwhen flag clicked\ndelete this clone\n\nwhen flag clicked\nhide\ndelete this clone\n\nwhen I receive [go v]\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\nhide\nforever\n    if <(Level) = [1]> then\n        delete this clone\n    end\n    if <(Level) = [2]> then\n        delete this clone\n    end\n    if <(Level) = [3]> then\n        delete this clone\n    end\n    if <(Level) = [4]> then\n        delete this clone\n    end\n    if <(Level) = [5]> then\n        delete this clone\n    end\n    if <(Level) = [6]> then\n        delete this clone\n    end\n    if <(Level) = [7]> then\n        delete this clone\n    end\n    if <(Level) = [8]> then\n        delete this clone\n    end\n    if <(Level) = [9]> then\n        Insert clone at x: [95] y: [162]\n        wait until <(Level) = [10]>\n    end\n    if <(Level) = [10]> then\n        delete this clone\n    end\n    if <(Level) = [11]> then\n        delete this clone\n    end\n    if <(Level) = [12]> then\n        delete this clone\n    end\n    if <(Level) = [13]> then\n        delete this clone\n    end\n    if <(Level) = [14]> then\n        delete this clone\n    end\n    if <(Level) = [15]> then\n        Insert clone at x: [38] y: [115]\n        wait until <(Level) = [16]>\n    end\n    if <(Level) = [16]> then\n        delete this clone\n    end\n    if <(Level) = [17]> then\n        delete this clone\n    end\n    if <(Level) = [18]> then\n        delete this clone\n    end\n    if <(Level) = [19]> then\n        delete this clone\n    end\n    if <(Level) = [20]> then\n        Insert clone at x: [183] y: [107]\n        wait until <(Level) = [21]>\n    end\n    if <(Level) = [21]> then\n        delete this clone\n    end\n    if <(Level) = [22]> then\n        delete this clone\n    end\n    if <(Level) = [23]> then\n        Insert clone at x: [-4] y: [11]\n        wait until <(Level) = [24]>\n    end\n    if <(Level) = [24]> then\n        delete this clone\n    end\n    if <(Level) = [25]> then\n        delete this clone\n    end\n    if <(Level) = [26]> then\n        Insert clone at x: [38] y: [221]\n        wait until <(Level) = [27]>\n    end\n    if <(Level) = [27]> then\n        Insert clone at x: [25] y: [113]\n        wait until <(Level) = [28]>\n    end\nend\n\n@Sprite15\n\nwhen flag clicked\nhide\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [go v]\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\nshow\n\n@issac newton was wrong\n\nwhen flag clicked\nhide\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [go v]\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\nshow\nset [gravity v] to [0]\nforever\n    if <<touching (sprite v)?> and <(Gravity) = [0]>> then\n        set [gravity v] to [1]\n    end\nend\n\n@Sprite16\n\nwhen flag clicked\nhide\n\nwhen I receive [go v]\ngo to x: (-205) y: (-159)\nshow\nset [skip? v] to [0]\nset [cooldown v] to [0]\nforever\n    if <(Level) = [28]> then\n        hide\n        set [skip? v] to [0]\n        stop [this script v]\n    end\n    set [skip? v] to [0]\n    go to [front v] layer\n    go [backward v] (1) layers\n    change [cooldown v] by (-0.02)\n    if <<<mouse down?> and <touching (mouse-pointer v)?>> and <(cooldown) < [0]>> then\n        set [skip? v] to [1]\n        set [cooldown v] to [1]\n    end\n    if <touching (mouse-pointer v)?> then\n        set [ghost v] effect to (20)\n    else\n        set [ghost v] effect to (0)\n    end\nend\n\n@Sprite17\n\nwhen flag clicked\nhide\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [go v]\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\nshow\nforever\n    go to [back v] layer\n    set y to (([sin v] of ((timer) * (100)) ) * (7))\nend\n\n@Sprite18\n\nwhen flag clicked\nhide\ndelete this clone\n\nwhen I receive [next level v]\nnext costume\n\nwhen I start as a clone\nshow\nset [brightness v] effect to (0)\nforever\n    if <not <<<<<(Level) = [12]> or <(Level) = [14]>> or <(Level) = [27]>> or <(Level) = [18]>> or <(Level) = [22]>>> then\n        delete this clone\n    end\n    set size to ((([sin v] of ((timer) * (100)) ) * (10)) + (100)) %\n    if <(Gravity) = [0]> then\n        if <<touching (sprite v)?> and <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>>> then\n            repeat (5)\n                change [brightness v] effect by (15)\n            end\n            repeat (5)\n                change [brightness v] effect by (-15)\n            end\n        end\n    end\nend\n\ndefine Insert clone at (x) (y)\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\n\nwhen I receive [go v]\nhide\nforever\n    if <not <<<<<(Level) = [12]> or <(Level) = [14]>> or <(Level) = [22]>> or <(Level) = [27]>> or <(Level) = [18]>>> then\n        delete this clone\n    end\n    if <(Level) = [12]> then\n        Insert clone at [36] [16]\n        Insert clone at [162] [16]\n        wait until <not <(Level) = [12]>>\n    end\n    if <(Level) = [14]> then\n        Insert clone at [57] [17]\n        wait until <not <(Level) = [14]>>\n    end\n    if <(Level) = [18]> then\n        Insert clone at [17] [64]\n        wait until <not <(Level) = [18]>>\n    end\n    if <(Level) = [22]> then\n        Insert clone at [136] [51]\n        wait until <not <(Level) = [22]>>\n    end\n    if <(Level) = [27]> then\n        Insert clone at [25] [-44]\n        wait until <not <(Level) = [27]>>\n    end\nend\n\n@Sprite19\n\nwhen flag clicked\nhide\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [go v]\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\nshow\n\n@Sprite20\n\nwhen flag clicked\nhide\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [go v]\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\nshow\n\n@Sprite21\n\nwhen flag clicked\nhide\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [go v]\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\nshow\n\n@Sprite22\n\nwhen flag clicked\nhide\ndelete this clone\n\nwhen I receive [next level v]\nnext costume\n\nwhen I start as a clone\nshow\nset [brightness v] effect to (0)\nforever\n    if <not <<<<(Level) = [19]> or <(Level) = [22]>> or <(Level) = [26]>> or <(Level) = [24]>>> then\n        delete this clone\n    end\n    if <(Level) = [26]> then\n        set x to ((([sin v] of ((timer) * (100)) ) * (80)) + (x pos 1))\n    else\n        set x to ((([sin v] of ((timer) * (100)) ) * (100)) + (70))\n    end\nend\n\ndefine Insert clone at (x) (y)\ngo to x: (x) y: (y)\nset [x pos 1 v] to (x)\ncreate clone of (_myself_ v)\n\nwhen I receive [go v]\nhide\nforever\n    if <not <<<<(Level) = [19]> or <(Level) = [22]>> or <(Level) = [26]>> or <(Level) = [24]>>> then\n        delete this clone\n    end\n    if <(Level) = [19]> then\n        switch costume to (costume12 v)\n        Insert clone at [10] [-34]\n        wait until <not <(Level) = [19]>>\n    end\n    if <(Level) = [22]> then\n        switch costume to (costume2 v)\n        Insert clone at [-126] [45]\n        wait until <not <(Level) = [22]>>\n    end\n    if <(Level) = [24]> then\n        switch costume to (costume3 v)\n        Insert clone at [-84] [43]\n        wait until <not <(Level) = [24]>>\n    end\n    if <(Level) = [26]> then\n        switch costume to (costume4 v)\n        Insert clone at [-180] [105]\n        wait until <not <(Level) = [26]>>\n    end\nend\n\n@Sprite23\n\nwhen flag clicked\nhide\ndelete this clone\n\nwhen I receive [next level v]\nnext costume\n\nwhen I start as a clone\nshow\nset [brightness v] effect to (0)\nforever\n    if <not <<<(Level) = [20]> or <(Level) = [22]>> or <(Level) = [23]>>> then\n        delete this clone\n    end\n    if <(Level) = [23]> then\n        set x to ((([sin v] of ((timer) * (100)) ) * (100)) + (x pos 2))\n    else\n        set x to ((([sin v] of ((timer) * (100)) ) * (100)) + (70))\n    end\nend\n\ndefine Insert clone at (x) (y)\ngo to x: (x) y: (y)\nset [x pos 2 v] to (x)\ncreate clone of (_myself_ v)\n\nwhen I receive [go v]\nhide\nforever\n    if <not <<<(Level) = [20]> or <(Level) = [22]>> or <(Level) = [23]>>> then\n        delete this clone\n    end\n    if <(Level) = [20]> then\n        Insert clone at [-33] [-70]\n        wait until <not <(Level) = [20]>>\n    end\n    if <(Level) = [22]> then\n        Insert clone at [-92] [-40]\n        wait until <not <(Level) = [22]>>\n    end\n    if <(Level) = [23]> then\n        Insert clone at [-200] [-38]\n        wait until <not <(Level) = [23]>>\n    end\nend\n\n@shrink\n\nwhen flag clicked\nhide\ndelete this clone\n\nwhen I receive [next level v]\nset [size v] to [0]\nnext costume\n\nwhen I receive [go v]\nset [size v] to [0]\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\nshow\n\nwhen I receive [go v]\nforever\n    set y to (([sin v] of ((timer) * (100)) ) * (7))\n    if <touching (sprite v)?> then\n        set [size v] to [1]\n    end\n    if <(size) = [0]> then\n        show\n    else\n        hide\n    end\nend\n\n@Sprite24\n\nwhen flag clicked\nhide\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [go v]\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\nshow\nforever\n    go to [back v] layer\n    set y to (([sin v] of ((timer) * (100)) ) * (7))\nend\n\n@thumbnail\n\nwhen flag clicked\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\nshow\nset [ghost v] effect to (0)\nrepeat (2)\n    wait (.5) seconds\n    next costume\nend\nbroadcast (go v)\ngo to [front v] layer\nwait (.5) seconds\nrepeat (20)\n    change [ghost v] effect by (5)\nend\nswitch costume to (costume4 v)\n\nwhen flag clicked\nforever\n    go to [front v] layer\nend\n\n@BIG RED BUTTON\n\nwhen flag clicked\nhide\nhide variable [☁ big red presses v]\n\nwhen I receive [go v]\nforever\n    if <(Level) = [28]> then\n        show variable [☁ big red presses v]\n        show\n        go to [back v] layer\n        go to x: (0) y: (0)\n        if <touching (mouse-pointer v)?> then\n            set [brightness v] effect to (25)\n            if <mouse down?> then\n                change [☁ big red presses v] by (1)\n            end\n        else\n            set [brightness v] effect to (0)\n        end\n    end\nend\n\n