Star road platformer

Instructions: Welcome to the Sky road platformer!\n\n-Arrow keys or W,A,S,D to move \n-↓ or "S" to cower\n\n-Have fun! All levels are possible! Write in the comments if you need help.\n

@Stage\n\n@Figur12\n\ndefine y\nchange [y v] by (-1)\nrepeat (4)\n    if <<<<<touching (platform v)?> or <touching (spring stachel v)?>> or <touching (v plattform 1 v)?>> or <touching (spring stachel2 v)?>> or <touching (v plattform 2 v)?>> then\n        change y by (1)\n    end\nend\nif <<<<<touching (platform v)?> or <touching (spring stachel v)?>> or <touching (v plattform 2 v)?>> or <touching (spring stachel2 v)?>> or <touching (v plattform 1 v)?>> then\n    change y by (-4)\n    change x by ((x) * (-1))\n    if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n        if <(x) > [0]> then\n            set [x v] to [-10]\n        else\n            set [x v] to [10]\n        end\n        set [y v] to [12]\n    else\n        set [x v] to [0]\n    end\nend\nchange y by (y)\nif <<<<<touching (platform v)?> or <touching (spring stachel v)?>> or <touching (spring stachel2 v)?>> or <touching (v plattform 1 v)?>> or <touching (v plattform 2 v)?>> then\n    if <(y) > [0]> then\n        repeat until <<<<<touching (platform v)?> or <touching (spring stachel v)?>> or <touching (spring stachel2 v)?>> or <touching (v plattform 1 v)?>> or <touching (v plattform 2 v)?>>\n            change y by (-1)\n            set [y v] to [0]\n        end\n    else\n        repeat until <not <<<<<touching (platform v)?> or <touching (spring stachel v)?>> or <touching (v plattform 2 v)?>> or <touching (v plattform 1 v)?>> or <touching (spring stachel2 v)?>>>\n            change y by (1)\n            set [y v] to [0]\n        end\n    end\nend\nchange y by (-1)\nif <<<<<<touching (platform v)?> or <touching (spring stachel v)?>> or <touching (v plattform 1 v)?>> or <touching (spring stachel2 v)?>> or <touching (v plattform 2 v)?>> and <<key (up arrow v) pressed?> or <key (w v) pressed?>>> then\n    set [y v] to [12]\nend\nif <not <<(distance to [v plattform 1 v]) < [50]> or <(distance to [v plattform 2 v]) < [50]>>> then\n    change y by (1)\nend\n\nwhen I receive [1 v]\ny\nright or left\n\nwhen I receive [play v]\nset [y v] to [0]\nset [x v] to [0]\nset [x begin v] to [-200]\nset [y begin v] to [45]\ngo to x: (x begin) y: (y begin)\nwait (2.1) seconds\nshow\ngo to [front v] layer\n\nwhen I receive [play v]\nset [level v] to [1]\nhide\n\nwhen flag clicked\nbroadcast (play v)\nnext or die\nset [level v] to [0]\n\nbroadcast (works v)\n\nwhen I receive [play v]\nforever\n    broadcast (1 v)\n    broadcast (2 v)\nend\n\ndefine dead\ngo to x: (x begin) y: (y begin)\nGame - Reset x and y\n\ndefine next\ngo to x: (x begin) y: (y begin)\nchange [level v] by (1)\nGame - Reset x and y\n\ndefine next or die\nforever\n    if <<<<touching (stachel2 v)?> or <<touching (rad2 v)?> or <<touching (lava v)?> or <<touching (rad v)?> or <touching (stachel v)?>>>>> or <touching (mnster v)?>> or <touching (wd v)?>> then\n        wait (0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001) seconds\n        dead\n        set [tod v] to [ja]\n        set [fireworks nu v] to [0]\n        wait (0.1) seconds\n        set [tod v] to [nein]\n    end\n    if <(x position) > [225]> then\n        next\n        broadcast (next v)\n    end\nend\n\ndefine right or left\nif <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n    change [x v] by (1.5)\n    point in direction (90)\nend\nif <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n    change [x v] by (-1.5)\n    point in direction (-90)\nend\nset [x v] to ((x) * (0.85))\nchange x by (x)\nif <([abs v] of (x) ) < [0.1]> then\n    set [x v] to [0]\nend\n\nwhen flag clicked\n\nwhen [r v] key pressed\ndead\n\nwhen flag clicked\nforever\n    if <(level) = [9]> then\n        set size to (75) %\n    else\n        set size to (100) %\n    end\nend\n\nwhen flag clicked\nforever\n    if <<key (down arrow v) pressed?> or <key (s v) pressed?>> then\n        repeat until <not <<key (down arrow v) pressed?> or <key (s v) pressed?>>>\n            switch costume to (player2 v)\n        end\n        if <not <<key (down arrow v) pressed?> or <key (s v) pressed?>>> then\n            switch costume to (player v)\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <(level) = [9]> then\n        if <(distance to [v plattform 2 v]) < [40]> then\n            set [lev 9 sbar v] to [ja]\n        else\n            set [lev 9 sbar v] to [nein]\n        end\n    end\nend\n\n@Lava\n\nwhen I receive [next v]\nhide\nnext costume\nwait (0.5) seconds\nshow\n\nwhen flag clicked\ngo to [back v] layer\nswitch costume to (1 v)\n\nwhen flag clicked\ngo to x: (66) y: (-250)\nforever\n    if  then\n        go to x: (0) y: (-270)\n        show\n        repeat (10)\n            change y by (1)\n        end\n        repeat (10)\n            change y by (-1)\n        end\n    end\n    if <(level) = [8]> then\n        repeat until <not <(level) = [8]>>\n            go to [back v] layer\n            go to x: (230) y: (70)\n            show\n            repeat (10)\n                change y by (1)\n            end\n            repeat (10)\n                change y by (-1)\n            end\n        end\n    end\nend\n\nhide\n\n@Rad\n\nwhen I receive [next v]\nnext costume\n\nwhen flag clicked\nswitch costume to (1 v)\nshow\n\nwhen flag clicked\ngo to [back v] layer\nforever\n    if <(level) = [6]> then\n        turn fast\n    end\n    if  then\n        go to x: (-30) y: (-65)\n        point in direction (90)\n        hig up\n    end\n    \n        go to x: (50) y: (-70)\n        turn right (17) degrees\n    end\n    if <(level) = [7]> then\n        go to x: (0) y: (120)\n        turn right (4) degrees\n        create clone of (_myself_ v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(level) = [5]> then\nend\n\nwhen flag clicked\nforever\n    if <(level) = [9]> then\n        set size to (75) %\n    else\n        set size to (100) %\n    end\nend\n\ndefine hig up\nrepeat (40)\n    change y by (2.5)\nend\nrepeat (40)\n    change y by (-2.5)\nend\n\ndefine turn fast\ngo to x: (66.8) y: (-80)\nturn right (17) degrees\n\nwhen I start as a clone\nrepeat (10)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\n@Rad2\n\nwhen I receive [next v]\nnext costume\n\nwhen flag clicked\nswitch costume to (1 v)\nshow\n\nwhen flag clicked\ngo to [back v] layer\nforever\n    if <(level) = [6]> then\n        go to x: (100) y: (-81)\n        turn right (17) degrees\n        show\n    end\n    if <(level) = [9]> then\n        go to x: (160) y: (-81)\n        turn right (17) degrees\n        show\n    end\nend\n\nwhen flag clicked\nforever\n\nif <(level) = [9]> then\n    set size to (75) %\nelse\n    set size to (100) %\nend\n\n@Stachel\n\nwhen flag clicked\ngo to [back v] layer\nforever\n    if  then\nend\n\nwhen I receive [next v]\nnext costume\n\nwhen flag clicked\nswitch costume to (level 1 v)\npoint in direction (90)\nshow\nforever\n    if <(level) = [1]> then\n        go to x: (0) y: (42)\n    end\n    if <(level) = [2]> then\n        set [color v] effect to (0)\n        go to x: (0) y: (42)\n    end\n    if <(level) = [3]> then\n        set [color v] effect to (0)\n        go to x: (0) y: (42)\n    end\nend\n\nwhen flag clicked\nforever\n    repeat (8)\n        change [color v] effect by (1.5)\n    end\n    repeat (8)\n        change [color v] effect by (-1.5)\n    end\nend\n\nwhen flag clicked\nforever\n\nforever\n\nforever\n\nforever\n\nforever\n\nrepeat (7)\n    go to x: (0) y: (-4)\n    change y by (5)\nend\nwait (1) seconds\nrepeat (14)\n    change y by (-2.5)\nend\nwait (1) seconds\n\n\n    set size to (75) %\nelse\n    set size to (100) %\nend\n\npoint towards (figur12 v)\n\npoint towards (figur12 v)\n\ngo to x: (140) y: (-57)\n\nif on edge, bounce\n\nif <(level) = [6]> then\n\npoint in direction (90)\nset rotation style [left-right v]\nmove (-3) steps\nif <touching (rad v)?> then\n    point in direction (-90)\n    set rotation style [left-right v]\n    move (3) steps\nend\n\n@Stachel2\n\nwhen flag clicked\ngo to [back v] layer\nforever\n    if <(level) = [3]> then\n        show\n        go to x: (0) y: (-100)\n        repeat (7)\n            change y by (5)\n        end\n        wait (1) seconds\n        repeat (14)\n            change y by (-2.5)\n        end\n        wait (1.5) seconds\n    end\nend\n\nwhen flag clicked\nforever\n    if <not <(level) = [3]>> then\n        hide\n    end\nend\n\n@firework\n\nwhen I start as a clone\nif <(id) = [1]> then\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\n    delete this clone\nend\n\ndefine Firework\n\nwhen I start as a clone\nif <(id) = [firework]> then\n    show\n    point in direction (pick random (-30) to (30))\n    go to x: (pick random (-225) to (225)) y: (-225)\n    set size to (81) %\n    clear graphic effects\n    set [color v] effect to (Color)\n    set [id v] to [1]\n    set [speed v] to (pick random (10) to (17))\n    repeat until <[0.3] > (Speed)>\n        move (Speed) steps\n        create clone of (_myself_ v)\n        change [speed v] by (-0.3)\n    end\n    set [brightness v] effect to (100)\n    set size to (500) %\n    Particle\n    wait (0.01) seconds\n    hide\n    repeat (10)\n        wait (0.01) seconds\n        erase all\n    end\n    delete this clone\nend\n\ngo to (figur12 v)\n\nwhen I start as a clone\ngo to [front v] layer\n\nwhen flag clicked\nerase all\n\nwhen I receive [start v]\nforever\n    hide\n    stop [other scripts in sprite v]\nend\n\nwhen I receive [start panzer schießt v]\ncreate clone of (_myself_ v)\n\ndefine Particle\nset [id v] to [2]\nrepeat (pick random (81) to (127))\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nif <(id) = [2]> then\n    show\n    set [brightness v] effect to (pick random (27) to (50))\n    set [color v] effect to (pick random (Color) to ((Color) + (20)))\n    point in direction (pick random (-180) to (179))\n    set [v v] to (pick random (5.0) to (9.0))\n    set [effekt: y v] to [3]\n    set size to (pick random (0) to (100)) %\n    repeat (5)\n        move (V) steps\n        change y by (Effekt: Y)\n        set [ghost v] effect to (50)\n        stamp\n        set [ghost v] effect to (0)\n        set [v v] to ((V) * (0.9))\n        change [effekt: y v] by (-0.3)\n    end\n    repeat (20)\n        move (V) steps\n        change y by (Effekt: Y)\n        set [v v] to ((V) * (0.9))\n        change [effekt: y v] by (-0.3)\n        change [ghost v] effect by (5)\n    end\n    delete this clone\nend\n\nwhen flag clicked\nforever\n    if <(level) = [10]> then\n        wait (pick random (1) to (2)) seconds\n        create clone of (_myself_ v)\n    end\nend\n\nset [id v] to [firework]\n\nwhen flag clicked\nforever\n    set [color v] to (pick random (43) to (73))\nend\n\nwhen I start as a clone\nforever\n    if <(y position) < [-90]> then\n        hide\n    else\n        show\n    end\nend\n\n@tipp\n\nwhen I receive [next v]\nnext costume\n\nwhen flag clicked\nshow\nswitch costume to (butterfly2-a v)\n\n@vordergrund\n\nwhen flag clicked\nshow\ngo to [front v] layer\ngo to x: (0) y: (0)\nwait (1) seconds\nrepeat (50)\n    change [ghost v] effect by (2)\n    go to [front v] layer\nend\nhide\nbroadcast (nach vorscpann v)\n\n@Platform\n\nwhen flag clicked\nswitch costume to (1 v)\ngo to x: (0) y: (0)\nshow\n\nwhen I receive [next v]\nnext costume\n\n@WD\n\nwhen flag clicked\nhide\nforever\n    if <(level) = [9]> then\n        show\n        go to x: (100) y: (-148)\n        point in direction (-90)\n        repeat until <<touching (figur12 v)?> or <touching color (#0073ff)?>>\n            move (5) steps\n        end\n    end\nend\n\ngo to x: (100) y: (-148)\n\nwhen flag clicked\nforever\n    if <not <(level) = [9]>> then\n        hide\n    end\nend\n\n@Stachel tutch\n\nwhen flag clicked\ngo to [back v] layer\nforever\n    if  then\nend\n\nwhen I receive [next v]\nnext costume\n\nwhen flag clicked\nswitch costume to (level 1 v)\npoint in direction (90)\nshow\nforever\n    if <(level) = [1]> then\n        go to x: (0) y: (42)\n    end\n    if <(level) = [2]> then\n        set [color v] effect to (0)\n        go to x: (0) y: (42)\n    end\n    if <(level) = [3]> then\n        set [color v] effect to (0)\n        go to x: (0) y: (42)\n    end\nend\n\nwhen flag clicked\nforever\n    repeat (8)\n        change [color v] effect by (1.5)\n    end\n    repeat (8)\n        change [color v] effect by (-1.5)\n    end\nend\n\nwhen flag clicked\nforever\n\nforever\n\nforever\n\nforever\n\nforever\n\nrepeat (7)\n    go to x: (0) y: (-4)\n    change y by (5)\nend\nwait (1) seconds\nrepeat (14)\n    change y by (-2.5)\nend\nwait (1) seconds\n\n\n    set size to (75) %\nelse\n    set size to (100) %\nend\n\npoint towards (figur12 v)\n\npoint towards (figur12 v)\n\ngo to x: (140) y: (-57)\n\nif on edge, bounce\n\nif <(level) = [6]> then\n\npoint in direction (90)\nset rotation style [left-right v]\nmove (-3) steps\nif <touching (rad v)?> then\n    point in direction (-90)\n    set rotation style [left-right v]\n    move (3) steps\nend\n\n@mnster\n\nwhen I receive [next v]\nnext costume\n\nwhen flag clicked\nswitch costume to (level 1 v)\nforever\n    if <(level) = [7]> then\n        go to x: (0) y: (115)\n        repeat (16)\n            change y by (0.5)\n        end\n        repeat (16)\n            change y by (-0.5)\n        end\n    end\n    if <(level) = [9]> then\n        go to x: (100) y: (-145)\n    end\nend\n\n