blue platformer

Instructions: double click green flag\n\nuse arrow keys to move or wasd\n\nmobile friendly\n\npress e to skip levels\n\n\navoid spinning spikes and spears 

@Stage\n\n@playerSprite3\n\nwhen I receive [double v]\nset [y v] to [9]\nwait until <not <<key (w v) pressed?> or <<key (up arrow v) pressed?> or <<mouse down?> and <(y position) < (mouse y)>>>>>\nwait until <<key (w v) pressed?> or <<key (up arrow v) pressed?> or <<mouse down?> and <(y position) < (mouse y)>>>>\nset [y v] to [8]\n\nwhen I receive [color v]\nset [yy v] to [0]\nset [y v] to [0]\ngo to x: (-204) y: (100)\nforever\n    if <<key (a v) pressed?> or <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>>> then\n        change [x v] by (-1)\n    end\n    if <<key (d v) pressed?> or <<key (right arrow v) pressed?> or <<mouse down?> and <(x position) < (mouse x)>>>> then\n        change [x v] by (1)\n    end\n    set [x v] to ((x) * (0.9))\n    change x by (x)\n    change [y v] by (-0.6)\n    change y by (y)\n    go to [front v] layer\n    if <touching (ground v)?> then\n        change y by (1)\n        if <touching (ground v)?> then\n            change y by (1)\n            if <touching (ground v)?> then\n                change y by (1)\n                if <touching (ground v)?> then\n                    change y by (1)\n                    if <touching (ground v)?> then\n                        change y by (1)\n                        if <touching (ground v)?> then\n                            change y by (1)\n                            if <touching (ground v)?> then\n                                change y by (1)\n                                if <touching (ground v)?> then\n                                    change y by (1)\n                                    if <touching (ground v)?> then\n                                        change y by (-8)\n                                        change x by ((x) * (-1))\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    if <touching (ground v)?> then\n        change y by ((y) * (-1))\n        set [y v] to [0]\n    end\n    change y by (-1)\n    if <<<key (w v) pressed?> or <<key (up arrow v) pressed?> or <<mouse down?> and <(y position) < (mouse y)>>>> and <touching (ground v)?>> then\n        if <[3] < (level)> then\n            broadcast (double v)\n        else\n            set [y v] to [9]\n        end\n    end\n    change y by (1)\n    set [level v] to ([costume # v] of [ground v])\n    if <<touching (spinning spikes v)?> or <<touching (shoorter  v)?> or <<touching (shoorter 2 v)?> or <touching (shoorter 3 v)?>>>> then\n        set [x v] to [0]\n        set [y v] to [0]\n        go to x: (-232) y: (-101)\n    end\nend\n\nwhen flag clicked\ngo to [back v] layer\nbroadcast (color v)\n\nwhen flag clicked\nforever\n    if <not <(level) = [10]>> then\n        if <<<touching (_edge_ v)?> and <(x position) > [220]>> or <key (e v) pressed?>> then\n            set [done v] to [10]\n            wait (0.1) seconds\n            set [done v] to [0]\n            go to x: (-230) y: (-101)\n            set [level v] to ([costume # v] of [ground v])\n            broadcast (next v)\n        end\n    end\nend\n\n@spinning spikes\n\nwhen I start as a clone\nshow\nset size to (90) %\ngo to [front v] layer\ngo [backward v] (3) layers\nforever\n    erase all\n    repeat (10)\n        change [spikes v] by (1)\n    end\n    repeat (10)\n        change [spikes v] by (-1)\n    end\nend\n\nwhen I start as a clone\nset size to (90) %\nforever\n    if <([costume # v] of [ground v]) = [2]> then\n        set [spikes v] to ((spikes) * (0.9))\n        change x by (spikes)\n        turn right (10) degrees\n    else\n        turn right (10) degrees\n    end\n    if <(done) = [10]> then\n        delete this clone\n    end\nend\n\nwhen I receive [next v]\nset size to (96) %\ngo to [front v] layer\ngo to x: (-180) y: (-144)\ngo [backward v] (3) layers\nset drag mode [not draggable v]\nif <(level) = [8]> then\n    create clone of (_myself_ v)\n    change x by (105)\n    create clone of (_myself_ v)\n    change x by (100)\n    create clone of (_myself_ v)\n    change x by (93)\n    create clone of (_myself_ v)\n    change x by (85)\n    create clone of (_myself_ v)\nend\nif <(level) = [7]> then\n    create clone of (_myself_ v)\n    change x by (90)\n    create clone of (_myself_ v)\n    change x by (90)\n    create clone of (_myself_ v)\n    change y by (175)\n    create clone of (_myself_ v)\n    change x by (-180)\n    change y by (-65)\n    create clone of (_myself_ v)\n    hide\n    set [spikes v] to [0]\nend\nif <(level) = [6]> then\n    go to x: (-170) y: (-144)\n    create clone of (_myself_ v)\n    change x by (90)\n    change y by (45)\n    create clone of (_myself_ v)\n    change x by (90)\n    change y by (48)\n    create clone of (_myself_ v)\n    change x by (90)\n    change y by (48)\n    create clone of (_myself_ v)\nend\nif <(level) = [5]> then\n    repeat (5)\n        create clone of (_myself_ v)\n        change x by (90)\n    end\n    hide\n    set [spikes v] to [0]\nend\nif <(level) = [4]> then\n    repeat (2)\n        create clone of (_myself_ v)\n        change x by (90)\n    end\n    change x by (90)\n    repeat (2)\n        create clone of (_myself_ v)\n        change x by (90)\n    end\n    hide\n    set [spikes v] to [0]\nend\n\n@ground\n\nwhen flag clicked\nswitch costume to (costume1 v)\ngo to x: (0) y: (0)\n\nwhen I receive [next v]\nnext costume\nwait (1) seconds\n\nswitch costume to (costume3 v)\n\n@shoorter \n\nwhen I receive [next v]\nhide\nif <(level) = [4]> then\n    forever\n        go to x: (31) y: (-143)\n        switch costume to (costume1 v)\n        point in direction (0)\n        wait (1) seconds\n        create clone of (_myself_ v)\n    end\nend\nif <(level) = [7]> then\n    forever\n        point in direction (-90)\n        go to x: (278) y: (7)\n        switch costume to (costume1 v)\n        wait (1) seconds\n        create clone of (_myself_ v)\n    end\nend\nif <(level) = [8]> then\n    wait (0.5) seconds\n    forever\n        go to x: (-266) y: (-2)\n        point in direction (90)\n        switch costume to (costume1 v)\n        create clone of (_myself_ v)\n        wait (1) seconds\n    end\nend\n\nshow\nshow\n\nwhen I start as a clone\nshow\nswitch costume to (costume2 v)\nset drag mode [not draggable v]\nrepeat (7)\n    move (10) steps\nend\nrepeat until <<touching (_edge_ v)?> or <touching (ground v)?>>\n    move (10) steps\nend\ndelete this clone\n\nwhen flag clicked\nhide\nforever\n    if <(done) = [10]> then\n        stop [other scripts in sprite v]\n    end\nend\n\n@thi,\n\nwhen flag clicked\ngo to x: (0) y: (0)\ngo to [front v] layer\nshow\nhide\ngo to [back v] layer\n\n@shoorter 2\n\nwhen I receive [next v]\nhide\nif <(level) = [8]> then\n    forever\n        go to x: (-260) y: (100)\n        point in direction (90)\n        switch costume to (costume1 v)\n        create clone of (_myself_ v)\n        wait (1) seconds\n    end\nend\n\nwhen I start as a clone\nshow\nswitch costume to (costume2 v)\nset drag mode [not draggable v]\nrepeat (7)\n    move (10) steps\nend\nrepeat until <<touching (_edge_ v)?> or <touching (ground v)?>>\n    move (10) steps\nend\ndelete this clone\n\nwhen flag clicked\nhide\nforever\n    if <(done) = [10]> then\n        stop [other scripts in sprite v]\n    end\nend\n\n@shoorter 3\n\nwhen I receive [next v]\nhide\nif <(level) = [8]> then\n    wait (0.5) seconds\n    forever\n        go to x: (-276) y: (155)\n        point in direction (90)\n        switch costume to (costume1 v)\n        create clone of (_myself_ v)\n        wait (1) seconds\n    end\nend\n\nwhen I start as a clone\nshow\nswitch costume to (costume2 v)\nset drag mode [not draggable v]\nrepeat (7)\n    move (10) steps\nend\nrepeat until <<touching (_edge_ v)?> or <touching (ground v)?>>\n    move (10) steps\nend\ndelete this clone\n\nwhen flag clicked\nhide\nforever\n    if <(done) = [10]> then\n        stop [other scripts in sprite v]\n    end\nend\n\n@spinning spikes2\n\nwhen I start as a clone\nshow\ngo to [front v] layer\ngo [backward v] (3) layers\nset size to (100) %\nforever\n    erase all\n    repeat (10)\n        change [spikes v] by (1)\n    end\n    repeat (10)\n        change [spikes v] by (-1)\n    end\nend\n\nwhen I start as a clone\nset size to (100) %\nset drag mode [not draggable v]\nforever\n    if <([costume # v] of [ground v]) = [2]> then\n        set [spikes v] to ((spikes) * (0.9))\n        change x by (spikes)\n        turn right (10) degrees\n    else\n        turn right (10) degrees\n    end\n    if <(done) = [10]> then\n        delete this clone\n    end\nend\n\nwhen I receive [next v]\ngo to [front v] layer\ngo to x: (-180) y: (-144)\ngo [backward v] (3) layers\nif <(level) = [8]> then\n    create clone of (_myself_ v)\n    change x by (105)\n    create clone of (_myself_ v)\n    change x by (100)\n    create clone of (_myself_ v)\n    change x by (93)\n    create clone of (_myself_ v)\n    change x by (85)\n    create clone of (_myself_ v)\nend\nif <(level) = [7]> then\n    create clone of (_myself_ v)\n    change x by (90)\n    create clone of (_myself_ v)\n    change x by (90)\n    create clone of (_myself_ v)\n    change y by (175)\n    create clone of (_myself_ v)\n    change x by (-180)\n    change y by (-65)\n    create clone of (_myself_ v)\n    hide\n    set [spikes v] to [0]\nend\nif <(level) = [6]> then\n    go to x: (-170) y: (-144)\n    create clone of (_myself_ v)\n    change x by (90)\n    change y by (45)\n    create clone of (_myself_ v)\n    change x by (90)\n    change y by (48)\n    create clone of (_myself_ v)\n    change x by (90)\n    change y by (48)\n    create clone of (_myself_ v)\nend\nif <(level) = [5]> then\n    repeat (5)\n        create clone of (_myself_ v)\n        change x by (90)\n    end\n    hide\n    set [spikes v] to [0]\nend\nif <(level) = [4]> then\n    repeat (2)\n        create clone of (_myself_ v)\n        change x by (90)\n    end\n    change x by (90)\n    repeat (2)\n        create clone of (_myself_ v)\n        change x by (90)\n    end\n    hide\n    set [spikes v] to [0]\nend\n\n