Nathan Platformer

Instructions: WASD or Arrow Keys for moving\nThere are 10 levels in total (1 Secret Level)\nFAQ\nQ: What do hints do?\nA: The last two levels are invisible levels. If hints are turned on, pressing space will faintly flicker the blocks.\n\n

@Stage\n\nwhen I receive [the end v]\nswitch backdrop to (next backdrop v)\nstop [all v]\n\n@Play Button\n\nwhen flag clicked\nbroadcast (Start Screen v)\n\nwhen I receive [start screen v]\nshow\nswitch costume to (costume1 v)\nswitch backdrop to (backdrop4 v)\n\nwhen this sprite clicked\nwait (0.1) seconds\nnext costume\nwait (0.1) seconds\nnext costume\nwait (0.5) seconds\nhide\nbroadcast (Start v)\nswitch costume to (costume2 v)\n\ngo to (random position v)\n\nwhen I receive [start v]\nswitch backdrop to (backdrop1 v)\n\nwhen I receive [settings v]\nhide\n\nwhen I receive [snowflakes v]\nplay sound [Vexento - Snowflakes v] until done\n\nwhen I receive [music off v]\nstop all sounds\n\n@Title Name\n\nwhen I receive [start v]\nhide\n\nwhen I receive [start screen v]\nshow\n\nwhen I receive [start v]\nforever\n    wait (1) seconds\n    change [time v] by (1)\nend\n\nwhen I receive [secret end v]\nset [time v] to (Time)\nstop [this script v]\n\nwhen flag clicked\n\nwhen I receive [settings v]\nhide\n\nwhen I receive [lights v]\nplay sound [Vexento - Lights v] until done\n\n@Cube\n\nwhen I receive [seventh level v]\nchange [broadcast v] by (1)\nset [start x v] to [-186]\nset [start y v] to [88]\nforever\n    show\n    Play\nend\n\nwhen I receive [sixth level v]\nchange [broadcast v] by (1)\nset [start x v] to [-186]\nset [start y v] to [88]\nforever\n    show\n    Play\nend\n\nwhen I receive [fifth level  v]\nchange [broadcast v] by (1)\nset [start x v] to [-186]\nset [start y v] to [67]\nforever\n    show\n    Play\nend\n\nwhen I receive [4th level v]\nchange [broadcast v] by (1)\nset [start x v] to [-195]\nset [start y v] to [153]\nforever\n    show\n    Play\nend\n\nwhen I receive [the end v]\nhide\n\nwhen I receive [2nd level v]\nchange [broadcast v] by (1)\nset [start x v] to [-220]\nset [start y v] to [-85]\nforever\n    show\n    Play\nend\n\nwhen I receive [start v]\nset [broadcast v] to [2]\nset [start x v] to [-165]\nset [start y v] to [-92]\nset [time v] to [0]\nset [deaths v] to [0]\nforever\n    show variable [deaths v]\n    show variable [time v]\n    show\n    Play\nend\n\nwhen I receive [3rd level v]\nchange [broadcast v] by (1)\nset [start x v] to [-195]\nset [start y v] to [-125]\nforever\n    show\n    Play\nend\n\ndefine Play\ngo to x: (Start X) y: (Start Y)\nforever\n    set [speed y v] to [0]\n    forever\n        change y by (Speed Y)\n        if <<touching (obstacle v)?> or <touching color (#979797)?>> then\n            change y by ((0) - (Speed Y))\n            if <<key (w v) pressed?> or <key (up arrow v) pressed?>> then\n                set [speed y v] to [15]\n            else\n                set [speed y v] to [0]\n            end\n        else\n            change [speed y v] by (-1)\n        end\n        if <<key (d v) pressed?> or <key (right arrow v) pressed?>> then\n            change x by (5)\n            if <<touching (obstacle v)?> or <touching (moving platform obstacle v)?>> then\n                change x by (-5)\n            end\n        end\n        if <<key (a v) pressed?> or <key (left arrow v) pressed?>> then\n            change x by (-5)\n            if <<touching (obstacle v)?> or <touching (moving platform obstacle v)?>> then\n                change x by (5)\n            end\n        end\n        if <touching color (#ff0000)?> then\n            go to x: (Start X) y: (Start Y)\n            change [deaths v] by (1)\n        end\n        if <touching color (#ff8000)?> then\n            go to x: (133) y: (140)\n        end\n        if <<touching (checkpoint v)?> or <touching color (#00ff48)?>> then\n            if <(Broadcast) = [2]> then\n                broadcast (2nd Level v) and wait\n            end\n            if <(Broadcast) = [3]> then\n                broadcast (3rd Level v) and wait\n            end\n            if <(Broadcast) = [4]> then\n                broadcast (4th Level v) and wait\n            end\n            if <(Broadcast) = [5]> then\n                broadcast (Fifth Level  v) and wait\n            end\n            if <(Broadcast) = [6]> then\n                broadcast (Sixth Level v) and wait\n            end\n            if <(Broadcast) = [7]> then\n                broadcast (Seventh Level v) and wait\n            end\n            if <(Broadcast) = [8]> then\n                broadcast (Eighth Level v) and wait\n            end\n            if <(Broadcast) = [9]> then\n                broadcast (9th Level v) and wait\n            end\n            if <(Broadcast) = [10]> then\n                broadcast (The End v) and wait\n            end\n        end\n        if <touching (screen v)?> then\n            broadcast (Secret v)\n        end\n        if <touching (secret checkpoint v)?> then\n            broadcast (Secret End v)\n        end\n        if <(Square Color) = [0]> then\n            switch costume to (costume1 v)\n        end\n        if <(Square Color) = [1]> then\n            switch costume to (costume2 v)\n        end\n        if <(Square Color) = [2]> then\n            switch costume to (costume3 v)\n        end\n        if <(Square Color) = [3]> then\n            switch costume to (costume4 v)\n        end\n        if <(Square Color) = [4]> then\n            switch costume to (costume5 v)\n        end\n    end\nend\n\nwhen I receive [eighth level v]\nchange [broadcast v] by (1)\nset [start x v] to [-220]\nset [start y v] to [-85]\nforever\n    show\n    Play\nend\n\nwhen I receive [9th level v]\nchange [broadcast v] by (1)\nset [start x v] to [-186]\nset [start y v] to [67]\nforever\n    show\n    Play\nend\n\nwhen I receive [secret v]\nset [start x v] to [-195]\nset [start y v] to [153]\nforever\n    show\n    Play\nend\n\nwhen I receive [secret end v]\nhide\n\nwhen I receive [start screen v]\nhide\nhide variable [deaths v]\nhide variable [time v]\n\nwhen flag clicked\nset [square color v] to [0]\ngo to [back v] layer\n\nbroadcast (Tenth Level v) and wait\n\nif <(Broadcast) = [11]> then\nend\n\n@Ground\n\nwhen I receive [fifth level  v]\nswitch costume to (fifth level v)\n\nwhen I receive [sixth level v]\nswitch costume to (sixth level v)\n\nwhen I receive [2nd level v]\n\nwhen I receive [eighth level v]\nswitch costume to (eighth level v)\nset [ghost v] effect to (100)\nforever\n    if <<key (space v) pressed?> and <(Hints Variable) = [1]>> then\n        repeat (11)\n            set [ghost v] effect to (80)\n            wait (0.01) seconds\n            set [ghost v] effect to (100)\n        end\n    end\n    \nend\n\nset [color v] effect to (0)\n\ngo to [front v] layer\n\nwhen I receive [secret v]\nswitch costume to (fourth level v)\n\nwhen I receive [start screen v]\nhide\n\nwhen I receive [tenth level v]\nswitch costume to (tenth level v)\ngo to [front v] layer\n\nwhen I receive [2nd level v]\nswitch costume to (second level v)\n\nwhen I receive [start v]\nswitch costume to (first level v)\nshow\n\nwhen I receive [3rd level v]\nswitch costume to (third level v)\n\nwhen I receive [4th level v]\nswitch costume to (fourth level v)\n\nwhen I receive [seventh level v]\nswitch costume to (seventh level v)\n\nwhen I receive [9th level v]\nswitch costume to (fifth level v)\nset [ghost v] effect to (100)\nforever\n    if <<key (space v) pressed?> and <(Hints Variable) = [1]>> then\n        repeat (11)\n            set [ghost v] effect to (80)\n            wait (0.01) seconds\n            set [ghost v] effect to (100)\n        end\n    end\n    \nend\n\nwhen I receive [the end v]\nhide\n\nwhen I receive [secret end v]\nhide\nswitch backdrop to (backdrop3 v)\n\n@Obstacle\n\nwhen I receive [fifth level  v]\nswitch costume to (fourth level2 v)\n\nwhen I receive [sixth level v]\nswitch costume to (costume3 v)\n\nwhen I receive [sixth level v]\ngo to x: (0) y: (0)\nswitch costume to (costume3 v)\nshow\n\nwhen I receive [eighth level v]\nswitch costume to (eighth level v)\ngo to [back v] layer\nset [ghost v] effect to (100)\nforever\n    if <<key (space v) pressed?> and <(Hints Variable) = [1]>> then\n        if <key (space v) pressed?> then\n            repeat (11)\n                set [ghost v] effect to (80)\n                wait (0.01) seconds\n                set [ghost v] effect to (100)\n            end\n        end\n    end\nend\n\nwhen I receive [secret v]\nswitch costume to (fourth level v)\n\n\n\nwhen I receive [start screen v]\ngo to [front v] layer\nhide\ngo to x: (0) y: (0)\n\nwhen I receive [tenth level v]\nhide\n\nwhen I receive [start v]\nshow\nswitch costume to (costume1 v)\n\nwhen I receive [2nd level v]\nswitch costume to (costume2 v)\n\nwhen I receive [3rd level v]\nswitch costume to (third level v)\n\nwhen I receive [4th level v]\nswitch costume to (fourth level v)\n\nwhen I receive [seventh level v]\nswitch costume to (costume4 v)\n\nwhen I receive [9th level v]\nswitch costume to (fourth level2 v)\nset [ghost v] effect to (100)\nforever\n    if <<key (space v) pressed?> and <(Hints Variable) = [1]>> then\n        repeat (11)\n            set [ghost v] effect to (80)\n            wait (0.01) seconds\n            set [ghost v] effect to (100)\n        end\n    end\nend\n\nwhen I receive [the end v]\nhide\n\nwhen I receive [secret end v]\nhide\n\n@Moving Platform\n\nwhen flag clicked\n\nwhen I receive [the end v]\nhide\n\nwhen I receive [seventh level v]\nhide\n\nwhen I receive [sixth level v]\ngo to x: (213) y: (25)\nshow\nforever\n    glide (5) secs to x: (-93) y: (25)\n    glide (5) secs to x: (245) y: (25)\nend\n\nwhen I receive [start screen v]\nhide\n\n@Moving Platform Obstacle\n\nwhen I receive [sixth level v]\ngo to x: (213) y: (25)\nshow\nforever\n    glide (5) secs to x: (-93) y: (25)\n    glide (5) secs to x: (245) y: (25)\nend\n\nwhen flag clicked\n\nwhen I receive [the end v]\nhide\n\nwhen I receive [seventh level v]\nhide\n\nwhen I receive [start screen v]\nhide\n\n@Lava\n\nwhen I receive [9th level v]\nswitch costume to (costume9 v)\n\nwhen I receive [secret v]\nswitch costume to (costume4 v)\n\nwhen flag clicked\n\nwhen I receive [start screen v]\nhide\n\nwhen I receive [3rd level v]\nswitch costume to (costume3 v)\n\nwhen I receive [4th level v]\nswitch costume to (costume4 v)\n\nwhen I receive [sixth level v]\nswitch costume to (costume6 v)\n\nwhen I receive [seventh level v]\nswitch costume to (costume7 v)\n\nwhen I receive [eighth level v]\nswitch costume to (costume8 v)\n\nwhen I receive [fifth level  v]\nswitch costume to (costume5 v)\n\nwhen I receive [start v]\nshow\nswitch costume to (costume1 v)\n\nwhen I receive [2nd level v]\nswitch costume to (costume2 v)\n\nwhen I receive [the end v]\nhide\n\nwhen I receive [secret end v]\nhide\n\nwhen I receive [tenth level v]\nswitch costume to (costume10 v)\n\n@Checkpoint\n\nwhen I receive [9th level v]\nswitch costume to (costume5 v)\n\nwhen I receive [secret v]\nhide\n\nwhen I receive [3rd level v]\nswitch costume to (costume3 v)\n\nwhen I receive [4th level v]\nswitch costume to (costume4 v)\n\nwhen I receive [sixth level v]\nswitch costume to (costume6 v)\n\nwhen I receive [seventh level v]\nswitch costume to (costume7 v)\n\nwhen I receive [eighth level v]\nswitch costume to (costume8 v)\n\nwhen I receive [fifth level  v]\nswitch costume to (costume5 v)\n\nwhen I receive [start v]\ngo to [back v] layer\nshow\nswitch costume to (costume1 v)\n\nwhen I receive [2nd level v]\nswitch costume to (costume2 v)\n\nwhen I receive [start screen v]\nhide\nforever\n    if <touching (cube v)?> then\n        if <(Broadcast) = [2]> then\n            broadcast (2nd Level v) and wait\n        end\n        if <(Broadcast) = [3]> then\n            broadcast (3rd Level v) and wait\n        end\n        if <(Broadcast) = [4]> then\n            broadcast (4th Level v) and wait\n        end\n        if <(Broadcast) = [5]> then\n            broadcast (Fifth Level  v) and wait\n        end\n        if <(Broadcast) = [6]> then\n            broadcast (Sixth Level v) and wait\n        end\n        if <(Broadcast) = [7]> then\n            broadcast (Seventh Level v) and wait\n        end\n        if <(Broadcast) = [8]> then\n            broadcast (Eighth Level v) and wait\n        end\n        if <(Broadcast) = [9]> then\n            broadcast (The End v) and wait\n        end\n    end\nend\n\nwhen I receive [the end v]\nhide\n\nwhen I receive [secret end v]\nhide\n\n@Screen\n\nwhen flag clicked\n\nwhen I receive [3rd level v]\nshow\n\nwhen I receive [secret v]\nhide\n\nwhen I receive [4th level v]\nhide\n\nwhen I receive [secret end v]\nhide\n\nwhen I receive [start screen v]\ngo to [back v] layer\nhide\n\n@Secret Checkpoint\n\nwhen I receive [secret v]\nshow\n\nwhen flag clicked\n\nwhen I receive [secret end v]\nhide\n\nwhen I receive [start screen v]\nhide\n\n@Settings\n\nhide\n\nwhen I receive [start v]\nhide\n\nwhen I receive [start screen v]\nshow\nswitch costume to (costume1 v)\nswitch backdrop to (backdrop4 v)\n\nwhen I receive [secret end v]\nstop [other scripts in sprite v]\n\nwhen flag clicked\n\nwhen this sprite clicked\nwait (0.1) seconds\nnext costume\nwait (0.1) seconds\nnext costume\nwait (0.5) seconds\nswitch costume to (costume2 v)\nbroadcast (Settings v)\n\ngo to (random position v)\n\nwhen I receive [start v]\nswitch backdrop to (backdrop1 v)\n\nwhen I receive [settings v]\nhide\n\n@Sprite1\n\nwhen flag clicked\n\nwhen I receive [start screen v]\nhide\n\nwhen I receive [settings v]\nshow\n\nwhen I receive [start v]\nhide\n\n@Hints Off\n\nwhen I receive [start screen v]\nhide\n\nwhen I receive [hints switch off v]\nset [hints variable v] to [0]\nshow\n\nwhen this sprite clicked\nbroadcast (Hints Switch On v)\nhide\n\nwhen flag clicked\nset [hints variable v] to [0]\nhide\n\nwhen I receive [settings v]\nshow\n\nwhen I receive [start v]\nhide\n\n@Hints On\n\nwhen I receive [start screen v]\nhide\n\nwhen flag clicked\nhide\n\nwhen this sprite clicked\nbroadcast (Hints Switch Off v)\nhide\n\nwhen I receive [hints switch on v]\nset [hints variable v] to [1]\nshow\n\nwhen I receive [settings v]\nhide\n\nwhen I receive [start v]\nhide\n\n@Sprite2\n\nwhen I receive [settings v]\nshow\n\nwhen this sprite clicked\nbroadcast (Start Screen v)\n\nwhen I receive [start screen v]\nhide\n\nwhen I receive [start v]\nhide\n\n@Sprite4\n\nwhen I receive [white square v]\nswitch costume to (costume2 v)\n\nwhen I receive [purple square v]\nswitch costume to (costume1 v)\n\nwhen I receive [orange square v]\nswitch costume to (costume1 v)\n\nwhen I receive [green square v]\nswitch costume to (costume1 v)\n\nwhen I receive [start screen v]\nhide\nswitch costume to (costume2 v)\n\nwhen this sprite clicked\nbroadcast (White Square v)\nset [square color v] to [0]\nswitch costume to (costume2 v)\n\nwhen I receive [yellow square v]\nswitch costume to (costume1 v)\n\nwhen I receive [settings v]\nshow\n\nwhen I receive [start v]\nhide\n\n@Sprite3\n\nwhen I receive [purple square v]\nswitch costume to (costume1 v)\n\nwhen I receive [orange square v]\nswitch costume to (costume1 v)\n\nwhen this sprite clicked\nbroadcast (Yellow Square v)\nset [square color v] to [1]\nswitch costume to (costume2 v)\n\nwhen I receive [green square v]\nswitch costume to (costume1 v)\n\nwhen I receive [white square v]\nswitch costume to (costume1 v)\n\nwhen this sprite clicked\nbroadcast (Yellow Square v)\nset [square color v] to [1]\nswitch costume to (costume2 v)\n\nwhen I receive [start screen v]\nhide\nswitch costume to (costume1 v)\n\nwhen I receive [settings v]\nshow\n\nwhen I receive [start v]\nhide\n\n@Sprite5\n\nwhen I receive [green square v]\nswitch costume to (costume1 v)\n\nwhen I receive [white square v]\nswitch costume to (costume1 v)\n\nwhen I receive [orange square v]\nswitch costume to (costume1 v)\n\nwhen I receive [start screen v]\nhide\nswitch costume to (costume1 v)\n\nwhen I receive [settings v]\nshow\n\nwhen this sprite clicked\nbroadcast (Purple Square v)\nset [square color v] to [2]\nswitch costume to (costume2 v)\n\nwhen I receive [yellow square v]\nswitch costume to (costume1 v)\n\nwhen I receive [start v]\nhide\n\n@Sprite6\n\nwhen I receive [green square v]\nswitch costume to (costume1 v)\n\nwhen I receive [purple square v]\nswitch costume to (costume1 v)\n\nwhen I receive [white square v]\nswitch costume to (costume1 v)\n\nwhen I receive [start screen v]\nhide\nswitch costume to (costume1 v)\n\nwhen I receive [settings v]\nshow\n\nwhen this sprite clicked\nbroadcast (Orange Square v)\nset [square color v] to [3]\nswitch costume to (costume2 v)\n\nwhen I receive [yellow square v]\nswitch costume to (costume1 v)\n\nwhen I receive [start v]\nhide\n\n@Sprite7\n\nwhen this sprite clicked\nbroadcast (Green Square v)\nset [square color v] to [4]\nswitch costume to (costume2 v)\n\nwhen I receive [orange square v]\nswitch costume to (costume1 v)\n\nwhen I receive [purple square v]\nswitch costume to (costume1 v)\n\nwhen I receive [white square v]\nswitch costume to (costume1 v)\n\nwhen I receive [yellow square v]\nswitch costume to (costume1 v)\n\nwhen I receive [start v]\nhide\n\nwhen I receive [start screen v]\nhide\nswitch costume to (costume1 v)\n\nwhen I receive [settings v]\nshow\n\n@Hints Block\n\nwhen I receive [hints switch on v]\nif <(Hints Variable) = [0]> then\n    glide (0.3) secs to x: (55) y: (-10)\nend\n\nwhen I receive [hints switch off v]\nif <(Hints Variable) = [1]> then\n    glide (0.3) secs to x: (35) y: (-10)\nend\n\nwhen I receive [start v]\nhide\n\nwhen I receive [settings v]\ngo to x: (35) y: (-10)\nshow\n\nwhen I receive [start screen v]\nhide\n\n@Music \n\nwhen flag clicked\nset [music v] to [0]\nswitch costume to (costume1 v)\nhide\n\nwhen I receive [settings v]\ngo to [back v] layer\nshow\n\nwhen I receive [start screen v]\nhide\n\nwhen this sprite clicked\nif <(Music) = [1]> then\n    broadcast (Snowflakes v)\nend\n\nset [music v] to [1]\n\nset [music v] to [2]\n\nset [music v] to [0]\n\nwhen this sprite clicked\nif <(Music) = [0]> then\n    broadcast (Lights v)\nend\n\nwhen this sprite clicked\nif <(Music) = [2]> then\n    broadcast (Music Off v)\nend\n\n@Music Block\n\nwhen I receive [lights v]\nif <(Music) = [0]> then\n    glide (0.3) secs to x: (53) y: (-106)\n    set [music v] to [1]\nend\n\nwhen I receive [start v]\nhide\n\nwhen I receive [settings v]\ngo to x: (38) y: (-106)\nshow\n\nwhen I receive [start screen v]\nhide\n\nwhen I receive [snowflakes v]\nif <(Music) = [1]> then\n    glide (0.3) secs to x: (69) y: (-106)\n    set [music v] to [2]\nend\n\nwhen I receive [music off v]\nif <(Music) = [2]> then\n    glide (0.3) secs to x: (38) y: (-106)\n    set [music v] to [0]\nend\n\n