SCOUD A SCROLLING PLATFORMER

Instructions: ★ ★ ★ ★ ★ ★ ★ ★SCOUD ★ ★ ★ ★ ★ ★ ★ ★\na scrolling platformer…\nMOVEMENT: Arrow keys; W, A, S, D or your finger!\nYOUR TASK: Finish the platformer! Much fun!\nThanks!\n\nGERMAN:\n\nBEWEGUNG: Pfeiltasten; W, A, S, D oder mit dem Finger!\nDEINE AUFGABE: Den Plattformer bis zum Ende durch zu spielen! Viel Spaß!!\nDanke!\n\nCAN WE GET TRENDING AGAIN!? PLS…

@Stage\n\n@Platforms r\n\nwhen I receive [green flag v]\nshow\n\nwhen I receive [clock v]\nPosition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(Level) = [1]> then\n    switch costume to (costume1 v)\n    Clone At x: [500] y: [0]\n    Clone At x: [500] y: [0]\n    Clone At x: [500] y: [0]\n    Clone At x: [500] y: [0]\n    Clone At x: [500] y: [0]\n    Clone At x: [500] y: [0]\n    Clone At x: [500] y: [0]\n    Clone At x: [500] y: [0]\n    Clone At x: [500] y: [0]\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone At x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen flag clicked\nrepeat (10)\n    delete this clone\nend\n\nwhen I start as a clone\nforever\n    go to [front v] layer\nend\n\nwhen I receive [exit v]\nset [scroll x v] to [0]\nset [scroll y v] to [0]\n\nwhen I receive [start_game v]\n\ngo [forward v] (1) layers\n\n@Player\n\nwhen flag clicked\nset [x v] to [0]\npoint in direction (90)\nhide\n\nset size to (25) %\n\nwhen I receive [green flag v]\nhide\ngo to [front v] layer\n\nwhen I receive [game on v]\nset [scroll x v] to [0]\nset [scroll y v] to [0]\nset [level v] to [1]\nforever\n    broadcast (Reset v) and wait\n    set [tick v] to [0]\n    broadcast (Setup v) and wait\n    GameOn\n    repeat until <(EXIT) > []>\n        change [tick v] by (1)\n        Tick\n        broadcast (Clock v) and wait\n    end\n    if <(EXIT) = [win]> then\n        Game-Win\n    else\n        Game-die\n    end\nend\n\ndefine GameOn\nset [in air v] to [0]\nset [sy v] to [0]\nset [sx v] to [0]\nset [x v] to [0]\nset [y v] to [0]\nset [exit v] to []\nset size to (20) %\nset [ghost v] effect to (0)\nshow\nif <(Checkpoint) = [0]> then\n    set [x v] to [0]\n    set [y v] to [0]\n    set [scroll x v] to [0]\n    set [scroll y v] to [0]\nelse\n    if <(Checkpoint) = [1]> then\n        set [x v] to [1870]\n        set [y v] to [30]\n        set [scroll x v] to [1870]\n        set [scroll y v] to [30]\n    else\n        if <(Checkpoint) = [2]> then\n            set [x v] to [3461]\n            set [y v] to [50]\n            set [scroll x v] to [3461]\n            set [scroll y v] to [75]\n        else\n            if <(Checkpoint) = [3]> then\n                set [x v] to [3314]\n                set [y v] to [=58]\n                hide\n                stop [all v]\n            end\n        end\n    end\nend\n\ndefine Tick\nif <not <key (any v) pressed?>> then\nif <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> then\n    change [sx v] by (-2)\nend\nif <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n    change [sx v] by (2)\nend\nset [sx v] to ((sx) * (0.8))\nif <([abs v] of (sx) ) > [0.9]> then\n    Change Player X By: (round (sx))\nend\nif <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > [0]>>> then\n    if <(in air) < [5]> then\n        set [sy v] to [15]\n    end\nend\nchange [sy v] by (-2)\nChange Player Y by: (sy)\nTest-die\nif <key (any v) pressed?> then\n    change [scroll x v] by (round (((x) - (SCROLL X)) / (15)))\nend\nif <not <key (any v) pressed?>> then\n    change [scroll x v] by (round (((x) - (SCROLL X)) / (10)))\nend\nif <(SCROLL X) < [0]> then\n    set [scroll x v] to [0]\nend\nchange [scroll y v] by (round (((y) - (SCROLL Y)) / (45)))\nif <(SCROLL Y) < [0]> then\n    set [scroll y v] to [0]\nend\nPosition\nif <(y) < [-180]> then\n    set [exit v] to [die]\nend\nif <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > [0]>>> and <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>>> then\nif <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > [0]>>> and <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>>> then\nif <touching (platforms r v)?> then\n    point in direction (90)\nend\n\ndefine Change Player Y by: (sy)\nchange [y v] by (sy)\nchange [in air v] by (1)\nPosition\nrepeat until <not <touching (platforms r v)?>>\n    if <(sy) > [0]> then\n        change [y v] by (-1)\n    else\n        change [y v] by (1)\n        set [in air v] to [0]\n    end\n    Position\n    set [sy v] to [0]\nend\n\ndefine Position\ngo to x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\n\ndefine Change Player X By: (sx)\nchange [x v] by (sx)\nPosition\nif <touching (platforms r v)?> then\n    repeat (12)\n        change [y v] by (1)\n        Position\n        if <not <touching (platforms r v)?>> then\n            stop [this script v]\n        end\n    end\n    change [y v] by (-12)\n    if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n        if <(sx) > [0]> then\n            set [sx v] to [-16]\n        else\n            set [sx v] to [16]\n        end\n        set [in air v] to [0]\n    else\n        set [sx v] to [0]\n    end\n    repeat until <not <touching (platforms r v)?>>\n        if <(sx) > [0]> then\n            change [x v] by (-1)\n        else\n            change [x v] by (1)\n        end\n        Position\n    end\nend\n\ndefine Game-die\nset [scroll x v] to [0]\nset [exit v] to []\nrepeat (10)\n    change size by (0.5)\n    change [ghost v] effect by (10)\nend\nhide\nwait (0.5) seconds\n\ndefine Test-die\nif <touching (lava v)?> then\n    set [exit v] to [die]\n    broadcast (dies v)\nend\n\ndefine Game-Win\npoint in direction (90)\nhide\nset [scroll x v] to [0]\nset [scroll y v] to [0]\n\nwhen I receive [end intro v]\nbroadcast (Green Flag v) and wait\nshow\nbroadcast (Game On v) and wait\n\nwhen flag clicked\nforever\n    go to [front v] layer\nend\n\nwhen I receive [eye 2 v]\nswitch costume to (eye 2 v)\n\nwhen I receive [eye v]\nswitch costume to (eye v)\n\nwhen I receive [blank v]\nswitch costume to (blank v)\n\n@Costume Selection\n\nwhen flag clicked\nshow\nswitch costume to (costume1 v)\n\nwhen I receive [end intro v]\nhide\n\nwhen I receive [next v]\nnext\n\nwhen I receive [costume v]\nif <(costume [number v]) = [1]> then\n    broadcast (blank v) and wait\nend\nif <(costume [number v]) = [2]> then\n    broadcast (eye v) and wait\nend\nif <(costume [number v]) = [3]> then\n    broadcast (eye 2 v) and wait\nend\n\nwhen I receive [left v]\nback\n\nrepeat (9)\n\nnext costume\n\ndefine back\nrepeat (5)\n    change [ghost v] effect by (20)\nend\nrepeat (8)\n    next costume\nend\nrepeat (5)\n    change [ghost v] effect by (-20)\nend\n\nwhen flag clicked\ngo to [front v] layer\n\ndefine next\nrepeat (5)\n    change [ghost v] effect by (20)\nend\nnext costume\nrepeat (5)\n    change [ghost v] effect by (-20)\nend\n\nforever\n    repeat (10)\n        turn right (1) degrees\n    end\n    repeat (10)\n        turn left (1) degrees\n    end\n    repeat (10)\n        turn left (1) degrees\n    end\n    repeat (10)\n        turn right (1) degrees\n    end\nend\n\nhide\n\n@Play\n\nwhen flag clicked\nshow\n\nwhen I receive [end intro v]\nhide\nstop [other scripts in sprite v]\nstop [this script v]\n\nwhen flag clicked\nshow\ngo to [front v] layer\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        broadcast (costume v) and wait\n        broadcast (end intro v) and wait\n    end\n    if <<mouse down?> and <touching (mouse-pointer v)?>> then\n        start sound [pop v]\n        hide\n        broadcast (START_GAME v) and wait\n        stop [other scripts in sprite v]\n        stop [this script v]\n    end\n    if <touching (mouse-pointer v)?> then\n        change size by (((120) - (size)) / (3))\n        switch costume to (costume3 v)\n    else\n        switch costume to (costume2 v)\n        change size by (((100) - (size)) / (3))\n    end\nend\n\nwhen this sprite clicked\nbroadcast (start costume layer front v)\n\nwhen flag clicked\nforever\n    repeat (10)\n        turn right (1) degrees\n    end\n    repeat (10)\n        turn left (1) degrees\n    end\n    repeat (10)\n        turn left (1) degrees\n    end\n    repeat (10)\n        turn right (1) degrees\n    end\nend\n\nwhen this sprite clicked\nbroadcast (start!!!!! v)\n\nhide\n\n@Select2\n\nwhen flag clicked\nshow\ngo to [front v] layer\n\nwhen I receive [end intro v]\nhide\n\nwhen flag clicked\nforever\n    point in direction ((([cos v] of ((tic) * (1.4)) ) * (5)) + (90))\n    change y by (([cos v] of ((tic) * (2.1)) ) * (1.4))\n    change size by (([cos v] of ((tic) * (1.4)) ) * (0.3))\n    change [tic v] by (2)\nend\n\nhide\n\n@Sprite1\n\n@CheckPoint 3\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [clock v]\nif <(Checkpoint) = [2]> then\n    switch costume to (flag pole v)\nend\nPosition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\nif <(costume [number v]) = [1]> then\n    if <touching (player v)?> then\n        start sound [YOU WON! v]\n        change [checkpoint v] by (1)\n        broadcast (END GAME  v) and wait\n        switch costume to (flag  v)\n    end\nend\nif <(Checkpoint) > [2]> then\n    switch costume to (flag  v)\nend\n\nwhen I receive [setup v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(Level) = [1]> then\n    Clone At x: [4720] y: [90]\nend\nset [x v] to [-99999]\n\nClone At x: [1966] y: [137]\n\nClone At x: [2132] y: [38]\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone At x: (x) y: (y)\nset [x v] to (x)\nset [y v] to (y)\nchange [collected max v] by (1)\ncreate clone of (_myself_ v)\n\nwhen flag clicked\nset [checkpoint v] to [0]\nswitch costume to (flag pole v)\n\n@Game End\n\nwhen flag clicked\nhide\n\nwhen I receive [end game  v]\nshow\nforever\n    go to [front v] layer\nend\n\n@Thumbnail\n\nwhen flag clicked\nhide\nset [ghost v] effect to (100)\nforever\n    set [aatimer2 v] to (timer)\nend\n\nwhen [timer v] > (AAtimer2)\n\ngo to [front v] layer\nshow\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\n\nhide\n\nshow\n\n@BG\n\nwhen I receive [green flag v]\nhide\n\nshow\n\nwhen I receive [clock v]\nPosition (((x) - (SCROLL X)) / (2)) (((y) - (SCROLL Y)) / (2))\n\nwhen I receive [setup v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(Level) = [1]> then\n    switch costume to (1 v)\n    Clone At x: [0] y: [0]\nend\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone At x: (x) y: (y)\ngo to [back v] layer\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\nwhen I start as a clone\nforever\n    go to [back v] layer\nend\n\nwhen I start as a clone\nshow\n\nwhen I receive [start costume layer front v]\nwait (0.2) seconds\ngo [forward v] (1) layers\n\nwhen flag clicked\nforever\n    if <(EXIT) = [die]> then\n        show\n        go [forward v] (2) layers\n    end\nend\n\nwhen I receive [dies v]\nrepeat (2)\n    show\n    go [forward v] (1) layers\nend\n\nwhen I receive [start!!!!! v]\nwait (0.3) seconds\ngo [forward v] (2) layers\n\n@Figur1\n\nwhen I receive [dies v]\nwait (1) seconds\ngo [backward v] (100) layers\n\nwhen flag clicked\nforever\n    go to [back v] layer\nend\n\n@Lava\n\nwhen I receive [green flag v]\nshow\n\nwhen I receive [clock v]\nPosition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(Level) = [1]> then\n    switch costume to (level 1.1 v)\n    Clone At x: [360] y: []\n    Clone At x: [360] y: []\n    Clone At x: [360] y: []\n    Clone At x: [360] y: []\n    Clone At x: [360] y: []\n    Clone At x: [360] y: []\n    Clone At x: [360] y: []\n    Clone At x: [360] y: []\n    Clone At x: [360] y: []\n    Clone At x: [360] y: []\n    Clone At x: [360] y: []\n    Clone At x: [360] y: []\n    Clone At x: [360] y: []\n    Clone At x: [360] y: []\n    Clone At x: [360] y: []\nend\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone At x: (x) y: (y)\ngo to [back v] layer\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\nwhen I start as a clone\ngo to [front v] layer\n\nwhen I start as a clone\nshow\n\ngo to [back v] layer\n\n@CheckPoint 4\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [clock v]\nif <(Checkpoint) = [0]> then\n    switch costume to (flag pole v)\nend\nPosition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\nif <(costume [number v]) = [1]> then\n    if <touching (player v)?> then\n        start sound [modern-checkpoint v]\n        change [checkpoint v] by (1)\n        switch costume to (flag  v)\n    end\nend\nif <(Checkpoint) > [0]> then\n    switch costume to (flag  v)\nend\n\nwhen I receive [setup v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(Level) = [1]> then\n    Clone At x: [1902] y: [-10]\nend\nset [x v] to [-99999]\n\nClone At x: [1966] y: [137]\n\nClone At x: [2132] y: [38]\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone At x: (x) y: (y)\nset [x v] to (x)\nset [y v] to (y)\nchange [collected max v] by (1)\ncreate clone of (_myself_ v)\n\nwhen flag clicked\nset [checkpoint v] to [0]\nswitch costume to (flag pole v)\n\n@CheckPoint 5\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [clock v]\nif <(Checkpoint) = [1]> then\n    switch costume to (flag pole v)\nend\nPosition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\nif <(costume [number v]) = [1]> then\n    if <touching (player v)?> then\n        start sound [modern-checkpoint v]\n        change [checkpoint v] by (1)\n        switch costume to (flag  v)\n    end\nend\nif <(Checkpoint) > [1]> then\n    switch costume to (flag  v)\nend\n\nwhen I receive [setup v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(Level) = [1]> then\n    Clone At x: [3461] y: [57]\nend\nset [x v] to [-99999]\n\nClone At x: [1966] y: [137]\n\nClone At x: [2132] y: [38]\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone At x: (x) y: (y)\nset [x v] to (x)\nset [y v] to (y)\nchange [collected max v] by (1)\ncreate clone of (_myself_ v)\n\nwhen flag clicked\nset [checkpoint v] to [0]\nswitch costume to (flag pole v)\n\n