Simple - A Long Platformer

Instructions:                                                  Simple\n_____________________________________________________________\nYou are a cube, out to save your friends.\n_____________________________________________________________\nArrow keys to move\nAvoid Lava and Spikes and ice\n_____________________________________________________________\nWarning: This will lag a lot for slow computers. Go to https://phosphorus.github.io/#181070892 for a less laggy version

@Stage\n\nwhen flag clicked\nswitch backdrop to (backdrop1 v)\nforever\n    play sound [01-01- Windfall.mp3 v] until done\nend\n\nwhen I receive [sky v]\nswitch backdrop to (backdrop2 v)\n\nwhen I receive [ice king v]\nswitch backdrop to (backdrop3 v)\n\nwhen I receive [fall v]\nstop [other scripts in stage v]\n\n@Player\n\nwhen flag clicked\nforever\n    if <touching (color v)?> then\n        glide (1) secs to x: (18) y: (173)\n        broadcast (nextlevel v)\n        go to x: (-231) y: (-138)\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (tornado v)?> then\n        go to [front v] layer\n        repeat (10)\n            change size by (-10)\n        end\n        set size to (100) %\n        go to x: (-231) y: (-138)\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching color (#ffff00)?> then\n        stop all sounds\n        play sound [triumph v] until done\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nSetup\nforever\n    Controls and check\nend\n\ndefine Setup\nset size to (100) %\nswitch costume to (costume1 v)\nshow\ngo to x: (-231) y: (-138)\npoint in direction (90)\nset [level v] to [1]\nset [yv v] to [0]\nset [xv v] to [0]\n\ndefine Controls and check\nchange [yv v] by (-0.5)\nif <key (right arrow v) pressed?> then\n    change [xv v] by (0.7)\nend\nif <key (left arrow v) pressed?> then\n    change [xv v] by (-0.7)\nend\nif <key (d v) pressed?> then\n    change [xv v] by (0.7)\nend\nif <key (a v) pressed?> then\n    change [xv v] by (-0.7)\nend\nset [xv v] to ((Xv) * (0.9))\nchange x by (Xv)\nif <touching color (#000000)?> then\n    change y by (1)\n    if <touching color (#000000)?> then\n        change y by (1)\n        if <touching color (#000000)?> then\n            change y by (1)\n            if <touching color (#000000)?> then\n                change y by (1)\n                if <touching color (#000000)?> then\n                    change y by (1)\n                    if <touching color (#000000)?> then\n                        change x by ((Xv) * (-1))\n                        change x by (-1)\n                        change y by (-5)\n                        if <touching (null v)?> then\n                            change x by (Change)\n                        end\n                        change x by (1)\n                        if <key (up arrow v) pressed?> 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 [10]\n                        else\n                            set [xv v] to [0]\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\nchange y by (Yv)\nif <touching color (#000000)?> then\n    change y by ((Yv) * (-1))\n    set [yv v] to [0]\nend\nchange y by (-1)\nif <touching color (#000000)?> then\n    if <key (up arrow v) pressed?> then\n        set [yv v] to [10]\n    end\nend\nif <touching color (#ff0000)?> then\n    switch costume to (costume3 v)\n    wait (0.1) seconds\n    go to x: (-231) y: (-138)\n    set [xv v] to [0]\n    set [yv v] to [0]\n    point in direction (90)\n    switch costume to (costume1 v)\n    change [lives v] by (-1)\nend\nif <<touching color (#00cc44)?> or <touching color (#549a10)?>> then\n    broadcast (nextlevel v)\n    go to x: (-208) y: (-77)\n    set [xv v] to [0]\n    set [yv v] to [0]\nend\nif <touching color (#e0e0e4)?> then\n    go to x: (-231) y: (-138)\n    set [xv v] to [0]\n    set [yv v] to [0]\n    point in direction (90)\n    change [lives v] by (-1)\nend\nif <touching color (#ff9999)?> then\n    change [yv v] by (12)\nend\nif <touching color (#0e0a28)?> then\n    switch costume to (costume4 v)\n    wait (0.1) seconds\n    go to x: (-231) y: (-138)\n    set [xv v] to [0]\n    set [yv v] to [0]\n    point in direction (90)\n    switch costume to (costume1 v)\n    change [lives v] by (-1)\nend\nif <touching color (#00cccc)?> then\n    switch costume to (costume2 v)\n    wait (0.1) seconds\n    go to x: (-231) y: (-138)\n    switch costume to (costume1 v)\nend\nchange y by (1)\n\n@terrain\n\nwhen I receive [nextlevel v]\nnext costume\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [31]> then\n        broadcast (color v)\n    else\n        broadcast (no color v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [32]> then\n        broadcast (sky v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [34]> then\n        broadcast (turn v)\n    else\n        broadcast (stop v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [35]> then\n        broadcast (ice king v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [36]> then\n        broadcast (blast v)\n        stop [this script v]\n    else\n        broadcast (rest v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [37]> then\n        broadcast (show v)\n        stop [this script v]\n    else\n        broadcast (hide v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [38]> then\n        broadcast (show2 v)\n    else\n        broadcast (hide2 v)\n    end\nend\n\nwhen flag clicked\nswitch costume to (level1 v)\nforever\n    if <(costume [number v]) = [7]> then\n        broadcast (spike v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [38]> then\n        forever\n            play sound [01-01- Windfall.mp3 v] until done\n        end\n    end\nend\n\n@Sprite1\n\nwhen flag clicked\nforever\n    show\n    go to [front v] layer\n    set [ghost v] effect to (100)\n    go to x: (0) y: (0)\nend\n\nwhen flag clicked\nhide\n\n@color\n\nwhen flag clicked\nset [color v] effect to (0)\nhide\n\nwhen I receive [color v]\nshow\nforever\n    change [color v] effect by (25)\n    wait (1) seconds\nend\n\nwhen I receive [no color v]\nset [color v] effect to (0)\nhide\n\n@Volcano\n\nwhen I receive [blast v]\nshow\nforever\n    switch costume to (costume1 v)\n    wait (1) seconds\n    switch costume to (costume2 v)\n    wait (1) seconds\n    switch costume to (costume3 v)\n    wait (1) seconds\n    switch costume to (costume4 v)\n    wait (1) seconds\n    switch costume to (costume5 v)\n    wait (1) seconds\n    switch costume to (costume6 v)\n    wait (1) seconds\n    if <(backdrop [number v]) = [2]> then\n        broadcast (win v)\n        stop [this script v]\n    end\nend\n\nwhen I receive [rest v]\nhide\n\nwhen flag clicked\nhide\n\nwhen I receive [win v]\nswitch costume to (costume7 v)\n\n@Ice king\n\nwhen flag clicked\nswitch costume to (costume1 v)\nset [ghost v] effect to (0)\ngo to x: (115) y: (-30)\nhide\n\nwhen I receive [show v]\nshow\n\nwhen I receive [hide v]\nhide\n\nwhen I receive [fall v]\nswitch costume to (costume2 v)\nplay sound [space ripple v] until done\nrepeat (100)\n    change [ghost v] effect by (1)\nend\nswitch costume to (costume3 v)\nset [ghost v] effect to (0)\nbroadcast (no king v)\n\nwhen I receive [over v]\nglide (1) secs to x: (114) y: (-149)\nrepeat (50)\n    change [ghost v] effect by (1)\nend\nplay sound [pop v] until done\nhide\nswitch backdrop to (backdrop2 v)\nbroadcast (nextlevel v)\n\n@faller1\n\nwhen flag clicked\nhide\n\nwhen I receive [show v]\nshow\n\nwhen I receive [hide v]\nhide\n\nwhen I receive [no king v]\nhide\n\n@faller2\n\nwhen flag clicked\nhide\n\nwhen I receive [show v]\nshow\n\nwhen I receive [no king v]\nbroadcast (over v)\n\n@Button\n\nwhen flag clicked\nhide\n\nwhen I receive [show v]\nshow\n\nwhen flag clicked\nforever\n    if <touching (player v)?> then\n        broadcast (fall v)\n        stop [this script v]\n    end\nend\n\nwhen I receive [hide v]\nhide\n\n@tornado\n\nwhen flag clicked\ngo to x: (-3) y: (26)\nhide\n\nwhen I receive [turn v]\nshow\nforever\n    turn left (9) degrees\nend\n\nwhen I receive [stop v]\nhide\n\n@Cubes\n\nwhen I receive [hide2 v]\nhide\n\nwhen flag clicked\nhide\n\nwhen I receive [show2 v]\nshow\n\n@Cubes2\n\nwhen I receive [show2 v]\nshow\n\nwhen flag clicked\nhide\n\nwhen I receive [hide2 v]\nhide\n\n@Cubes3\n\nwhen I receive [show2 v]\nshow\n\nwhen I receive [hide2 v]\nhide\n\nwhen flag clicked\nhide\n\n@Cubes4\n\nwhen flag clicked\nhide\n\nwhen I receive [hide2 v]\nhide\n\nwhen I receive [show2 v]\nshow\n\n@Cubes5\n\nwhen flag clicked\nhide\n\nwhen I receive [show2 v]\nshow\n\nwhen I receive [hide2 v]\nhide\n\n@Cubes6\n\nwhen flag clicked\nhide\n\nwhen I receive [show2 v]\nshow\n\nwhen I receive [hide2 v]\nhide\n\n