Cute Cube Adventure 1 (Platformer Series)

Instructions: Cute Cube Adventure 1 (Platformer Series)\nFRONT PAGED ON 2/20/2019 thanks, @-PixelParty-!!\nCute Cube Adventure 2: https://scratch.mit.edu/projects/289001637/\nCute Cube Adventure 3: https://scratch.mit.edu/projects/291836076/\nSetting:\nHey ya'll! Welcome to Cute Cube Adventure 1, the first part in a platformer series!! Today, Cute Cube wants to take a hike in the peaceful hills of Cube Land! Unfortunately, there are some hard peices of terrain that could hurt Cute Cube. Can you help him have a fun and safe time up in the hills?\n \nInstructions:\n--Use your arrow keys to move--\n--Press the R key to restart any level--\n--Press the S key to skip any level--\n--Dodge the red spikes and other obstacles to help Cute Cube have a fun time in the hills of Cube Land!--\n--Have fun!!--

@Stage\n\nwhen flag clicked\nswitch backdrop to (backdrop1 v)\n\nwhen I receive [message1 v]\nswitch backdrop to (backdrop2 v)\n\nwhen [s v] key pressed\nswitch backdrop to (next backdrop v)\n\nwhen flag clicked\nforever\n    play sound [Sidewalk Leafs - KnightKit12 v] until done\nend\n\n@Cute Cube\n\nwhen flag clicked\nset rotation style [left-right v]\nset [y spawn v] to [-115]\nset [x spawn v] to [-218]\ngo to x: (X Spawn) y: (Y Spawn)\nshow\nset size to (50) %\nset [x v] to [0]\nset [y v] to [0]\nforever\n    Platformer engine\nend\n\ndefine Platformer engine\nchange [y v] by (-0.5)\nif <key (left arrow v) pressed?> then\n    change [x v] by (-1)\n    point in direction (-90)\nend\nif <key (right arrow v) pressed?> then\n    point in direction (90)\n    change [x v] by (1)\nend\nset [x v] to ((x) * (0.9))\nchange x by (x)\nif <touching color (#000000)?> then\n    change y by (1)\n    if <touching color (#000000)?> then\n        change y by (1)\n        if <touching color (#000000)?> then\n            change y by (1)\n            if <touching color (#000000)?> then\n                change y by (1)\n                if <touching color (#000000)?> then\n                    change y by (1)\n                    if <touching color (#000000)?> then\n                        change y by (1)\n                        if <touching color (#000000)?> then\n                            change y by (-6)\n                            change x by ((x) * (-1))\n                            if <key (up arrow v) pressed?> then\n                                set [y v] to [10]\n                                if <(x) > [0]> then\n                                    set [x v] to [-10]\n                                else\n                                    set [x v] to [10]\n                                end\n                            else\n                                set [x v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\nchange y by (y)\nif <touching color (#000000)?> then\n    change y by ((y) * (-1))\n    set [y v] to [0]\nend\nchange y by (-0.5)\nif <<touching color (#000000)?> and <key (up arrow v) pressed?>> then\n    set [y v] to [10]\nend\nchange y by (0.5)\nif <touching color (#ff0000)?> then\n    go to x: (X Spawn) y: (Y Spawn)\nend\nif <touching color (#ff00eb)?> then\n    set [y v] to [16]\nend\n\nwhen backdrop switches to [backdrop1 v]\nhide\n\nwhen backdrop switches to [backdrop2 v]\nshow\n\nwhen [r v] key pressed\nset [y spawn v] to [-115]\nset [x spawn v] to [-218]\ngo to x: (X Spawn) y: (Y Spawn)\nshow\nset size to (50) %\nset [x v] to [0]\nset [y v] to [0]\n\nwhen flag clicked\nforever\n    if <(x position) > [234]> then\n        switch backdrop to (next backdrop v)\n        go to x: (-218) y: (-115)\n    end\nend\n\nwhen backdrop switches to [backdrop8 v]\ngo to x: (-218) y: (-115)\n\nwhen backdrop switches to [backdrop8 v]\nif <key (r v) pressed?> then\n    go to x: (-218) y: (-115)\nend\n\nwhen flag clicked\nforever\n    if <(y position) < [-171]> then\n        go to x: (-218) y: (-115)\n    end\nend\n\nwhen backdrop switches to [backdrop21 v]\nhide\n\n@Play Game Button\n\nwhen flag clicked\nshow\n\nwhen backdrop switches to [backdrop2 v]\nhide\n\nwhen flag clicked\nforever\n    if <touching (mouse-pointer v)?> then\n        repeat (4)\n            change size by (3)\n        end\n        wait until <not <touching (mouse-pointer v)?>>\n        repeat (4)\n            change size by (-3)\n        end\n    end\nend\n\nwhen this sprite clicked\nbroadcast (message1 v)\n\n@Red Block\n\nwhen backdrop switches to [backdrop11 v]\nshow\nset size to (100) %\ncreate clone of (_myself_ v)\ngo to x: (21) y: (30)\nforever\n    glide (1) secs to x: (21) y: (220)\n    glide (.2) secs to x: (21) y: (30)\nend\n\nwhen I start as a clone\nshow\ngo to x: (260) y: (30)\nforever\n    glide (1) secs to x: (260) y: (220)\n    glide (.2) secs to x: (260) y: (30)\nend\n\nwhen backdrop switches to [backdrop12 v]\ndelete this clone\n\nwhen backdrop switches to [backdrop12 v]\nhide\n\nwhen flag clicked\nhide\n\nwhen backdrop switches to [backdrop1 v]\nhide\n\n@Red Block 2\n\nwhen backdrop switches to [backdrop12 v]\nshow\nset size to (50) %\ngo to x: (268) y: (61)\nforever\n    glide (.5) secs to x: (-20) y: (61)\n    glide (.5) secs to x: (268) y: (61)\nend\n\nwhen flag clicked\nhide\n\nwhen backdrop switches to [backdrop13 v]\nhide\n\n