Cute Cube Adventure 3 (Platformer Series)

Instructions: Cute Cube Adventure 3 (Platformer Series)\nFRONT PAGED ON 5/3/2019 thanks, @ShimmerSparkle123!!\nPlay Cute Cube Adventure 1: https://scratch.mit.edu/projects/278923025/\nCute Cube Adventure 2: https://scratch.mit.edu/projects/289001637/\nCute Cube Adventure 4: https://scratch.mit.edu/projects/318478945/\nCute Cube Adventure 5: https://scratch.mit.edu/projects/327064233/\n\nSetting:\nHello hello! Welcome to Cute Cube Adventure 3!! Today, Cute Cube has decided to venture out into the frozen terrain of Cube Land. There are lots of dangerous things in the frozen terrain. Can you help Cute Cube stay safe?\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 through the frozen terrain 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 [Abundance - 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 (#ff00af)?> 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: (0)\n    end\nend\n\nwhen backdrop switches to [backdrop8 v]\ngo to x: (-218) y: (0)\n\nwhen backdrop switches to [backdrop8 v]\nif <key (r v) pressed?> then\n    go to x: (-218) y: (0)\nend\n\nwhen flag clicked\nforever\n    if <(y position) < [-171]> then\n        switch backdrop to (next backdrop v)\n        go to x: (-218) y: (0)\n    end\nend\n\nwhen backdrop switches to [backdrop21 v]\nhide\n\nwhen backdrop switches to [backdrop12 v]\ngo to x: (-218) y: (200)\n\nwhen backdrop switches to [backdrop16 v]\nset size to (20) %\n\nwhen backdrop switches to [backdrop14 v]\ngo to x: (-218) y: (200)\n\nwhen backdrop switches to [backdrop20 v]\nset size to (50) %\n\nwhen backdrop switches to [backdrop16 v]\nforever\n    if <key (r v) pressed?> then\n        set size to (20) %\n    end\nend\n\nwhen backdrop switches to [backdrop20 v]\nforever\n    if <key (r v) pressed?> then\n        set size to (50) %\n    end\nend\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@Iceicle 1\n\nwhen flag clicked\nhide\n\nwhen flag clicked\ngo to x: (-10) y: (127)\n\nwhen backdrop switches to [backdrop7 v]\nshow\nforever\n    repeat (10)\n        glide (1) secs to x: (-10) y: (-325)\n        go to x: (-10) y: (127)\n    end\nend\n\nwhen backdrop switches to [backdrop8 v]\nhide\n\n@Iceicle 2\n\nwhen flag clicked\nhide\n\nwhen flag clicked\ngo to x: (200) y: (127)\n\nwhen backdrop switches to [backdrop7 v]\nshow\nforever\n    repeat (10)\n        glide (1) secs to x: (200) y: (-325)\n        go to x: (200) y: (127)\n    end\nend\n\nwhen backdrop switches to [backdrop8 v]\nhide\n\n