Birthday Card Platformer
@Stage\n\n@PenTrail\n\nwhen I start as a clone\n​​log​​ (x position)\n​​log​​ (y position)\nset [temp v] to [1]\nset [temp2 v] to (PDIR)\nset [temp3 v] to [8.2]\nif <(GRAPHICS) = [0]> then\n    set [temp4 v] to [4]\nelse\n    set [temp4 v] to [8]\nend\nrepeat (temp4)\n    if <(~TURBO?) = [true]> then\n        wait (0.01) seconds\n    end\n    Draw Trail (temp) (temp2) (temp3)\n    change [temp v] by (4)\n    change [temp3 v] by (-1)\nend\n​​log​​ (x position)\n​​log​​ (y position)\n​​log​​ [--]\ndelete this clone\n\ndefine Draw Trail (brightness) (cdir) (size)\nset pen color to (#ffffff)\nset pen size to (size)\nchange pen (brightness v) by ((0) - (brightness))\nchange x by (5)\nchange y by (4)\npen down\npen up\nchange x by (-5)\nchange y by (-4)\npen down\nchange x by (10)\nchange y by (8)\nchange x by (-10)\nchange y by (-8)\npen up\nset pen color to (#1d1d1d)\nset pen size to (4)\nchange pen (brightness v) by ((0) - (brightness))\nif <<(brightness) = [1]> and <(cdir) > [0]>> then\n    change x by (4)\n    change y by (4)\n    pen down\n    pen up\n    change x by (6)\n    pen down\n    pen up\n    change x by (-10)\n    change y by (-4)\nelse\n    if <<(brightness) = [1]> and <(cdir) < [0]>> then\n        change x by (-1)\n        change y by (4)\n        pen down\n        pen up\n        change x by (6)\n        pen down\n        pen up\n        change x by (-5)\n        change y by (-4)\n    end\nend\n\nwhen flag clicked\nset [oldlevel v] to [0]\nhide\n\nwhen I receive [level change v]\ndelete this clone\n\nwhen I receive [start v]\nforever\n    go to (penplayer v)\n    if <not <(oldLevel) = (Level)>> then\n        go to (penplayer v)\n        set [oldlevel v] to (Level)\n        delete this clone\n    end\nend\n\n@PenPlayer\n\nwhen flag clicked\nerase all\nset rotation style [don't rotate v]\nset [level v] to [0]\nset [frame v] to [0]\nset [waitframe v] to [0]\nset [level v] to [1]\nbroadcast (Level Change v)\nhide\nReset\n\ndefine Draw Player\nset pen color to (#ffffff)\nset pen size to (11)\nerase all\npen down\npen up\npen down\nchange x by (10)\nchange y by (8)\nchange x by (-10)\nchange y by (-8)\npen up\nset pen color to (#1d1d1d)\nset pen size to (4)\nif <(direction) = [90]> then\n    change x by (4)\n    change y by (4)\n    pen down\n    pen up\n    change x by (6)\n    pen down\n    pen up\n    change x by (-10)\n    change y by (-4)\nelse\n    change x by (-1)\n    change y by (4)\n    pen down\n    pen up\n    change x by (6)\n    pen down\n    pen up\n    change x by (-5)\n    change y by (-4)\nend\n\ndefine Collision (division)\nchange [inair? v] by (1)\nchange [frame v] by (1)\nchange [counter v] by (1)\nrepeat (division)\n    set [last value v] to (x position)\n    change x by ((x velocity) / (division))\n    Touching [solid] ?\n    if <(touching?) > [0]> then\n        Collision X\n    end\n    set [last value v] to (y position)\n    change y by ((y velocity) / (division))\n    Touching [solid] ?\n    if <(touching?) > [0]> then\n        Collision Y\n    end\nend\n\ndefine Controls\nif <<key (up arrow v) pressed?> or <<key (right arrow v) pressed?> or <key (left arrow v) pressed?>>> then\n    set [@up-key v] to [up arrow]\n    set [@left-key v] to [left arrow]\n    set [@right-key v] to [right arrow]\nelse\n    if <<key (w v) pressed?> or <<key (a v) pressed?> or <key (d v) pressed?>>> then\n        set [@up-key v] to [w]\n        set [@left-key v] to [a]\n        set [@right-key v] to [d]\n    end\nend\nset [@keyx v] to (<key ((@RIGHT-KEY) v) pressed?> - <key ((@LEFT-KEY) v) pressed?>)\nif <key ((@UP-KEY) v) pressed?> then\n    Touching [solid] ?\n    if <<(walljump) > [0]> and <<not <(@KEYX) = [0]>> and <(inair?) > [7]>>> then\n        turn right (180) degrees\n        set [y velocity v] to (((0) - (#GRAVITY)) * (8))\n        set [x velocity v] to (((direction) / (90)) * (9))\n        change [walljump#s v] by (1)\n        if <<((tempI) + (1)) = (frame)> and <((tempII) + (1)) = (walljump#s)>> then\n            turn right (180) degrees\n            set [x velocity v] to (((direction) / (90)) * (4))\n        end\n        set [tempi v] to (frame)\n        set [tempii v] to (walljump#s)\n    end\n    if <(jump held?) < [8]> then\n        change [jump held? v] by (1)\n    end\n    if <<(jump held?) < [8]> and <(inair?) < [5]>> then\n        set [y velocity v] to (((0) - (#GRAVITY)) * (#JUMPFORCE))\n    end\nelse\n    set [jump held? v] to [0]\nend\nif <key ((@LEFT-KEY) v) pressed?> then\n    change [x velocity v] by ((0) - (#SPEED))\n    point in direction (-90)\nend\nif <key ((@RIGHT-KEY) v) pressed?> then\n    change [x velocity v] by (#SPEED)\n    point in direction (90)\nend\nchange [y velocity v] by (#GRAVITY)\nset [walljump v] to [0]\nset [x velocity v] to ((x velocity) * (#RESISTANCE))\n\ndefine Reset\nset [inair? v] to [99]\nset [y velocity v] to [0]\nset [x velocity v] to [0]\nset [walljump#s v] to [0]\nset [jump held? v] to [1]\ngo to x: (-210) y: (-50)\nset [#gravity v] to [-1]\nset [#resistance v] to [0.75]\nset [#jumpforce v] to [8.25]\nset [#speed v] to [1.75]\n\ndefine Collision X\nchange y by ((0) - (#GRAVITY))\nTouching [solid] ?\nif <(touching?) > [0]> then\n    change y by ((0) - (#GRAVITY))\n    Touching [solid] ?\n    if <(touching?) > [0]> then\n        change y by ((0) - (#GRAVITY))\n        Touching [solid] ?\n        if <(touching?) > [0]> then\n            change y by ((#GRAVITY) * (3))\n            set x to (last value)\n            set [x velocity v] to [0]\n            set [walljump v] to [1]\n        end\n        set [x velocity v] to ((x velocity) * (0.8))\n    end\n    set [x velocity v] to ((x velocity) * (0.8))\nend\nset [x velocity v] to ((x velocity) * (0.95))\n\ndefine Collision Y\nset y to (last value)\nif <(#GRAVITY) = [-1]> then\n    if <(y velocity) > [0]> then\n        set [y velocity v] to [0]\n        stop [this script v]\n    end\nelse\n    if <[0] > (y velocity)> then\n        set [y velocity v] to [0]\n        stop [this script v]\n    end\nend\nset [inair? v] to [0]\nchange y by (#GRAVITY)\nmove ((0) - (#GRAVITY)) steps\nTouching [solid] ?\nif <(touching?) > [0]> then\n    set [y velocity v] to [0]\n    change y by ((0) - (#GRAVITY))\n    move (#GRAVITY) steps\nelse\n    if <not <(@KEYX) = [0]>> then\n        set [y velocity v] to ((y velocity) * (0.6))\n    else\n        set [y velocity v] to [0]\n        change y by ((0) - (#GRAVITY))\n        move (#GRAVITY) steps\n    end\nend\n\nwhen I receive [tick 2 v]\nTouching [lava] ?\nif <(touching?) > [0]> then\n    Reset\nend\nTouching [pad] ?\nif <(touching?) > [0]> then\n    set [y velocity v] to [17]\n    set [inair? v] to [99]\nend\nTouching [gravity] ?\nif <(touching?) > [0]> then\n    if <not <(waitframe) > ((frame) + (-10))>> then\n        if <(#GRAVITY) = [-1]> then\n            change [y velocity v] by (1)\n            set [#gravity v] to [1]\n            set [waitframe v] to (frame)\n            set [inair? v] to [99]\n        else\n            set [#gravity v] to [-1]\n            set [waitframe v] to (frame)\n            set [inair? v] to [99]\n        end\n    end\nend\nLevel Change\nif <not <(waitframe) > ((frame) + (-25))>> then\n    if <key (r v) pressed?> then\n        Reset\n        set [waitframe v] to (frame)\n    end\nend\n\nwhen I receive [tick 3 v]\nControls\nCollision (([abs v] of (x velocity) ) + ([abs v] of (y velocity) ))\nset [pdir v] to (direction)\n\ndefine Level Change\nif <(x position) > [230]> then\n    change [level v] by (1)\n    if <(Level) = [8]> then\n        set y to (0)\n    end\n    set x to (-235)\n    broadcast (Level Change v)\n    set [#gravity v] to [-1]\nend\n\nwhen I receive [tick 1 v]\nTouching [ice] ?\nif <(touching?) > [0]> then\n    set [#resistance v] to [0.92]\n    set [#speed v] to [0.8]\nelse\n    set [#resistance v] to [0.75]\n    set [#speed v] to [1.75]\nend\n\ndefine Touching (item) ?\nset rotation style [don't rotate v]\nchange x by (5)\nchange y by (2)\nif <(item) = [solid]> then\n    if <touching color (#4edc59)?> then\n        set [touching? v] to [1]\n    else\n        set [touching? v] to [0]\n    end\nelse\n    if <(item) = [lava]> then\n        if <touching color (#ff4e4e)?> then\n            set [touching? v] to [1]\n        else\n            set [touching? v] to [0]\n        end\n    else\n        if <(item) = [pad]> then\n            if <touching color (#eae32f)?> then\n                set [touching? v] to [1]\n            else\n                set [touching? v] to [0]\n            end\n        else\n            if <(item) = [gravity]> then\n                if <touching color (#ff6ceb)?> then\n                    set [touching? v] to [1]\n                else\n                    set [touching? v] to [0]\n                end\n            else\n                if <(item) = [ice]> then\n                    if <touching color (#60dfff)?> then\n                        set [touching? v] to [1]\n                    else\n                        set [touching? v] to [0]\n                    end\n                else\n                    set [touching? v] to [0]\n                end\n            end\n        end\n    end\nend\nchange y by (-2)\nchange x by (-5)\n\nwhen I receive [tick 1 v]\nforever\n    wait (1) seconds\n    set [fps v] to (join [FPS:] (join (counter) [    Lag?]))\n    if <(counter) > [30]> then\n        set [fps v] to (join [FPS:] (join [30] [    Lag?]))\n    end\n    if <(counter) < [21]> then\n        show variable [fps v]\n    else\n        hide variable [fps v]\n    end\n    set [counter v] to [0]\nend\n\nwhen I receive [start v]\nshow variable [level v]\nswitch backdrop to (blank v)\nforever\n    if <(~TURBO?) = [true]> then\n        wait (0.01) seconds\n    end\n    broadcast (Tick 1 v)\n    broadcast (Tick 2 v)\n    broadcast (Tick 3 v)\n    create clone of (pentrail v)\nend\n\n@PenEngine\n\nwhen flag clicked\nhide\n\ndefine Ground\nset pen size to (200)\nset pen color to (#925500)\ngo to x: (-240) y: (-200)\npen down\nif <(GRAPHICS) = [0]> then\n    set x to (240)\nelse\n    repeat until <(x position) = [240]>\n        change x by (1)\n        change pen (brightness v) by (0.05)\n    end\nend\npen up\nset pen color to (#4edc59)\nset pen size to (20)\ngo to x: (-240) y: (-100)\npen down\ngo to x: (240) y: (-100)\npen up\nset pen color to (#47c14f)\nset pen size to (10)\ngo to x: (-240) y: (-105)\npen down\ngo to x: (240) y: (-105)\npen up\n\ndefine DrawLine (cx) (cy) to: (tx) (yy) draw? (draw?) size: (size)\nif <(draw?) = [1]> then\n    set pen color to (#4edc59)\n    set pen size to (size)\n    go to x: (cx) y: (cy)\n    pen down\n    go to x: (tx) y: (yy)\n    pen up\nend\n\ndefine Level 1\nDrawLine [-50] [-100] to: [-50] [-50] draw? [1] size: [20]\nDrawLine [70] [-40] to: [50] [-40] draw? [1] size: [20]\nDrawLine [10] [-100] to: [-50] [-50] draw? [1] size: [20]\nDrawLine [-160] [-100] to: [-160] [-50] draw? [1] size: [20]\nDrawLine [-160] [100] to: [-160] [10] draw? [1] size: [20]\nDrawLine [-240] [-100] to: [-240] [180] draw? [1] size: [20]\nDraw--Lava [70] [-35] to: [50] [-35] draw? [1] size? [10]\nGround\n\ndefine Level 2\nDrawLine [-100] [-100] to: [-100] [-50] draw? [1] size: [20]\nDrawLine [-50] [-100] to: [120] [100] draw? [0] size: [20]\nDrawLine [50] [-100] to: [50] [100] draw? [1] size: [20]\nDrawLine [-100] [-50] to: [-50] [-100] draw? [1] size: [20]\nGround\n\nwhen I receive [tick 1 v]\nforever\n    Reset\n    if <(Level) = [1]> then\n        Level 1\n    end\n    if <(Level) = [2]> then\n        Level 2\n    end\n    if <(Level) = [3]> then\n        Level 3\n    end\n    if <(Level) = [4]> then\n        Level 4\n    end\n    if <(Level) = [5]> then\n        Level 5\n    end\n    if <(Level) = [6]> then\n        Level 6\n    end\n    if <(Level) = [7]> then\n        Level 7\n    end\n    if <(Level) = [8]> then\n        Level 8\n    end\n    if <(Level) = [9]> then\n        Level 9\n    end\n    if <(Level) = [10]> then\n        Level 10\n    end\n    if <(Level) = [11]> then\n        set [level v] to [You Win!]\n    end\n    if <(Level) = [You Win!]> then\n        Level 11\n    end\n    if <(~TURBO?) = [true]> then\n        wait (0.01) seconds\n    end\nend\n\ndefine Draw--Lava (cx) (cy) to: (tx) (ty) draw? (draw?) size? (size)\nif <(draw?) = [1]> then\n    set pen color to (#ff4e4e)\n    set pen size to (size)\n    go to x: (cx) y: (cy)\n    pen down\n    go to x: (tx) y: (ty)\n    pen up\nend\n\ndefine Level 3\nDrawLine [0] [90] to: [80] [10] draw? [1] size: [20]\nDrawLine [80] [10] to: [80] [180] draw? [1] size: [20]\nDrawLine [-100] [-100] to: [-100] [0] draw? [1] size: [20]\nDraw--Lava [-90] [-86] to: [-90] [0] draw? [1] size? [10]\nDraw--Lava [-90] [-86] to: [100] [-86] draw? [1] size? [10]\nDrawLine [-100] [180] to: [-100] [90] draw? [1] size: [20]\nDrawLine [-100] [90] to: [0] [90] draw? [1] size: [20]\nDrawLine [-65] [90] to: [-65] [60] draw? [1] size: [20]\nDrawLine [-60] [-45] to: [-25] [-45] draw? [1] size: [10]\nDrawLine [0] [-70] to: [-25] [-45] draw? [1] size: [10]\nDraw--Lava [25] [5] to: [80] [5] draw? [1] size? [10]\nDrawLine [0] [-70] to: [15] [-70] draw? [1] size: [10]\nGround\n\ndefine Level 4\nDraw--Lava [-140] [-86] to: [140] [-86] draw? [1] size? [10]\nset [lvltemp v] to [-130]\nDraw###Pad [-165] [-86] to: [-150] [-86] draw? [1] size: [10]\nDraw--Lava ((lvltemp) + (-10)) [-86] to: ((lvltemp) + (-10)) [3] draw? [1] size? [10]\nDraw--Lava ((lvltemp) + (10)) [-86] to: ((lvltemp) + (10)) [3] draw? [1] size? [10]\nDrawLine (lvltemp) [-100] to: (lvltemp) [5] draw? [1] size: [20]\nchange [lvltemp v] by (100)\nDraw--Lava ((lvltemp) + (-10)) [-86] to: ((lvltemp) + (-10)) [20] draw? [1] size? [10]\nDraw--Lava ((lvltemp) + (10)) [-86] to: ((lvltemp) + (10)) [20] draw? [1] size? [10]\nDrawLine (lvltemp) [-100] to: (lvltemp) [20] draw? [1] size: [20]\nchange [lvltemp v] by (100)\nDraw--Lava ((lvltemp) + (-10)) [-86] to: ((lvltemp) + (-10)) [50] draw? [1] size? [10]\nDraw--Lava ((lvltemp) + (10)) [-86] to: ((lvltemp) + (10)) [50] draw? [1] size? [10]\nDrawLine (lvltemp) [-100] to: (lvltemp) [50] draw? [1] size: [20]\nDrawLine [160] [55] to: [160] [180] draw? [1] size: [20]\nDraw--Lava [150] [55] to: [150] [180] draw? [1] size? [10]\nGround\n\ndefine Draw###Pad (cx) (cy) to: (tx) (ty) draw? (draw?) size: (size)\nif <(draw?) = [1]> then\n    set pen color to (#eae330)\n    set pen size to (size)\n    go to x: (cx) y: (cy)\n    pen down\n    go to x: (tx) y: (ty)\n    pen up\nend\n\ndefine Level 5\nset [lvltemp v] to [-86]\nDraw--Lava [-190] [-5] to: [190] [-5] draw? [1] size? [10]\nDraw###Pad ((-170) + (0)) (lvltemp) to: ((-140) + (-10)) (lvltemp) draw? [1] size: [10]\nDraw###Pad ((-170) + (80)) (lvltemp) to: ((-140) + (70)) (lvltemp) draw? [1] size: [10]\nDraw###Pad ((-170) + (160)) (lvltemp) to: ((-140) + (150)) (lvltemp) draw? [1] size: [10]\nDraw###Pad ((-170) + (240)) (lvltemp) to: ((-140) + (230)) (lvltemp) draw? [1] size: [10]\nDraw###Pad ((-170) + (320)) (lvltemp) to: ((-140) + (310)) (lvltemp) draw? [1] size: [10]\nDrawLine [-190] [-12] to: [-190] [180] draw? [1] size: [20]\nDrawLine [190] [-12] to: [190] [180] draw? [1] size: [20]\nDrawLine [-190] [7] to: [190] [7] draw? [1] size: [20]\nGround\n\ndefine Reset\nerase all\nset pen color to (#0083ff)\nset pen size to (370)\ngo to x: (-240) y: (0)\npen down\ngo to x: (240) y: (0)\npen up\n\ndefine Level 6\nDraw--Lava [-50] [-86] to: [-150] [-86] draw? [1] size? [10]\nDrawLine [-100] [-100] to: [-100] [0] draw? [1] size: [20]\nDrawLine [-100] [0] to: [-50] [0] draw? [1] size: [20]\nDrawLine [0] [0] to: [240] [0] draw? [1] size: [20]\nDrawLine [100] [0] to: [100] [180] draw? [1] size: [20]\nDrawLine [-50] [0] to: [-50] [100] draw? [1] size: [20]\nDrawLine [-50] [100] to: [40] [100] draw? [1] size: [20]\nDraw--Lava [-15] [115] to: [25] [115] draw? [1] size? [10]\nDraw--Lava [20] [13] to: [45] [13] draw? [1] size? [10]\nDraw--Lava [20] [-86] to: [70] [-86] draw? [1] size? [10]\nDraw--Lava [170] [-86] to: [170] [-60] draw? [1] size? [20]\nGround\n\ndefine Level 7\nset [lvltemp v] to [-86]\nDraw!!!Ice [-180] [-90] to: [140] [-90] draw? [1] size: [20]\nEraser [-200] [0] to: [-200] [-100] size: [40]\nEraser [165] [0] to: [165] [-100] size: [40]\nDraw--Lava [-170] (lvltemp) to: [-140] (lvltemp) draw? [1] size? [10]\nDraw--Lava [-90] (lvltemp) to: [-50] (lvltemp) draw? [1] size? [10]\nDraw--Lava [0] (lvltemp) to: [40] (lvltemp) draw? [1] size? [10]\nDraw--Lava [90] (lvltemp) to: [130] (lvltemp) draw? [1] size? [10]\nDrawLine [-190] [-12] to: [-190] [180] draw? [1] size: [20]\nDrawLine [140] [-12] to: [140] [180] draw? [1] size: [20]\nDrawLine [-190] [2] to: [140] [2] draw? [1] size: [20]\nDraw###Pad [170] [-86] to: [190] [-86] draw? [1] size: [10]\nDrawLine [200] [-100] to: [200] [100] draw? [1] size: [20]\nGround\n\ndefine Level 8\nset [lvltemp v] to [50]\nDraw--Lava [-61] [89] to: [-65] [80] draw? [1] size? [20]\nDraw--Lava [-175] [13] to: [-61] [13] draw? [1] size? [20]\nDraw--Lava [-140] [50] to: [-96] [50] draw? [1] size? [100]\nDraw--Lava [168] [-18] to: [190] [-18] draw? [1] size? [12]\nDraw--Lava [170] [-12] to: [170] [180] draw? [1] size? [15]\nDraw$$$Gravity [90] [85] to: [110] [85] draw? [1] size? [10]\nDraw--Lava [-50] [0] to: [-50] [100] draw? [1] size? [10]\nDrawLine [-180] [100] to: [180] [100] draw? [1] size: [20]\nDrawLine [180] [-12] to: [180] [180] draw? [1] size: [20]\nDraw$$$Gravity [-140] [-86] to: [-110] [-86] draw? [1] size? [10]\nDraw--Lava [-170] [0] to: [-50] [0] draw? [1] size? [10]\nDraw$$$Gravity [-50] [-86] to: [-20] [-86] draw? [1] size? [10]\nDraw--Lava ((lvltemp) + (-10)) [-86] to: ((lvltemp) + (-10)) [3] draw? [1] size? [10]\nDraw--Lava ((lvltemp) + (10)) [-86] to: ((lvltemp) + (10)) [3] draw? [1] size? [10]\nDrawLine (lvltemp) [-100] to: (lvltemp) [5] draw? [1] size: [20]\nDraw###Pad [170] [-86] to: [190] [-86] draw? [1] size: [10]\nDrawLine [-180] [-12] to: [-180] [180] draw? [1] size: [20]\nDrawLine [180] [-10] to: [240] [-10] draw? [1] size: [20]\nDrawLine [-240] [180] to: [-180] [180] draw? [1] size: [20]\nGround\n\ndefine Level 9\nDrawLine [-150] [-100] to: [-150] [100] draw? [1] size: [20]\nDraw--Lava [-140] [-86] to: [-140] [100] draw? [1] size? [10]\nDrawLine [-30] [-100] to: [-30] [100] draw? [1] size: [20]\nDrawLine [-95] [180] to: [-95] [-40] draw? [1] size: [20]\nDraw--Lava [-40] [-86] to: [-40] [100] draw? [1] size? [10]\nDraw--Lava [-20] [-86] to: [-20] [100] draw? [1] size? [10]\nDrawLine [80] [-100] to: [80] [100] draw? [1] size: [20]\nDrawLine [20] [180] to: [20] [-40] draw? [1] size: [20]\nDraw--Lava [90] [-86] to: [90] [100] draw? [1] size? [10]\nDraw--Lava [70] [-86] to: [70] [100] draw? [1] size? [10]\nDrawLine [240] [-40] to: [240] [180] draw? [1] size: [20]\nGround\n\ndefine Level 10\nset [lvltemp v] to [-86]\nDraw!!!Ice [-180] [-80] to: [180] [-80] draw? [1] size: [20]\nDraw$$$Gravity ((-170) + (0)) (lvltemp) to: ((-150) + (0)) (lvltemp) draw? [1] size? [15]\nDraw$$$Gravity ((-170) + (80)) (lvltemp) to: ((-150) + (80)) (lvltemp) draw? [1] size? [15]\nDraw$$$Gravity ((-170) + (160)) (lvltemp) to: ((-150) + (160)) (lvltemp) draw? [1] size? [15]\nDraw$$$Gravity ((-170) + (240)) (lvltemp) to: ((-150) + (240)) (lvltemp) draw? [1] size? [15]\nDraw$$$Gravity ((-170) + (320)) (lvltemp) to: ((-150) + (320)) (lvltemp) draw? [1] size? [15]\nDraw###Pad [-180] [50] to: [180] [50] draw? [1] size: [15]\nDraw--Lava [-180] [100] to: [180] [100] draw? [1] size? [10]\nDrawLine [-180] [0] to: [-180] [180] draw? [1] size: [20]\nDrawLine [-180] [-10] to: [-240] [-10] draw? [1] size: [20]\nDrawLine [180] [0] to: [180] [180] draw? [1] size: [20]\nDrawLine [180] [-10] to: [240] [-10] draw? [1] size: [20]\nGround\n\ndefine Draw!!!Ice (cx) (cy) to: (tx) (ty) draw? (draw?) size: (size)\nif <(draw?) = [1]> then\n    set pen color to (#60dfff)\n    set pen size to (size)\n    go to x: (cx) y: (cy)\n    pen down\n    go to x: (tx) y: (ty)\n    pen up\nend\n\ndefine Draw$$$Gravity (cx) (cy) to: (tx) (ty) draw? (draw?) size? (size)\nif <(draw?) = [1]> then\n    set pen color to (#ff6ceb)\n    set pen size to (size)\n    go to x: (cx) y: (cy)\n    pen down\n    go to x: (tx) y: (ty)\n    pen up\nend\n\ndefine Eraser (cx) (cy) to: (tx) (ty) size: (size)\nset pen color to (#0083ff)\nset pen size to (size)\ngo to x: (cx) y: (cy)\npen down\ngo to x: (tx) y: (ty)\npen up\n\ndefine Level 11\nset [lvltemp v] to [-86]\nDrawLine [230] [-100] to: [230] [180] draw? [1] size: [20]\nDraw--Lava [-180] (lvltemp) to: [-160] (lvltemp) draw? [1] size? [10]\nDraw!!!Ice [-120] (lvltemp) to: [-100] (lvltemp) draw? [1] size: [10]\nDraw###Pad [-60] (lvltemp) to: [-40] (lvltemp) draw? [1] size: [10]\nDraw$$$Gravity [0] (lvltemp) to: [20] (lvltemp) draw? [1] size? [10]\nDraw$$$Gravity [0] [150] to: [20] [150] draw? [1] size? [10]\nDrawLine [-240] [180] to: [240] [180] draw? [1] size: [50]\nGround\n\n@NOT PEN Title\n\ndefine Smooth Size Change Size: (targetsize) speed: (speed)\nrepeat until <(round (size)) = (round (targetsize))>\n    change size by (((round (targetsize)) - (round (size))) / (speed))\nend\nset size to (targetsize) %\n\ndefine Smooth Glide x: (x) y: (y) speed: (speed)\nrepeat until <<(round (x position)) = (round (x))> and <(round (y position)) = (round (y))>>\n    change x by (((round (x)) - (round (x position))) / (speed))\n    change y by (((round (y)) - (round (y position))) / (speed))\nend\ngo to x: (x) y: (y)\n\nwhen flag clicked\nset [\(title\) v] to [0]\nhide variable [level v]\nswitch backdrop to (title2 v)\nhide\nerase all\ngo to x: (-240) y: (-180)\nset [cloneid v] to [1]\ncreate clone of (_myself_ v)\nwait (0.05) seconds\nchange [cloneid v] by (1)\ncreate clone of (_myself_ v)\nwait (0.25) seconds\nchange [cloneid v] by (1)\ncreate clone of (_myself_ v)\nwait (1) seconds\nchange [cloneid v] by (1)\ncreate clone of (_myself_ v)\nwait until <(\(title\)) = [1]>\nswitch backdrop to (title v)\nchange [cloneid v] by (1)\ncreate clone of (_myself_ v)\nchange [cloneid v] by (1)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nshow\nif <(cloneID) = [1]> then\n    switch costume to (pen text v)\n    Smooth Glide x: (0) y: (30) speed: (4)\n    wait (0.85) seconds\n    delete this clone\nend\nif <(cloneID) = [2]> then\n    switch costume to (platformertext v)\n    Smooth Glide x: (0) y: (-30) speed: (4)\n    wait (0.75) seconds\n    delete this clone\nend\nif <(cloneID) = [3]> then\n    switch costume to (pen v)\n    set y to (100)\n    set x to (-240)\n    repeat until <(x position) > [240]>\n        change x by (15)\n        turn right (pick random (-8) to (7)) degrees\n    end\n    delete this clone\nend\nif <(cloneID) = [4]> then\n    go to [front v] layer\n    switch costume to (screen cover v)\n    set y to (0)\n    set x to (0)\n    set [ghost v] effect to (100)\n    repeat (10)\n        change [ghost v] effect by (-10)\n    end\n    change [\(title\) v] by (1)\n    wait (0) seconds\n    delete this clone\nend\nif <(cloneID) = [5]> then\n    go to [back v] layer\n    switch costume to (all text v)\n    set y to (0)\n    set x to (0)\n    forever\n        repeat (10)\n            change y by (1)\n        end\n        repeat (10)\n            change y by (0.5)\n        end\n        repeat (10)\n            change y by (0.25)\n        end\n        repeat (10)\n            change y by (-1)\n        end\n        repeat (10)\n            change y by (-0.5)\n        end\n        repeat (10)\n            change y by (-0.25)\n        end\n    end\nend\nif <(cloneID) = [6]> then\n    go to [front v] layer\n    switch costume to (button v)\n    go to x: (0) y: (0)\n    wait until <<mouse down?> and <touching (mouse-pointer v)?>>\n    change size by (10)\n    change y by (5)\n    wait until <not <<mouse down?> and <touching (mouse-pointer v)?>>>\n    broadcast (Start v)\n    delete this clone\nend\n\nwhen I receive [start v]\ndelete this clone\n\nwhen I start as a clone\nif <(cloneID) = [5]> then\n    forever\n        Smooth Size Change Size: [85] speed: [7]\n        Smooth Size Change Size: [100] speed: [7]\n    end\nend\n\n@NOT PEN Thumbnail\n\nwhen flag clicked\nshow\nset [ghost v] effect to (100)\nforever\n    reset timer\nend\n\nwhen [timer v] > (0.04)\nhide variable [level v]\nhide variable [fps v]\nhide variable [graphics v]\nhide variable [timer v]\nforever\n    switch costume to (bg v)\n    go to [back v] layer\n    go to x: ((mouse x) * (-0.02)) y: ((mouse y) * (-0.02))\n    reset timer\nend\n\nwhen I start as a clone\nforever\n    go to [front v] layer\n    switch costume to (txt v)\n    go to x: ((mouse x) * (-0.05)) y: ((mouse y) * (-0.05))\nend\n\nwhen [timer v] > (0.04)\ncreate clone of (_myself_ v)\n\n@Turbo?\n\nwhen flag clicked\nset [_tick v] to [0]\nforever\n    change [_tick v] by (1)\nend\n\nwhen flag clicked\nforever\n    set [i1 v] to (_tick)\n    wait (0.01) seconds\n    set [i2 v] to ((_tick) - (i1))\n    set [~turbo? v] to <(i2) > [1]>\nend\n\n
Please heart and star this I worked on it way more than this project: https://scratch.mit.edu/projects/322369867/\n\nIf you go offline on google, you can play a game with the dino by pressing space. Lots of people have remade that game, so I tried something similar but different\n\n\nArrow keys or WASD to move, and don't touch the cacti or the birds. That's about it\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n