Snow & Ice | A Platformer (Mobile Friendly)

Instructions: Welcome to a filler platformer!! Yay... xD\n\n=================Controls===================\n\nArrow keys, WASD or Mobile Controls to move.\nWhite bumps are bouncy.\nPress the Moon or the N key to skip a level.\n\n==========================================

@Stage\n\nwhen flag clicked\nswitch backdrop to (intro v)\n\nwhen I receive [start the platformer v]\nswitch backdrop to (backdrop1 v)\nforever\n    play sound [Jim Yosef - Lights.mp3 v] until done\nend\n\n@Ground\n\nwhen flag clicked\nhide\nswitch costume to (costume1 v)\ngo to x: (0) y: (0)\n\ndefine Touch Ground <up?>\nchange [falling v] by (1)\nrepeat until <not <touching (ground v)?>>\n    change y by (1)\n    set [falling v] to [0]\n    set [speed y v] to [0]\nend\n\nwhen I receive [next level v]\nnext costume\n\nwhen flag clicked\nset [time taken v] to [0]\n\nwhen I receive [start the platformer v]\nshow\n\nwhen [timer v] > (0.4)\nhide variable [deaths v]\nhide variable [time taken v]\nhide\n\nwhen I receive [start the platformer v]\nswitch costume to (costume1 v)\n\nwhen flag clicked\nhide\n\nwhen I receive [start the platformer v]\nshow\n\nwhen I receive [start the platformer v]\nforever\n    if <key (n v) pressed?> then\n        broadcast (Transition v)\n        broadcast (Next Level v)\n        wait (0.2) seconds\n    end\nend\n\nwhen I receive [text v]\nhide\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [1]> then\n        set [level of game :p v] to [1]\n    else\n        if <(costume [number v]) = [2]> then\n            set [level of game :p v] to [2]\n        else\n            if <(costume [number v]) = [3]> then\n                set [level of game :p v] to [3]\n            else\n                if <(costume [number v]) = [4]> then\n                    set [level of game :p v] to [4]\n                else\n                    if <(costume [number v]) = [5]> then\n                        set [level of game :p v] to [5]\n                    else\n                        if <(costume [number v]) = [6]> then\n                            set [level of game :p v] to [6]\n                        else\n                            if <(costume [number v]) = [7]> then\n                                set [level of game :p v] to [7]\n                            else\n                                if <(costume [number v]) = [8]> then\n                                    set [level of game :p v] to [8]\n                                else\n                                    if <(costume [number v]) = [9]> then\n                                        set [level of game :p v] to [9]\n                                    else\n                                        if <(costume [number v]) = [10]> then\n                                            set [level of game :p v] to [10]\n                                        else\n                                            if <(costume [number v]) = [11]> then\n                                                set [level of game :p v] to [11]\n                                            else\n                                                if <(costume [number v]) = [12]> then\n                                                    set [level of game :p v] to [12]\n                                                end\n                                            end\n                                        end\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [start the platformer v]\nforever\n    go to x: (([x position v] of [player v]) / (5)) y: (([y position v] of [player v]) / (5))\nend\n\nwhen flag clicked\nforever\n    go to [front v] layer\n    go [forward v] (1) layers\nend\n\n@Thumbnail\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nswitch costume to (thumbnail v)\ngo to [front v] layer\ngo to x: (0) y: (0)\nforever\n    reset timer\nend\n\nwhen [timer v] > (0.4)\ngo to [front v] layer\ngo to x: (0) y: (0)\nshow\n\n@Player\n\nwhen flag clicked\nhide\nswitch costume to (blue v)\n\nwhen flag clicked\nset [left/right? v] to [90]\nforever\n    if <(direction) = [-90]> then\n        set [left/right? v] to [-90]\n        broadcast (left v)\n    else\n        set [left/right? v] to [90]\n        broadcast (right v)\n    end\nend\n\nwhen [timer v] > (0.4)\nhide\n\nwhen flag clicked\nforever\n    if <touching (bouncy v)?> then\n        set [player?: yv v] to [20]\n    end\nend\n\nwhen flag clicked\nset [success!? v] to [0]\n\nwhen I receive [success!!! v]\nforever\n    hide\n    go to [back v] layer\nend\n\nwhen flag clicked\nforever\n    if <(x position) > [239]> then\n        go to x: (-210) y: (-33)\n        broadcast (Next Level v)\n    end\nend\n\nwhen flag clicked\nhide variable [deaths v]\nhide variable [time taken v]\n\nwhen I receive [start the platformer v]\nshow\ngo to x: (-210) y: (-33)\nset [player?: xv v] to [0]\nset [player?: yv v] to [0]\n\nwhen flag clicked\nset [deaths v] to [0]\nswitch costume to (costume3 v)\nforever\n    set rotation style [left-right v]\nend\n\nwhen flag clicked\nforever\n    if <touching (speeeeeeeed!!!!!!!!! v)?> then\n        change x by (30)\n    end\nend\n\nwhen I receive [next level v]\ngo to x: (-206) y: (-33)\n\nwhen I start as a clone\nswitch costume to (clone trail v)\nset size to (35) %\nrepeat (10)\n    change size by (-3.5)\nend\ndelete this clone\n\nwhen I receive [start the platformer v]\nshow\nswitch costume to (blue v)\nset rotation style [left-right v]\nset size to (35) %\nset [player?: xv v] to [0]\nset [player?: yv v] to [0]\nforever\n    if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        change [player?: xv v] by (1)\n        point in direction (90)\n    end\n    if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> then\n        change [player?: xv v] by (-1)\n        point in direction (-90)\n    end\n    set [player?: xv v] to ((Player?: Xv) * (0.825))\n    change x by (Player?: Xv)\n    if <touching (ground v)?> then\n        change y by (1)\n        if <touching (ground v)?> then\n            change y by (1)\n            if <touching (ground v)?> then\n                change y by (1)\n                if <touching (ground v)?> then\n                    change y by (1)\n                    if <touching (ground v)?> then\n                        change y by (1)\n                        if <touching (ground v)?> then\n                            change x by ((Player?: Xv) * (-2))\n                            change y by (-5)\n                            if <<<mouse down?> and <(mouse y) > (y position)>> or <<key (up arrow v) pressed?> or <key (w v) pressed?>>> then\n                                if <(Player?: Xv) > [0]> then\n                                    set [player?: xv v] to [-5]\n                                else\n                                    set [player?: xv v] to [5]\n                                end\n                                set [player?: yv v] to [10]\n                            else\n                                set [player?: xv v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [player?: yv v] by (-1)\n    change y by (Player?: Yv)\n    if <touching (ground v)?> then\n        change y by ((Player?: Yv) * (-1))\n        set [player?: yv 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)) > [50]>>> then\n            set [player?: yv v] to [13]\n        end\n    end\n    if <<<<<touching (fall death damage v)?> or <touching (spike v)?>> or <touching (spikes v)?>> or <touching (saw blade v)?>> or <touching (acid rain residue4 v)?>> then\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        set [ghost v] effect to (0)\n        go to x: (-210) y: (-33)\n        change [deaths v] by (1)\n        change [☁ worldwide deaths v] by (1)\n        set [player?: xv v] to [0]\n    end\n    if <touching (teleport v)?> then\n        start sound [Teleport2 v]\n        wait (0.01) seconds\n        go to (teleport2 v)\n    end\n    change y by (1)\nend\n\nwhen I receive [next costume v]\nnext costume\n\nwhen flag clicked\nbroadcast (blinkblinkblinkblink v)\n\nwhen I receive [blinkblinkblinkblink v]\nswitch costume to (blue v)\nwait (pick random (5) to (15)) seconds\nrepeat (21)\n    next costume\nend\nbroadcast (blinkblinkblinkblink v)\n\nwhen I receive [success!!! v]\nforever\n    hide\nend\n\nwhen flag clicked\nforever\n    set [x 4 snow v] to (x position)\nend\n\nwhen flag clicked\nforever\n    if <touching (water v)?> then\n        change [player?: yv v] by (2)\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (water v)?> then\n        play sound [Splash v] until done\n        wait until <not <touching (water v)?>>\n    end\nend\n\n@Fall Death Damage\n\nwhen flag clicked\nhide\nswitch costume to (costume1 v)\n\nwhen I receive [start the platformer v]\nshow\n\nwhen [timer v] > (0.4)\nhide\n\nwhen I receive [success!!! v]\nhide\n\nwhen flag clicked\nhide\nforever\n    go to [front v] layer\nend\n\nwhen I receive [text v]\nhide\n\n@Spikes\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nswitch costume to (costume1 v)\ngo to x: (0) y: (0)\n\nwhen I receive [next level v]\nnext costume\nwait (0.01) seconds\n\nwhen I receive [start the platformer v]\nshow\nforever\n    go to x: (([x position v] of [player v]) / (5)) y: (([y position v] of [player v]) / (5))\nend\n\n@Star Particles\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nshow\ngo to (random position v)\nrepeat (30)\n    turn right (12) degrees\nend\ndelete this clone\n\nwhen I start as a clone\nrepeat (20)\n    change [ghost v] effect by (-5)\n    change size by (-5)\nend\ndelete this clone\n\nwhen I receive [start the platformer v]\nforever\n    create clone of (_myself_ v)\n    wait (0.2) seconds\nend\n\n@Moon\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nswitch costume to (costume2 v)\nforever\n    repeat (30)\n        change size by (2)\n    end\n    wait (0.1) seconds\n    repeat (30)\n        change size by (-2)\n    end\n    wait (0.1) seconds\nend\n\nwhen flag clicked\nforever\n    if <touching (mouse-pointer v)?> then\n        switch costume to (skip v)\n    else\n        switch costume to (normal v)\n    end\nend\n\nwhen this sprite clicked\nbroadcast (Transition v)\nbroadcast (Next Level v)\nwait (0.2) seconds\n\nwhen I start as a clone\nforever\n    go to [back v] layer\nend\n\nwhen flag clicked\nforever\n    go to [back v] layer\nend\n\nwhen I receive [start the platformer v]\nswitch costume to (normal v)\nset size to (90) %\ncreate clone of (_myself_ v)\nshow\n\n@Snow\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\ngo to x: (pick random (215) to (-215)) y: (155)\nset size to (pick random (40) to (60)) %\nswitch costume to (costume1 v)\nshow\nrepeat until <<touching (_edge_ v)?> or <touching (ground v)?>>\n    change y by (-4)\n    change x by ((x 4 snow) / (50))\n    point towards (mouse-pointer v)\nend\nif <touching (_edge_ v)?> then\n    delete this clone\nelse\n    wait (1) seconds\n    repeat (20)\n        change y by (-0.5)\n    end\n    delete this clone\nend\n\nforever\n    set [h v] to (mouse x)\nend\n\nwhen I start as a clone\nforever\n    go to [back v] layer\nend\n\nwhen I receive [start the platformer v]\nforever\n    wait (0.08) seconds\n    create clone of (_myself_ v)\nend\n\n@Bouncy\n\nwhen flag clicked\nforever\n    go to x: (([x position v] of [player v]) / (5)) y: (([y position v] of [player v]) / (5))\nend\n\nwhen flag clicked\nswitch costume to (costume1 v)\nshow\ngo to x: (0) y: (0)\n\nwhen I receive [next level v]\nnext costume\nwait (0.01) seconds\n\n@Water\n\nwhen flag clicked\nforever\n\nwhen I start as a clone\nforever\n    show\n    set [ghost v] effect to (60)\n    switch costume to (Level of game :P)\n    set y to (-15)\n    go to x: (([x position v] of [player v]) / (5)) y: ((([sin v] of (((timer) + (me)) * (300)) ) * (8)) - ((me) * (10)))\nend\n\nwhen flag clicked\nclear graphic effects\nhide\ngo to x: (0) y: (0)\nset [me v] to [1]\nrepeat (3)\n    create clone of (_myself_ v)\n    change y by (-5)\n    change [brightness v] effect by (-10)\n    change [me v] by (1)\nend\n\nwhen flag clicked\nset [timer v] to [0]\nforever\n    change [timer v] by (0.01)\nend\n\ngo [backward v] (1) layers\n\ngo to [front v] layer\n\n@Sprite6\n\nwhen flag clicked\nhide\nwait (2.3) seconds\nrepeat until <(end intro?) = [1]>\n    create clone of (_myself_ v)\n    wait (.3) seconds\nend\n\nwhen I start as a clone\nswitch costume to (blank v)\nset [speed3 v] to [10]\nset [ghost v] effect to (15)\nset size to (100) %\ngo to x: (0) y: (0)\ngo to [back v] layer\ngo [forward v] (1) layers\nshow\nrepeat (10)\n    change size by (Speed3)\n    change [speed3 v] by (-1)\nend\ndelete this clone\n\nwhen flag clicked\nset rotation style [all around v]\nforever\n    turn right (15) degrees\nend\n\nwhen [timer v] > (0.4)\nhide\n\n@Sprite5\n\nwhen flag clicked\nhide\nwait (2.3) seconds\nrepeat until <(end intro?) = [1]>\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nif <(pick random (1) to (3)) = [1]> then\n    switch costume to (red v)\nelse\n    if <(pick random (1) to (3)) = [2]> then\n        switch costume to (yellow v)\n    else\n        if <(pick random (1) to (3)) = [3]> then\n            switch costume to (blue v)\n        end\n    end\nend\nset [ghost v] effect to (30)\ngo to x: (0) y: (0)\nset rotation style [all around v]\nshow\npoint in direction (pick random (0) to (360))\nrepeat (16)\n    move (10) steps\nend\ndelete this clone\n\nwhen flag clicked\nset [end intro? v] to [0]\nwait (7.5) seconds\nset [end intro? v] to [1]\nstop all sounds\nwait (1) seconds\nbroadcast (Start the Platformer v)\n\nwhen [timer v] > (0.4)\nhide\n\n@Sprite7\n\nwhen flag clicked\nhide\nwait (2.3) seconds\nshow\ngo to [front v] layer\npoint in direction (90)\nswitch costume to (untitled drawing \(28\) v)\nset size to (100) %\nrepeat until <(end intro?) = [1]>\n    set [speed v] to [-10]\n    repeat (20)\n        change size by (Speed)\n        change [speed v] by (1)\n    end\n    set size to (100) %\nend\nhide\n\nwhen flag clicked\nstart sound [TheFatRat - Infinite Power!2 v]\n\nwhen [timer v] > (0.4)\nhide\n\n@Background Cliffs\n\nwhen flag clicked\nforever\n    go to [back v] layer\n    go [backward v] (1) layers\n    go to x: (([x position v] of [player v]) / (5)) y: (([y position v] of [player v]) / (5))\nend\n\nwhen flag clicked\ngo to x: (0) y: (0)\nswitch costume to (costume2 v)\nhide\n\nwhen I receive [start the platformer v]\nshow\n\n