Ice || a platformer

Instructions: arrow keys to move.\nAvoid spikes \nFirst 5000 to love and fav will receive a follow from me.\nplease love and fave I spent 2 months on this \nTrampolines are bouncy

@Stage\n\n@Death\n\nwhen [space v] key pressed\nhide\nswitch costume to (costume10 v)\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [next level v]\nshow\n\nwhen flag clicked\nswitch costume to (costume13 v)\n\n@Snow\n\nwhen flag clicked\nhide\n\nwhen I receive [play v]\nwait until <(PAGE) = [GAME]>\nrepeat until <(PAGE) = [Title]>\n    if <(SNOW) = [On]> then\n        if <not <(D) = [-]>> then\n            create clone of (_myself_ v)\n            wait (e4) seconds\n            wait until <(AUS) = [0]>\n        end\n    end\nend\n\nwhen I start as a clone\nLAYER SET\nif <(stopped?) = [false]> then\n    point in direction (pick random (0) to (360))\n    set size to (pick random (100) to (150)) %\n    set [brightness v] effect to (900)\n    switch costume to (pick random (2) to (4))\n    set [ghost v] effect to (pick random (55) to (70))\n    if <(pick random (1) to (2)) = [2]> then\n        go to x: (pick random (-240) to (240)) y: (300)\n    else\n        go to x: (500) y: (pick random (-180) to (180))\n    end\n    if <(pick random (1) to (3)) = [2]> then\n        repeat until <<(x position) < [-239]> or <(y position) < [-179]>>\n            turn left (1) degrees\n            change y by (((PLAYER YV) / (1.5)) + (-3))\n            show\n            if <(D) = [3]> then\n                if <<key (right arrow v) pressed?> or <<key (d v) pressed?> or <<mouse down?> and <[0] < (mouse x)>>>> then\n                    change x by ((((X SPEED) * (-1)) / (1.5)) + (-2.14))\n                end\n                if <<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<mouse down?> and <(mouse x) < [0]>>>> then\n                    change x by (-1.2)\n                end\n                if <not <<<key (right arrow v) pressed?> or <<key (d v) pressed?> or <<mouse down?> and <[0] < (mouse x)>>>> or <<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<mouse down?> and <(mouse x) < [0]>>>>>> then\n                    change x by (-3)\n                end\n            end\n            wait until <(AUS) = [0]>\n            if <[13] < (PLAYER YV)> then\n                if <[170] < (y position)> then\n                    delete this clone\n                end\n            end\n        end\n        delete this clone\n    else\n        repeat until <<(x position) < [-239]> or <(y position) < [-179]>>\n            turn left (-1) degrees\n            change y by (((PLAYER YV) / (1.5)) + (-3))\n            show\n            if <(D) = [3]> then\n                if <<key (right arrow v) pressed?> or <<key (d v) pressed?> or <<mouse down?> and <[0] < (mouse x)>>>> then\n                    change x by ((((X SPEED) * (-1)) / (1.5)) + (-2.14))\n                end\n                if <<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<mouse down?> and <(mouse x) < [0]>>>> then\n                    change x by (-1.2)\n                end\n                if <not <<<key (right arrow v) pressed?> or <<key (d v) pressed?> or <<mouse down?> and <[0] < (mouse x)>>>> or <<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<mouse down?> and <(mouse x) < [0]>>>>>> then\n                    change x by (-3)\n                end\n            end\n            wait until <(AUS) = [0]>\n            if <[13] < (PLAYER YV)> then\n                if <[170] < (y position)> then\n                    delete this clone\n                end\n            end\n        end\n        delete this clone\n    end\nelse\n    point in direction (pick random (0) to (360))\n    set size to (pick random (100) to (150)) %\n    set [brightness v] effect to (900)\n    switch costume to (pick random (2) to (4))\n    set [ghost v] effect to (pick random (55) to (70))\n    if <(pick random (1) to (2)) = [2]> then\n        go to x: (pick random (-240) to (240)) y: (300)\n    else\n        go to x: (500) y: (pick random (-180) to (180))\n    end\n    if <(pick random (1) to (3)) = [2]> then\n        repeat until <<(x position) < [-239]> or <(y position) < [-179]>>\n            turn left (1) degrees\n            change y by (((PLAYER YV) / (1.5)) + (-3))\n            show\n            go to [front v] layer\n            if <(D) = [3]> then\n                if <<key (right arrow v) pressed?> or <<key (d v) pressed?> or <<mouse down?> and <[0] < (mouse x)>>>> then\n                    change x by ((((X SPEED) * (-1)) / (1.5)) + (-2.14))\n                end\n                if <<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<mouse down?> and <(mouse x) < [0]>>>> then\n                    change x by (-1.2)\n                end\n                if <not <<<key (right arrow v) pressed?> or <<key (d v) pressed?> or <<mouse down?> and <[0] < (mouse x)>>>> or <<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<mouse down?> and <(mouse x) < [0]>>>>>> then\n                    change x by (-3)\n                end\n            end\n            wait until <(AUS) = [0]>\n            if <[13] < (PLAYER YV)> then\n                if <[170] < (y position)> then\n                    delete this clone\n                end\n            end\n        end\n        delete this clone\n    else\n        repeat until <<(x position) < [-239]> or <(y position) < [-179]>>\n            turn left (-1) degrees\n            change y by (((PLAYER YV) / (1.5)) + (-3))\n            show\n            go to [front v] layer\n            if <(D) = [3]> then\n                if <<key (right arrow v) pressed?> or <<key (d v) pressed?> or <<mouse down?> and <[0] < (mouse x)>>>> then\n                    change x by ((((X SPEED) * (-1)) / (1.5)) + (-2.14))\n                end\n                if <<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<mouse down?> and <(mouse x) < [0]>>>> then\n                    change x by (-1.2)\n                end\n                if <not <<<key (right arrow v) pressed?> or <<key (d v) pressed?> or <<mouse down?> and <[0] < (mouse x)>>>> or <<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<mouse down?> and <(mouse x) < [0]>>>>>> then\n                    change x by (-3)\n                end\n            end\n            wait until <(AUS) = [0]>\n            if <[13] < (PLAYER YV)> then\n                if <[170] < (y position)> then\n                    delete this clone\n                end\n            end\n        end\n        delete this clone\n    end\nend\n\nwhen I receive [title v]\ndelete this clone\n\nwhen I receive [stopped v]\nforever\n    create clone of (_myself_ v)\n    wait (e4) seconds\nend\n\nwhen I start as a clone\nforever\n    if <<touching color (#000000)?> and <not <<touching (playerart v)?> or <touching (player hitbox v)?>>>> then\n        if <(stopped?) = [false]> then\n            delete this clone\n        end\n    end\nend\n\ndefine LAYER SET\ngo to [back v] layer\ngo [forward v] (4) layers\n\nwhen I start as a clone\nif <(stopped?) = [true]> then\n    set [player yv v] to [0]\nend\n\nwhen flag clicked\nforever\n    create clone of (_myself_ v)\nend\n\n@Ground\n\nwhen I receive [next level v]\nshow\n\nwhen I receive [next level v]\nnext costume\n\nwhen [space v] key pressed\nhide\nswitch costume to (costume10 v)\n\nwhen flag clicked\nswitch costume to (level 13 v)\n\n@Rex\n\nwhen I receive [next level v]\nset [change? v] to [1]\nReset\nset [change? v] to [0]\n\nwhen I receive [next level v]\nshow\ngo to x: (-211) y: (-73)\n\nwhen [space v] key pressed\nhide\n\ndefine Reset\nclear graphic effects\ngo to x: (-211) y: (-73)\npoint in direction (90)\nset [dead? v] to [0]\nset [xv v] to [0]\nset [yv v] to [0]\nset size to (40) %\nshow\n\ndefine Die\nset [dead? v] to [1]\nchange [player death v] by (1)\nrepeat (2)\n    wait (0) seconds\n    change [ghost v] effect by (15)\nend\nReset\n\nwhen I receive [next level v]\nset [level v] to [1]\nset [dead? v] to [0]\nset size to (40) %\nReset\nforever\n    if <touching (ground2 v)?> then\n        set [y v v] to [15]\n    end\n    go to [front v] layer\n    if <<<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> and <(dead?) = [0]>> then\n        change [x v v] by (.9)\n        switch costume to (rex v)\n    end\n    if <<<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> and <(dead?) = [0]>> then\n        change [x v v] by (-.9)\n        switch costume to (rex2 v)\n    end\n    set [x v v] to ((X v) * (0.9))\n    change x by (X v)\n    if <touching (ground v)?> then\n        change y by (2)\n        if <touching (ground v)?> then\n            change y by (2)\n            if <touching (ground v)?> then\n                change y by (2)\n                if <touching (ground v)?> then\n                    change y by (2)\n                    if <touching (ground v)?> then\n                        change y by (2)\n                        if <touching (ground v)?> then\n                            change x by ((X v) * (-2))\n                            change y by (-5)\n                            if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>>> then\n                                if <(X v) > [0]> then\n                                    set [x v v] to [-5]\n                                else\n                                    set [x v v] to [5]\n                                end\n                                set [y v v] to [13]\n                            else\n                                set [x v v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [y v v] by (-0.8)\n    change y by (Y v)\n    if <touching (ground v)?> then\n        change y by ((Y v) * (-1))\n        set [y v v] to [0]\n    end\n    change y by (-1)\n    if <touching (ground v)?> then\n        if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>>> then\n            set [y v v] to [12]\n        end\n    end\n    change y by (1)\n    if <<<<<touching (killer wheel v)?> or <touching (death v)?>> or <touching (moving killer wheels v)?>> or <touching (lightning v)?>> and <(dead?) = [0]>> then\n        Die\n    end\nend\n\nwhen I receive [next level v]\nforever\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nswitch costume to (costume1 v)\nrepeat (5)\n    change [ghost v] effect by (5)\n    change size by (-3)\n    wait (.05) seconds\nend\ndelete this clone\n\nwhen I receive [next level v]\nset [direction v] to (direction)\n\nwhen I receive [next level v]\nset [change? v] to [0]\nforever\n    if <<[240] < (x position)> and <(Dead?) = [0]>> then\n        broadcast (Next Level v)\n        change [level v] by (1)\n    end\nend\n\nwhen I receive [next level v]\nforever\n    if <(y position) = [-197]> then\n        Die\n    end\nend\n\nwhen [r v] key pressed\nif <(Dead?) = [0]> then\n    Reset\nend\n\nwhen I receive [next level v]\nforever\n    if <<<touching (death v)?> or > or > then\n        Die\n        Reset\n    end\nend\n\nwhen I receive [next level v]\nforever\n    if <(x position) = [243]> then\n        broadcast (Next Level v)\n    end\nend\n\nwhen flag clicked\nbroadcast (Next Level v)\n\n@Ground2\n\nwhen I receive [next level v]\nshow\n\nwhen I receive [next level v]\nnext costume\n\nwhen [space v] key pressed\nhide\nswitch costume to (costume10 v)\n\nwhen flag clicked\nswitch costume to (costume1 \(8\)4 v)\n\n@Ground3\n\nshow\n\nwhen flag clicked\nhide\n\n