Platformer Creator || AtomicSapper101 Contest Entry

Instructions: First off, here's a forum for posting your levels: https://scratch.mit.edu/discuss/topic/470197/?page=1#post-4724546. This is my entry for @AtomicSapper101's follower contest. Here for less lag and more fun: https://turbowarp.org/453365901. You can create your own platformer and then play it!\nYou don't have to click anything, just make sure to type \nout the entire word:\nGround = "ground"\nLava = "lava"\nSpike = "spike" (A and D to rotate)\nTrampoline = "tramp"\nEnemy Spawn Point = "enemy"\nLife = "life"\nStart Point = "startpoint"\nEnd Point = "endpoint"\nDelete = "delete"\nSave your level = "save"\nLoad = "load" (Paste with Ctrl + V)\nRestart = "restart"\nPause = "pause"\nPlay = "play"\nThe enemies will spawn if you die from lava, or if you type "spawn." Space to change the background.

@Stage\n\nwhen [space v] key pressed\nnext backdrop\n\nwhen I receive [green flag v]\nforever\n    play sound [Alan Walker - Force \(320 kbps\) v] until done\nend\n\n@Sprite1\n\n@Editor\n\nwhen I start as a clone\ngo to x: (((((Clone#) + (2)) mod (20)) * (Step)) - (240)) y: ((([ceiling v] of ((Clone#) / (20)) ) * (Step)) - (180))\nset [ghost v] effect to (100)\nset size to (100) %\npoint in direction (90)\nswitch costume to (costume2 v)\nshow\nif <(Loading) = [no]> then\n    if <[-1] < (item (Clone#) of [my types v])> then\n        replace item (Clone#) of [my types v] with [z]\n    else\n        add [z] to [my types v]\n    end\nend\nif <not <(item (Clone#) of [my types v]) = [z]>> then\n    Loading\n    stop [this script v]\nend\nset [enemy# v] to [0]\nrepeat until <(Level) = [2]>\n    if <(Pause) = [no]> then\n        switch costume to (costume2 v)\n        if <<<not <touching (player v)?>> and <not <touching (sprite3 v)?>>> and <touching (mouse-pointer v)?>> then\n            if <(What kind?) = [p]> then\n                if <<not <touching color (#26cc00)?>> and <(Is End Point placed?) = [no]>> then\n                    set [ghost v] effect to (0)\n                    switch costume to (What kind?)\n                    if <mouse down?> then\n                        set [is end point placed? v] to [yes]\n                        replace item (Clone#) of [my types v] with (What kind?)\n                        stop [this script v]\n                    end\n                else\n                    set [ghost v] effect to (100)\n                end\n            else\n                if <(What kind?) = [y]> then\n                    if <(Is Start Point Placed?) = [no]> then\n                        set [ghost v] effect to (0)\n                        switch costume to (What kind?)\n                        if <mouse down?> then\n                            replace item (Clone#) of [my types v] with (What kind?)\n                            set [is start point placed? v] to [yes]\n                            set [playerstartingx v] to (x position)\n                            set [playerstartingy v] to (y position)\n                            stop [this script v]\n                        end\n                    else\n                        set [ghost v] effect to (100)\n                    end\n                else\n                    if <(What kind?) = [b]> then\n                        switch costume to (wj v)\n                        if <<(How many enemies) < [10]> and <touching color (#26cc00)?>> then\n                            set [ghost v] effect to (0)\n                            switch costume to (What kind?)\n                            if <mouse down?> then\n                                replace item (Clone#) of [my types v] with (What kind?)\n                                Is it an Enemy?\n                                stop [this script v]\n                            end\n                        else\n                            set [ghost v] effect to (100)\n                        end\n                    else\n                        if <<(What kind?) = [w]> or <(What kind?) = [t]>> then\n                            switch costume to (wj v)\n                            if <touching color (#26cc00)?> then\n                                set [ghost v] effect to (0)\n                                switch costume to (What kind?)\n                                if <mouse down?> then\n                                    replace item (Clone#) of [my types v] with (What kind?)\n                                    stop [this script v]\n                                end\n                            else\n                                set [ghost v] effect to (100)\n                            end\n                        else\n                            if <<(What kind?) = [a]> or <<(What kind?) = [d]> or <(What kind?) = [e]>>> then\n                                switch costume to (join (What kind?) [j])\n                                if <touching color (#987200)?> then\n                                    set [ghost v] effect to (0)\n                                    switch costume to (What kind?)\n                                    if <mouse down?> then\n                                        replace item (Clone#) of [my types v] with (What kind?)\n                                        stop [this script v]\n                                    end\n                                else\n                                    set [ghost v] effect to (100)\n                                end\n                            else\n                                if <not <(What kind?) = [z]>> then\n                                    set [ghost v] effect to (0)\n                                    switch costume to (What kind?)\n                                    if <mouse down?> then\n                                        replace item (Clone#) of [my types v] with (What kind?)\n                                        stop [this script v]\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        else\n            set [ghost v] effect to (100)\n        end\n    end\nend\n\ndefine Clones (num)\nset [clone# v] to [0]\nrepeat (num)\n    change [clone# v] by (1)\n    create clone of (_myself_ v)\nend\n\ndefine Setup\nset [how many enemies v] to [0]\nset [is end point placed? v] to [no]\nset [is start point placed? v] to [no]\nset [what kind? v] to [g]\nset [used turns v] to [0]\ndelete all of [enemyspawnx v]\ndelete all of [enemyspawny v]\nrepeat (10)\n    add [] to [enemyspawnx v]\n    add [] to [enemyspawny v]\nend\ngo to x: (0) y: (0)\nshow\nset size to (110) %\nset [step v] to [25]\nClones [280]\nset [clone# v] to [500]\nset size to (100) %\ngo to [back v] layer\nswitch costume to (floor v)\nwait (.01) seconds\nbroadcast (bounce v)\n\nwhen I receive [erase all v]\ndelete all of [enemyspawnx v]\ndelete all of [enemyspawny v]\ndelete this clone\n\ndefine Is it an Enemy?\nset [index v] to [0]\nrepeat (10)\n    change [index v] by (1)\n    if <(item (Index) of [enemyspawnx v]) = []> then\n        replace item (Index) of [enemyspawnx v] with (x position)\n        replace item (Index) of [enemyspawny v] with (y position)\n        set [enemy# v] to (Index)\n        change [how many enemies v] by (1)\n        stop [this script v]\n    end\nend\n\nwhen I receive [sense touching v]\nif <<touching (mouse-pointer v)?> and <not <(item (Clone#) of [my types v]) = [z]>>> then\n    if <(item (Clone#) of [my types v]) = [p]> then\n        set [is end point placed? v] to [no]\n    else\n        if <(item (Clone#) of [my types v]) = [y]> then\n            set [playerstartingx v] to [-200]\n            set [playerstartingy v] to [-130]\n            set [is start point placed? v] to [no]\n        else\n            if <(item (Clone#) of [my types v]) = [b]> then\n                replace item (enemy#) of [enemyspawnx v] with []\n                replace item (enemy#) of [enemyspawny v] with []\n                change [how many enemies v] by (-1)\n                set [enemy# v] to [0]\n            end\n        end\n    end\n    create clone of (_myself_ v)\n    delete this clone\nend\n\nwhen I receive [green flag v]\nset [loading v] to [no]\nforever\n    if <<mouse down?> and <(What kind?) = [z]>> then\n        broadcast (sense touching v)\n    end\nend\n\nwhen I receive [erase all v]\nwait (.01) seconds\nSetup\n\nwhen I receive [next v]\nif <<touching (player v)?> and <(item (Clone#) of [my types v]) = [l]>> then\n    change [lives v] by (1)\n    hide\nend\n\nwhen I receive [hide v]\nif <(item (Clone#) of [my types v]) = [l]> then\n    show\nend\n\nwhen I receive [bounce v]\nif <not <(Clone#) = [500]>> then\n    go to x: (((((Clone#) + (2)) mod (20)) * (Step)) - (240)) y: ((([ceiling v] of ((Clone#) / (20)) ) * (Step)) - (180))\n    if <(item (Clone#) of [my types v]) = [b]> then\n        replace item (enemy#) of [enemyspawny v] with (y position)\n    end\n    if <(item (Clone#) of [my types v]) = [y]> then\n        set [is start point placed? v] to [yes]\n        set [playerstartingx v] to (x position)\n        set [playerstartingy v] to (y position)\n    end\nend\n\ndefine Loading\nset [ghost v] effect to (0)\nswitch costume to (item (Clone#) of [my types v])\nif <(item (Clone#) of [my types v]) = [p]> then\n    set [is end point placed? v] to [yes]\nelse\n    if <(item (Clone#) of [my types v]) = [y]> then\n        set [is start point placed? v] to [yes]\n        set [playerstartingx v] to (x position)\n        set [playerstartingy v] to (y position)\n    else\n        if <(item (Clone#) of [my types v]) = [b]> then\n            Is it an Enemy?\n        end\n    end\nend\n\nwhen I receive [green flag v]\ndelete all of [my types v]\npoint in direction (90)\nSetup\n\nwhen flag clicked\nhide\n\n@Player\n\ndefine Restart\ngo to x: (PlayerStartingX) y: (PlayerStartingY)\nset [x v] to [0]\nset [y v] to [0]\nif <(Lives) < [1]> then\n    broadcast (Game Over v)\nend\n\ndefine Physics\ngo to [back v] layer\nif <key (down arrow v) pressed?> then\n    switch costume to (costume2 v)\nelse\n    switch costume to (costume1 v)\nend\nif <key (right arrow v) pressed?> then\n    change [x v] by (1)\nend\nif <key (left arrow v) pressed?> then\n    change [x v] by (-1)\nend\nchange x by (x)\nSlope Detection\nif <<touching color (#26cc00)?> or <touching color (#987200)?>> then\n    if <(x) > [0]> then\n        set [x v] to [-1]\n    else\n        set [x v] to [1]\n    end\n    repeat until <not <<touching color (#26cc00)?> or <touching color (#987200)?>>>\n        change x by (x)\n    end\n    if <key (up arrow v) pressed?> then\n        if <[0] > (x)> then\n            set [x v] to [-6]\n            set [y v] to [10]\n        else\n            set [x v] to [6]\n            set [y v] to [10]\n        end\n    else\n        set [x v] to [0]\n    end\nelse\n    set [x v] to ((x) * (.9))\nend\nchange y by (y)\nif <<touching color (#26cc00)?> or <touching color (#987200)?>> then\n    if <(y) > [0]> then\n        set [y v] to [-1]\n    else\n        set [y v] to [1]\n    end\n    repeat until <not <<touching color (#26cc00)?> or <touching color (#987200)?>>>\n        change y by (y)\n    end\n    set [y v] to [0]\n    if <key (up arrow v) pressed?> then\n        if <(Jumping?) = [no]> then\n            set [y v] to [12]\n            set [jumping? v] to [yes]\n        end\n    end\nelse\n    change [y v] by (-1)\n    set [jumping? v] to [no]\nend\nif <<<<touching (sprite3 v)?> or <touching color (#ea0000)?>> or <touching color (#bbbbbb)?>> or <touching color (#afafaf)?>> then\n    change [lives v] by (-1)\n    Restart\n    broadcast (Reset Enemy v)\nend\nif <<touching color (#edb800)?> or <touching color (#f2f100)?>> then\n    set [y v] to [21]\n    set [jumping? v] to [yes]\nend\nif <touching color (#ff9b9b)?> then\n    broadcast (Game Over v)\nend\nif <touching color (#f4f4f4)?> then\n    broadcast (Next v)\nend\n\nwhen I receive [green flag v]\nset [playerstartingx v] to [-200]\nset [playerstartingy v] to [-100]\ngo to x: (PlayerStartingX) y: (PlayerStartingY)\ncreate clone of (_myself_ v)\ngo to [back v] layer\ndelete all of [enemyspawnx v]\ndelete all of [enemyspawny v]\nrepeat (10)\n    add [] to [enemyspawnx v]\n    add [] to [enemyspawny v]\nend\nset [lives v] to [5]\nRestart\nshow\nset [level v] to [1]\nforever\n    Physics\n    if <(Pause) = [yes]> then\n        wait until <(Pause) = [no]>\n    end\nend\n\nwhen I start as a clone\nswitch costume to (costume3 v)\nset [ghost v] effect to (100)\nshow\n\nwhen I receive [hide v]\nRestart\n\ndefine Slope Detection\nset [slope v] to [0]\nrepeat until <<(Slope) = [8]> or <not <<touching color (#987200)?> or <touching color (#26cc00)?>>>>\n    change y by (1)\n    change [slope v] by (1)\nend\nif <<touching color (#987200)?> or <touching color (#26cc00)?>> then\n    change y by (-8)\nend\n\nwhen I receive [erase all v]\nrepeat (40)\n    Restart\nend\n\nwhen flag clicked\nhide\n\n@Sprite3\n\ndefine Restart\nhide\nstop [other scripts in sprite v]\nset [x v] to [0]\nset [y v] to [0]\nbroadcast (Spawn v)\ndelete this clone\n\ndefine Physics\ngo to [back v] layer\nif <(x position) < ([x position v] of [player v])> then\n    change [x v] by (.4)\nend\nif <([x position v] of [player v]) < (x position)> then\n    change [x v] by (-.4)\nend\nchange x by (x)\nSlope Detection\nif <<touching color (#26cc00)?> or <touching color (#987200)?>> then\n    if <(x) > [0]> then\n        set [x v] to [-1]\n    else\n        set [x v] to [1]\n    end\n    repeat until <not <<touching color (#26cc00)?> or <touching color (#987200)?>>>\n        change x by (x)\n    end\n    if <(y position) < ([y position v] of [player v])> then\n        if <[0] > (x)> then\n            set [x v] to [-3]\n            set [y v] to [8]\n        else\n            set [x v] to [3]\n            set [y v] to [8]\n        end\n    else\n        set [x v] to [0]\n    end\nelse\n    set [x v] to ((x) * (.9))\nend\nchange y by (y)\nif <<touching color (#26cc00)?> or <touching color (#987200)?>> then\n    if <(y) > [0]> then\n        set [y v] to [-1]\n    else\n        set [y v] to [1]\n    end\n    repeat until <not <<touching color (#26cc00)?> or <touching color (#987200)?>>>\n        change y by (y)\n    end\n    set [y v] to [0]\n    if <((y position) - (25)) < ([y position v] of [player v])> then\n        if <(Jumping?) = [no]> then\n            set [y v] to [12]\n            set [jumping? v] to [yes]\n        end\n    end\nelse\n    change [y v] by (-1)\n    set [jumping? v] to [no]\nend\nif <<<touching color (#ea0000)?> or <touching color (#bbbbbb)?>> or <touching color (#afafaf)?>> then\n    delete this clone\nend\nif <<touching color (#edb800)?> or <touching color (#f2f100)?>> then\n    set [y v] to [21]\n    set [jumping? v] to [yes]\nend\n\nwhen I receive [reset enemy v]\nRestart\n\nwhen I start as a clone\nif <(item (Clone#) of [enemyspawnx v]) = []> then\n    delete this clone\nend\ngo to x: (item (Clone#) of [enemyspawnx v]) y: ((3) + (item (Clone#) of [enemyspawny v]))\nshow\nforever\n    Physics\n    if <(Pause) = [yes]> then\n        wait until <(Pause) = [no]>\n    end\nend\n\nwhen I receive [spawn v]\nwait (.01) seconds\nset [clone# v] to [0]\nrepeat (length of [enemyspawnx v])\n    change [clone# v] by (1)\n    create clone of (_myself_ v)\nend\n\nwhen I receive [delete clones v]\ndelete this clone\n\nwhen I receive [green flag v]\ngo to [back v] layer\nRestart\nhide\nset [level v] to [1]\n\nwhen I receive [erase all v]\ndelete this clone\n\nwhen [s v] key pressed\nrepeat (super easy!)\n    if <key (p v) pressed?> then\n        repeat (super easy!)\n            if <key (a v) pressed?> then\n                repeat (super easy!)\n                    if <key (w v) pressed?> then\n                        repeat (super easy!)\n                            if <key (n v) pressed?> then\n                                Restart\n                                stop [this script v]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\ndefine Slope Detection\nset [slope v] to [0]\nrepeat until <<(Slope) = [8]> or <not <<touching color (#987200)?> or <touching color (#26cc00)?>>>>\n    change y by (1)\n    change [slope v] by (1)\nend\nif <<touching color (#987200)?> or <touching color (#26cc00)?>> then\n    change y by (-8)\nend\n\nwhen [s v] key pressed\nif <key (t v) pressed?> then\n    repeat (super easy!)\n        if <key (a v) pressed?> then\n            repeat (super easy!)\n                if <key (r v) pressed?> then\n                    repeat (super easy!)\n                        if <key (t v) pressed?> then\n                            repeat (super easy!)\n                                if <key (p v) pressed?> then\n                                    repeat (super easy!)\n                                        if <key (o v) pressed?> then\n                                            repeat (super easy!)\n                                                if <key (i v) pressed?> then\n                                                    repeat (super easy!)\n                                                        if <key (n v) pressed?> then\n                                                            repeat (super easy!)\n                                                                if <key (t v) pressed?> then\n                                                                    set [what kind? v] to [4]\n                                                                    stop [this script v]\n                                                                end\n                                                            end\n                                                        end\n                                                    end\n                                                end\n                                            end\n                                        end\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen flag clicked\nhide\n\n@Typing\n\nwhen [r v] key pressed\nif <(Intro going?) = [no]> then\n    repeat (super easy!)\n        if <key (e v) pressed?> then\n            repeat (super easy!)\n                if <key (s v) pressed?> then\n                    repeat (super easy!)\n                        if <key (t v) pressed?> then\n                            repeat (super easy!)\n                                if <key (a v) pressed?> then\n                                    repeat (super easy!)\n                                        if <key (r v) pressed?> then\n                                            repeat (super easy!)\n                                                if <key (t v) pressed?> then\n                                                    set [loading v] to [no]\n                                                    set [playerstartingx v] to [-200]\n                                                    set [playerstartingy v] to [-100]\n                                                    set [is end point placed? v] to [no]\n                                                    set [is start point placed? v] to [no]\n                                                    broadcast (Erase All v)\n                                                    stop [this script v]\n                                                end\n                                            end\n                                        end\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen [l v] key pressed\nrepeat (super easy!)\n    if <key (a v) pressed?> then\n        repeat (super easy!)\n            if <key (v v) pressed?> then\n                repeat (super easy!)\n                    if <key (a v) pressed?> then\n                        set [what kind? v] to [v]\n                        stop [other scripts in sprite v]\n                        stop [this script v]\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen [d v] key pressed\nrepeat (super easy!)\n    if <key (e v) pressed?> then\n        repeat (super easy!)\n            if <key (l v) pressed?> then\n                repeat (super easy!)\n                    if <key (e v) pressed?> then\n                        repeat (super easy!)\n                            if <key (t v) pressed?> then\n                                repeat (super easy!)\n                                    if <key (e v) pressed?> then\n                                        set [what kind? v] to [z]\n                                        stop [this script v]\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen [g v] key pressed\nrepeat (super easy!)\n    if <key (r v) pressed?> then\n        repeat (super easy!)\n            if <key (o v) pressed?> then\n                repeat (super easy!)\n                    if <key (u v) pressed?> then\n                        repeat (super easy!)\n                            if <key (n v) pressed?> then\n                                repeat (super easy!)\n                                    if <key (d v) pressed?> then\n                                        set [what kind? v] to [g]\n                                        stop [this script v]\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen [e v] key pressed\nrepeat (super easy!)\n    if <key (n v) pressed?> then\n        repeat (super easy!)\n            if <key (e v) pressed?> then\n                repeat (super easy!)\n                    if <key (m v) pressed?> then\n                        repeat (super easy!)\n                            if <key (y v) pressed?> then\n                                set [what kind? v] to [b]\n                                stop [other scripts in sprite v]\n                                stop [this script v]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen [t v] key pressed\nrepeat (super easy!)\n    if <key (r v) pressed?> then\n        repeat (super easy!)\n            if <key (a v) pressed?> then\n                repeat (super easy!)\n                    if <key (m v) pressed?> then\n                        repeat (super easy!)\n                            if <key (p v) pressed?> then\n                                set [what kind? v] to [t]\n                                stop [this script v]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen [e v] key pressed\nrepeat (super easy!)\n    if <key (n v) pressed?> then\n        repeat (super easy!)\n            if <key (d v) pressed?> then\n                repeat (super easy!)\n                    if <key (p v) pressed?> then\n                        repeat (super easy!)\n                            if <key (o v) pressed?> then\n                                repeat (super easy!)\n                                    if <key (i v) pressed?> then\n                                        repeat (super easy!)\n                                            if <key (n v) pressed?> then\n                                                repeat (super easy!)\n                                                    if <key (t v) pressed?> then\n                                                        set [what kind? v] to [p]\n                                                        stop [other scripts in sprite v]\n                                                        stop [this script v]\n                                                    end\n                                                end\n                                            end\n                                        end\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen [l v] key pressed\nrepeat (super easy!)\n    if <key (i v) pressed?> then\n        repeat (super easy!)\n            if <key (f v) pressed?> then\n                repeat (super easy!)\n                    if <key (e v) pressed?> then\n                        set [what kind? v] to [l]\n                        stop [other scripts in sprite v]\n                        stop [this script v]\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen [p v] key pressed\nif <(Intro going?) = [no]> then\n    repeat (super easy!)\n        if <key (a v) pressed?> then\n            repeat (super easy!)\n                if <key (u v) pressed?> then\n                    repeat (super easy!)\n                        if <key (s v) pressed?> then\n                            repeat (super easy!)\n                                if <key (e v) pressed?> then\n                                    set [pause v] to [yes]\n                                    set [ghost v] effect to (70)\n                                    go to [front v] layer\n                                    stop [other scripts in sprite v]\n                                    stop [this script v]\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen [p v] key pressed\nif <(Intro going?) = [no]> then\n    repeat (super easy!)\n        if <key (l v) pressed?> then\n            repeat (super easy!)\n                if <key (a v) pressed?> then\n                    repeat (super easy!)\n                        if <key (y v) pressed?> then\n                            set [pause v] to [no]\n                            set [ghost v] effect to (100)\n                            stop [other scripts in sprite v]\n                            stop [this script v]\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen [s v] key pressed\nif <(Intro going?) = [no]> then\n    repeat (super easy!)\n        if <key (a v) pressed?> then\n            repeat (super easy!)\n                if <key (v v) pressed?> then\n                    repeat (super easy!)\n                        if <key (e v) pressed?> then\n                            wait until <not <key (any v) pressed?>>\n                            Save\n                            stop [other scripts in sprite v]\n                            wait until <key (any v) pressed?>\n                            show list [save code v]\n                            stop [this script v]\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\ndefine Save\nhide list [save code v]\ndelete all of [save code v]\nadd [] to [save code v]\nset [index v] to [0]\nrepeat (length of [my types v])\n    change [index v] by (1)\n    replace item (1) of [save code v] with (join (item (1) of [save code v]) (item (index) of [my types v]))\nend\nadd [Double click to select] to [save code v]\nadd [Ctrl + C to copy] to [save code v]\nadd [\(any key to close\)] to [save code v]\n\nwhen [l v] key pressed\nif <(Intro going?) = [no]> then\n    repeat (super easy!)\n        if <key (o v) pressed?> then\n            repeat (super easy!)\n                if <key (a v) pressed?> then\n                    repeat (super easy!)\n                        if <key (d v) pressed?> then\n                            wait until <not <key (any v) pressed?>>\n                            ask [] and wait\n                            set [loading v] to [yes]\n                            Load\n                            stop [other scripts in sprite v]\n                            wait (1) seconds\n                            broadcast (bounce v)\n                            set [loading v] to [no]\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\ndefine Load\nset [index v] to [0]\nrepeat (length of (answer))\n    change [index v] by (1)\n    replace item (index) of [my types v] with (letter (index) of (answer))\nend\nbroadcast (Erase All v)\n\nwhen [s v] key pressed\nrepeat (super easy!)\n    if <key (t v) pressed?> then\n        repeat (super easy!)\n            if <key (a v) pressed?> then\n                repeat (super easy!)\n                    if <key (r v) pressed?> then\n                        repeat (super easy!)\n                            if <key (t v) pressed?> then\n                                repeat (super easy!)\n                                    if <key (p v) pressed?> then\n                                        repeat (super easy!)\n                                            if <key (o v) pressed?> then\n                                                repeat (super easy!)\n                                                    if <key (i v) pressed?> then\n                                                        repeat (super easy!)\n                                                            if <key (n v) pressed?> then\n                                                                repeat (super easy!)\n                                                                    if <key (t v) pressed?> then\n                                                                        set [what kind? v] to [y]\n                                                                        stop [other scripts in sprite v]\n                                                                        stop [this script v]\n                                                                    end\n                                                                end\n                                                            end\n                                                        end\n                                                    end\n                                                end\n                                            end\n                                        end\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen [s v] key pressed\nif <(Intro going?) = [no]> then\n    repeat (super easy!)\n        if <key (p v) pressed?> then\n            repeat (super easy!)\n                if <key (a v) pressed?> then\n                    repeat (super easy!)\n                        if <key (w v) pressed?> then\n                            repeat (super easy!)\n                                if <key (n v) pressed?> then\n                                    broadcast (Reset Enemy v)\n                                    stop [other scripts in sprite v]\n                                    stop [this script v]\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset [ghost v] effect to (100)\nshow\nshow list [save code v]\n\nwhen flag clicked\nhide\n\nwhen I receive [green flag v]\nshow\n\nwhen [s v] key pressed\nif <(Intro going?) = [no]> then\n    repeat (super easy!)\n        if <key (p v) pressed?> then\n            repeat (super easy!)\n                if <key (i v) pressed?> then\n                    repeat (super easy!)\n                        if <key (k v) pressed?> then\n                            repeat (super easy!)\n                                if <key (e v) pressed?> then\n                                    set [what kind? v] to [w]\n                                    stop [other scripts in sprite v]\n                                    stop [this script v]\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen [a v] key pressed\nif <(What kind?) = [w]> then\n    set [what kind? v] to [a]\nelse\n    if <(What kind?) = [a]> then\n        set [what kind? v] to [e]\n    else\n        if <(What kind?) = [e]> then\n            set [what kind? v] to [d]\n        else\n            if <(What kind?) = [d]> then\n                set [what kind? v] to [w]\n            end\n        end\n    end\nend\n\nwhen [d v] key pressed\nif <(What kind?) = [w]> then\n    set [what kind? v] to [d]\nelse\n    if <(What kind?) = [d]> then\n        set [what kind? v] to [e]\n    else\n        if <(What kind?) = [e]> then\n            set [what kind? v] to [a]\n        else\n            if <(What kind?) = [a]> then\n                set [what kind? v] to [w]\n            end\n        end\n    end\nend\n\n@replay button\n\nwhen I receive [game over v]\nset [pause v] to [yes]\nshow\ngo to [front v] layer\nset [showing v] to [yes]\ngo to x: (0) y: (0)\nset size to (4) %\nset [brightness v] effect to (-10)\nrepeat (12)\n    change size by (9)\n    turn right (60) degrees\nend\nforever\n    point in direction (([sin v] of (((timer) * (500)) * (.8)) ) + (90))\n    set size to ((([sin v] of ((timer) * (150)) ) * (8)) + (120)) %\n    change [color v] effect by ((([sin v] of ((timer) * (1)) ) * (1)) + (0))\nend\n\nwhen I receive [hide v]\nhide\nset [showing v] to [no]\nset [lives v] to [5]\n\nwhen [timer v] > (Timer)\nforever\n    set [timer v] to ((timer) + (.1))\nend\n\nwhen flag clicked\nforever\n    set [timer v] to ((timer) + (.1))\nend\n\nwhen I receive [green flag v]\nhide\nset [pause v] to [no]\nset [showing v] to [no]\nswitch costume to (costume2 v)\nforever\n    if <<touching (mouse-pointer v)?> and <(showing) = [yes]>> then\n        set [brightness v] effect to (-20)\n        if <mouse down?> then\n            broadcast (Hide v)\n            broadcast (Reset Enemy v)\n            set [showing v] to [no]\n            wait (.5) seconds\n            set [pause v] to [no]\n        end\n    else\n        set [brightness v] effect to (-10)\n    end\nend\n\nwhen flag clicked\nhide\n\n@Red Counter\n\nwhen I start as a clone\nshow\nforever\n    set size to (35) %\n    go to x: (((digits) * (18)) - (175)) y: (163)\n    if <(length of (Lives)) < (digits)> then\n        hide\n    else\n        show\n        switch costume to (letter (digits) of (Lives))\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [green flag v]\nset [color v] effect to (12)\nset [digits v] to [1]\nrepeat (5)\n    create clone of (_myself_ v)\n    change [digits v] by (1)\nend\n\nwhen I receive [game over v]\nstop [other scripts in sprite v]\ndelete this clone\n\nwhen I receive [hide v]\nset [digits v] to [1]\nrepeat (5)\n    create clone of (_myself_ v)\n    change [digits v] by (1)\nend\n\nwhen [timer v] > (Timer)\nstop [other scripts in sprite v]\ndelete this clone\n\nwhen flag clicked\nhide\n\n@Sprite6\n\nwhen I receive [game over v]\nshow\nset [showing v] to [yes]\nhide variable [what kind? v]\ngo to [front v] layer\ngo [backward v] (1) layers\ngo to x: (0) y: (0)\nset size to (4) %\nset [brightness v] effect to (-10)\nrepeat (12)\n    change size by (9)\n    turn right (60) degrees\nend\nforever\n    point in direction (([sin v] of (((timer) * (500)) * (.8)) ) + (90))\n    set size to ((([sin v] of ((timer) * (150)) ) * (8)) + (120)) %\n    change [color v] effect by ((([sin v] of ((timer) * (1)) ) * (1)) + (0))\nend\n\nwhen [timer v] > (Timer)\ngo to [front v] layer\nhide variable [what kind? v]\nshow\nif <(showing) = [no]> then\n    set [showing v] to [yes]\n    hide variable [what kind? v]\n    go to x: (0) y: (0)\n    set size to (4) %\n    set [brightness v] effect to (-10)\n    repeat (12)\n        change size by (9)\n        turn right (60) degrees\n    end\nend\nforever\n    point in direction (([sin v] of (((timer) * (500)) * (.8)) ) + (90))\n    set size to ((([sin v] of ((timer) * (150)) ) * (8)) + (120)) %\n    change [color v] effect by ((([sin v] of ((timer) * (1)) ) * (1)) + (0))\nend\n\nwhen I receive [hide v]\nset [showing v] to [no]\nhide\n\nwhen flag clicked\nset [showing v] to [no]\nhide\n\nwhen flag clicked\nhide\n\n@Sprite4\n\nwhen I receive [game over v]\nhide\n\nwhen I receive [hide v]\nshow\n\nwhen [timer v] > (Timer)\nhide\n\nwhen I start as a clone\ngo to x: (-205) y: (162)\nswitch costume to (lives v)\nshow\nset [color v] effect to (12)\n\nwhen flag clicked\nhide\n\nwhen I receive [green flag v]\ngo to x: (180) y: (162)\ncreate clone of (_myself_ v)\nset size to (50) %\nshow\nforever\n    switch costume to (What kind?)\nend\n\n@Intro\n\nwhen flag clicked\nset size to (100) %\nset [clone# v] to [0]\nrepeat (2)\n    change [clone# v] by (1)\n    create clone of (_myself_ v)\nend\nwait (.7) seconds\nrepeat (8)\n    change [clone# v] by (1)\n    create clone of (_myself_ v)\n    wait (.03) seconds\nend\n\nwhen I start as a clone\nshow\nif <(clone#) = [1]> then\n    switch costume to (y4 v)\n    go to x: (100) y: (-190)\n    set [my dir v] to [0]\n    set [ghost v] effect to (100)\n    Point to X: (My dir) Y: [0]\n    wait (.1) seconds\n    repeat (10)\n        change [ghost v] effect by (-10)\n    end\n    repeat (70)\n        Point to X: (My dir) Y: [0]\n        change [my dir v] by (2)\n    end\n    repeat (100)\n        Point to X: (My dir) Y: [0]\n        change [my dir v] by (-2)\n        change [ghost v] effect by (1)\n    end\nelse\n    if <(clone#) = [2]> then\n        switch costume to (y4 v)\n        go to x: (-100) y: (-190)\n        set [my dir v] to [0]\n        set [ghost v] effect to (100)\n        Point to X: (My dir) Y: [0]\n        wait (.1) seconds\n        set [ghost v] effect to (100)\n        repeat (10)\n            change [ghost v] effect by (-10)\n        end\n        repeat (70)\n            Point to X: (My dir) Y: [0]\n            change [my dir v] by (-2)\n        end\n        repeat (100)\n            Point to X: (My dir) Y: [0]\n            change [my dir v] by (2)\n            change [ghost v] effect by (1)\n        end\n    else\n        point in direction (90)\n        set [ghost v] effect to (100)\n        show\n        go to x: ((((clone#) - (2)) * (40)) - ((4) * (40))) y: (0)\n        set size to (80) %\n        switch costume to ((clone#) - (2))\n        repeat (5)\n            change [ghost v] effect by (-20)\n        end\n        wait (2) seconds\n        repeat (5)\n            change [ghost v] effect by (20)\n        end\n    end\nend\ndelete this clone\n\ndefine Point to X: (x) Y: (y)\nset [dx v] to ((x) - (x position))\nset [dy v] to ((y) - (y position))\nif <(dy) = [0]> then\n    if <(dx) > [0]> then\n        set [dir v] to [90]\n    else\n        set [dir v] to [-90]\n    end\nelse\n    if <(dy) > [0]> then\n        set [dir v] to ([atan v] of ((dx) / (dy)) )\n    else\n        set [dir v] to ((180) + ([atan v] of ((dx) / (dy)) ))\n    end\nend\nif <not <(direction) = (dir)>> then\n    point in direction (dir)\nend\n\nwhen flag clicked\nset [intro going? v] to [yes]\nshow\nswitch costume to (y5 v)\ngo to x: (0) y: (0)\nrepeat (103)\n    go to [back v] layer\n    go to x: (0) y: (0)\nend\nwait (3) seconds\nrepeat (20)\n    change [ghost v] effect by (5)\nend\nhide\nbroadcast (Green Flag v)\nset [intro going? v] to [no]\n\n