Techno- a platformer
@Stage\n\nwhen flag clicked\nswitch backdrop to (1 v)\nforever\n    play sound [Techno_Transcendence_889176886706_1_2.mp3 v] until done\nend\n\nwhen I receive [start v]\nwait (1) seconds\nswitch backdrop to (2 v)\n\nwhen I receive [next level v]\nnext backdrop\n\n@Sprite1\n\nwhen flag clicked\nclear graphic effects\ngo to x: (0) y: (60)\nshow\n\nwhen flag clicked\nforever\n    if <touching (mouse-pointer v)?> then\n        set [brightness v] effect to (10)\n        set size to (110) %\n    else\n        set [brightness v] effect to (0)\n        set size to (100) %\n    end\nend\n\nwhen this sprite clicked\nbroadcast (start v)\n\nwhen I receive [start v]\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\n\n@Sprite2\n\nwhen I receive [start v]\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nwait (5) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\n\nwhen flag clicked\nset [ghost v] effect to (100)\ngo to x: (0) y: (0)\ngo to [front v] layer\nforever\n    go to [front v] layer\nend\n\n@Sprite4\n\nwhen flag clicked\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\n\nif <(username) = [-HawkGames-]> then\n    clear graphic effects\n    go to [front v] layer\n    go to x: (0) y: (0)\n    show\n    stop [all v]\nend\n\nwait (5) seconds\nswitch costume to (costume1 v)\n\n@Sprite8\n\nwhen I receive [start v]\nwait until <(backdrop [name v]) = [15]>\nshow\nrepeat (10)\n    wait (1) seconds\n    next costume\nend\nglide (1) secs to x: (0) y: (350)\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\n\nwhen flag clicked\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\nclear graphic effects\nhide\n\n@Sprite9\n\nwhen flag clicked\nset [deaths v] to [0]\nset [time v] to [0]\n\nwhen I receive [start v]\nrepeat until <(backdrop [name v]) = [21]>\n    change [time v] by (1)\n    wait (1) seconds\nend\n\nwhen I receive [player died v]\nchange [deaths v] by (1)\n\nwhen flag clicked\nhide variable [deaths v]\nhide variable [time v]\n\nwhen I receive [end v]\nshow variable [deaths v]\nshow variable [time v]\n\n@Sprite10\n\nwhen I receive [start v]\nwait (5.5) seconds\nshow\ngo to x: (-200) y: (-20)\nset size to (150) %\nset [xv v] to [0]\nset [yv v] to [0]\nforever\n    change [yv v] by (-0.5)\n    if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n        change [xv v] by (-1)\n    end\n    if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n        change [xv v] by (1)\n    end\n    set [xv v] to ((XV) * (0.9))\n    change x by (XV)\n    if <touching color (#666666)?> then\n        change y by (1)\n        if <touching color (#666666)?> then\n            change y by (1)\n            if <touching color (#666666)?> then\n                change y by (1)\n                if <touching color (#666666)?> then\n                    change y by (1)\n                    if <touching color (#666666)?> then\n                        change y by (1)\n                        if <touching color (#666666)?> then\n                            change y by (1)\n                            if <touching color (#666666)?> then\n                                change y by (-6)\n                                if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n                                    set [yv v] to [10]\n                                    if <(XV) > [0]> then\n                                        set [xv v] to [-10]\n                                    else\n                                        set [xv v] to [10]\n                                    end\n                                    change x by (XV)\n                                else\n                                    change x by ((XV) * (-1))\n                                    set [xv v] to [0]\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change y by (YV)\n    if <touching color (#666666)?> then\n        change y by ((YV) * (-1))\n        set [yv v] to [0]\n    end\n    change y by (-0.5)\n    if <<touching color (#666666)?> and <<key (up arrow v) pressed?> or <key (w v) pressed?>>> then\n        set [yv v] to [8]\n    end\n    if <[235] < (x position)> then\n        set size to (150) %\n        broadcast (next level v)\n        go to x: (-200) y: (-100)\n    end\n    if <touching color (#ff0000)?> then\n        go to x: (-200) y: (-100)\n        broadcast (player died v)\n    end\n    if <touching color (#f346ff)?> then\n        set [yv v] to [11]\n    end\n    if <touching color (#00ff55)?> then\n        set size to (75) %\n    end\n    if <touching color (#0cfbfb)?> then\n        set size to (150) %\n    end\n    if <key (r v) pressed?> then\n        go to x: (-200) y: (-100)\n    end\n    change y by (0.5)\nend\n\nwhen flag clicked\nhide\n\nswitch costume to (costume1 v)\n\nwhen I receive [start v]\nforever\n    if <<touching color (#ff9400)?> and <(backdrop [name v]) = [8]>> then\n        go to x: (120) y: (120)\n        wait (0.5) seconds\n    end\n    if <<touching color (#ff9400)?> and <(backdrop [name v]) = [13]>> then\n        go to x: (0) y: (60)\n        wait (0.5) seconds\n    end\n    if <<touching color (#00ff55)?> and <(backdrop [name v]) = [20]>> then\n        go to x: (0) y: (112)\n        wait (20) seconds\n    end\nend\n\nwhen I receive [start v]\nwait until <(backdrop [name v]) = [21]>\nbroadcast (end v)\n\nwhen backdrop switches to [17 v]\nwait (0.03) seconds\nchange y by (-3)\n\nwhen backdrop switches to [14 v]\nrepeat until <(backdrop [number v]) = [15]>\n    wait until <touching color (#cecece)?>\n    wait until <not <touching color (#ffffff)?>>\n    if <touching color (#676767)?> then\n        handle passage droid glitch\n    end\nend\n\ndefine handle passage droid glitch\nset [yv v] to [0]\nrepeat until <not <touching color (#676767)?>>\n    change y by (1)\nend\n\nwhen I receive [start v]\nforever\n    if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> and <not <<key (left arrow v) pressed?> or <key (a v) pressed?>>>> then\n        switch costume to (costume1 v)\n    end\n    if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> and <not <<key (right arrow v) pressed?> or <key (d v) pressed?>>>> then\n        switch costume to (costume2 v)\n    end\nend\n\n@Sprite11\n\nwhen I receive [start v]\nhide\ngo to x: (-18) y: (-72)\nwait until <(backdrop [name v]) = [14]>\nrepeat until <(backdrop [name v]) = [15]>\n    show\n    glide (4) secs to x: (170) y: (-70)\n    glide (4) secs to x: (-170) y: (-70)\nend\nhide\n\nwhen flag clicked\nhide\n\nwhen backdrop switches to [15 v]\nhide\n\n@Sprite12\n\nwhen I receive [start v]\nhide\ngo to x: (-4) y: (7)\nwait until <(backdrop [name v]) = [14]>\nrepeat until <(backdrop [name v]) = [15]>\n    show\n    glide (4) secs to x: (170) y: (7)\n    glide (4) secs to x: (-170) y: (7)\nend\nhide\n\nwhen flag clicked\nhide\n\nwhen backdrop switches to [15 v]\nhide\n\n@Sprite13\n\nwhen I receive [start v]\nhide\ngo to x: (4) y: (81)\nwait until <(backdrop [name v]) = [14]>\nrepeat until <(backdrop [name v]) = [15]>\n    show\n    glide (4) secs to x: (170) y: (80)\n    glide (4) secs to x: (-170) y: (80)\nend\nhide\n\nwhen flag clicked\nhide\n\nwhen backdrop switches to [15 v]\nhide\n\n
Welcome to Techno, a platformer. No level is impossible, and all can be cleared. Stay tuned for more additions to Techno in later projects, because I will definitely make Techno 2, and maybe a 3, 4, 5 . . . This was so fun to make! Share your scores with others in the comments.\n\nArrow keys or WAD, 'r' to reset, all that stuff. Should I make a mobile version?