Ice || A platformer

Instructions:                   Welcome to Ice World\n\nIn this game you can move with arrow keys WASD and it's also mobile friendly. There are 10 levels. Beat all levels to win.\n\nIf you enjoyed the game, please like, fave and follow!\n\nAlso go check out my series:\nhttps://scratch.mit.edu/studios/30065038\n\n\n\n\n#games #platformer #Winter #Ice 

@Stage\n\n@Figur1\n\nwhen flag clicked\ngo to [back v] layer\nstart sound [Vexento - Return of the Heroes2 v]\nswitch costume to (intro backround v)\ngo to x: (-8) y: (-356)\nglide (13) secs to x: (-8) y: (51)\n\nwhen I receive [intro over v]\nstop [other scripts in sprite v]\nswitch costume to (sky platformer v)\n\ngo to [back v] layer\n\nwhen flag clicked\nwait (1) seconds\ngo to [back v] layer\nforever\n\n@background\n\nwhen flag clicked\nwait (0.1) seconds\ngo to [front v] layer\nforever\n    switch costume to (level)\nend\n\nwhen flag clicked\nhide\n\nwhen backdrop switches to [thumbnail v]\nhide\n\nwhen I receive [intro over v]\nshow\nforever\n    play sound [music v] until done\nend\n\n@spikes\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen backdrop switches to [thumbnail v]\nhide\n\nwhen I receive [intro over v]\nshow\nforever\n    switch costume to (level)\nend\n\n@Platform\n\nwhen flag clicked\nhide\n\nwhen backdrop switches to [thumbnail v]\nhide\n\nwhen I receive [intro over v]\nshow\ngo to [front v] layer\nforever\n    switch costume to (level)\nend\n\nwait (0.1) seconds\n\n@Player\n\nwhen flag clicked\nhide\n\ndefine reset  X (x) Y (y)\ngo to x: (x) y: (y)\nset [y v] to [0]\nset [x v] to [0]\nset rotation style [left-right v]\npoint in direction (90)\nclear graphic effects\n\ndefine Speed (speed) Friction (friction) Gravity (gravity) Jump height (jump height)\nchange [y v] by (gravity)\nif <<key (right arrow v) pressed?> or <<key (d v) pressed?> or <<mouse down?> and <(x position) < (mouse x)>>>> then\n    change [x v] by (speed)\n    point in direction (90)\nend\nif <<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>>> then\n    change [x v] by ((speed) * (-1))\n    point in direction (-90)\nend\nset [x v] to ((X) * (friction))\nchange x by (X)\nrepeat (8)\n    change y by <touching (platform v)?>\nend\nif <touching (platform v)?> then\n    change x by (() - (X))\n    change y by (-8)\n    if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(y position) < (mouse y)>>>> then\n        set [y v] to ((jump height) - (3))\n        set [x v] to ((5) - ((14) * <[0] < (X)>))\n    end\nend\nchange y by (Y)\nif <touching (platform v)?> then\n    change y by ((Y) * (-1))\n    set [y v] to [0]\nend\nchange y by (-1)\nif <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(y position) < (mouse y)>>>> then\n    if <touching (platform v)?> then\n        set [y v] to (jump height)\n    end\nend\nchange y by (1)\nif <<key (down arrow v) pressed?> or <<key (s v) pressed?> or <<mouse down?> and <(mouse y) < (y position)>>>> then\n    switch costume to (player2 v)\nelse\n    switch costume to (player v)\nend\n\nwhen backdrop switches to [thumbnail v]\nhide\n\nwhen I receive [intro over v]\nshow\nreset  X [-200] Y [0]\nset [ok v] to [0]\nset [level v] to [1]\nforever\n    if <(ok) = [0]> then\n        Speed [1] Friction [0.88] Gravity [-1] Jump height [13]\n        if <<touching (spikes v)?> or <touching (void v)?>> then\n            set [ok v] to [1]\n            set rotation style [all around v]\n            set [y v] to [10]\n            start sound [Crunch v]\n            repeat (20)\n                change [y v] by (-1)\n                change [ghost v] effect by (5)\n                turn right (8) degrees\n                change y by (Y)\n            end\n            set [ok v] to [0]\n            reset  X [-200] Y [0]\n        end\n    end\n    if <[240] < (x position)> then\n        change [level v] by (1)\n        reset  X [-200] Y [0]\n    end\nend\n\n@Figur7\n\nwhen flag clicked\nhide\nwait (7.5) seconds\nshow\nswitch costume to (kostüm1 v)\nrepeat (18)\n    next costume\n    wait (0.02) seconds\nend\nwait (3) seconds\nbroadcast (Intro over v)\nhide\n\n@Figur6\n\nwhen flag clicked\nwait (5.5) seconds\nswitch costume to (shockwave 1 v)\nclear graphic effects\nshow\nset size to (0) %\nrepeat (5)\n    next costume\n    change size by (((250) - (size)) / (5))\nend\nrepeat (7)\n    next costume\n    change size by (((250) - (size)) / (5))\n    change [ghost v] effect by (10)\nend\nhide\nswitch costume to (shockwave 1 v)\nclear graphic effects\nshow\nset size to (0) %\nrepeat (5)\n    next costume\n    change size by (((250) - (size)) / (5))\nend\nrepeat (7)\n    next costume\n    change size by (((250) - (size)) / (5))\n    change [ghost v] effect by (10)\nend\nhide\n\n@Figur5\n\nwhen flag clicked\nwait (4.5) seconds\nswitch costume to (shockwave 1 v)\nclear graphic effects\nshow\nset size to (0) %\nrepeat (5)\n    next costume\n    change size by (((250) - (size)) / (5))\nend\nrepeat (7)\n    next costume\n    change size by (((250) - (size)) / (5))\n    change [ghost v] effect by (10)\nend\nhide\nswitch costume to (shockwave 1 v)\nclear graphic effects\nshow\nset size to (0) %\nrepeat (5)\n    next costume\n    change size by (((250) - (size)) / (5))\nend\nrepeat (7)\n    next costume\n    change size by (((250) - (size)) / (5))\n    change [ghost v] effect by (10)\nend\nhide\n\n@Figur4\n\nwhen flag clicked\nhide\nwait (0.1) seconds\nshow\nswitch costume to (kostüm1 v)\nrepeat (20)\n    next costume\n    wait (0.02) seconds\nend\n\n@Figur3\n\nwhen flag clicked\nwait (3) seconds\nswitch costume to (shockwave 1 v)\nclear graphic effects\nshow\nset size to (0) %\nrepeat (5)\n    next costume\n    change size by (((250) - (size)) / (5))\nend\nrepeat (7)\n    next costume\n    change size by (((250) - (size)) / (5))\n    change [ghost v] effect by (10)\nend\nhide\nswitch costume to (shockwave 1 v)\nclear graphic effects\nshow\nset size to (0) %\nrepeat (5)\n    next costume\n    change size by (((250) - (size)) / (5))\nend\nrepeat (7)\n    next costume\n    change size by (((250) - (size)) / (5))\n    change [ghost v] effect by (10)\nend\nhide\n\n@Figur2\n\nhide\nwait (0.1) seconds\n\nwhen flag clicked\nswitch costume to (kostüm1 v)\ngo to [front v] layer\nset size to (100) %\nclear graphic effects\nwait (2.8) seconds\nshow\npoint in direction (90)\nwait (.25) seconds\nrepeat (3)\n    turn right (32) degrees\nend\nrepeat until <(round (direction)) = (round (90))>\n    turn right (((90) - (direction)) / (5)) degrees\nend\nshow\npoint in direction (90)\nwait (.25) seconds\nrepeat (3)\n    turn right (32) degrees\nend\nrepeat until <(round (direction)) = (round (90))>\n    turn right (((90) - (direction)) / (5)) degrees\nend\nshow\npoint in direction (90)\nwait (.25) seconds\nrepeat (3)\n    turn right (32) degrees\nend\nrepeat until <(round (direction)) = (round (90))>\n    turn right (((90) - (direction)) / (5)) degrees\nend\nturn right (180) degrees\nwait (0.2) seconds\nturn right (180) degrees\nwait (0.2) seconds\nswitch costume to (shockwave 1 v)\nclear graphic effects\nshow\nset size to (0) %\nrepeat (5)\n    change size by (((250) - (size)) / (5))\nend\nrepeat (7)\n    change size by (((250) - (size)) / (5))\n    change [ghost v] effect by (10)\nend\nshow\nswitch costume to (kostüm1 v)\nrepeat (6)\n    next costume\n    wait (0.02) seconds\nend\n\nhide\n\n@void\n\nwhen flag clicked\nhide\ngo to x: (21) y: (6)\n\nwhen I receive [intro over v]\nshow\n\n