The Test || Contest Entry || Platformer || Mobile Friendly

Instructions: ALL LEVELS ARE POSSIBLE! PRO TIPS HAVE BEEN ADDED (notifications) TO HELP! IF U LIKE AND FAV THIS PROJECT, YOU GET 1 SKIP! (Normal platformer only) and hopefully all glitches fixed\nturbo warp if there are many glitches: https://turbowarp.org/537763896\nHi there! So... this took me a week to make, and I really wanna thank my mom cuz she allowed me to be on Scratch for more than 3/4 hours a day! It’s my biggest game yet, and because of those extra hours I won’t be allowed to be on scratch for a month now so.. :( \n\nThis isn’t a test meaning demo, it’s a test meaning quiz/exam. A lot of people have indirectly contributed to this project, and all the credits are listed at the end of the project.\n\nThere are 2 types of platformers here: A normal platformer and a scrolling platformer\n\n|| The Normal Platformer ||\nInstructions:\nNormal controls to move, avoid spikes\nYou can swim. If you ever get stuck in the walls and stuff (not a 100% possibly, but could happen) then spam your R key (sry mobile for that)\nYes you can jump through walls\n\n|| The Scrolling Platformer ||\nNormal controls to move.\nAvoid spikes.\nYour basic goal is to find a red coin, and to do that you gotta get a key. The key is at the end of the platformer. Now, I wouldn’t recommend dieting and then fin isn’t the coin. See, you have to backtrack your way to the coin (from the key) Why do i not recommend it? Cuz the coin is near the end. Be careful underground ;)\n\n|| Evaluation ||\nIf you don’t know how you got evaluated, then go to the Evaluation sprite in the project and search for these custom blocks:\nDeath points, Time points, Bonus points and Overall score. The evaluation steps are:\nThere are certain steps and all (eg. If you have 3 deaths throughout u get an extra 250 points, if you get 26 deaths you get an extra 225 points) that help calculate the deaths. The time is the exact same. To calculate the bonus points, Add the Death points and time points, divide them in half and that will be your bonus points. Then add all of those three scores to get your final score! Just saying, all of this has been done for you by yours truly (me) \n\n|| That’s all ||\nAnd yea that’s all, and if you enjoyed please consider liking and faving this project. I really worked hard on it. The credits have been GIVEN! And if you dont wanna wait, or wanna see it again without playing the entire thing again, click see inside and go to the sprite credits, click so times and go to the first costume.. I HOPE YOU PASS!

@Stage\n\nwhen flag clicked\nerase all\nswitch backdrop to (intro v)\n\nwhen I receive [load over v]\nrepeat (10)\n    change [brightness v] effect by (-10)\nend\nclear graphic effects\nswitch backdrop to (game v)\n\nwhen I receive [load start v]\nswitch backdrop to (laoding v)\nclear graphic effects\n\nwhen I receive [load start v]\nrepeat until <(TASK) = [Done]>\n    play sound [ Fresh v] until done\nend\n\nwhen I receive [evaluation time v]\nswitch backdrop to (test results. v)\n\nwhen I receive [credits v]\nrepeat (10)\n    stop all sounds\nend\nplay sound [Love Looks Like Flower v] until done\n\n@Ground visuals\n\nwhen flag clicked\nswitch costume to (1 v)\nhide\ngo to x: (500) y: (0)\n\nwhen I receive [start v]\nswitch costume to (1 v)\ngo to [back v] layer\nshow\nglide (1) secs to x: (0) y: (0)\nbroadcast (Green Flag clicked v)\n\nwhen flag clicked\nforever\n    go to [front v] layer\n    go [backward v] (5) layers\n    switch costume to (Level)\nend\n\nwhen I receive [normal done v]\nforever\n    stop [other scripts in sprite v]\n    hide\nend\n\nwhen [space v] key pressed\nif <(username) = [HenryWolfe]> then\n    broadcast (Next level v)\nend\n\n@Spikes\n\nwhen flag clicked\nswitch costume to (Level)\nhide\ngo to x: (500) y: (0)\nforever\n    switch costume to (Level)\nend\n\nwhen I receive [start v]\ngo to [back v] layer\nshow\nglide (1) secs to x: (0) y: (0)\nbroadcast (Green Flag clicked v)\n\nwhen flag clicked\nforever\n    go to [back v] layer\n    go [forward v] (1) layers\nend\n\nwhen I receive [normal done v]\nforever\n    stop [other scripts in sprite v]\n    hide\nend\n\n@Ground\n\nwhen flag clicked\nswitch costume to (costume1 v)\ngo to x: (500) y: (0)\ngo to [back v] layer\nset [ghost v] effect to (100)\nhide\n\nwhen I receive [start v]\nglide (1) secs to x: (0) y: (0)\nshow\n\nwhen I receive [next level v]\nset [ghost v] effect to (100)\n\nclear graphic effects\n\nwhen flag clicked\nforever\n    switch costume to (Level)\nend\n\nwhen I receive [start v]\nforever\n    change [norm time v] by (1)\n    wait (1) seconds\nend\n\nwhen I receive [normal done v]\nforever\n    stop [other scripts in sprite v]\n    hide\nend\n\n@Water\n\nwhen I receive [start v]\ngo to x: (0) y: (-150)\nshow\nforever\n    wait (0.1) seconds\n    next costume\n    set [ghost v] effect to (50)\n    go to [back v] layer\n    if <(Level) = [9]> then\n        go to x: (0) y: (-115)\n    end\n    if <(Level) = [10]> then\n        go to x: (0) y: (-20)\n    end\n    if <(Level) = [12]> then\n        go to x: (0) y: (-10)\n    end\n    if <(Level) = [13]> then\n        go to x: (0) y: (-50)\n    end\n    if <(Level) = [14]> then\n        go to x: (0) y: (-150)\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [win v]\nhide\nstop [other scripts in sprite v]\nstop all sounds\n\nwhen I receive [normal done v]\nforever\n    stop [other scripts in sprite v]\n    hide\nend\n\n@Note + start + middle + finish \n\nwhen I start as a clone\nshow\nif <(costume [number v]) = [1]> then\n    switch costume to (1 v)\n    forever\n        go to [front v] layer\n        glide (2) secs to x: (0) y: (10)\n        glide (0.2) secs to x: (0) y: (15)\n        glide (2) secs to x: (0) y: (-10)\n        glide (0.2) secs to x: (0) y: (-15)\n    end\nend\nif <(costume [number v]) = [2]> then\n    go to [front v] layer\n    switch costume to (2 v)\n    set [brightness v] effect to (25)\n    go to x: (0) y: (0)\n    set [ghost v] effect to (75)\nend\nif <(costume [number v]) = [3]> then\n    switch costume to (3 v)\n    forever\n        go to [front v] layer\n        glide (2) secs to x: (0) y: (10)\n        glide (0.2) secs to x: (0) y: (15)\n        glide (2) secs to x: (0) y: (-10)\n        glide (0.2) secs to x: (0) y: (-15)\n    end\nend\nif <(costume [number v]) = [4]> then\n    go to [front v] layer\n    switch costume to (4 v)\n    set [brightness v] effect to (25)\n    go to x: (0) y: (0)\n    set [ghost v] effect to (75)\nend\nif <(costume [number v]) = [5]> then\n    switch costume to (5 v)\n    forever\n        go to [front v] layer\n        glide (2) secs to x: (0) y: (10)\n        glide (0.2) secs to x: (0) y: (15)\n        glide (2) secs to x: (0) y: (-10)\n        glide (0.2) secs to x: (0) y: (-15)\n    end\nend\nif <(costume [number v]) = [6]> then\n    go to [front v] layer\n    switch costume to (6 v)\n    set [brightness v] effect to (25)\n    go to x: (0) y: (0)\n    set [ghost v] effect to (75)\nend\n\nwhen this sprite clicked\nif <(TASK) = [1]> then\n    broadcast (start v)\n    hide\nend\nif <(TASK) = [2]> then\n    broadcast (Scroll start v)\n    hide\nend\nif <(TASK) = [Done]> then\n    broadcast (Evaluation time v)\nend\n\nwhen I receive [start v]\nhide\n\nwhen I receive [load over v]\nset [task v] to [1]\nwait (0.5) seconds\ngo to x: (0) y: (0)\nhide\nswitch costume to (1 v)\ncreate clone of (_myself_ v)\nswitch costume to (2 v)\ncreate clone of (_myself_ v)\n\nwhen I receive [normal done v]\nset [task v] to [2]\nwait (0.5) seconds\ngo to x: (0) y: (0)\nhide\nswitch costume to (3 v)\ncreate clone of (_myself_ v)\nswitch costume to (4 v)\ncreate clone of (_myself_ v)\n\nwhen flag clicked\nhide\n\nwhen I receive [scroll start v]\nhide\n\nwhen I receive [scroll done v]\nset [task v] to [Done]\nwait (0.5) seconds\ngo to x: (0) y: (0)\nhide\nswitch costume to (5 v)\ncreate clone of (_myself_ v)\nswitch costume to (6 v)\ncreate clone of (_myself_ v)\n\nwhen I receive [evaluation time v]\nhide\n\nwhen flag clicked\nset [task v] to []\n\n@1\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nshow\nforever\n    go to x: () y: ()\n    go to [front v] layer\n    set [ghost v] effect to (85)\nend\n\nwhen I receive [evaluation time v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [normal done v]\nhide\n\nwhen I receive [scroll start v]\nshow\nforever\n    go to x: () y: ()\n    go to [front v] layer\n    set [ghost v] effect to (85)\nend\n\nwhen I receive [scroll done v]\nhide\n\n@Player\n\ndefine Reset\npoint in direction (90)\nset size to (20) %\nset rotation style [left-right v]\ngo to (respawner v)\n\nshow\nset [speed y v] to [0]\nset [falling? v] to [10]\n\nwhen I receive [green flag clicked v]\nReset\nset [level v] to [1]\nforever\n    go to [front v] layer\n    Platforming Engine\n    if <<touching (moving spikes v)?> or <<touching (spikes v)?> or <touching (right/left v)?>>> then\n        switch costume to (die  v)\n        if <(SFX VOLUME) = [1]> then\n            start sound [whoop v]\n        end\n        Go down\n        repeat (11)\n            next costume\n        end\n        repeat (20)\n            change [ghost v] effect by (5)\n        end\n        broadcast (Retry v)\n        Reset\n        set [ghost v] effect to (0)\n    end\n    if <touching (just another sprite v)?> then\n        Reset\n    end\nend\n\ngo to x: (-200) y: (0)\n\ndefine Walk (direction) (speed)\npoint in direction (direction)\nchange x by (speed)\nset [slope v] to [0]\nrepeat until <<(slope) = [8]> or <not <<touching (ground v)?> or <touching (moving platforms v)?>>>>\n    change y by (1)\n    change [slope v] by (1)\nend\nif <(slope) = [8]> then\n    change x by ((0) - (speed))\n    change y by ((0) - (slope))\n    if <<<key (w v) pressed?> or <<key (space v) pressed?> or <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>>>> and <([abs v] of (speed) ) > [3]>> then\n        if <(SFX VOLUME) = [1]> then\n            start sound [Jump v]\n        end\n        if <(Wall Jump) = [0]> then\n            set [speed x v] to ((-1.2) * (speed))\n            set [max bounce v] to [11]\n            set [speed y v] to [11]\n            set [falling? v] to [6]\n            set [wall jump v] to [15]\n        end\n    else\n        set [speed x v] to [0]\n    end\nend\nif <(speed) < [0]> then\n    change [frame v] by ((speed) / (-8))\nelse\n    change [frame v] by ((speed) / (8))\nend\n\nwhen I receive [retry v]\nReset\n\nwhen I receive [next level v]\nchange [level v] by (1)\nReset\n\ndefine Set Costume\nif <(falling?) < [6]> then\n    if <(frame) = [0]> then\n        switch costume to ([floor v] of ((13) + ((Idle Frame) mod (15))) )\n        change [idle frame v] by (pick random (0.3) to (0.7))\n    else\n        switch costume to ([floor v] of ((29) + ((frame) mod (15))) )\n    end\nelse\n    if <touching (ladder v)?> then\n        switch costume to ([floor v] of ((61) + (((timer) * (10)) mod (3))) )\n    else\n        switch costume to ([floor v] of ((((15) / ((Max Bounce) * (2))) * ((speed y) + (Max Bounce))) + (45)) )\n    end\nend\nif <<(costume [number v]) = [29]> or <(costume [number v]) = [37]>> then\n    if <(SFX VOLUME) = [1]> then\n        start sound (join [Walking Sound] (pick random (2) to (8)))\n    end\nend\n\ndefine Touch Ground <up?>\nchange [falling? v] by (1)\nrepeat until <not <<touching (moving platforms v)?> or <touching (ground v)?>>>\n    if <up?> then\n        change y by (-1)\n    else\n        change y by (1)\n        set [falling? v] to [0]\n    end\n    set [speed y v] to [0]\nend\n\nwhen flag clicked\nhide\n\ndefine Go down\nrepeat until <<touching (ground v)?> or <<touching (moving platforms v)?> or <touching (_edge_ v)?>>>\n    change y by (-2)\nend\n\nwhen flag clicked\nset [level v] to [1]\n\ndefine Platforming Engine\nswitch costume to (hitbox v)\nif <<(speed y) < [4]> or <<key (w v) pressed?> or <<key (space v) pressed?> or <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>>>>> then\n    change [speed y v] by (-1)\nelse\n    change [speed y v] by (-2)\nend\nif <touching (water v)?> then\n    if <<key (w v) pressed?> or <<key (space v) pressed?> or <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>>>> then\n        change [speed y v] by (5)\n    end\n    set [speed y v] to ((speed y) * (0.6))\n    change [speed y v] by (-1)\nend\nchange y by (speed y)\nTouch Ground <(speed y) > [0]>\nif <(Wall Jump) > [0]> then\n    change [wall jump v] by (-1)\nelse\n    set [speed x v] to ((speed x) * (0.7))\n    if <<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<mouse down?> and <(x position) > (mouse x)>>>> then\n        change [speed x v] by (-1.5)\n    end\n    if <<key (right arrow v) pressed?> or <<key (d v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>>> then\n        change [speed x v] by (1.5)\n    end\nend\nif <(speed x) < [-0.5]> then\n    Walk (-90) (speed x)\nelse\n    if <(speed x) > [0.5]> then\n        Walk (90) (speed x)\n    else\n        set [frame v] to [0]\n    end\nend\nif <<key (w v) pressed?> or <<key (space v) pressed?> or <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>>>> then\n    if <<(jump key) = [0]> and <(falling?) < [3]>> then\n        if <(SFX VOLUME) = [1]> then\n            start sound [Jump v]\n        end\n        set [max bounce v] to [14]\n        set [speed y v] to [14]\n        set [falling? v] to [6]\n        set [jump key v] to [1]\n    end\nelse\n    set [jump key v] to [0]\nend\nif <(y position) < [-180]> then\n    broadcast (Retry v)\n    set [speed y v] to [0]\n    Reset\nend\nif <touching (portal v)?> then\n    if <not <(Level) = (MAX LEVEL)>> then\n        broadcast (Next level v)\n        broadcast (Respawn v)\n        Reset\n    end\nend\nif <touching (bounce v)?> then\n    if <(SFX VOLUME) = [1]> then\n        start sound [Jump v]\n    end\n    set [max bounce v] to [25]\n    set [speed y v] to [25]\nend\nif <(x position) < [-190]> then\n    set x to (-190)\nend\nif <<<key (w v) pressed?> or <<key (space v) pressed?> or <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>>>> and <touching (ladder v)?>> then\n    set [speed y v] to [5]\nend\nSet Costume\n\nbroadcast (Green Flag clicked v)\n\nwhen I receive [retry v]\nReset\n\nwhen I receive [green flag clicked v]\nforever\n    if <<touching (moving platforms v)?> and <(Level) = [6]>> then\n        change x by ((([x position v] of [moving platforms v]) - (x position)) / (4))\n    end\nend\n\nif <[] = [right]> then\n    change x by (3)\nelse\n    change x by (-3)\nend\n\nset x to (-190)\n\nwhen I receive [layer v]\ngo to [back v] layer\n\ngo to x: (-200) y: (-100)\n\nwhen I receive [start v]\nwait (1) seconds\ngo to x: (-200) y: (10)\nshow\n\nwhen [r v] key pressed\nReset\n\nwhen I receive [next level v]\nReset\n\nwhen I receive [normal done v]\nforever\n    stop [other scripts in sprite v]\n    hide\nend\n\nwhen I receive [retry v]\nchange [deaths norm v] by (1)\n\n@Portal\n\nwhen flag clicked\ngo to x: (0) y: (0)\ngo to [front v] layer\nset [ghost v] effect to (100)\nshow\n\n@Respawner\n\nwhen flag clicked\nshow\nset [ghost v] effect to (100)\nX: [-180] Y: [-96] Lvl: [1]\n\ndefine X: (x) Y: (y) Lvl: (lvl)\nif <(lvl) = (Level)> then\n    go to x: (x) y: (y)\nend\n\nwhen I receive [retry v]\nshow\nset [ghost v] effect to (100)\nX: [-250] Y: [-96] Lvl: [1]\nX: [-230] Y: [-96] Lvl: [2]\nX: [-230] Y: [-96] Lvl: [5]\nX: [-250] Y: [20] Lvl: [12]\nX: [-180] Y: [-132] Lvl: [13]\nX: [-180] Y: [-125] Lvl: [14]\n\nwhen I receive [respawn v]\nshow\nset [ghost v] effect to (100)\nX: [-250] Y: [-96] Lvl: [1]\nX: [-230] Y: [-96] Lvl: [2]\nX: [-230] Y: [-96] Lvl: [5]\nX: [-250] Y: [20] Lvl: [12]\nX: [-180] Y: [-132] Lvl: [13]\nX: [-180] Y: [-125] Lvl: [14]\nX: [-222] Y: [3] Lvl: [15]\nX: [-210] Y: [-50] Lvl: [17]\n\nwhen I receive [next level v]\nbroadcast (Respawn v)\n\nclear graphic effects\n\n@Moving Platforms\n\nwhen flag clicked\nforever\n    set [ghost v] effect to (100)\n    go to (moving visuals v)\nend\n\nwhen flag clicked\nhide\nforever\n    if <(Level) = [16]> then\n        show\n        switch costume to (costume1 v)\n    end\n    if <(Level) = [17]> then\n        show\n        switch costume to (costume2 v)\n    end\n    if <(Level) = [18]> then\n        show\n        switch costume to (costume3 v)\n    end\n    if <(Level) = [19]> then\n        show\n        switch costume to (costume4 v)\n    end\nend\n\nwhen I receive [normal done v]\nforever\n    stop [other scripts in sprite v]\nend\n\nwhen I receive [next level v]\nhide\n\n@non costume code\n\nwhen I receive [load over v]\ngo to x: (-127) y: (-29)\nset pen color to (#000000)\nset pen size to (35)\ngo to x: (135) y: (-29)\n\nwhen I receive [load start v]\nerase all\nhide\ngo to x: (-127) y: (-29)\npen down\nset pen color to (#000000)\nset pen size to (34)\ngo to x: (135) y: (-29)\npen up\ngo to x: (-127) y: (-29)\npen down\nset pen color to (#ffffff)\nset pen size to (25)\ngo to x: (135) y: (-29)\npen up\ngo to x: (-127) y: (-29)\nset pen size to (15)\nset pen color to (#3f515f)\npen down\nglide (pick random (0) to (0.5)) secs to x: (-115) y: (-29)\nchange pen (brightness v) by (-1)\nglide (pick random (0) to (0.5)) secs to x: (-100) y: (-29)\nglide (pick random (0) to (0.5)) secs to x: (-50) y: (-29)\nglide (pick random (0) to (0.5)) secs to x: (0) y: (-29)\nglide (pick random (0) to (0.5)) secs to x: (0) y: (-29)\nchange pen (brightness v) by (-1)\nglide (pick random (0) to (0.5)) secs to x: (50) y: (-29)\nglide (pick random (0) to (0.5)) secs to x: (130) y: (-29)\nchange pen (brightness v) by (-1)\nglide (pick random (0) to (0.5)) secs to x: (135) y: (-29)\nwait (1) seconds\nbroadcast (Load over v)\nwait (0.2) seconds\nerase all\n\nwhen flag clicked\nforever\n    if <(Level) > [20]> then\n        broadcast (Normal done v)\n    end\nend\n\nwhen I receive [normal done v]\nforever\n    stop [other scripts in sprite v]\nend\n\nwhen I receive [load over v]\nset [task v] to [1]\n\n@Task \n\nwhen flag clicked\nswitch costume to (task 1 v)\nhide\n\nwhen I receive [start v]\nshow\nswitch costume to (task 1 v)\ngo to x: (0) y: (0)\nset size to (75) %\nrepeat (10)\n    change size by (10)\nend\nwait (0.5) seconds\nrepeat (15)\n    change size by (-10)\nend\n\ndefine Glide\nglide (1) secs to x: (-200) y: (160)\n\nwhen I receive [start v]\nwait (1) seconds\nGlide\n\nwhen I receive [scroll start v]\nshow\nswitch costume to (task 2 v)\ngo to x: (0) y: (0)\nset size to (75) %\nrepeat (10)\n    change size by (10)\nend\nwait (0.5) seconds\nrepeat (15)\n    change size by (-10)\nend\n\nwhen I receive [scroll start v]\nwait (1) seconds\nGlide\n\nwhen I receive [evaluation time v]\nhide\n\n@Just another sprite\n\nwhen flag clicked\nhide\nforever\n    if <(Level) = [14]> then\n        go to x: (0) y: (0)\n        switch costume to (costume1 v)\n        show\n        set [ghost v] effect to (100)\n    end\n    if <(Level) = [16]> then\n        go to x: (0) y: (0)\n        switch costume to (costume2 v)\n        show\n        set [ghost v] effect to (100)\n    end\nend\n\nwhen I receive [next level v]\nhide\n\nwhen I receive [normal done v]\nforever\n    stop [other scripts in sprite v]\nend\n\n@Intro\n\nwhen flag clicked\nstart sound [Di Young - Not This Time \[Bass Rebels\]  v]\nhide\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\ncreate clone of (_myself_ v)\npoint in direction (90)\nswitch costume to (starts here v)\ngo to x: (500) y: (-350)\nswitch costume to ( v)\ncreate clone of (_myself_ v)\nrepeat (10)\n    create clone of (_myself_ v)\n    change [brightness v] effect by (2)\n    change y by (100)\n    wait (0.05) seconds\nend\nwait (3) seconds\nbroadcast (Light v)\n\nwhen I start as a clone\npoint in direction (90)\nset size to (100) %\nshow\nif <(costume [number v]) = [2]> then\n    go to x: (0) y: (0)\n    set size to (100) %\n    repeat (3)\n        glide (0.5) secs to x: (0) y: (0)\n        glide (0.2) secs to x: (0) y: (-50)\n    end\n    glide (0.5) secs to x: (0) y: (50)\n    repeat (10)\n        change [ghost v] effect by (15)\n        change y by (-20)\n    end\n    delete this clone\nend\nif <(costume [number v]) > [2]> then\n    set size to (100) %\n    forever\n        set [brightness v] effect to (-100)\n        set size to (pick random (50) to (75)) %\n        clear graphic effects\n        show\n        switch costume to (costume4 v)\n        set [ghost v] effect to (90)\n        repeat (5)\n            next costume\n        end\n        go to (random position v)\n        wait (pick random (0) to (0.5)) seconds\n    end\nend\n\nwhen I receive [light v]\nrepeat (10)\n    change [brightness v] effect by (10)\nend\nswitch costume to (starts here v)\nrepeat (5)\n    create clone of (_myself_ v)\n    change size by (50)\nend\nset size to (100) %\nswitch costume to (costume3 v)\nforever\n    clear graphic effects\n    set size to (100) %\n    repeat (5)\n        change size by (1)\n    end\n    change size by (10)\n    repeat (15)\n        change size by (-1)\n    end\n    wait (0.5) seconds\nend\n\ndefine Pen part\nerase all\npen up\ngo to x: (500) y: (500)\nset pen size to (500)\nset pen color to (#000000)\npen down\nglide (2) secs to x: (500) y: (500)\nbroadcast (Load start v)\n\nwhen I receive [pen v]\nPen part\ndelete this clone\n\nwhen I receive [light v]\nwait (7) seconds\nbroadcast (Pen v)\ndelete this clone\n\nwhen I receive [load over v]\nerase all\n\n@Moving visuals\n\nwhen flag clicked\nhide\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\nforever\n    if <(Level) = [16]> then\n        show\n        switch costume to (costume1 v)\n        if <touching (player v)?> then\n            Y up by [20] Y down by [20]\n        end\n    end\n    if <(Level) = [17]> then\n        show\n        switch costume to (costume2 v)\n        if <touching (player v)?> then\n            Y up by [20] Y down by [20]\n        end\n    end\n    if <(Level) = [18]> then\n        show\n        switch costume to (costume3 v)\n        go to x: (-120) y: (-96)\n        if <touching (player v)?> then\n            Left x: [75] Right x: [75]\n        end\n    end\n    if <(Level) = [19]> then\n        show\n        switch costume to (costume4 v)\n        go to x: (0) y: (0)\n        if <touching (player v)?> then\n            Y up by [16] Y down by [16]\n        end\n    end\nend\n\ndefine Y up by (y up) Y down by (y down)\nrepeat until <not <touching (player v)?>>\n    repeat (y up)\n        change y by ((y up) / (2.5))\n    end\n    repeat (y down)\n        change y by (((y down) / (2.5)) * (-1))\n    end\nend\n\ndefine Left x: (x left) Right x: (x right)\nrepeat until <not <touching (player v)?>>\n    repeat (x right)\n        change x by ((x right) / (20))\n    end\n    repeat (x left)\n        change x by (((x left) / (20)) * (-1))\n    end\nend\n\nwhen I receive [normal done v]\nforever\n    stop [other scripts in sprite v]\n    hide\nend\n\n@parallax\n\nwhen flag clicked\ngo [backward v] (50) layers\ngo to x: (0) y: (0)\nhide\nset rotation style [don't rotate v]\n\nwhen I receive [scroll start v]\nset [layer # v] to [0]\nrepeat (2)\n    set [parallaxpos v] to [-480]\n    change [layer # v] by (1)\n    repeat (2)\n        change [parallaxpos v] by (480)\n        create clone of (_myself_ v)\n    end\nend\n\nwhen I start as a clone\nset x to (parallaxPos)\nshow\nswitch costume to (layer #)\nforever\n    scroll\n    go to [back v] layer\nend\n\ndefine scroll\nif <(end scrolling?) = [false]> then\n    change x by ((xvel) * ((layer #) / (4)))\n    if <(x position) > [480]> then\n        set x to (-480)\n    else\n        if <[-480] > (x position)> then\n            set x to (480)\n        end\n    end\nend\n\nwhen I receive [scroll done v]\nforever\n    stop [other scripts in sprite v]\n    hide\nend\n\n@level hitbox\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\nset rotation style [don't rotate v]\nset [ghost v] effect to (100)\n\nwhen I receive [scroll start v]\nset [panel # v] to [0]\nrepeat (2)\n    change [panel # v] by (1)\n    switch costume to (join [level] (join (level) (join [.] (panel #))))\n    create clone of (_myself_ v)\nend\nset [panel # v] to [0]\n\nwhen I start as a clone\nshow\ngo to [front v] layer\ngo [backward v] (30) layers\nforever\n    set x to ((480) - (((scroll x) + (((panel #) mod (2)) * (480))) mod (960)))\n    if <<((scroll x) mod (480)) > [470]> or <[10] > ((scroll x) mod (480))>> then\n        switch costume to ((([ceiling v] of (((scroll x) + (((panel #) mod (2)) * (480))) / (960)) ) * (2)) - ((panel #) mod (2)))\n    end\nend\n\nwhen I receive [scroll done v]\nforever\n    stop [other scripts in sprite v]\n    hide\nend\n\n@level visual\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\nset rotation style [don't rotate v]\ndelete (all) of [level lengths v]\nadd [10] to [level lengths v]\n\nwhen I receive [scroll start v]\nset [panel # v] to [0]\nrepeat (2)\n    change [panel # v] by (1)\n    switch costume to (join [level] (join (level) (join [.] (panel #))))\n    create clone of (_myself_ v)\nend\nset [panel # v] to [0]\n\nwhen I start as a clone\nshow\ngo to [front v] layer\ngo [backward v] (10) layers\nforever\n    set x to ((480) - (((scroll x) + (((panel #) mod (2)) * (480))) mod (960)))\n    if <<((scroll x) mod (480)) > [470]> or <[10] > ((scroll x) mod (480))>> then\n        switch costume to ((([ceiling v] of (((scroll x) + (((panel #) mod (2)) * (480))) / (960)) ) * (2)) - ((panel #) mod (2)))\n    end\nend\n\nwhen I receive [scroll done v]\nforever\n    stop [other scripts in sprite v]\n    hide\nend\n\n@player\n\nwhen flag clicked\nhide\nset size to (150) %\nset [animation frame v] to [0]\nset [air time v] to [0]\nset [slope v] to [0]\nset rotation style [left-right v]\ngo to x: (0) y: (-130)\npoint in direction (0)\nset [max speed v] to [8]\nset [friction v] to [0.6]\nset [jump power v] to [10]\nset [xvel v] to [0]\nset [yvel v] to [0]\nset [level v] to [1]\nset [scroll x v] to [0]\nset [end scrolling? v] to [false]\nset [wall jumping? v] to [0]\n\ndefine player walk (dir)\npoint in direction ((-90) * (dir))\nif <(text?) < [1]> then\n    change [xvel v] by (dir)\n    if <(MAX SPEED) < ([abs v] of (xvel) )> then\n        change [xvel v] by ((0) - (dir))\n    end\nend\ndetect slope (xvel) <[0] = [1]>\nanimate costume <[0] = [0]>\n\ndefine animate costume <walking?>\nif <walking?> then\n    set [animation frame v] to (((animation frame) + (0.4)) mod (16))\n    switch costume to ([floor v] of (((animation frame) mod (8)) + (2)) )\nelse\n    if <[15] < (air time)> then\n        switch costume to (jump2 v)\n    else\n        if <[0] < (air time)> then\n            switch costume to (jump1 v)\n        else\n            set [animation frame v] to [0]\n            switch costume to (idle v)\n        end\n    end\nend\n\nwhen I receive [hurtanimation v]\nchange [deaths scroll v] by (1)\nreset\nrepeat (3)\n    set [ghost v] effect to (50)\n    wait (0.05) seconds\n    set [ghost v] effect to (0)\n    wait (0.05) seconds\nend\n\nif <(x position) > [240]> then\n    change [level v] by ((x position) / ([abs v] of (x position) ))\n    broadcast (start level v)\nend\n\ndefine reset\nhide\nset [xvel v] to [0]\nset [yvel v] to [0]\nset [text? v] to [1]\nrepeat until <(round (scroll x)) = [0]>\n    set [scroll x v] to ((scroll x) * (0.5))\nend\nset y to (-25)\nshow\nset [text? v] to [0]\n\nwhen I receive [scroll start v]\nmain\n\ndefine main\nset [ghost v] effect to (0)\nshow\ngo to [front v] layer\nforever\n    switch costume to (hitbox v)\n    if <(yvel) > [-30]> then\n        change [yvel v] by (-1)\n    end\n    change y by (yvel)\n    gravity <(yvel) > [0]>\n    if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(x position) > (mouse x)>>> then\n        player walk (-1)\n    else\n        if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n            player walk (1)\n        else\n            detect slope (xvel) <[0] = [0]>\n            animate costume <[0] = [1]>\n        end\n    end\n    if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> then\n        if <(air time) < [3]> then\n            set [yvel v] to (JUMP POWER)\n            start sound [water drop v]\n        end\n    end\nend\n\nwhen [r v] key pressed\nif <(TASK) = [2]> then\n    reset\nend\n\ndefine detect slope (xspeed) <sliding?>\nset [slope v] to [0]\nif <sliding?> then\n    set [xvel v] to ((xspeed) * (FRICTION))\nend\nchange x by ((0) - (xvel))\nrepeat until <<not <<touching (level hitbox v)?> or <touching (level visual2 v)?>>> or <(slope) > [6]>>\n    change y by (1)\n    change [slope v] by (1)\nend\nif <(slope) > [6]> then\n    change y by ((0) - (slope))\n    change x by (xvel)\n    set [xvel v] to [0]\n    if <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> and <(wall jumping?) = [0]>> then\n        set [yvel v] to (JUMP POWER)\n        set [xvel v] to ((0) - (xspeed))\n        set [air time v] to [0]\n    end\nend\nset [end scrolling? v] to <<(scroll x) < [0]> or <(scroll x) > ((480) * ((item (level) of [level lengths v]) - (1)))>>\nif <(end scrolling?) = [true]> then\n    if <<<(x position) > [0]> and <(scroll x) < [0]>> or <<(x position) < [0]> and <(scroll x) > ((480) * ((item (level) of [level lengths v]) - (1)))>>> then\n        change [scroll x v] by ((0) - (xvel))\n        set x to (0)\n    end\nelse\n    change [scroll x v] by ((0) - (xvel))\n    set x to (0)\nend\n\ndefine gravity <midair>\nchange [air time v] by (1)\nrepeat until <not <<touching (level hitbox v)?> or <touching (level visual2 v)?>>>\n    if <midair> then\n        change y by (-1)\n    else\n        change y by (1)\n        set [air time v] to [0]\n    end\n    set [yvel v] to [0]\nend\n\nwhen I receive [scroll start v]\nforever\n    if <touching (spikes2 v)?> then\n        broadcast (hurtanimation v)\n    end\n    go to [front v] layer\n    if <touching (coins v)?> then\n        wait (0.05) seconds\n        broadcast (Scroll done v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(y position) < [-150]> then\n        set [spotlight v] to [20]\n    else\n        set [spotlight v] to [0]\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [scroll start v]\nreset\nshow\n\nwhen I receive [scroll done v]\nforever\n    stop [other scripts in sprite v]\n    hide\nend\n\nwhen I receive [next level v]\nhide\n\nwhen I receive [scroll start v]\nforever\n    wait (1) seconds\n    change [scroll time v] by (1)\nend\n\n@Border\n\nwhen flag clicked\nhide\n\nwhen I receive [scroll start v]\nshow\ngo to x: (0) y: (0)\nforever\n    set [ghost v] effect to (13)\n    go to [front v] layer\nend\n\nwhen I receive [scroll done v]\nforever\n    stop [other scripts in sprite v]\n    hide\nend\n\n@Spikes2\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\nset rotation style [don't rotate v]\n\nwhen I receive [scroll start v]\nset [panel # v] to [0]\nrepeat (2)\n    change [panel # v] by (1)\n    switch costume to (join [level] (join (level) (join [.] (panel #))))\n    create clone of (_myself_ v)\nend\nset [panel # v] to [0]\n\nwhen I start as a clone\nshow\ngo to [front v] layer\ngo [backward v] (30) layers\nforever\n    set x to ((480) - (((scroll x) + (((panel #) mod (2)) * (480))) mod (960)))\n    if <<((scroll x) mod (480)) > [470]> or <[10] > ((scroll x) mod (480))>> then\n        switch costume to ((([ceiling v] of (((scroll x) + (((panel #) mod (2)) * (480))) / (960)) ) * (2)) - ((panel #) mod (2)))\n    end\nend\n\nwhen I receive [scroll done v]\nforever\n    stop [other scripts in sprite v]\n    hide\nend\n\n@level visual2\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\nset rotation style [don't rotate v]\ndelete (all) of [level lengths v]\nadd [10] to [level lengths v]\n\nwhen I receive [scroll start v]\nset [panel # v] to [0]\nrepeat (2)\n    change [panel # v] by (1)\n    switch costume to (join [level] (join (level) (join [.] (panel #))))\n    create clone of (_myself_ v)\nend\nset [panel # v] to [0]\n\nwhen I start as a clone\nshow\ngo to [front v] layer\ngo [forward v] (10) layers\nforever\n    set x to ((480) - (((scroll x) + (((panel #) mod (2)) * (480))) mod (960)))\n    if <<((scroll x) mod (480)) > [470]> or <[10] > ((scroll x) mod (480))>> then\n        switch costume to ((([ceiling v] of (((scroll x) + (((panel #) mod (2)) * (480))) / (960)) ) * (2)) - ((panel #) mod (2)))\n    end\nend\n\nwhen I start as a clone\nset [secret v] to [0]\nforever\n    if <(Secret) > [1]> then\n        hide\n    else\n        show\n    end\nend\n\nwhen I receive [key got v]\nset [secret v] to [5]\n\nwhen I receive [scroll done v]\nforever\n    stop [other scripts in sprite v]\n    hide\nend\n\n@Coins\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\nset rotation style [don't rotate v]\ndelete (all) of [level lengths v]\nadd [10] to [level lengths v]\n\nwhen I receive [scroll start v]\nset [panel # v] to [0]\nrepeat (2)\n    change [panel # v] by (1)\n    switch costume to (join [level] (join (level) (join [.] (panel #))))\n    create clone of (_myself_ v)\nend\nset [panel # v] to [0]\n\nwhen I start as a clone\nshow\ngo to [back v] layer\ngo [forward v] (10) layers\nforever\n    set x to ((480) - (((scroll x) + (((panel #) mod (2)) * (480))) mod (960)))\n    if <<((scroll x) mod (480)) > [470]> or <[10] > ((scroll x) mod (480))>> then\n        switch costume to ((([ceiling v] of (((scroll x) + (((panel #) mod (2)) * (480))) / (960)) ) * (2)) - ((panel #) mod (2)))\n    end\n    if <(Spotlight) > [19]> then\n        show\n        go to [front v] layer\n        go [forward v] (25) layers\n        go [backward v] (1) layers\n    else\n        hide\n    end\nend\n\nwhen I receive [scroll done v]\nforever\n    stop [other scripts in sprite v]\n    hide\nend\n\n@Dark circle\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nforever\n    go to (player v)\n    change y by (25)\nend\n\nwhen I start as a clone\nforever\n    if <(Spotlight) > [19]> then\n        show\n        go to [front v] layer\n    else\n        hide\n    end\nend\n\nwhen I receive [scroll start v]\nset size to (100) %\nclear graphic effects\nswitch costume to (costume1 v)\nset [ghost v] effect to (100)\nrepeat (4)\n    create clone of (_myself_ v)\n    change [ghost v] effect by (-20)\n    change size by (-10)\nend\n\nwhen I receive [scroll done v]\nforever\n    stop [other scripts in sprite v]\n    hide\nend\n\n@Tunnel vision\n\nwhen I receive [scroll start v]\nforever\n    if <(Spotlight) > [19]> then\n        show\n        go to x: (0) y: (0)\n        set [ghost v] effect to (65)\n        go to [front v] layer\n        go [forward v] (5000) layers\n        go to [front v] layer\n    else\n        hide\n    end\n    go to [front v] layer\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [scroll done v]\nforever\n    stop [other scripts in sprite v]\n    hide\nend\n\n@Key\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\nset rotation style [don't rotate v]\ndelete (all) of [level lengths v]\nadd [10] to [level lengths v]\n\nwhen I receive [scroll start v]\nset [panel # v] to [0]\nrepeat (2)\n    change [panel # v] by (1)\n    switch costume to (join [level] (join (level) (join [.] (panel #))))\n    create clone of (_myself_ v)\nend\nset [panel # v] to [0]\n\nwhen I start as a clone\nshow\ngo to [front v] layer\ngo [forward v] (10) layers\nforever\n    set x to ((480) - (((scroll x) + (((panel #) mod (2)) * (480))) mod (960)))\n    if <<((scroll x) mod (480)) > [470]> or <[10] > ((scroll x) mod (480))>> then\n        switch costume to ((([ceiling v] of (((scroll x) + (((panel #) mod (2)) * (480))) / (960)) ) * (2)) - ((panel #) mod (2)))\n    end\n    if <(Spotlight) > [19]> then\n        show\n        go to [front v] layer\n        go [forward v] (25) layers\n        go [backward v] (1) layers\n        if <touching (player v)?> then\n            broadcast (Key got v)\n            forever\n                hide\n            end\n        end\n    else\n        hide\n    end\nend\n\nwhen I receive [scroll done v]\nforever\n    stop [other scripts in sprite v]\n    hide\nend\n\n@Evaluation results\n\nwhen flag clicked\nset [deaths norm v] to [0]\nset [deaths scroll v] to [0]\nset [norm time v] to [0]\nset [scroll time v] to [0]\n\nwhen I start as a clone\nshow\nset size to (30) %\nif <(Clone id:) = [Norm time]> then\n    switch costume to (letter ((((x position) - (X of results)) / (Distance)) + (1)) of (My norm time))\n    set size to (30) %\n    if <(letter ((((x position) - (X of results)) / (Distance)) + (1)) of (My norm time)) = []> then\n        hide\n    else\n        show\n    end\nend\nif <(Clone id:) = [Scroll time]> then\n    switch costume to (letter ((((x position) - (X of results)) / (Distance)) + (1)) of (My scroll time))\n    set size to (30) %\n    if <(letter ((((x position) - (X of results)) / (Distance)) + (1)) of (My scroll time)) = []> then\n        hide\n    else\n        show\n    end\nend\nif <(Clone id:) = [Scroll deaths]> then\n    switch costume to (letter ((((x position) - (X of results)) / (Distance)) + (1)) of (My scroll death))\n    set size to (30) %\n    if <(letter ((((x position) - (X of results)) / (Distance)) + (1)) of [apple]) = (My scroll death)> then\n        hide\n    else\n        show\n    end\nend\nif <(Clone id:) = [Norm deaths]> then\n    switch costume to (letter ((((x position) - (X of results)) / (Distance)) + (1)) of (My norm death))\n    set size to (30) %\n    if <(letter ((((x position) - (X of results)) / (Distance)) + (1)) of (My norm death)) = []> then\n        hide\n    else\n        show\n    end\nend\nif <(Clone id:) = [Overall time]> then\n    switch costume to (letter ((((x position) - (X of results)) / (Distance)) + (1)) of (My overall time))\n    set size to (30) %\n    if <(letter ((((x position) - (X of results)) / (Distance)) + (1)) of (My overall time)) = []> then\n        hide\n    else\n        show\n    end\nend\nif <(Clone id:) = [Overall deaths]> then\n    switch costume to (letter ((((x position) - (X of results)) / (Distance)) + (1)) of (My overall deaths))\n    set size to (30) %\n    if <(letter ((((x position) - (X of results)) / (Distance)) + (1)) of (My overall deaths)) = []> then\n        hide\n    else\n        show\n    end\nend\nif <(Clone id:) = [Overall score]> then\n    switch costume to (letter ((((x position) - (X of results)) / (Distance)) + (1)) of (My overall score))\n    set size to (50) %\n    if <(letter ((((x position) - (X of results)) / (Distance)) + (1)) of (My overall score)) = []> then\n        hide\n    else\n        show\n    end\nend\n\ndefine Norm time\nset [clone id: v] to [Norm time]\nset [x of results v] to [0]\nset [distance v] to [10]\nset [length v] to (length of (Norm time))\ngo to x: (X of results) y: (93)\nrepeat (Length)\n    set [my norm time v] to (Norm time)\n    create clone of (_myself_ v)\n    change x by (Distance)\nend\n\ndefine Scroll time\nset [clone id: v] to [Scroll time]\nset [x of results v] to [0]\nset [distance v] to [10]\nset [length v] to (length of (Scroll time))\ngo to x: (X of results) y: (20)\nrepeat (Length)\n    set [my scroll time v] to (Scroll time)\n    create clone of (_myself_ v)\n    change x by (Distance)\nend\n\nforever\n\ndefine Norm deaths\nset [clone id: v] to [Norm deaths]\nset [x of results v] to [0]\nset [my norm death v] to [0]\nset [distance v] to [10]\nset [length v] to (length of (Deaths norm))\ngo to x: (X of results) y: (80)\nrepeat (Length)\n    set [my norm death v] to (Deaths norm)\n    create clone of (_myself_ v)\n    change x by (Distance)\nend\n\ndefine Scroll deaths\nset [clone id: v] to [Scroll deaths]\nset [x of results v] to [0]\nset [my scroll death v] to [0]\nset [distance v] to [10]\nset [length v] to (length of (Deaths scroll))\ngo to x: (X of results) y: (7)\nrepeat (Length)\n    set [my scroll death v] to (Deaths scroll)\n    create clone of (_myself_ v)\n    change x by (Distance)\nend\n\nwhen I receive [evaluation time v]\nhide\nNorm time\nNorm deaths\nScroll time\nScroll deaths\nOverall time\nOverall deaths\n\nwhen I receive [credits v]\nstop [other scripts in sprite v]\n\nwhen I receive [evaluation time v]\ndelete this clone\n\ndefine Overall time\nset [clone id: v] to [Overall time]\nset [x of results v] to [0]\nset [distance v] to [10]\nset [length v] to (length of ((Scroll time) + (Norm time)))\ngo to x: (X of results) y: (-39)\nrepeat (Length)\n    set [my overall time v] to ((Scroll time) + (Norm time))\n    create clone of (_myself_ v)\n    change x by (Distance)\nend\n\ndefine Overall deaths\nset [clone id: v] to [Overall deaths]\nset [x of results v] to [0]\nset [distance v] to [10]\nset [length v] to (length of ((Deaths norm) + (Deaths scroll)))\ngo to x: (X of results) y: (-57)\nrepeat (Length)\n    set [my overall deaths v] to ((Deaths norm) + (Deaths scroll))\n    create clone of (_myself_ v)\n    change x by (Distance)\nend\n\nbroadcast (Evaluation time v)\n\ndefine Death points\nif <(My overall deaths) < [25]> then\n    set [death points v] to [250]\nend\nif <<(My overall deaths) > [26]> and <(My overall deaths) < [50]>> then\n    set [death points v] to [225]\nend\nif <<(My overall deaths) > [51]> and <(My overall deaths) < [75]>> then\n    set [death points v] to [200]\nend\nif <<(My overall deaths) > [76]> and <(My overall deaths) < [99]>> then\n    set [death points v] to [175]\nend\nif <<(My overall deaths) > [100]> and <(My overall deaths) < [115]>> then\n    set [death points v] to [150]\nend\nif <<(My overall deaths) > [116]> and <(My overall deaths) < [150]>> then\n    set [death points v] to [125]\nend\nif <<(My overall deaths) > [151]> and <(My overall deaths) < [175]>> then\n    set [death points v] to [100]\nend\nif <<(My overall deaths) > [176]> and <(My overall deaths) < [200]>> then\n    set [death points v] to [75]\nend\nif <<(My overall deaths) > [201]> and <(My overall deaths) < [500]>> then\n    set [death points v] to [25]\nend\nif <(My overall deaths) > [501]> then\n    set [death points v] to [10]\nend\n\ndefine Time points\nif <(My overall time) < [50]> then\n    set [da time points v] to [150]\nend\nif <<(My overall time) > [51]> and <(My overall time) < [100]>> then\n    set [da time points v] to [100]\nend\nif <<(My overall time) > [101]> and <(My overall time) < [175]>> then\n    set [da time points v] to [50]\nend\nif <<(My overall time) > [176]> and <(My overall time) < [200]>> then\n    set [da time points v] to [25]\nend\nif <<(My overall time) > [201]> and <(My overall time) < [500]>> then\n    set [da time points v] to [25]\nend\nif <(My overall time) > [500]> then\n    set [da time points v] to [10]\nend\n\ndefine Bonus points\nset [bonus points v] to (round (((Da Time points) + (Death points)) / (2)))\n\nwhen I receive [evaluation time v]\nerase all\nTime points\nDeath points\nBonus points\nwait (1) seconds\nOverall points\nPen\n\ndefine Overall points\nset [an overall score v] to ((Death points) + ((Bonus points) + (Da Time points)))\nset [clone id: v] to [Overall score]\nset [x of results v] to [0]\nset [distance v] to [10]\nset [length v] to (length of (An Overall score))\ngo to x: (X of results) y: (-130)\nrepeat (Length)\n    set [my overall score v] to (An Overall score)\n    create clone of (_myself_ v)\n    change x by (Distance)\nend\n\ndefine Pen\nerase all\nset pen size to (50)\nset pen color to (An Overall score)\ngo to x: (10) y: (-130)\nset pen (transparency v) to (50)\npen down\nwait (0.2) seconds\npen up\n\n@End credits\n\nwhen I receive [credits v]\nCredits\n\nwhen flag clicked\nhide\n\ndefine Credits\nclear graphic effects\nhide\nswitch costume to (credits v)\ncreate clone of (_myself_ v)\nwait (4) seconds\nswitch costume to (end credits v)\nshow\nset [brightness v] effect to (-100)\nrepeat (10)\n    change [brightness v] effect by (10)\nend\nclear graphic effects\n\nwhen I start as a clone\nclear graphic effects\nswitch costume to (credits v)\ngo to x: (0) y: (-500)\nshow\nglide (1) secs to x: (0) y: (0)\nwait (3) seconds\nrepeat (10)\n    change [brightness v] effect by (-10)\nend\ndelete this clone\n\nwhen this sprite clicked\nbroadcast (Done v)\nhide\n\nwhen I receive [done v]\nstop [all v]\n\nwhen I receive [evaluation time v]\nhide\n\n@notif\n\nwhen flag clicked\nhide\n\ndefine Pro tip\nswitch costume to (pick random (2) to (3))\ngo to x: (290) y: (0)\nshow\nglide (1) secs to x: (0) y: (0)\nwait (2) seconds\nglide (1) secs to x: (290) y: (0)\nhide\n\nwhen I receive [start v]\nforever\n    if <not <(TASK) = [Done]>> then\n        wait (pick random (10) to (20)) seconds\n        Pro tip\n    end\nend\n\nwhen I receive [evaluation time v]\nstop [other scripts in sprite v]\ngo to x: (0) y: (0)\nswitch costume to (result notif v)\nshow\n\nwhen this sprite clicked\nif <(costume [number v]) = [1]> then\n    broadcast (Credits v)\nend\n\nwhen flag clicked\nforever\n    if <<touching (player v)?> or <touching (player v)?>> then\n        set [ghost v] effect to (75)\n    else\n        clear graphic effects\n    end\nend\n\nwhen I receive [credits v]\nhide\n\n@thumbnail\n\nwhen flag clicked\nforever\n    reset timer\n    go to x: (150) y: (150)\n    hide\n    go to [front v] layer\nend\n\nwhen [timer v] > (0.01)\nshow\nrepeat until <<(round (x position)) = [0]> and <(round (y position)) = [0]>>\n    show\n    go to [front v] layer\n    change x by (((0) - (x position)) / (5))\n    change y by (((0) - (y position)) / (5))\nend\nwait (0.1) seconds\n\n@detector\n\nwhen flag clicked\nhide\nset [faved___ v] to [0]\nset [loved__ v] to [0]\nset [clone id v] to [0]\ncreate clone of (_myself_ v)\nwait (0.2) seconds\nset [clone id v] to [1]\ncreate clone of (_myself_ v)\nwait until <<(LOVED__) = [1]> and <(FAVED___) = [1]>>\nwait (1) seconds\nshow\ngo to x: (0) y: (50)\nreset timer\nswitch costume to (pick random (1) to (4))\nset [ghost v] effect to (100)\nrepeat (10)\n    change y by ((y position) / (-15))\n    change [ghost v] effect by (-3)\n    go to [front v] layer\nend\ngo to [front v] layer\nrepeat (10)\n    change y by (((y position) - (-100)) / (-15))\n    change [ghost v] effect by (10)\n    go to [front v] layer\n    hide\nend\nbroadcast (Skip v)\n\nreset timer\n\nwhen I start as a clone\nif <(clone id) = [0]> then\n    go to x: (-15) y: (0)\n    set [loved__ v] to [0]\n    switch costume to (love v)\n    forever\n        set [love? v] to <touching (mouse-pointer v)?>\n        if <touching (mouse-pointer v)?> then\n            set [loved__ v] to [1]\n        end\n    end\nend\nif <(clone id) = [1]> then\n    broadcast (Skip v)\n    go to x: (0) y: (0)\n    switch costume to (fave v)\n    set [faved___ v] to [0]\n    forever\n        set [fav v] to <touching (mouse-pointer v)?>\n        if <touching (mouse-pointer v)?> then\n            set [faved___ v] to [1]\n        end\n    end\nend\n\n@skip\n\nwhen flag clicked\nhide\nforever\n    go to x: (189) y: (-154)\n    set [ghost v] effect to (50)\nend\n\nwhen I receive [skip v]\nif <(TASK) = [1]> then\n    show\n    forever\n        go to [front v] layer\n    end\nend\n\nwhen this sprite clicked\nbroadcast (Next level v)\nhide\n\n