Adventures-A Platformer

Instructions: \nI said I would be making a platformer since I haven't in a while. My only 2 platformers were scrolling ones, 1 of them is a engine, the other is a pen platformer engine.\nMove around by pressing keys.\n\n\n

@Stage\n\n@Crusher\n\nwhen flag clicked\nhide\ngo to x: (86) y: (-11)\nwait until <(level) = [5]>\nshow\nrepeat until <not <(level) = [5]>>\n    glide (1) secs to x: (91) y: (-11)\n    wait (1) seconds\n    glide (0.25) secs to x: (91) y: (-91)\n    wait (1) seconds\nend\nhide\n\n@Player\n\nwhen flag clicked\nReset <>\nset [level v] to [1]\nforever\n    change [xv v] by ((<key (right arrow v) pressed?> - <key (left arrow v) pressed?>) * (1.25))\n    set [xv v] to ((xv) * (0.85))\n    change x by (xv)\n    change x by (((0) - (xv)) * <touching (ground v)?>)\n    change y by (-1)\n    if <<touching (ground v)?> and <key (up arrow v) pressed?>> then\n        set [yv v] to [10]\n    end\n    change [yv v] by (-1)\n    change y by ((yv) + (1))\n    if <touching (ground v)?> then\n        change y by ((0) - (yv))\n        set [yv v] to [0]\n    end\n    if <(x position) > [230]> then\n        Reset \n    end\n    if <<touching (spikes v)?> or <<(y position) < [-175]> or >> then\n        Reset <>\n    end\n    if <key (space v) pressed?> then\n        go to x: (mouse x) y: (mouse y)\n    end\n    if <touching (enemy1 v)?> then\n        Reset <>\n    end\n    if <touching (enemy2 v)?> then\n        Reset <>\n    end\n    if <touching (crusher v)?> then\n        Reset <>\n    end\n    if <touching (enemy3 v)?> then\n        Reset <>\n    end\n    if <touching color (#ff4141)?> then\n        Reset <>\n    end\n    if <touching (spin v)?> then\n        Reset <>\n    end\nend\n\ndefine Reset <won?>\ngo to x: (-217) y: (-97)\nbroadcast (Reset v)\nif <won?> then\n    change [level v] by (1)\nend\n\n@Ground\n\nwhen flag clicked\nforever\n    switch costume to (level)\nend\n\n@Spikes\n\nwhen flag clicked\nhide\n\ndefine Clone at (x) (y)\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\n\nwhen I receive [reset v]\nif  then\n    delete this clone\nend\nif <(level) = [1]> then\n    Clone at [-1] [-154]\n    Clone at [-20] [-154]\nelse\n    if <(level) = [2]> then\n        Clone at [-20] [-86]\n        Clone at [-4] [-86]\n        Clone at [11] [-86]\n    else\n        if <(level) = [3]> then\n            Clone at [-88] [-138]\n            Clone at [-10] [-23]\n        else\n            if <(level) = [4]> then\n                Clone at [-74] [-154]\n                Clone at [0] [-154]\n                Clone at [74] [-154]\n            else\n                if <(level) = [4]> then\n                    Clone at [-74] [-154]\n                    Clone at [0] [-154]\n                    Clone at [74] [-154]\n                else\n                    if <(level) = [6]> then\n                        Clone at [-149] [-154]\n                        Clone at [-79] [-154]\n                        Clone at [-31] [-154]\n                        Clone at [38] [-154]\n                        Clone at [157] [-154]\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I start as a clone\nshow\n\n@Lava\n\nwhen flag clicked\ngo [backward v] (5) layers\nforever\n    set y to (([sin v] of ((timer) * (100)) ) * (3))\n    switch costume to (level)\nend\n\n@Enemy3\n\ndefine Glide (x) (y)\nrepeat until <<(round (x position)) = (x)> and <(round (y position)) = (y)>>\n    set [mx v] to (((x) - (x position)) / (15))\n    set [my v] to (((y) - (y position)) / (15))\n    change x by (mx)\n    change y by (my)\n    change y by (3)\n    change y by (-3)\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [reset v]\ngo to [front v] layer\nif <(level) = [6]> then\n    show\n    repeat until <not <(level) = [6]>>\n        Glide [-100] [-156]\n        Glide [100] [-156]\n    end\nelse\n    hide\nend\n\n@Enemy1\n\ndefine Glide (x) (y)\nrepeat until <<(round (x position)) = (x)> and <(round (y position)) = (y)>>\n    set [mx v] to (((x) - (x position)) / (15))\n    set [my v] to (((y) - (y position)) / (15))\n    change x by (mx)\n    change y by (my)\n    change y by (3)\n    change y by (-3)\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [reset v]\ngo to [front v] layer\nif <(level) = [4]> then\n    show\n    repeat until <not <(level) = [4]>>\n        Glide [-117] [-156]\n        Glide [-15] [-156]\n    end\nelse\n    if <(level) = [6]> then\n        show\n        repeat until <not <(level) = [6]>>\n            Glide [-117] [-156]\n            Glide [-15] [-156]\n        end\n    else\n        hide\n    end\nend\n\n@Enemy2\n\ndefine Glide (x) (y)\nrepeat until <<(round (x position)) = (x)> and <(round (y position)) = (y)>>\n    set [mx v] to (((x) - (x position)) / (15))\n    set [my v] to (((y) - (y position)) / (15))\n    change x by (mx)\n    change y by (my)\n    change y by (3)\n    change y by (-3)\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [reset v]\ngo to [front v] layer\nif <(level) = [4]> then\n    show\n    repeat until <not <(level) = [4]>>\n        Glide [117] [-156]\n        Glide [15] [-156]\n    end\nelse\n    if <(level) = [6]> then\n        show\n        repeat until <not <(level) = [6]>>\n            Glide [117] [-156]\n            Glide [15] [-156]\n        end\n    else\n        hide\n    end\nend\n\n@Thumbnail\n\nwhen flag clicked\nset [ghost v] effect to (100)\nforever\n    set [timer v] to (timer)\nend\n\nwhen [timer v] > (timer)\ngo to [front v] layer\n\n@Spin\n\nwhen flag clicked\nhide\nforever\n    go to [back v] layer\nend\n\ndefine Clone at (x) (y)\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\n\nwhen I receive [reset v]\nif  then\n    delete this clone\nend\nif <(level) = [7]> then\n    Clone at [-175] [-160]\n    Clone at [-75] [-160]\n    Clone at [75] [-160]\n    Clone at [175] [-160]\nelse\nend\n\nwhen I start as a clone\nshow\nforever\n    turn right (3) degrees\nend\n\n