Simple A Pen Platformer

Instructions: It is really easy to play:\nUse arrow keys and get to the blue portal.\nThis was made 99% using pen.\nAll levels are possible.\nOnly 9 levels for now, I will try to make more.\nIt was complicated to make and this is one of my best platformer game till now.\nNOTE:(Wall jump is really slow, sorry for that)

@Stage\n\nwhen flag clicked\nforever\n    play sound [y2mate v] until done\nend\n\n@Sprite1\n\nwhen flag clicked\nset [tick v] to [0]\nset [level v] to [1]\n\ndefine Ground\npen up\nset pen color to (#995900)\nset pen shade to (30)\nset pen size to (60)\ngo to x: (-240) y: (-150)\npen down\ngo to x: (240) y: (-150)\npen up\nset pen shade to (40)\nset pen size to (10)\ngo to x: (-178) y: (-131)\npen down\npen up\nset pen size to (15)\ngo to x: (202) y: (-157)\npen down\npen up\nset pen size to (20)\ngo to x: (-84) y: (-148)\npen down\npen up\nset pen size to (10)\ngo to x: (68) y: (-141)\npen down\npen up\nset pen color to (#5cb712)\nset pen size to (14)\nset pen shade to (40)\ngo to x: (-240) y: (-114)\npen down\ngo to x: (240) y: (-114)\npen up\nset pen color to (#5cb712)\nset pen size to (6)\nset pen shade to (20)\ngo to x: (-240) y: (-118)\npen down\ngo to x: (240) y: (-118)\npen up\n\ndefine Level 1\nDestination at (201) (-79)\nDraw Line From (-77) (-111) to (-77) (1)\nGround\n\ndefine Destination at (x1) (y1)\npen up\nset pen color to (#4a6cd4)\nset pen size to (30)\nset pen shade to (70)\ngo to x: (x1) y: ((y1) + ((5) * ([sin v] of ((tick) * (10)) )))\npen down\npen up\n\nwhen flag clicked\nerase all\nforever\n    change [tick v] by (1)\nend\n\ndefine Level 2\nDestination at (162) (110)\nDraw Line From (-92) (-60) to (-30) (-60)\nDraw Line From (22) (1) to (84) (1)\nDraw Line From (130) (63) to (193) (63)\nGround\n\ndefine Level 3\nDraw Lava From (-33) (3) to (-33) (-110)\nDraw Lava From (63) (180) to (63) (30)\nDraw Line From (-40) (-111) to (-40) (3)\nDraw Line From (70) (180) to (70) (30)\nDestination at (201) (-79)\nDraw Lava From (60) (-105) to (100) (-105)\nGround\n\ndefine Level 4\nDraw Lava From (-137) (-106) to (1) (-106)\nDraw Lava From (-128) (48) to (-128) (-152)\nDraw Lava From (-9) (-152) to (-9) (-80)\nDraw Lava From (69) (180) to (69) (-40)\nDraw Lava From (89) (-40) to (89) (180)\nDraw Line From (-138) (-114) to (-138) (50)\nDraw Line From (1) (-114) to (1) (120)\nDraw Line From (79) (180) to (79) (-40)\nDraw Line From (160) (101) to (240) (101)\nDraw Line From (160) (101) to (160) (-114)\nDestination at (194) (137)\nGround\n\nwhen flag clicked\nforever\n    if <(Level) = [1]> then\n        erase all\n        Level 1\n    end\n    if <(Level) = [2]> then\n        erase all\n        Level 2\n    end\n    if <(Level) = [3]> then\n        erase all\n        Level 3\n    end\n    if <(Level) = [4]> then\n        erase all\n        Level 4\n    end\n    if <(Level) = [5]> then\n        erase all\n        Level 5\n    end\n    if <(Level) = [6]> then\n        erase all\n        Level 6\n    end\n    if <(Level) = [7]> then\n        erase all\n        Level 7\n    end\n    if <(Level) = [8]> then\n        erase all\n        Level 8\n    end\n    if <(Level) = [9]> then\n        erase all\n        Level 9\n    end\n    if <(Level) = [10]> then\n        erase all\n        Last level\n    end\nend\n\ndefine Level 5\nDraw Lava From (-98) (-114) to (-98) (30)\nDraw Lava From (-91) (-106) to (-29) (-106)\nDraw Lava From (94) (20) to (94) (94)\nDraw Bouncy From (-188) (-106) to (-91) (-106)\nDraw Line From (-88) (-114) to (-88) (50)\nDraw Line From (-88) (50) to (-50) (50)\nDraw Line From (15) (180) to (15) (-33)\nDraw Line From (104) (-114) to (104) (94)\nDraw Line From (104) (94) to (75) (94)\nDraw Line From (172) (13) to (240) (13)\nDestination at (206) (50)\nGround\n\ndefine Draw Small Line From (x1) (y1) to (x2) (y2) (pensize)\npen up\nset pen color to (#5cb712)\nset pen shade to (40)\nset pen size to (pensize)\ngo to x: (x1) y: (y1)\npen down\ngo to x: (x2) y: (y2)\npen up\n\ndefine Level 7\nDraw Lava From (-139) (-106) to (0) (-106)\nDraw Lava From (-10) (-20) to (-10) (100)\nDraw Lava From (-10) (90) to (-123) (90)\nDraw Lava From (-123) (90) to (-123) (50)\nDraw Lava From (-65) (100) to (-65) (150)\nDraw Lava From (65) (-49) to (65) (1)\nDraw Lava From (115) (55) to (115) (100)\nDraw Bouncy From (0) (-106) to (47) (-106)\nDraw Small Line From (0) (-105) to (0) (100) (14)\nDraw Small Line From (-70) (-59) to (-4) (-59) (14)\nDraw Small Line From (-240) (-2) to (-168) (-2) (14)\nDraw Small Line From (-130) (100) to (0) (100) (14)\nDraw Small Line From (-130) (100) to (-130) (50) (14)\nDraw Small Line From (60) (-50) to (60) (180) (14)\nDraw Small Line From (120) (-114) to (120) (100) (14)\nDraw Small Line From (121) (46) to (240) (46) (14)\nDestination at (180) (86)\nGround\n\ndefine Level 8\nDraw Lava From (-30) (-106) to (-5) (-106)\nDraw Lava From (-52) (41) to (-45) (41)\nDraw Lava From (-177) (-30) to (-177) (-28)\nDraw Lava From (-52) (53) to (-45) (53)\nDraw Lava From (1) (53) to (17) (53)\nDraw Lava From (1) (41) to (17) (41)\nDraw Bouncy From (-52) (-30) to (-45) (-30)\nDraw Small Line From (-240) (-36) to (100) (-36) (14)\nDraw Small Line From (240) (47) to (-147) (47) (14)\nDraw Small Line From (-147) (47) to (-147) (35) (14)\nElevator Wall at (168) (0)\nDestination at (169) (82)\nGround\n\nwhen flag clicked\nset [elevator v] to [0]\nforever\n    repeat (10)\n        change [elevator v] by (10)\n    end\n    repeat (20)\n        change [elevator v] by (-10)\n    end\n    repeat (10)\n        change [elevator v] by (10)\n    end\nend\n\ndefine Level 9\nDraw Lava From (-209) (-37) to (-209) (-42)\nDraw Lava From (-179) (-114) to (-179) (-108)\nDraw Lava From (-149) (-37) to (-149) (-42)\nDraw Lava From (-119) (-114) to (-119) (-108)\nDraw Lava From (-89) (-37) to (-89) (-42)\nDraw Lava From (-59) (-114) to (-59) (-108)\nDraw Lava From (-29) (-37) to (-29) (-42)\nDraw Lava From (1) (-114) to (1) (-108)\nDraw Lava From (-239) (30) to (-239) (36)\nDraw Lava From (-179) (30) to (-179) (36)\nDraw Lava From (-119) (30) to (-119) (36)\nDraw Lava From (-59) (30) to (-59) (36)\nDraw Lava From (1) (30) to (1) (36)\nDraw Small Line From (-240) (-36) to (50) (-36) (14)\nDraw Small Line From (-240) (30) to (50) (30) (14)\nDraw Small Line From (50) (-36) to (50) (30) (14)\nDraw Small Line From (-149) (102) to (-89) (110) (14)\nDraw Small Line From (-29) (115) to (31) (100) (14)\nDraw Small Line From (91) (113) to (240) (113) (14)\nElevator Wall at (120) (20)\nDestination at (200) (150)\nGround\n\ndefine Last level\nGround\n\ndefine Level 6\nDraw Small Line From (-160) (-114) to (-160) (90) (14)\nDraw Small Line From (-160) (20) to (-110) (20) (14)\nDraw Lava From (-65) (-60) to (-87) (-60)\nDraw Lava From (-60) (10) to (-60) (10)\nDraw Lava From (3) (90) to (3) (70)\nDraw Lava From (81) (53) to (81) (100)\nDraw Small Line From (81) (50) to (81) (-114) (14)\nDraw Small Line From (-60) (-60) to (-60) (180) (14)\nDraw Small Line From (11) (-114) to (11) (100) (14)\nDraw Small Line From (11) (100) to (-10) (100) (14)\nDraw Small Line From (39) (53) to (17) (53) (14)\nDraw Small Line From (39) (53) to (150) (53) (14)\nDraw Small Line From (150) (-114) to (150) (100) (14)\nDraw Small Line From (150) (100) to (240) (100) (14)\nDestination at (190) (130)\nGround\n\ndefine Draw Line From (x1) (y1) to (x2) (y2)\npen up\nset pen color to (#5cb712)\nset pen shade to (40)\nset pen size to (14)\ngo to x: (x1) y: (y1)\npen down\ngo to x: (x2) y: (y2)\npen up\n\ndefine Draw Lava From (x1) (y1) to (x2) (y2)\npen up\nset pen color to (#ff0000)\nset pen shade to (70)\nset pen size to (14)\ngo to x: (x1) y: (y1)\npen down\ngo to x: (x2) y: (y2)\npen up\n\ndefine Draw Bouncy From (x1) (y1) to (x2) (y2)\npen up\nset pen color to (#8a55d7)\nset pen shade to (80)\nset pen size to (14)\ngo to x: (x1) y: (y1)\npen down\ngo to x: (x2) y: (y2)\npen up\n\ndefine Elevator Wall at (x original point) (y original point)\npen up\nset pen color to (#5cb712)\nset pen shade to (40)\nset pen size to (14)\ngo to x: ((x original point) + (0)) y: ((y original point) + ((0.25) * (elevator)))\npen down\ngo to x: ((x original point) + (0)) y: ((y original point) + (((0.25) * (elevator)) - (70)))\npen up\n\n@Sprite3\n\ndefine Respawn\nset [xv v] to [0]\nset [yv v] to [0]\nclear graphic effects\nset size to (101) %\ngo to x: (-200) y: (-86)\nshow\n\nwhen flag clicked\nset size to (101) %\nhide\nwait (0.1) seconds\nRespawn\nforever\n    change [yv v] by (-1)\n    change y by (yv)\n    Touch Ground <(yv) > [0]>\n    set [xv v] to ((xv) * (0.67))\n    if <key (left arrow v) pressed?> then\n        change [xv v] by (-1.7)\n    end\n    if <key (right arrow v) pressed?> then\n        change [xv v] by (1.7)\n    end\n    if <([abs v] of (xv) ) > [0.3]> then\n        Run (xv) WJ (15) (6)\n    end\n    if <<key (up arrow v) pressed?> and <(falling?) < [3]>> then\n        set [yv v] to [11]\n        set [falling? v] to [6]\n        start sound [Jump v]\n    end\n    if <touching color (#b37fff)?> then\n        set [test v] to [1]\n        set [yv v] to [19]\n        set [falling? v] to [10]\n    end\n    if <touching color (#547eff)?> then\n        change [level v] by (1)\n        Respawn\n    end\n    if <touching color (#ff5454)?> then\n        repeat (10)\n            change [ghost v] effect by (10)\n            change [pixelate v] effect by (10)\n        end\n        start sound [Crunch v]\n        Respawn\n    end\n    if <(y position) < [-120]> then\n        Respawn\n    end\nend\n\ndefine Touch Ground <up?>\nchange [falling? v] by (1)\nrepeat until <not <touching color (#5ed400)?>>\n    if <up?> then\n        change y by (-1)\n    else\n        change y by (1)\n        set [falling? v] to [0]\n    end\n    set [yv v] to [0]\nend\n\ndefine Run (speed) WJ (x) (y)\nchange x by (speed)\npoint in direction (0)\nset [slope v] to [0]\nrepeat until <<(SLOPE) = [8]> or <not <touching color (#5ed400)?>>>\n    change y by (1)\n    change [slope v] by (1)\nend\nif <(SLOPE) = [8]> then\n    change y by ((0) - (SLOPE))\n    if <key (up arrow v) pressed?> then\n        if <<key (right arrow v) pressed?> or <key (left arrow v) pressed?>> then\n            if <(speed) < [0]> then\n                set [xv v] to (x)\n            else\n                set [xv v] to ((0) - (x))\n            end\n            set [yv v] to (y)\n        end\n    end\n    repeat until <not <touching color (#5ed400)?>>\n        if <(speed) > [0]> then\n            change x by (-1)\n        else\n            change x by (1)\n        end\n    end\nend\n\n@tn\n\nwhen flag clicked\nforever\n    go to x: (0) y: (0)\n    set [ghost v] effect to (100)\n    show\nend\n\n@Sprite2\n\nwhen flag clicked\nforever\n    set y to ((([sin v] of ((tick) * (5)) ) * (10)) + (50))\nend\n\nwhen flag clicked\nhide\ngo to x: (0) y: (50)\nwait (1) seconds\nwait until <(Level) = [10]>\nset size to (5) %\nshow\nrepeat until <(round (size)) = [110]>\n    change size by (((110) - (size)) / (8))\nend\n\n