Empty || scrolling platformer creator

Instructions: Post ideas and new platforms I could add in in the comments!!\n==================Create==================\n*Simply select one of the platforms on the left and drag it around\n*To move simply play and then move your character where you want to build and then pause\n*To get your level code click the export button and copy the code on the 2nd line\n*The import button allows you to load and continue working on levels\n*To delete a platform, hover over it and then let go of it\n=================Export==================\n*On computer triple click the 2nd line of the export list and then copy\n*On mobile click and hold on the 2nd line of the export list and then drag the first blue dot to the start of the second line and drag the second dot to the end of the 3rd line and then copy\n\n=================Import==================\n*Paste a level code into the text box and have fun playing the game

@Stage\n\nwhen flag clicked\nswitch backdrop to (backdrop1 v)\n\nwhen I receive [begin v]\nswitch backdrop to (main v)\nwait (0.2) seconds\nforever\n    play sound [Nebula v] until done\nend\n\n@Platforms\n\ndefine Go to (x) (y)\ngo to x: (x) y: (y)\nif <(Playing Game?) = [True]> then\n    if <<(x) = (x position)> and <(y) = (y position)>> then\n        show\n        if <<(costume [number v]) = [28]> and <(Hiding????) = [True]>> then\n            hide\n        end\n    else\n        hide\n    end\nend\n\nwhen I start as a clone\nshow\ngo to [back v] layer\nif <(costume [number v]) = [29]> then\n    delete this clone\nend\nif <<(Game mode) = [1]> and <(@Importing) = [False]>> then\n    set [x v] to ((SCROLL X) - (100))\n    set [y v] to ((SCROLL Y) - (100))\nend\nSetup code\nforever\n    Go to ((SCROLL X) - (X)) ((Y) - (SCROLL Y))\n    if <(Playing Game?) = [False]> then\n        if <<<touching (delete v)?> and <(Delete?) = [True]>> and <not <(Clone id) = [1]>>> then\n            replace item (((Clone id) * (3)) + (Signs)) of [level code v] with [29]\n            delete this clone\n        end\n        if <<<touching (mouse-pointer v)?> and <mouse down?>> and <(@Mouse free?) = [True]>> then\n            set [@mouse free? v] to [False]\n            start sound [Wood Tap v]\n            repeat until <not <mouse down?>>\n                set [x v] to ((SCROLL X) - (mouse x))\n                set [y v] to ((SCROLL Y) + (mouse y))\n                go to x: ((SCROLL X) - (X)) y: ((Y) - (SCROLL Y))\n                Change level code\n                Get block selected\n            end\n            set [@mouse free? v] to [True]\n            start sound [Crunch v]\n        end\n    end\n    if <<(Clone id) = [1]> or <<(costume [number v]) = [19]> or <<(costume [number v]) = [24]> or <<(costume [number v]) = [26]> or <<(costume [number v]) = [25]> or <(costume [number v]) = [27]>>>>>> then\n        Check for player\n    end\n    if <<(Playing Game?) = [True]> and <(costume [number v]) = [27]>> then\n        turn right (15) degrees\n    end\n    if <(costume [number v]) = [28]> then\n        if <<(Hiding????) = [False]> and <(Playing Game?) = [True]>> then\n            Sense player\n        end\n        if <(Playing Game?) = [False]> then\n            set [hiding???? v] to [False]\n            show\n        end\n    end\nend\n\ndefine Check for new course pieces\nif <not <(Duplicate clone #) = [0]>> then\n    switch costume to ((Duplicate clone #) + (5))\n    if <((Duplicate clone #) + (3)) = [17]> then\n        ask [What should the sign say?] and wait\n        set [message v] to (answer)\n    end\n    create clone of (_myself_ v)\n    if <((Duplicate clone #) + (3)) = [17]> then\n        change [signs v] by (1)\n    end\n    set [duplicate clone # v] to [0]\n    change [clone id v] by (1)\nend\nswitch costume to (start v)\n\ndefine Change level code\nreplace item ((((Clone id) * (3)) - (2)) + (Signs)) of [level code v] with (round (X))\nreplace item ((((Clone id) * (3)) - (1)) + (Signs)) of [level code v] with (round (Y))\n\ndefine Setup code\nadd (round (X)) to [level code v]\nadd (round (Y)) to [level code v]\nadd (costume [number v]) to [level code v]\nif <(costume [number v]) = [19]> then\n    add (Message) to [level code v]\nend\n\nwhen flag clicked\nhide\nset [signs v] to [0]\n\nwhen I receive [build platformer v]\nset [clone id v] to [1]\nswitch costume to (checkpoint v)\ncreate clone of (_myself_ v)\nset [clone id v] to [2]\nswitch costume to (start v)\nshow\nforever\n    Go to ((SCROLL X) - ()) ((-100) - (SCROLL Y))\n    Check for new course pieces\n    go to [back v] layer\nend\n\nwhen I receive [load platforms v]\nbroadcast (Remove clones v)\ndelete all of [level code v]\nset [clone id v] to [1]\nshow\nCreate course\nswitch costume to (start v)\nforever\n    Go to ((SCROLL X) - ()) ((-100) - (SCROLL Y))\nend\n\ndefine Create course\nset [# v] to [1]\nset [finished generating v] to [False]\nset [@invalid? v] to [False]\nset [signs v] to [0]\nforever\n    Get code\n    set [x v] to (Output)\n    Get code\n    set [y v] to (Output)\n    Get code\n    switch costume to (Output)\n    if <(Output) = [19]> then\n        Get code\n        set [message v] to (Output)\n    end\n    create clone of (_myself_ v)\n    if <(costume [number v]) = [19]> then\n        change [signs v] by (1)\n    end\n    if <(@Invalid?) = [True]> then\n        broadcast (Remove clones v)\n        delete all of [level code v]\n        set [clone id v] to [1]\n        set [signs v] to [0]\n    end\n    if <(Finished generating) = [True]> then\n        change [clone id v] by (1)\n        stop [this script v]\n    end\n    change [clone id v] by (1)\nend\n\ndefine Get code\nset [output v] to []\nforever\n    if <(letter (#) of (Answer)) = [;]> then\n        change [# v] by (1)\n        if <<(letter (#) of (Answer)) = []> or <(letter (#) of (Answer)) = [ ]>> then\n            set [finished generating v] to [True]\n        end\n        stop [this script v]\n    end\n    set [output v] to (join (Output) (letter (#) of (Answer)))\n    change [# v] by (1)\n    if <(letter (#) of (Answer)) = []> then\n        set [finished generating v] to [True]\n        set [playing game? v] to [False]\n        set [game mode v] to [1]\n        set [@invalid? v] to [True]\n        broadcast (Build platformer v)\n        broadcast (Begin v)\n        broadcast (Invalid v)\n        stop [this script v]\n    end\nend\n\ndefine Check for player\nif <(Clone id) = [1]> then\n    if <(Touched player) = [False]> then\n        switch costume to (green flag hitbox v)\n        if <touching (player v)?> then\n            set [touched player v] to [True]\n            broadcast (Won v)\n        end\n        switch costume to (green flag2 v)\n    end\nelse\n    if <(costume [number v]) = [19]> then\n        say []\n        switch costume to (green flag hitbox v)\n        if <touching (player v)?> then\n            say (Message)\n        end\n        switch costume to (sign post v)\n    else\n        if <(costume [number v]) = [24]> then\n            switch costume to (green flag hitbox v)\n            if <touching (player v)?> then\n                set [@spawn x v] to (SCROLL X)\n                set [@spawn y v] to (SCROLL Y)\n            end\n            switch costume to (checkpoint v)\n        else\n            if <(costume [number v]) = [25]> then\n                switch costume to (bounce pad hitbox v)\n                if <touching (player v)?> then\n                    set [y vel v] to [20]\n                end\n                switch costume to (bounce up v)\n            else\n                if <(costume [number v]) = [26]> then\n                    switch costume to (bounce pad hitbox v)\n                    if <touching (player v)?> then\n                        set [y vel v] to [-20]\n                    end\n                    switch costume to (bounce down v)\n                else\n                    if <(costume [number v]) = [27]> then\n                        switch costume to (spinning spikes hitbox v)\n                        if <touching (player v)?> then\n                            broadcast (Kill player v)\n                        end\n                        switch costume to (spikes v)\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [reset flag v]\nset [touched player v] to [False]\n\nwhen I receive [remove level v]\ndelete this clone\n\nwhen I receive [remove clones v]\ndelete this clone\n\nwhen flag clicked\nset [@mouse free? v] to [True]\nset [hiding???? v] to [False]\n\ndefine Get block selected\nif <<<(costume [number v]) < [19]> and <[5] < (costume [number v])>> or <<(costume [number v]) < [24]> and <[19] < (costume [number v])>>> then\n    set [platform selected v] to [1]\n    stop [this script v]\nend\nif <(Clone id) = [1]> then\n    set [platform selected v] to [6]\n    stop [this script v]\nend\nif <<(costume [number v]) = [25]> or <(costume [number v]) = [26]>> then\n    set [platform selected v] to [2]\n    stop [this script v]\nend\nif <(costume [number v]) = [27]> then\n    set [platform selected v] to [3]\n    stop [this script v]\nend\nif <(costume [number v]) = [19]> then\n    set [platform selected v] to [4]\n    stop [this script v]\nend\nif <(costume [number v]) = [24]> then\n    set [platform selected v] to [5]\n    stop [this script v]\nend\nif <(costume [number v]) = [28]> then\n    set [platform selected v] to [7]\n    stop [this script v]\nend\n\ndefine Sense player\nchange x by (5)\nif <touching (player v)?> then\n    set [hiding???? v] to [True]\n    hide\n    start sound [Coin v]\nend\nchange x by (-10)\nif <touching (player v)?> then\n    set [hiding???? v] to [True]\n    hide\n    start sound [Coin v]\nend\nchange x by (5)\nchange y by (5)\nif <touching (player v)?> then\n    set [hiding???? v] to [True]\n    hide\n    start sound [Coin v]\nend\nchange y by (-10)\nif <touching (player v)?> then\n    set [hiding???? v] to [True]\n    hide\n    start sound [Coin v]\nend\nchange y by (5)\n\n@Main buttons\n\nwhen I receive [begin v]\ndelete this clone\n\nwhen I receive [hide buttons v]\nhide\n\ndefine Setup buttons\ngo to x: (0) y: (50)\nswitch costume to (create v)\nset [clone id v] to [1]\nrepeat (2)\n    create clone of (_myself_ v)\n    next costume\n    change [clone id v] by (1)\n    change y by (-60)\nend\n\nwhen flag clicked\nset [color v] effect to (0)\nhide\nSetup buttons\n\nwhen I start as a clone\nshow\nset size to (0) %\nrepeat (20)\n    change size by (5)\nend\nforever\n    if <touching (mouse-pointer v)?> then\n        set size to (110) %\n        if <(@Playsound) = [True]> then\n            start sound [Suction Cup v]\n            set [@playsound v] to [False]\n        end\n        if <mouse down?> then\n            start sound [Wood Tap v]\n            set [game mode v] to (Clone id)\n            broadcast (Remove level v)\n            if <(Clone id) = [1]> then\n                broadcast (Hide buttons v)\n                set [playing game? v] to [False]\n                broadcast (Build platformer v)\n            else\n                set [playing game? v] to [True]\n                broadcast (Hide buttons v)\n                ask [Paste the level code here] and wait\n                set [answer v] to (answer)\n                broadcast (Load platforms v)\n            end\n            broadcast (Begin v)\n            wait until <not <mouse down?>>\n        end\n    else\n        set [@playsound v] to [True]\n        set size to (100) %\n    end\n    set [ghost v] effect to (15)\nend\n\n@Player\n\ndefine Reset (ghost)\nset size to (50) %\ngo to x: (0) y: (0)\nset [ghost effect v] to (ghost)\nset [x vel v] to [0]\nset [y vel v] to [0]\nset [scroll x v] to (@Spawn X)\nset [scroll y v] to (@Spawn Y)\n\ndefine Platformer physics (jump height) (friction) (side speed) (gravity) (slope)\nswitch costume to (hitbox v)\nchange [y vel v] by (gravity)\nchange y by (Y vel)\nif <touching (platforms v)?> then\n    repeat until <not <touching (platforms v)?>>\n        change y by ((([abs v] of (Y vel) ) / (Y vel)) * (-1))\n    end\n    if <<((([abs v] of (Y vel) ) / (Y vel)) * (-1)) = [1]> and <<key (up arrow v) pressed?> or <<mouse down?> and <[0] < (mouse y)>>>> then\n        start sound [Jump v]\n        set [y vel v] to (jump height)\n    else\n        set [y vel v] to [0]\n    end\nend\nif <<key (right arrow v) pressed?> or <<mouse down?> and <[0] < (mouse x)>>> then\n    change [x vel v] by (side speed)\n    point in direction (90)\nend\nif <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) < [0]>>> then\n    change [x vel v] by ((side speed) * (-1))\n    point in direction (-90)\nend\nset [x vel v] to ((X vel) * (friction))\nchange x by (X vel)\nset [slope v] to [0]\nrepeat until <<(Slope) = ((slope) * (-1))> or <not <touching (platforms v)?>>>\n    change y by (1)\n    change [slope v] by (-1)\nend\nif <touching (platforms v)?> then\n    change y by (Slope)\n    repeat until <not <touching (platforms v)?>>\n        change x by ((([abs v] of (X vel) ) / (X vel)) * (-1))\n    end\nend\nchange [scroll x v] by (() - (x position))\nchange [scroll y v] by ((y position) - ())\ngo to x: (0) y: (0)\nif <(SCROLL Y) < [-500]> then\n    start sound [Oops v]\n    set [dead? v] to [True]\nend\nswitch costume to (Costume #)\n\nwhen flag clicked\nset rotation style [left-right v]\nset [costume # v] to [2]\nforever\n    if <(Playing Game?) = [True]> then\n        if <<key (up arrow v) pressed?> or <<mouse down?> and <[0] < (mouse y)>>> then\n            repeat until <((([abs v] of (Y vel) ) / (Y vel)) * (-1)) = [1]>\n                set [costume # v] to [6]\n            end\n        else\n            if <<mouse down?> or <<key (right arrow v) pressed?> or <key (left arrow v) pressed?>>> then\n                if <[4] < (Costume #)> then\n                    set [costume # v] to [2]\n                else\n                    change [costume # v] by (0.5)\n                end\n            else\n                set [costume # v] to [2]\n            end\n        end\n    end\nend\n\nwhen I receive [begin v]\nshow\ndelete all of [level code v]\nset [@spawn x v] to [0]\nset [@spawn y v] to [0]\nReset [100]\nforever\n    if <(Playing Game?) = [True]> then\n        Platformer physics [15] [0.7] [2] [-1] [8]\n        if <(Dead?) = [True]> then\n            set [dead? v] to [False]\n            repeat (25)\n                change [ghost effect v] by (-4)\n            end\n            Reset [0]\n            repeat (25)\n                change [ghost effect v] by (4)\n            end\n        end\n    end\nend\n\nwhen flag clicked\nset [playing game? v] to [False]\nhide\n\nwhen I receive [reset v]\nset [@spawn x v] to [0]\nset [@spawn y v] to [0]\nReset [100]\n\nwhen I receive [kill player v]\nReset [100]\n\n@Build index\n\nwhen I start as a clone\nset [ghost v] effect to (0)\nshow\ngo to [front v] layer\nforever\n    Set list position ((Clone Y) - (Build Index Y))\n    if <(Playing Game?) = [False]> then\n        if <touching (mouse-pointer v)?> then\n            set [ghost v] effect to (50)\n            if <mouse down?> then\n                start sound [Tennis Hit v]\n                set [duplicate clone # v] to (Clone #)\n                wait until <not <mouse down?>>\n            end\n        else\n            set [ghost v] effect to (0)\n        end\n    else\n        set [ghost v] effect to (100)\n    end\nend\n\ndefine Detect mouse pointer\nif <<touching (mouse-pointer v)?> and <mouse down?>> then\n    if <<(mouse y) < [150]> and <(mouse y) > [-150]>> then\n        set [y v] to (mouse y)\n        set [build index y v] to ((Y) + (-150))\n    end\nend\n\ndefine Setup index (items)\nswitch costume to (item 1 v)\nset [build index y v] to [0]\nset [x v] to [-135]\nset [y v] to [150]\nset [clone y v] to [0]\nset [clone # v] to [1]\nrepeat (items)\n    create clone of (_myself_ v)\n    next costume\n    change [clone y v] by (-40)\n    change [clone # v] by (1)\nend\nswitch costume to (backing v)\n\ndefine Set list position (y)\ngo to x: (0) y: (y)\nif <(y) = (y position)> then\n    show\nelse\n    hide\nend\n\ndefine Create slider\nswitch costume to (pen v)\nset pen size to (8)\nset pen color to (#4c4c4c)\npen up\nerase all\ngo to x: (-135) y: (150)\npen down\ngo to x: (-135) y: (-150)\npen up\nDetect mouse pointer\ngo to x: (X) y: (Y)\nset pen color to (#b1b1b1)\nset pen size to (8)\npen down\npen up\nDetect mouse pointer\ngo to x: (0) y: (0)\nswitch costume to (backing v)\n\nif <(Playing Game?) = [True]> then\n\nwhen flag clicked\nhide\nerase all\n\nwhen I receive [build platformer v]\nshow\nset [duplicate clone # v] to [0]\nswitch costume to (backing v)\ngo to x: (0) y: (0)\nset [ghost v] effect to (17)\ngo to [back v] layer\nSetup index [23]\nforever\n    if <(Playing Game?) = [False]> then\n        set [ghost v] effect to (0)\n    else\n        pen up\n        erase all\n        set [ghost v] effect to (100)\n    end\nend\n\nCreate slider\n\n@Buttons\n\nwhen flag clicked\nset [playing game? v] to [False]\nhide\n\nwhen I receive [build platformer v]\nshow\nswitch costume to (play v)\ngo to x: (0) y: (160)\nforever\n    if <touching (mouse-pointer v)?> then\n        set [ghost v] effect to (50)\n        if <mouse down?> then\n            start sound [Wood Tap v]\n            if <(Playing Game?) = [False]> then\n                switch costume to (pause v)\n                set [playing game? v] to [True]\n                broadcast (Reset flag v)\n            else\n                switch costume to (play v)\n                set [playing game? v] to [False]\n            end\n            wait until <not <mouse down?>>\n        end\n    else\n        set [ghost v] effect to (0)\n    end\nend\n\n@Effects\n\nwhen flag clicked\nset [ghost effect v] to [100]\ngo to x: (0) y: (0)\nshow\nforever\n    set [ghost v] effect to (Ghost effect)\n    go to [front v] layer\nend\n\n@Finish\n\nwhen flag clicked\nshow list [export v]\nhide\nset [@importing v] to [False]\n\nwhen I receive [build platformer v]\nSetup buttons\n\ndefine Setup list\ndelete all of [export v]\nadd [Copy the code below] to [export v]\nadd [] to [export v]\nset [# v] to [1]\nrepeat (length of [level code v])\n    replace item (2) of [export v] with (join (join (item (2) of [export v]) (item (#) of [level code v])) [;])\n    change [# v] by (1)\nend\nadd [] to [export v]\nif <[500] < (length of (item (2) of [export v]))> then\n    add [Your code is too long for the comments] to [export v]\nelse\n    add [You can paste your code in the comments section] to [export v]\nend\nadd [Add your level codes here:] to [export v]\nadd [https://scratch.mit.edu/discuss/topic/431247] to [export v]\n\ndefine Setup buttons\nhide\ngo to x: (200) y: (160)\nset [clone # v] to [1]\nrepeat (2)\n    create clone of (_myself_ v)\n    change [clone # v] by (1)\n    change x by (-80)\n    next costume\nend\n\nwhen I start as a clone\nshow\nforever\n    if <(Playing Game?) = [False]> then\n        if <touching (mouse-pointer v)?> then\n            set [ghost v] effect to (50)\n            if <mouse down?> then\n                start sound [Wood Tap v]\n                if <(Clone #) = [2]> then\n                    Setup list\n                    hide list [export v]\n                    wait until <not <mouse down?>>\n                else\n                    ask [] and wait\n                    set [answer v] to (answer)\n                    broadcast (Remove level v)\n                    set [@importing v] to [True]\n                    broadcast (Load platforms v)\n                    wait (1) seconds\n                    set [@importing v] to [False]\n                end\n            end\n        else\n            set [ghost v] effect to (0)\n        end\n    else\n        set [ghost v] effect to (100)\n    end\nend\n\n@Notifications\n\nwhen flag clicked\nset [repeat times v] to [1]\ngo to x: (500) y: (-138)\nshow\nset [ghost v] effect to (100)\nwait (2) seconds\nstart sound [Connect v]\nrepeat (50)\n    change [ghost v] effect by (-4)\n    change x by ((-50) / (Repeat times))\n    change [repeat times v] by (1)\nend\nwait (2) seconds\nset [repeat times v] to [50]\nrepeat (50)\n    change [ghost v] effect by (2)\n    change x by ((50) / (Repeat times))\n    change [repeat times v] by (-1)\nend\nhide\nset [repeat times v] to [1]\ngo to x: (500) y: (-138)\nshow\nset [ghost v] effect to (100)\nwait (12) seconds\nstart sound [Connect v]\nrepeat (50)\n    change [ghost v] effect by (-4)\n    change x by ((-50) / (Repeat times))\n    change [repeat times v] by (1)\nend\nwait (2) seconds\nset [repeat times v] to [50]\nrepeat (50)\n    change [ghost v] effect by (2)\n    change x by ((50) / (Repeat times))\n    change [repeat times v] by (-1)\nend\nhide\n\n@Reset\n\nwhen flag clicked\nset [playing game? v] to [False]\nhide\n\nwhen I receive [build platformer v]\nshow\nswitch costume to (reset  v)\ngo to x: (60) y: (160)\nforever\n    if <touching (mouse-pointer v)?> then\n        set [ghost v] effect to (50)\n        if <mouse down?> then\n            broadcast (Reset v)\n            broadcast (Reset flag v)\n            start sound [Wood Tap v]\n            wait until <not <mouse down?>>\n        end\n    else\n        set [ghost v] effect to (0)\n    end\nend\n\n@Up and down\n\nwhen flag clicked\nhide\n\nwhen I receive [build platformer v]\nhide\nSetup buttons\n\ndefine Setup buttons\nset [clone move speed v] to [20]\nswitch costume to (up v)\ngo to x: (-110) y: (160)\nrepeat (2)\n    create clone of (_myself_ v)\n    change [clone move speed v] by (-40)\n    change y by (-40)\n    next costume\nend\n\nwhen I start as a clone\nshow\nforever\n    if <(Playing Game?) = [False]> then\n        if <touching (mouse-pointer v)?> then\n            set [ghost v] effect to (50)\n            if <mouse down?> then\n                change [build index y v] by (Clone move speed)\n                if <[0] < (Build Index Y)> then\n                    set [build index y v] to [0]\n                end\n                if <(Build Index Y) < [-1000]> then\n                    set [build index y v] to [-1000]\n                end\n            end\n        else\n            set [ghost v] effect to (0)\n        end\n    else\n        set [ghost v] effect to (100)\n    end\nend\n\n@Win animation\n\nwhen flag clicked\ngo to x: (0) y: (0)\nshow\nset [ghost v] effect to (100)\ngo to [front v] layer\n\nwhen I receive [won v]\nshow\nset [ghost v] effect to (100)\nswitch costume to (text v)\ncreate clone of (_myself_ v)\ngo to [front v] layer\nrepeat (25)\n    change [ghost v] effect by (-4)\nend\nforever\n    if <mouse down?> then\n        broadcast (Remove finish message v)\n    end\nend\n\nwhen I start as a clone\nshow\nswitch costume to (backing v)\ngo to [back v] layer\nrepeat (25)\n    change [ghost v] effect by (-3)\nend\n\nwhen I receive [remove finish message v]\nhide\ndelete this clone\n\n@Build border\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [build platformer v]\nshow\nrepeat (5)\n    go to [back v] layer\nend\nforever\n    if <(Playing Game?) = [False]> then\n        show\n    else\n        hide\n    end\nend\n\n@Delete\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\ngo to x: (-60) y: (160)\nshow\nforever\n    if <(Playing Game?) = [False]> then\n        if <touching (mouse-pointer v)?> then\n            set [ghost v] effect to (50)\n            set [delete? v] to [True]\n        else\n            set [ghost v] effect to (0)\n            set [delete? v] to [False]\n        end\n    else\n        set [ghost v] effect to (100)\n    end\nend\n\nwhen I receive [build platformer v]\ncreate clone of (_myself_ v)\n\n@Invalid code \n\nwhen flag clicked\ngo to x: (36) y: (32)\nhide\n\nwhen I receive [invalid v]\nshow\nrepeat (10)\n    go to [back v] layer\nend\nstart sound [Oops v]\nrepeat (10)\n    change y by (-5)\nend\nwait (3) seconds\nrepeat (10)\n    change y by (5)\nend\nhide\n\nwhen I receive [begin v]\nhide\nrepeat (10)\n    go to [back v] layer\nend\n\n@Block type\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [build platformer v]\nhide\nrepeat (10)\n    go to [back v] layer\nend\nforever\n    if <(Playing Game?) = [False]> then\n        if <(@Mouse free?) = [False]> then\n            show\n        else\n            hide\n        end\n    else\n        hide\n    end\n    switch costume to (Platform selected)\nend\n\n