Infinite Slope Platformer

Instructions: (originally shared Oct 22, 2022)\nThe first pen game I ever tried to make!\nI am aware of problems, I will try to fix them.\n__\nThis is sort of a test for slope detection, arrow keys to move through levels.(Never ending)\nAlso might unshare this project and make it into a bigger game.\n__\nDᴏɴ'ᴛ ғᴏʀɢᴇᴛ ᴛᴏ ❤️ &⭐️ ɪғ ʏᴏᴜ ᴇɴᴊᴏʏᴇᴅ :D

@Stage\n\nwhen flag clicked\nswitch backdrop to (normal v)\nforever\n    play sound [Spring In My Step v] until done\nend\n\n@Player\n\ndefine Collision\nrepeat until <not <touching color (#66c74b)?>>\n    set [y vel v] to [0]\n    change y by (.05)\nend\n\nwhen I receive [reset v]\ngo to x: (-180) y: (0)\nset [x vel v] to [0]\nset [y vel v] to [0]\nwait (1) seconds\nforever\n    change [y vel v] by (-1)\n    change y by (y vel)\n    if <touching color (#66c74b)?> then\n        Collision\n        if <key (up arrow v) pressed?> then\n            set [y vel v] to [12]\n        end\n    end\n    change [x vel v] by (<key (right arrow v) pressed?> - <key (left arrow v) pressed?>)\n    set [x vel v] to ((x vel) * (0.9))\n    change x by (x vel)\n    turn right (15) degrees\n    if <touching color (#cfcfcf)?> then\n        reset\n    end\nend\n\ndefine reset\ngo to x: (-180) y: (0)\nset [x vel v] to [0]\nset [y vel v] to [0]\n\n@Pen Ground\n\nwhen flag clicked\nbroadcast (Reset v)\nerase all\nset pen size to (20)\npen up\nhide\ndelete all of [lenght v]\ndelete all of [wave v]\nforever\n    Draw\n    wait until <([x position v] of [player v]) > [220]>\n    delete all of [wave v]\n    delete all of [lenght v]\n    broadcast (Reset v)\n    erase all\n    pen up\nend\n\ndefine Draw\nset pen color to (#66c74b)\ngo to x: (-237) y: (-50)\nset [wave v] to [90]\nset [lenght v] to [10]\nrepeat until <(x position) > [220]>\n    pen down\n    repeat (lenght)\n        point in direction (wave)\n        move (10) steps\n    end\n    set [lenght v] to (pick random (7) to (14))\n    set [wave v] to (pick random (45) to (130))\n    add (lenght) to [lenght v]\n    add (wave) to [wave v]\nend\npen up\nset [letter v] to [0]\nset pen color to (#57b33e)\ngo to x: (-237) y: (-70)\nrepeat (10)\n    pen down\n    point in direction (90)\n    move (10) steps\nend\nrepeat until <(x position) > [220]>\n    change [letter v] by (1)\n    repeat (item (letter) of [lenght v])\n        point in direction (item (letter) of [wave v])\n        move (10) steps\n    end\nend\npen up\nset [letter v] to [0]\nset pen color to (#b08d61)\ngo to x: (-237) y: (-90)\nrepeat (10)\n    pen down\n    point in direction (90)\n    move (10) steps\nend\nrepeat until <(x position) > [220]>\n    change [letter v] by (1)\n    repeat (item (letter) of [lenght v])\n        point in direction (item (letter) of [wave v])\n        move (10) steps\n    end\nend\npen up\nset [letter v] to [0]\ngo to x: (-237) y: (-30)\nrepeat (10)\n    point in direction (90)\n    move (10) steps\nend\nrepeat until <(x position) > [220]>\n    change [letter v] by (1)\n    switch costume to (spike v)\n    stamp\n    repeat (item (letter) of [lenght v])\n        point in direction (item (letter) of [wave v])\n        move (10) steps\n    end\nend\n\n@THumbNAil\n\nwhen flag clicked\ngo to x: (0) y: (0)\nforever\n    set [ghost v] effect to (100)\n    go to [front v] layer\nend\n\n