Industrial [endless Platformer]

Instructions: Welcome to Industrial\n\nThin is an endless scrolling Platformer. The level is created by the computer. I my self aren’t  quite happy with the game, but if you like the gameplay please give it a like and a Star. Thanks.\n—————————————————————————-\nyou control the player with the arrow keys.\nThe longer you press the up key the longer you jump.\nThe spikes and saws kill you.\nYou can reduce or enlarge your field of vision by controlling it with the slider in the top right corner.\n\nDu kontrollierst den Spieler mit den Pfeiltasten.\nJe länger du den hoch Knopf drückst desto länger hüpfst du.\nStacheln und Sägen töten dich.\nDu kannst die Größe des Levels verändern indem du es mit dem Schieber oben rechts kontrollierst.\n\n\n\n\n#platformer #spiel #speed #endless #endlos #unendlich #industriell #hard #schwierig #jump‘n’run 

@Stage\n\nwhen flag clicked\nforever\n    play sound [music_pioxonaq_agressive_lightning v] until done\nend\n\n@^°\n\ndefine new platform\nset [jump/run/fall v] to (pick random (1) to (6))\nif <<[6] > (jump/run/fall)> and <(jump/run/fall) > [1]>> then\n    set [parabel-x v] to (pick random (1.00) to (5.00))\n    set [parabel-y v] to (round ((((parabel-x) - (3)) * (0.7)) * (((parabel-x) - (3)) * (0.7))))\n    if <[3] > (parabel-x)> then\n        set [parabel-y v] to ((parabel-y) * (-1))\n    end\n    change [clone-x-pos v] by ((parabel-x) * (48))\n    change [clone-y-pos v] by ((parabel-y) * (-48))\n    spawn tile (pick random (1) to (9)) [block] [48] [0]\n    wait (0) seconds\n    sicherungsplatform (pick random (0) to (7))\nend\nif <(jump/run/fall) = [5]> then\n    set [parabel-x v] to (pick random (1.00) to (3.00))\n    set [parabel-y v] to (round (((parabel-x) * (0.7)) * ((parabel-x) * (0.7))))\n    change [clone-x-pos v] by ((parabel-x) * (48))\n    change [clone-y-pos v] by ((parabel-y) * (-48))\n    spawn tile (pick random (1) to (9)) [block] [48] [0]\n    wait (0) seconds\n    sicherungsplatform (pick random (0) to (8))\nend\nif <(jump/run/fall) = [6]> then\n    if <(pick random (1) to (3)) = [1]> then\n        set [parabel-x v] to (pick random (1.00) to (5.00))\n        set [parabel-y v] to (round ((((parabel-x) - (3)) * (0.7)) * (((parabel-x) - (3)) * (0.7))))\n        if <[3] > (parabel-x)> then\n            set [parabel-y v] to ((parabel-y) * (-1))\n        end\n        change [clone-x-pos v] by ((parabel-x) * (48))\n        change [clone-y-pos v] by ((parabel-y) * (-48))\n        repeat (pick random (3) to (10))\n            spawn tile [] [leiter] [0] [48]\n        end\n    else\n        repeat (pick random (3) to (10))\n            spawn tile [] [leiter] [0] [48]\n        end\n    end\n    change [clone-x-pos v] by ((pick random (0) to (2)) * (48))\n    change [clone-y-pos v] by ((pick random (2) to (4)) * (-48))\n    spawn tile (pick random (1) to (9)) [block] [48] [0]\n    wait (0) seconds\n    sicherungsplatform (pick random (0) to (8))\nend\n\ndefine sicherungsplatform (länge)\nset [spikes v] to [0]\nrepeat ((länge) - (1))\n    spawn tile [] [block] [48] [0]\n    if <<(pick random (1) to (5)) = [2]> and <(spikes) < [3]>> then\n        spawn tile [] [spikes] [0] [0]\n        change [spikes v] by (1)\n    else\n        junk (pick random (-20) to (20))\n        set [spikes v] to [0]\n    end\nend\nspawn tile [] [block] [48] [0]\n\ndefine spikes and saws (repeat)\nchange [clone-x-pos v] by ((repeat) * (-48))\nchange [clone-y-pos v] by (48)\nset [count v] to (repeat)\nrepeat until <(count) < [2]>\n    if <(pick random (1) to (3)) = [1]> then\n        if <(pick random (1) to (2)) = [2]> then\n            spawn tile [saw] [spike] [48] [-22]\n            change [clone-y-pos v] by (22)\n            change [count v] by (-1)\n            change [clone-x-pos v] by (48)\n            change [count v] by (-1)\n            if <not <(count) = [1]>> then\n                change [clone-x-pos v] by (48)\n                change [count v] by (-1)\n            end\n        else\n            spawn tile [spike] [spike] [48] [0]\n            change [count v] by (-1)\n            if <<(pick random (1) to (4)) = [1]> and <not <(count) = [1]>>> then\n                spawn tile [spike] [spike] [48] [0]\n                change [count v] by (-1)\n            end\n            change [clone-x-pos v] by (48)\n            change [count v] by (-1)\n        end\n    else\n        change [clone-x-pos v] by (apperence)\n        change [count v] by (-1)\n    end\nend\nchange [clone-y-pos v] by (-48)\nchange [clone-x-pos v] by (48)\n\ndefine junk (offset)\nif <(pick random (1) to (5)) = [2]> then\n    spawn tile [] [junk] (offset) [0]\n    change [clone-x-pos v] by ((offset) * (-1))\nend\n\ndefine spawn tile (apperence) (tile) (x) (y)\nchange [clone-x-pos v] by (x)\nchange [clone-y-pos v] by (y)\nif <not <(apperence) = []>> then\n    set [appearence v] to (apperence)\nend\ncreate clone of (tile)\n\nwhen I receive [delete all clones v]\ndelete this clone\n\nwhen I receive [start v]\nwait (0) seconds\nstop [other scripts in sprite v]\npoint in direction (90)\ngo to x: (300) y: (0)\nhide\nset [scroll-x v] to [0]\nset [scroll-y v] to [0]\nset [clone-x-pos v] to ((scroll-x) - (200))\nset [clone-y-pos v] to ((scroll-y) - (20))\nrepeat (3)\n    spawn tile [1] [block] [48] [0]\nend\nforever\n    if <[250] > (((Clone-x-pos) / (zoom)) - ((scroll-x) / (zoom)))> then\n        new platform\n    end\nend\n\n@schieber\n\nwhen flag clicked\ncreate clone of (_myself_ v)\nswitch costume to (pointer v)\nshow\ngo to x: (100) y: (146)\nforever\n    set y to (146)\n    schieber [15] [195]\n    set [zoom v] to ((((x position) - (15)) / ((195) - (15))) + (1))\nend\n\nwhen I start as a clone\ngo to x: (105) y: (153)\nshow\ngo to [back v] layer\nswitch costume to (scale v)\n\ndefine schieber (ende1) (ende2)\nif <<mouse down?> and <touching (mouse-pointer v)?>> then\n    repeat until <not <mouse down?>>\n        set x to (mouse x)\n        if <(ende1) > (mouse x)> then\n            set x to (ende1)\n        end\n        if <(mouse x) > (ende2)> then\n            set x to (ende2)\n        end\n        set [zoom v] to ((((x position) - (15)) / ((195) - (15))) + (1))\n    end\nend\n\n@player\n\ndefine x-y ausgleich\nchange [scroll-x v] by (((x position) + (130)) / (10))\nchange [scroll-y v] by ((y position) / (5))\n\nwhen flag clicked\nset volume to (80) %\nbroadcast (start v)\n\ndefine go (x) (y)\nchange [robot-x-pos v] by (x)\nchange [robot-y-pos v] by (y)\ngo to x: (((robot-x-pos) / (zoom)) - ((scroll-x) / (zoom))) y: (((robot-y-pos) / (zoom)) - ((scroll-y) / (zoom)))\n\nwhen flag clicked\nset rotation style [left-right v]\nforever\n    point in direction (speed x)\n    kostume\n    wait (0.1) seconds\nend\n\ndefine kostume\nchange y by (-5)\nif <touching (block v)?> then\n    if <<(speed x) > [1]> or <[-1] > (speed x)>> then\n        next costume\n        if <(costume [number v]) < [33]> then\n            switch costume to (run1 v)\n        end\n    else\n        next costume\n        if <<(costume [number v]) < [19]> or <[22] < (costume [number v])>> then\n            switch costume to (idle1 v)\n        end\n    end\nelse\n    if <touching (leiter v)?> then\n        if <<<(speed x) > [1]> or <[-1] > (speed x)>> or <<(speed y) > [1]> or <[-1] > (speed y)>>> then\n            next costume\n            if <<(costume [number v]) < [7]> or <[13] < (costume [number v])>> then\n                switch costume to (climb1 v)\n            end\n        else\n            if <<(costume [number v]) < [7]> or <[13] < (costume [number v])>> then\n                switch costume to (climb1 v)\n            end\n        end\n    else\n        if <(speed y) > [1]> then\n            switch costume to (jump1 v)\n        else\n            switch costume to (jump4 v)\n        end\n    end\nend\nchange y by (5)\n\ndefine speed\nset [apperance v] to (costume [number v])\nswitch costume to (hitbox v)\nset size to (((50) / (zoom)) * (4)) %\nif <<touching (leiter v)?> and <not <touching (block v)?>>> then\n    if <key (right arrow v) pressed?> then\n        change [speed x v] by (0.4)\n    end\n    if <key (left arrow v) pressed?> then\n        change [speed x v] by (-0.4)\n    end\n    set [speed x v] to ((speed x) * (0.9))\n    if <key (up arrow v) pressed?> then\n        change [speed y v] by (1.2)\n    end\n    if <key (down arrow v) pressed?> then\n        change [speed y v] by (-1.2)\n    end\n    set [speed y v] to ((speed y) * (0.9))\n    go (speed x) (speed y)\n    if <touching (block v)?> then\n        go ((speed x) * (-1)) ((speed y) * (-1))\n    end\nelse\n    if <key (right arrow v) pressed?> then\n        change [speed x v] by (0.9)\n    end\n    if <key (left arrow v) pressed?> then\n        change [speed x v] by (-0.9)\n    end\n    set [speed x v] to ((speed x) * (0.9))\n    go (speed x) [0]\n    if <touching (block v)?> then\n        go [0] [1]\n        if <touching (block v)?> then\n            go [0] [1]\n            if <touching (block v)?> then\n                go [0] [1]\n                if <touching (block v)?> then\n                    go [0] [1]\n                    if <touching (block v)?> then\n                        go [0] [1]\n                        if <touching (block v)?> then\n                            go [0] [1]\n                            if <touching (block v)?> then\n                                go [0] [1]\n                                if <touching (block v)?> then\n                                    go [0] [1]\n                                    if <touching (block v)?> then\n                                        go ((speed x) * (-1)) [-8]\n                                        set [speed x v] to [0]\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [speed y v] by (-1)\n    go [0] (speed y)\n    if <touching (block v)?> then\n        go [0] ((speed y) * (-1))\n        set [speed y v] to [0]\n    end\n    if <key (up arrow v) pressed?> then\n        reset timer\n    end\n    go [0] [-5]\n    if <<touching (block v)?> and <[0.1] > (timer)>> then\n        set [speed y v] to [10]\n        set [up arrow v] to [1]\n        start sound [jump v]\n    end\n    if <<(up arrow) > [0]> and <key (up arrow v) pressed?>> then\n        change [speed y v] by (up arrow)\n        change [up arrow v] by (-0.07)\n    else\n        set [up arrow v] to [0]\n    end\n    go [0] [5]\n    if <<touching (spikes v)?> or <key (r v) pressed?>> then\n        broadcast (delete all clones v) and wait\n        broadcast (start v)\n        start sound [deth v]\n    end\nend\nx-y ausgleich\nswitch costume to (apperance)\n\nwhen I receive [start v]\nshow\nset [robot-x-pos v] to [-150]\nset [robot-y-pos v] to [50]\nset [speed x v] to [0]\nset [speed y v] to [0]\ngo to x: (((robot-x-pos) / (zoom)) - ((scroll-x) / (zoom))) y: (((robot-y-pos) / (zoom)) - ((scroll-y) / (zoom)))\nforever\n    speed\nend\n\n@block\n\nwhen I start as a clone\nset [clone-x v] to (Clone-x-pos)\nset [clone-y v] to (Clone-y-pos)\nset [appearence v] to (APPEARENCE)\npoint in direction (90)\nshow\nforever\n    switch costume to (big v)\n    go to x: (((clone-x) / (zoom)) - ((scroll-x) / (zoom))) y: (((clone-y) / (zoom)) - ((scroll-y) / (zoom)))\n    set size to (((50) / (zoom)) * (2)) %\n    set [tile check v] to []\n    switch costume to (links check v)\n    set [tile check v] to <touching (block v)?>\n    switch costume to (rchts check v)\n    set [tile check v] to (join (tile check) <touching (block v)?>)\n    switch costume to (join (appearence) (item # of (tile check) in [tile appearence v]))\n    if <((clone-x) - (scroll-x)) < [-500]> then\n        delete this clone\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [delete all clones v]\ndelete this clone\n\n@spikes\n\nwhen I start as a clone\nset [appearence v] to (pick random (1) to (2))\nset [clone-x v] to (Clone-x-pos)\nif <(appearence) = [1]> then\n    set [clone-y v] to ((Clone-y-pos) + (48))\nelse\n    set [clone-y v] to ((Clone-y-pos) + (50))\nend\npoint in direction (90)\nshow\nforever\n    switch costume to (big v)\n    go to x: (((clone-x) / (zoom)) - ((scroll-x) / (zoom))) y: (((clone-y) / (zoom)) - ((scroll-y) / (zoom)))\n    set size to (((50) / (zoom)) * (2)) %\n    if <(appearence) = [1]> then\n        switch costume to (spike v)\n    else\n        switch costume to (saw v)\n        go to [front v] layer\n        go [forward v] (2) layers\n        turn right (5) degrees\n    end\n    if <((clone-x) - (scroll-x)) < [-500]> then\n        delete this clone\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [delete all clones v]\ndelete this clone\n\n@leiter\n\nwhen I start as a clone\nset [clone-x v] to (Clone-x-pos)\nset [clone-y v] to (Clone-y-pos)\npoint in direction (90)\nshow\nforever\n    switch costume to (big v)\n    go to x: (((clone-x) / (zoom)) - ((scroll-x) / (zoom))) y: (((clone-y) / (zoom)) - ((scroll-y) / (zoom)))\n    set size to (((50) / (zoom)) * (2)) %\n    set [tile check v] to []\n    switch costume to (oben2 v)\n    set [tile check v] to <touching (leiter v)?>\n    switch costume to (unten2 v)\n    set [tile check v] to (join (tile check) <touching (leiter v)?>)\n    switch costume to (item # of (tile check) in [tile appearence v])\n    if <((clone-x) - (scroll-x)) < [-500]> then\n        delete this clone\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [delete all clones v]\ndelete this clone\n\n@junk\n\nwhen I start as a clone\nset [appearence v] to (pick random (1) to (12))\nset [clone-x v] to (Clone-x-pos)\nset [clone-y v] to ((Clone-y-pos) + (48))\npoint in direction (90)\nshow\nforever\n    switch costume to (big v)\n    go to x: (((clone-x) / (zoom)) - ((scroll-x) / (zoom))) y: (((clone-y) / (zoom)) - ((scroll-y) / (zoom)))\n    go to [back v] layer\n    go [forward v] (10) layers\n    switch costume to (join [V] (appearence))\n    set size to (((50) / (zoom)) * (3)) %\n    if <((clone-x) - (scroll-x)) < [-500]> then\n        delete this clone\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [delete all clones v]\ndelete this clone\n\n@death detection\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset [ghost v] effect to (100)\nset volume to (80) %\nforever\n    if <<not <touching (block v)?>> and <not <touching (leiter v)?>>> then\n        start sound [deth v]\n        broadcast (delete all clones v) and wait\n        broadcast (start v)\n        wait (0) seconds\n    end\nend\n\n@Sprite1\n\nwhen flag clicked\nforever\n    set [ghost v] effect to (100)\n    go to [front v] layer\nend\n\n